You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+3Lines changed: 3 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -12,6 +12,7 @@ This repository provides a refactored version with a simplified procedural inter
12
12
- Adaptive stepsize control with error tolerance per component
13
13
- Optional maximum absolute half-step size (`hmax`) to cap step growth
14
14
- Optional runtime statistics output: rhs evaluations (`nfev`), Jacobian evaluations (`njev`), and LU decompositions (`nlu`)
15
+
- Optional explicit workspace interface via `stiff3(..., rwork, iwork, ...)` for caller-managed memory
15
16
- Requires an exact user-supplied Jacobian
16
17
- Depends on BLAS and LAPACK for linear algebra operations
17
18
- Supports two build systems: [CMake](https://cmake.org/) and [Fortran Package Manager (fpm)](https://github.com/fortran-lang/fpm)
@@ -151,6 +152,8 @@ The two tolerance parameters `eps` and `w` together control how accurately the s
151
152
152
153
A reasonable first choice is `eps = 1.0e-4` with all `w(i) = 1.0`, which requests roughly four significant digits from every component.
153
154
155
+
For interoperability scenarios where the caller manages memory allocation (e.g. language bindings), `stiff3` also provides an overload with explicit work arrays: `rwork` of size `n*(7 + 2*n)` and `iwork` of size `n`.
156
+
154
157
You can also optionally pass `hmax` to limit the absolute half-step size used by the adaptive controller. If `hmax` is omitted or set to `0`, the default is `abs(x1-x0)`. If provided and positive, the solver uses `min(hmax, abs(x1-x0))`. Negative values are rejected.
155
158
156
159
**How the tolerance is applied:** after each step the solver estimates the local error in each component and checks:
0 commit comments