Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 9 additions & 1 deletion cpp/src/CVODEBase.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,15 @@
#include <stdexcept>
#include <string>

const int mxstep = 500000;
// Max internal CVODE steps per integration call (CVodeSetMaxNumSteps).
// Lowered 500000 -> 50000: with a per-call MaxStep on the order of the output
// cadence, a well-behaved integration crosses one interval in O(1-100) steps,
// so 50000 still leaves ~3 orders of magnitude of headroom. The old 500000
// let a stiff/near-singular parameter draw grind ~half a million microscopic
// BDF steps (~3 min wall) before CV_TOO_MUCH_WORK tripped — a "straggler" that
// stalls batch/SBI walltime to reach a failure detectable far sooner. At 50000
// the same draw fails ~10x faster while valid sims are unaffected.
const int mxstep = 50000;

CVODEBase::CVODEBase()
: _species_var()
Expand Down
Loading