Skip to content

Commit 304f80e

Browse files
separate gamma2
1 parent bcf91f1 commit 304f80e

File tree

1 file changed

+5
-18
lines changed

1 file changed

+5
-18
lines changed

src/odenlstep.jl

Lines changed: 5 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -9,27 +9,14 @@ struct ODENLStepData{NLProb, UNLProb, SetGammaC, SetOuterTmp, SetInnerTmp, NLPro
99
implicit time discretizations. This allows to use extra structure of the ODE function (e.g.
1010
multi-level structure). The nonlinear function must match that form of the function implicit
1111
ODE integration algorithms need do solve the a nonlinear problems,
12-
specifically of the form `M*z = outer_tmp + γ⋅f(z+inner_tmp,p,t_c)`.
12+
specifically of the form `M*z = outer_tmp + γ⋅f(γ₂⋅z+inner_tmp,p,t_c)`.
1313
Here `z` is the stage solution vector, `p` is the parameter of the ODE problem, `t_c` is
14-
the time of evaluation (`t_c = t + c*dt`), `γ` is some scaling factor and the temporary
15-
variables are some compatible vectors set by the specific solver.
16-
Note that this field will not be used for integrators such as fully-implicit Runge-Kutta methods
17-
that need to solve different nonlinear systems.
18-
The inner nonlinear function of the nonlinear problem is in general of the form `g(z,p') = 0`
19-
where `p'` is a NamedTuple with all information about the specific nonlinear problem at hand to solve
20-
for a specific time discretization. Specifically, it is `(;γ, inner_tmp, outer_tmp, t_c, p)`, such that
21-
`g(z,p') = γ⋅f(z+inner_tmp,p,t_c) + outer_tmp - M*z = 0`.
14+
the time of evaluation (`t_c = t + c*dt`), `γ₁` and `γ₂` are some scaling factors determined
15+
by the solver algorithm and the temporary variables are some compatible vectors set by the specific solver.
16+
The inner nonlinear function of the nonlinear problem is in general of the form `g(z,p') = 0` such that
17+
`g(z,p') = γ₁⋅f(γ₂⋅z+inner_tmp,p,t_c) + outer_tmp - M*z = 0`.
2218
"""
2319
nlprob::NLProb
24-
"""
25-
A function which takes `(nlprob, value_provider)` and updates
26-
the parameters of the former with their values in the latter.
27-
If absent (`nothing`) this will not be called, and the parameters
28-
in `nlprob` will be used without modification. `value_provider`
29-
refers to a value provider as defined by SymbolicIndexingInterface.jl.
30-
Usually this will refer to a problem or integrator.
31-
"""
32-
update_nlprob!::UNLProb
3320
set_γ_c::SetGammaC
3421
set_outer_tmp::SetOuterTmp
3522
set_inner_tmp::SetInnerTmp

0 commit comments

Comments
 (0)