Skip to content

Commit 72726d0

Browse files
astoerikoaseyboldt
authored andcommitted
Document solver arguments
1 parent 270df03 commit 72726d0

File tree

1 file changed

+31
-0
lines changed

1 file changed

+31
-0
lines changed

sunode/solver.py

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -252,6 +252,37 @@ def __init__(
252252
linear_solver="dense",
253253
linear_solver_kwargs=None,
254254
):
255+
"""
256+
Parameters
257+
----------
258+
problem: sunode Problem
259+
abstol: float, optional
260+
Absolute tolerance (default is 1e-10).
261+
reltol: float, optional
262+
Relative tolerance (default is 1e-10).
263+
sense_mode: {"simultaneous", "staggered"}, optional
264+
Forward sensitivity method (see [this explanation in the SUNDIALS documentation][1]).
265+
scaling_factors: numpy.ndarray, optional
266+
Vector of positive scaling factors used for the sensitivity calculations.
267+
constraints: numpy.ndarray, optional
268+
Vector of inequality constraints for the solution. The length of the vector must correspond
269+
to the number of states. See the SUNDIALS documentation for the [constraint options][2].
270+
solver: {"BDF", "ADAMS"}, optional
271+
Algorithm for solving the ODE (the default is ``"BDF"``).
272+
linear_solver: {"dense", "dense_finitediff", "spgmr", "spgmr_finitediff", "band"}, optional
273+
Type of linear solver to use (the default is "dense").
274+
If linear_solver is ``"band"``, ``linear_solver_kwargs`` must contain ``lower_bandwidth``
275+
and ``upper_bandwidth``, defining the lower and upper half-bandwidth of the banded matrix
276+
(see the [SUNDIALS documentation][3] for details).
277+
linear_solver_kwargs: dict, optional
278+
Keyword arguments for the linear solver.
279+
280+
[1]: https://sundials.readthedocs.io/en/latest/idas/Mathematics_link.html#forward-sensitivity-methods
281+
[2]: https://sundials.readthedocs.io/en/latest/cvode/Usage/index.html#c.CVodeSetConstraints
282+
[3]: https://sundials.readthedocs.io/en/latest/sunmatrix/SUNMatrix_links.html#the-sunmatrix-band-module
283+
"""
284+
if linear_solver_kwargs is None:
285+
linear_solver_kwargs = {}
255286
self._problem = problem
256287
self._user_data = problem.make_user_data()
257288
self._constraints = constraints

0 commit comments

Comments
 (0)