|
1 | 1 | # [Steady State Solvers](@id ss_solvers)
|
2 | 2 |
|
3 |
| -`solve(prob::SteadyStateProblem,alg;kwargs)` |
| 3 | +`solve(prob::SteadyStateProblem, alg; kwargs)` |
4 | 4 |
|
5 | 5 | Solves for the steady states in the problem defined by `prob` using the algorithm
|
6 | 6 | `alg`. If no algorithm is given, a default algorithm will be chosen.
|
7 | 7 |
|
8 | 8 | ## Recommended Methods
|
9 | 9 |
|
10 | 10 | Conversion to a NonlinearProblem is generally the fastest method. However, this will not
|
11 |
| -guarantee the preferred root, and thus if the preferred root is required, then it's |
12 |
| -recommended that one uses `DynamicSS`. For `DynamicSS`, often an adaptive stiff solver, |
13 |
| -like a Rosenbrock or BDF method (`Rodas5` or `QNDF`), is a good way to allow for very large |
14 |
| -time steps as the steady state approaches. |
| 11 | +guarantee the preferred root (the stable equilibrium), and thus if the preferred root is |
| 12 | +required, then it's recommended that one uses `DynamicSS`. For `DynamicSS`, often an |
| 13 | +adaptive stiff solver, like a Rosenbrock or BDF method (`Rodas5` or `QNDF`), is a good way |
| 14 | +to allow for very large time steps as the steady state approaches. |
15 | 15 |
|
16 | 16 | !!! note
|
17 | 17 |
|
18 | 18 | The SteadyStateDiffEq.jl methods on a `SteadyStateProblem` respect the time definition
|
19 |
| - in the nonlinear definition, i.e., `u' = f(u,t)` uses the correct values for `t` as the |
| 19 | + in the nonlinear definition, i.e., `u' = f(u, t)` uses the correct values for `t` as the |
20 | 20 | solution evolves. A conversion of a `SteadyStateProblem` to a `NonlinearProblem`
|
21 |
| - replaces this with the nonlinear system `u' = f(u,∞)`, and thus the direct |
| 21 | + replaces this with the nonlinear system `u' = f(u, ∞)`, and thus the direct |
22 | 22 | `SteadyStateProblem` approach can give different answers (i.e., the correct unique
|
23 | 23 | fixed point) on ODEs with non-autonomous dynamics.
|
24 | 24 |
|
| 25 | +!!! note |
| 26 | + |
| 27 | + If you have an unstable equilibrium and you want to solve for the unstable equilibrium, |
| 28 | + then `DynamicSS` might converge to the equilibrium based on the initial condition. |
| 29 | + However, Nonlinear Solvers don't suffer from this issue, and thus it's recommended to |
| 30 | + use a nonlinear solver if you want to solve for the unstable equilibrium. |
| 31 | + |
25 | 32 | ## Full List of Methods
|
26 | 33 |
|
27 | 34 | ### Conversion to NonlinearProblem
|
|
0 commit comments