Skip to content

Validate field tracing step-size bounds before integration - #1385

Open
agourakis82 wants to merge 1 commit into
fmihpc:devfrom
agourakis82:fix/1256-dev-step-bounds
Open

agourakis82 wants to merge 1 commit into
fmihpc:devfrom
agourakis82:fix/1256-dev-step-bounds

Conversation

@agourakis82

Copy link
Copy Markdown

Fixes #1256.

Reject non-finite, non-positive or inverted tracer step limits before integration, and bound the four initial step sizes. Use the configured full-box minimum in both tracing directions while preserving fixed-step Euler below the adaptive minimum. Default values and integration formulas are unchanged.

Validation on the cluster with GCC 15.2 and Open MPI 5.0.7:

  • Full native build in C++23 and 44 standalone float/double cases passed.
  • A two-rank probe verified that invalid bounds trigger the existing MPI-wide abort without hanging.
  • The full executable initialized the unchanged Ionosphere_small fixture and completed its tracing. An invalid tracer_min_dx was rejected with a clear diagnostic.

The fixture runs used timestep_max=0 to exercise initialization; the full 40-step reference comparison was not run. The standalone tests are not yet wired into CI. C++20 syntax compatibility was checked separately.

Reject invalid step limits, bound initial steps and honor the configured full-box adaptive minimum in both tracing directions. Preserve fixed-step Euler behavior below the adaptive minimum. Add standalone float/double regression tests.

LLM-offload-review: provider: darwin-llm/coder-next; task: review; issue: use existing MPI-wide abort_mpi for invalid bounds.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant