Skip to content

Expose NEO-2-QL integral iteration limit#156

Draft
krystophny wants to merge 1 commit into
mainfrom
fix/ql-integral-niter
Draft

Expose NEO-2-QL integral iteration limit#156
krystophny wants to merge 1 commit into
mainfrom
fix/ql-integral-niter

Conversation

@krystophny

Copy link
Copy Markdown
Member

Closes #155.

The QL input now exposes the existing integral-part iteration limit as niter, keeps the current default of 1000, rejects nonpositive values before solver setup, and records the selected value in neo2_config.h5. The ripple solver uses that configured module value instead of overwriting it locally.

The numerical invariant is unchanged at default input: the iteration limit remains 1000, and the loop body, epserr_iter stopping criterion, collision operator, source terms, flux-conservation operations, ABI, and data layout are unchanged.

Verification

  • Before implementation: fo test ql_niter_validation_test failed (0 passed, 1 failed) because niter was not accepted by the QL settings namelist.
  • After implementation: fo test ql_niter_validation_test passes (1 passed, 0 failed) and exercises the nonpositive-value rejection through the QL executable.
  • ctest --test-dir build -R 'boozmn_read_test|nrutil_test|er_rotation_test|spline_sparse_assembly_test|ql_niter_validation_test|test_mympilib' --output-on-failure passes all 6 self-contained tests.
  • Bare fo reports Static: OK and Build: OK, then cannot complete the legacy reconstruction tests because their site-only templates and reference files are unavailable in this environment. fo lint reports the existing 195 compiler warnings and 2 unused imports.

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.

NEO-2-QL integral iteration limit is hard-coded

1 participant