BoundaryValueDiffEqFIRK
Fully Implicit Runge Kutta(FIRK) Methods. To be able to access the solvers in BoundaryValueDiffEqFIRK, you must first install them use the Julia package manager:
using Pkg
Pkg.add("BoundaryValueDiffEqFIRK")
solve(prob::BVProblem, alg, dt; kwargs...)
solve(prob::TwoPointBVProblem, alg, dt; kwargs...)
When encountered with large BVP system, setting nested_nlsolve
to true
enables FIRK methods to use nested nonlinear solving for the implicit FIRK step instead of solving as a part of the global residual(when default as nested_nlsolve=false
),
Full List of Methods
Radau IIA methods
RadauIIa1
: 1 stage Radau IIA method, with defect control adaptivityRadauIIa2
: 2 stage Radau IIA method, with defect control adaptivity.RadauIIa3
: 3 stage Radau IIA method, with defect control adaptivity.RadauIIa5
: 5 stage Radau IIA method, with defect control adaptivity.RadauIIa7
: 7 stage Radau IIA method, with defect control adaptivity.
Lobatto IIIA methods
LobattoIIIa2
: 2 stage Lobatto IIIa method, with defect control adaptivity.LobattoIIIa3
: 3 stage Lobatto IIIa method, with defect control adaptivity.LobattoIIIa4
: 4 stage Lobatto IIIa method, with defect control adaptivity.LobattoIIIa5
: 5 stage Lobatto IIIa method, with defect control adaptivity.
Lobatto IIIB methods
LobattoIIIb2
: 2 stage Lobatto IIIb method, with defect control adaptivity.LobattoIIIb3
: 3 stage Lobatto IIIb method, with defect control adaptivity.LobattoIIIb4
: 4 stage Lobatto IIIb method, with defect control adaptivity.LobattoIIIb5
: 5 stage Lobatto IIIb method, with defect control adaptivity.
Lobatto IIIC methods
LobattoIIIc2
: 2 stage Lobatto IIIc method, with defect control adaptivity.LobattoIIIc3
: 3 stage Lobatto IIIc method, with defect control adaptivity.LobattoIIIc4
: 4 stage Lobatto IIIc method, with defect control adaptivity.LobattoIIIc5
: 5 stage Lobatto IIIc method, with defect control adaptivity.
Detailed Solvers Explanation
BoundaryValueDiffEqFIRK.RadauIIa1
— Type RadauIIa1(; nlsolve = NewtonRaphson(), jac_alg = BVPJacobianAlgorithm(), nested_nlsolve = false, nest_tol = 0.0,
defect_threshold = 0.1, max_num_subintervals = 3000)
1th stage RadauIIa method.
Keyword Arguments
nlsolve
: Internal Nonlinear solver. Any solver which conforms to the SciMLNonlinearProblem
interface can be used. Note that any autodiff argument for the solver will be ignored and a custom jacobian algorithm will be used.jac_alg
: Jacobian Algorithm used for the nonlinear solver. Defaults toBVPJacobianAlgorithm()
, which automatically decides the best algorithm to use based on the input types and problem type.- For
TwoPointBVProblem
, onlydiffmode
is used (defaults toAutoSparse(AutoForwardDiff)
if possible elseAutoSparse(AutoFiniteDiff)
). - For
BVProblem
,bc_diffmode
andnonbc_diffmode
are used. Fornonbc_diffmode
defaults toAutoSparse(AutoForwardDiff)
if possible elseAutoSparse(AutoFiniteDiff)
. Forbc_diffmode
, defaults toAutoForwardDiff
if possible elseAutoFiniteDiff
.
- For
nested_nlsolve
: Whether or not to use a nested nonlinear solve for the
implicit FIRK step. Defaults to false
. If set to false
, the FIRK stages are solved as a part of the global residual. The general recommendation is to choose true
for larger problems and false
for smaller ones.
nest_tol
: The tolerance for the nested solver. Default is nothing which leads to
NonlinearSolve
automatically selecting the tolerance.
defect_threshold
: Threshold for defect control.max_num_subintervals
: Number of maximal subintervals, default as 3000.
For type-stability, the chunksizes for ForwardDiff ADTypes in BVPJacobianAlgorithm
must be provided.
References
Reference for Lobatto and Radau methods: bibtex @incollection{Jay2015, author="Jay, Laurent O.", editor="Engquist, Bj{"o}rn", title="Lobatto Methods", booktitle = {Encyclopedia of {Applied} and {Computational} {Mathematics}}, year="2015", publisher="Springer Berlin Heidelberg", } @incollection{engquist_radau_2015, author = {Hairer, Ernst and Wanner, Gerhard}, editor={Engquist, Bj{"o}rn}, title = {Radau {Methods}}, booktitle = {Encyclopedia of {Applied} and {Computational} {Mathematics}}, publisher = {Springer Berlin Heidelberg}, year = {2015}, }
References for implementation of defect control, based on the bvp5c
solver in MATLAB: ```bibtex @article{shampinesolvingnodate, title = {Solving {Boundary} {Value} {Problems} for {Ordinary} {Differential} {Equations} in {Matlab} with bvp4c author = {Shampine, Lawrence F and Kierzenka, Jacek and Reichelt, Mark W}, year = {2000}, }
@article{kierzenkabvp2008, title = {A {BVP} {Solver} that {Controls} {Residual} and {Error}}, author = {Kierzenka, J and Shampine, L F}, year = {2008}, }
@article{russelladaptive1978, title = {Adaptive {Mesh} {Selection} {Strategies} for {Solving} {Boundary} {Value} {Problems}}, journal = {SIAM Journal on Numerical Analysis}, author = {Russell, R. D. and Christiansen, J.}, year = {1978}, } ```
BoundaryValueDiffEqFIRK.RadauIIa2
— Type RadauIIa2(; nlsolve = NewtonRaphson(), jac_alg = BVPJacobianAlgorithm(), nested_nlsolve = false, nest_tol = 0.0,
defect_threshold = 0.1, max_num_subintervals = 3000)
2th stage RadauIIa method.
Keyword Arguments
nlsolve
: Internal Nonlinear solver. Any solver which conforms to the SciMLNonlinearProblem
interface can be used. Note that any autodiff argument for the solver will be ignored and a custom jacobian algorithm will be used.jac_alg
: Jacobian Algorithm used for the nonlinear solver. Defaults toBVPJacobianAlgorithm()
, which automatically decides the best algorithm to use based on the input types and problem type.- For
TwoPointBVProblem
, onlydiffmode
is used (defaults toAutoSparse(AutoForwardDiff)
if possible elseAutoSparse(AutoFiniteDiff)
). - For
BVProblem
,bc_diffmode
andnonbc_diffmode
are used. Fornonbc_diffmode
defaults toAutoSparse(AutoForwardDiff)
if possible elseAutoSparse(AutoFiniteDiff)
. Forbc_diffmode
, defaults toAutoForwardDiff
if possible elseAutoFiniteDiff
.
- For
nested_nlsolve
: Whether or not to use a nested nonlinear solve for the
implicit FIRK step. Defaults to false
. If set to false
, the FIRK stages are solved as a part of the global residual. The general recommendation is to choose true
for larger problems and false
for smaller ones.
nest_tol
: The tolerance for the nested solver. Default is nothing which leads to
NonlinearSolve
automatically selecting the tolerance.
defect_threshold
: Threshold for defect control.max_num_subintervals
: Number of maximal subintervals, default as 3000.
For type-stability, the chunksizes for ForwardDiff ADTypes in BVPJacobianAlgorithm
must be provided.
References
Reference for Lobatto and Radau methods: bibtex @incollection{Jay2015, author="Jay, Laurent O.", editor="Engquist, Bj{"o}rn", title="Lobatto Methods", booktitle = {Encyclopedia of {Applied} and {Computational} {Mathematics}}, year="2015", publisher="Springer Berlin Heidelberg", } @incollection{engquist_radau_2015, author = {Hairer, Ernst and Wanner, Gerhard}, editor={Engquist, Bj{"o}rn}, title = {Radau {Methods}}, booktitle = {Encyclopedia of {Applied} and {Computational} {Mathematics}}, publisher = {Springer Berlin Heidelberg}, year = {2015}, }
References for implementation of defect control, based on the bvp5c
solver in MATLAB: ```bibtex @article{shampinesolvingnodate, title = {Solving {Boundary} {Value} {Problems} for {Ordinary} {Differential} {Equations} in {Matlab} with bvp4c author = {Shampine, Lawrence F and Kierzenka, Jacek and Reichelt, Mark W}, year = {2000}, }
@article{kierzenkabvp2008, title = {A {BVP} {Solver} that {Controls} {Residual} and {Error}}, author = {Kierzenka, J and Shampine, L F}, year = {2008}, }
@article{russelladaptive1978, title = {Adaptive {Mesh} {Selection} {Strategies} for {Solving} {Boundary} {Value} {Problems}}, journal = {SIAM Journal on Numerical Analysis}, author = {Russell, R. D. and Christiansen, J.}, year = {1978}, } ```
BoundaryValueDiffEqFIRK.RadauIIa3
— Type RadauIIa3(; nlsolve = NewtonRaphson(), jac_alg = BVPJacobianAlgorithm(), nested_nlsolve = false, nest_tol = 0.0,
defect_threshold = 0.1, max_num_subintervals = 3000)
3th stage RadauIIa method.
Keyword Arguments
nlsolve
: Internal Nonlinear solver. Any solver which conforms to the SciMLNonlinearProblem
interface can be used. Note that any autodiff argument for the solver will be ignored and a custom jacobian algorithm will be used.jac_alg
: Jacobian Algorithm used for the nonlinear solver. Defaults toBVPJacobianAlgorithm()
, which automatically decides the best algorithm to use based on the input types and problem type.- For
TwoPointBVProblem
, onlydiffmode
is used (defaults toAutoSparse(AutoForwardDiff)
if possible elseAutoSparse(AutoFiniteDiff)
). - For
BVProblem
,bc_diffmode
andnonbc_diffmode
are used. Fornonbc_diffmode
defaults toAutoSparse(AutoForwardDiff)
if possible elseAutoSparse(AutoFiniteDiff)
. Forbc_diffmode
, defaults toAutoForwardDiff
if possible elseAutoFiniteDiff
.
- For
nested_nlsolve
: Whether or not to use a nested nonlinear solve for the
implicit FIRK step. Defaults to false
. If set to false
, the FIRK stages are solved as a part of the global residual. The general recommendation is to choose true
for larger problems and false
for smaller ones.
nest_tol
: The tolerance for the nested solver. Default is nothing which leads to
NonlinearSolve
automatically selecting the tolerance.
defect_threshold
: Threshold for defect control.max_num_subintervals
: Number of maximal subintervals, default as 3000.
For type-stability, the chunksizes for ForwardDiff ADTypes in BVPJacobianAlgorithm
must be provided.
References
Reference for Lobatto and Radau methods: bibtex @incollection{Jay2015, author="Jay, Laurent O.", editor="Engquist, Bj{"o}rn", title="Lobatto Methods", booktitle = {Encyclopedia of {Applied} and {Computational} {Mathematics}}, year="2015", publisher="Springer Berlin Heidelberg", } @incollection{engquist_radau_2015, author = {Hairer, Ernst and Wanner, Gerhard}, editor={Engquist, Bj{"o}rn}, title = {Radau {Methods}}, booktitle = {Encyclopedia of {Applied} and {Computational} {Mathematics}}, publisher = {Springer Berlin Heidelberg}, year = {2015}, }
References for implementation of defect control, based on the bvp5c
solver in MATLAB: ```bibtex @article{shampinesolvingnodate, title = {Solving {Boundary} {Value} {Problems} for {Ordinary} {Differential} {Equations} in {Matlab} with bvp4c author = {Shampine, Lawrence F and Kierzenka, Jacek and Reichelt, Mark W}, year = {2000}, }
@article{kierzenkabvp2008, title = {A {BVP} {Solver} that {Controls} {Residual} and {Error}}, author = {Kierzenka, J and Shampine, L F}, year = {2008}, }
@article{russelladaptive1978, title = {Adaptive {Mesh} {Selection} {Strategies} for {Solving} {Boundary} {Value} {Problems}}, journal = {SIAM Journal on Numerical Analysis}, author = {Russell, R. D. and Christiansen, J.}, year = {1978}, } ```
BoundaryValueDiffEqFIRK.RadauIIa5
— Type RadauIIa5(; nlsolve = NewtonRaphson(), jac_alg = BVPJacobianAlgorithm(), nested_nlsolve = false, nest_tol = 0.0,
defect_threshold = 0.1, max_num_subintervals = 3000)
5th stage RadauIIa method.
Keyword Arguments
nlsolve
: Internal Nonlinear solver. Any solver which conforms to the SciMLNonlinearProblem
interface can be used. Note that any autodiff argument for the solver will be ignored and a custom jacobian algorithm will be used.jac_alg
: Jacobian Algorithm used for the nonlinear solver. Defaults toBVPJacobianAlgorithm()
, which automatically decides the best algorithm to use based on the input types and problem type.- For
TwoPointBVProblem
, onlydiffmode
is used (defaults toAutoSparse(AutoForwardDiff)
if possible elseAutoSparse(AutoFiniteDiff)
). - For
BVProblem
,bc_diffmode
andnonbc_diffmode
are used. Fornonbc_diffmode
defaults toAutoSparse(AutoForwardDiff)
if possible elseAutoSparse(AutoFiniteDiff)
. Forbc_diffmode
, defaults toAutoForwardDiff
if possible elseAutoFiniteDiff
.
- For
nested_nlsolve
: Whether or not to use a nested nonlinear solve for the
implicit FIRK step. Defaults to false
. If set to false
, the FIRK stages are solved as a part of the global residual. The general recommendation is to choose true
for larger problems and false
for smaller ones.
nest_tol
: The tolerance for the nested solver. Default is nothing which leads to
NonlinearSolve
automatically selecting the tolerance.
defect_threshold
: Threshold for defect control.max_num_subintervals
: Number of maximal subintervals, default as 3000.
For type-stability, the chunksizes for ForwardDiff ADTypes in BVPJacobianAlgorithm
must be provided.
References
Reference for Lobatto and Radau methods: bibtex @incollection{Jay2015, author="Jay, Laurent O.", editor="Engquist, Bj{"o}rn", title="Lobatto Methods", booktitle = {Encyclopedia of {Applied} and {Computational} {Mathematics}}, year="2015", publisher="Springer Berlin Heidelberg", } @incollection{engquist_radau_2015, author = {Hairer, Ernst and Wanner, Gerhard}, editor={Engquist, Bj{"o}rn}, title = {Radau {Methods}}, booktitle = {Encyclopedia of {Applied} and {Computational} {Mathematics}}, publisher = {Springer Berlin Heidelberg}, year = {2015}, }
References for implementation of defect control, based on the bvp5c
solver in MATLAB: ```bibtex @article{shampinesolvingnodate, title = {Solving {Boundary} {Value} {Problems} for {Ordinary} {Differential} {Equations} in {Matlab} with bvp4c author = {Shampine, Lawrence F and Kierzenka, Jacek and Reichelt, Mark W}, year = {2000}, }
@article{kierzenkabvp2008, title = {A {BVP} {Solver} that {Controls} {Residual} and {Error}}, author = {Kierzenka, J and Shampine, L F}, year = {2008}, }
@article{russelladaptive1978, title = {Adaptive {Mesh} {Selection} {Strategies} for {Solving} {Boundary} {Value} {Problems}}, journal = {SIAM Journal on Numerical Analysis}, author = {Russell, R. D. and Christiansen, J.}, year = {1978}, } ```
BoundaryValueDiffEqFIRK.RadauIIa7
— Type RadauIIa7(; nlsolve = NewtonRaphson(), jac_alg = BVPJacobianAlgorithm(), nested_nlsolve = false, nest_tol = 0.0,
defect_threshold = 0.1, max_num_subintervals = 3000)
7th stage RadauIIa method.
Keyword Arguments
nlsolve
: Internal Nonlinear solver. Any solver which conforms to the SciMLNonlinearProblem
interface can be used. Note that any autodiff argument for the solver will be ignored and a custom jacobian algorithm will be used.jac_alg
: Jacobian Algorithm used for the nonlinear solver. Defaults toBVPJacobianAlgorithm()
, which automatically decides the best algorithm to use based on the input types and problem type.- For
TwoPointBVProblem
, onlydiffmode
is used (defaults toAutoSparse(AutoForwardDiff)
if possible elseAutoSparse(AutoFiniteDiff)
). - For
BVProblem
,bc_diffmode
andnonbc_diffmode
are used. Fornonbc_diffmode
defaults toAutoSparse(AutoForwardDiff)
if possible elseAutoSparse(AutoFiniteDiff)
. Forbc_diffmode
, defaults toAutoForwardDiff
if possible elseAutoFiniteDiff
.
- For
nested_nlsolve
: Whether or not to use a nested nonlinear solve for the
implicit FIRK step. Defaults to false
. If set to false
, the FIRK stages are solved as a part of the global residual. The general recommendation is to choose true
for larger problems and false
for smaller ones.
nest_tol
: The tolerance for the nested solver. Default is nothing which leads to
NonlinearSolve
automatically selecting the tolerance.
defect_threshold
: Threshold for defect control.max_num_subintervals
: Number of maximal subintervals, default as 3000.
For type-stability, the chunksizes for ForwardDiff ADTypes in BVPJacobianAlgorithm
must be provided.
References
Reference for Lobatto and Radau methods: bibtex @incollection{Jay2015, author="Jay, Laurent O.", editor="Engquist, Bj{"o}rn", title="Lobatto Methods", booktitle = {Encyclopedia of {Applied} and {Computational} {Mathematics}}, year="2015", publisher="Springer Berlin Heidelberg", } @incollection{engquist_radau_2015, author = {Hairer, Ernst and Wanner, Gerhard}, editor={Engquist, Bj{"o}rn}, title = {Radau {Methods}}, booktitle = {Encyclopedia of {Applied} and {Computational} {Mathematics}}, publisher = {Springer Berlin Heidelberg}, year = {2015}, }
References for implementation of defect control, based on the bvp5c
solver in MATLAB: ```bibtex @article{shampinesolvingnodate, title = {Solving {Boundary} {Value} {Problems} for {Ordinary} {Differential} {Equations} in {Matlab} with bvp4c author = {Shampine, Lawrence F and Kierzenka, Jacek and Reichelt, Mark W}, year = {2000}, }
@article{kierzenkabvp2008, title = {A {BVP} {Solver} that {Controls} {Residual} and {Error}}, author = {Kierzenka, J and Shampine, L F}, year = {2008}, }
@article{russelladaptive1978, title = {Adaptive {Mesh} {Selection} {Strategies} for {Solving} {Boundary} {Value} {Problems}}, journal = {SIAM Journal on Numerical Analysis}, author = {Russell, R. D. and Christiansen, J.}, year = {1978}, } ```
BoundaryValueDiffEqFIRK.LobattoIIIa2
— Type LobattoIIIa2(; nlsolve = NewtonRaphson(), jac_alg = BVPJacobianAlgorithm(), nested_nlsolve = false, nest_tol = 0.0,
defect_threshold = 0.1, max_num_subintervals = 3000)
2th stage LobattoIIIa method.
Keyword Arguments
- `nlsolve`: Internal Nonlinear solver. Any solver which conforms to the SciML
`NonlinearProblem` interface can be used. Note that any autodiff argument for
the solver will be ignored and a custom jacobian algorithm will be used.
jac_alg
: Jacobian Algorithm used for the nonlinear solver. Defaults toBVPJacobianAlgorithm()
, which automatically decides the best algorithm to use based on the input types and problem type.- For
TwoPointBVProblem
, onlydiffmode
is used (defaults toAutoSparse(AutoForwardDiff)
if possible elseAutoSparse(AutoFiniteDiff)
). - For
BVProblem
,bc_diffmode
andnonbc_diffmode
are used. Fornonbc_diffmode
defaults toAutoSparse(AutoForwardDiff)
if possible elseAutoSparse(AutoFiniteDiff)
. Forbc_diffmode
, defaults toAutoForwardDiff
if possible elseAutoFiniteDiff
.
- For
nested_nlsolve
: Whether or not to use a nested nonlinear solve for the implicit FIRK step. Defaults tofalse
. If set tofalse
, the FIRK stages are
solved as a part of the global residual. The general recommendation is to choose true
for larger problems and false
for smaller ones.
nest_tol
: The tolerance for the nested solver. Default is nothing which leads to
NonlinearSolve
automatically selecting the tolerance.
defect_threshold
: Threshold for defect control.max_num_subintervals
: Number of maximal subintervals, default as 3000.
For type-stability, the chunksizes for ForwardDiff ADTypes in BVPJacobianAlgorithm
must be provided.
References
Reference for Lobatto and Radau methods:
```bibtex
@Inbook{Jay2015,
author="Jay, Laurent O.",
editor="Engquist, Bj{"o}rn",
title="Lobatto Methods",
booktitle = {Encyclopedia of {Applied} and {Computational} {Mathematics}},
year="2015",
publisher="Springer Berlin Heidelberg",
}
@incollection{engquist_radau_2015,
author = {Hairer, Ernst and Wanner, Gerhard},
title = {Radau {Methods}},
booktitle = {Encyclopedia of {Applied} and {Computational} {Mathematics}},
publisher = {Springer Berlin Heidelberg},
editor="Engquist, Bj{"o}rn",
year = {2015},
}
```
References for implementation of defect control, based on the `bvp5c` solver in MATLAB:
```bibtex
@article{shampine_solving_nodate,
title = {Solving {Boundary} {Value} {Problems} for {Ordinary} {Differential} {Equations} in {Matlab} with bvp4c
author = {Shampine, Lawrence F and Kierzenka, Jacek and Reichelt, Mark W},
year = {2000},
}
@article{kierzenka_bvp_2008,
title = {A {BVP} {Solver} that {Controls} {Residual} and {Error}},
author = {Kierzenka, J and Shampine, L F},
year = {2008},
}
@article{russell_adaptive_1978,
title = {Adaptive {Mesh} {Selection} {Strategies} for {Solving} {Boundary} {Value} {Problems}},
journal = {SIAM Journal on Numerical Analysis},
author = {Russell, R. D. and Christiansen, J.},
year = {1978},
file = {Russell and Christiansen - 1978 - Adaptive Mesh Selection Strategies for Solving Bou.pdf:/Users/AXLRSN/Zotero/storage/HKU27A4T/Russell and Christiansen - 1978 - Adaptive Mesh Selection Strategies for Solving Bou.pdf:application/pdf},
}
```
BoundaryValueDiffEqFIRK.LobattoIIIa3
— Type LobattoIIIa3(; nlsolve = NewtonRaphson(), jac_alg = BVPJacobianAlgorithm(), nested_nlsolve = false, nest_tol = 0.0,
defect_threshold = 0.1, max_num_subintervals = 3000)
3th stage LobattoIIIa method.
Keyword Arguments
- `nlsolve`: Internal Nonlinear solver. Any solver which conforms to the SciML
`NonlinearProblem` interface can be used. Note that any autodiff argument for
the solver will be ignored and a custom jacobian algorithm will be used.
jac_alg
: Jacobian Algorithm used for the nonlinear solver. Defaults toBVPJacobianAlgorithm()
, which automatically decides the best algorithm to use based on the input types and problem type.- For
TwoPointBVProblem
, onlydiffmode
is used (defaults toAutoSparse(AutoForwardDiff)
if possible elseAutoSparse(AutoFiniteDiff)
). - For
BVProblem
,bc_diffmode
andnonbc_diffmode
are used. Fornonbc_diffmode
defaults toAutoSparse(AutoForwardDiff)
if possible elseAutoSparse(AutoFiniteDiff)
. Forbc_diffmode
, defaults toAutoForwardDiff
if possible elseAutoFiniteDiff
.
- For
nested_nlsolve
: Whether or not to use a nested nonlinear solve for the implicit FIRK step. Defaults tofalse
. If set tofalse
, the FIRK stages are
solved as a part of the global residual. The general recommendation is to choose true
for larger problems and false
for smaller ones.
nest_tol
: The tolerance for the nested solver. Default is nothing which leads to
NonlinearSolve
automatically selecting the tolerance.
defect_threshold
: Threshold for defect control.max_num_subintervals
: Number of maximal subintervals, default as 3000.
For type-stability, the chunksizes for ForwardDiff ADTypes in BVPJacobianAlgorithm
must be provided.
References
Reference for Lobatto and Radau methods:
```bibtex
@Inbook{Jay2015,
author="Jay, Laurent O.",
editor="Engquist, Bj{"o}rn",
title="Lobatto Methods",
booktitle = {Encyclopedia of {Applied} and {Computational} {Mathematics}},
year="2015",
publisher="Springer Berlin Heidelberg",
}
@incollection{engquist_radau_2015,
author = {Hairer, Ernst and Wanner, Gerhard},
title = {Radau {Methods}},
booktitle = {Encyclopedia of {Applied} and {Computational} {Mathematics}},
publisher = {Springer Berlin Heidelberg},
editor="Engquist, Bj{"o}rn",
year = {2015},
}
```
References for implementation of defect control, based on the `bvp5c` solver in MATLAB:
```bibtex
@article{shampine_solving_nodate,
title = {Solving {Boundary} {Value} {Problems} for {Ordinary} {Differential} {Equations} in {Matlab} with bvp4c
author = {Shampine, Lawrence F and Kierzenka, Jacek and Reichelt, Mark W},
year = {2000},
}
@article{kierzenka_bvp_2008,
title = {A {BVP} {Solver} that {Controls} {Residual} and {Error}},
author = {Kierzenka, J and Shampine, L F},
year = {2008},
}
@article{russell_adaptive_1978,
title = {Adaptive {Mesh} {Selection} {Strategies} for {Solving} {Boundary} {Value} {Problems}},
journal = {SIAM Journal on Numerical Analysis},
author = {Russell, R. D. and Christiansen, J.},
year = {1978},
file = {Russell and Christiansen - 1978 - Adaptive Mesh Selection Strategies for Solving Bou.pdf:/Users/AXLRSN/Zotero/storage/HKU27A4T/Russell and Christiansen - 1978 - Adaptive Mesh Selection Strategies for Solving Bou.pdf:application/pdf},
}
```
BoundaryValueDiffEqFIRK.LobattoIIIa4
— Type LobattoIIIa4(; nlsolve = NewtonRaphson(), jac_alg = BVPJacobianAlgorithm(), nested_nlsolve = false, nest_tol = 0.0,
defect_threshold = 0.1, max_num_subintervals = 3000)
4th stage LobattoIIIa method.
Keyword Arguments
- `nlsolve`: Internal Nonlinear solver. Any solver which conforms to the SciML
`NonlinearProblem` interface can be used. Note that any autodiff argument for
the solver will be ignored and a custom jacobian algorithm will be used.
jac_alg
: Jacobian Algorithm used for the nonlinear solver. Defaults toBVPJacobianAlgorithm()
, which automatically decides the best algorithm to use based on the input types and problem type.- For
TwoPointBVProblem
, onlydiffmode
is used (defaults toAutoSparse(AutoForwardDiff)
if possible elseAutoSparse(AutoFiniteDiff)
). - For
BVProblem
,bc_diffmode
andnonbc_diffmode
are used. Fornonbc_diffmode
defaults toAutoSparse(AutoForwardDiff)
if possible elseAutoSparse(AutoFiniteDiff)
. Forbc_diffmode
, defaults toAutoForwardDiff
if possible elseAutoFiniteDiff
.
- For
nested_nlsolve
: Whether or not to use a nested nonlinear solve for the implicit FIRK step. Defaults tofalse
. If set tofalse
, the FIRK stages are
solved as a part of the global residual. The general recommendation is to choose true
for larger problems and false
for smaller ones.
nest_tol
: The tolerance for the nested solver. Default is nothing which leads to
NonlinearSolve
automatically selecting the tolerance.
defect_threshold
: Threshold for defect control.max_num_subintervals
: Number of maximal subintervals, default as 3000.
For type-stability, the chunksizes for ForwardDiff ADTypes in BVPJacobianAlgorithm
must be provided.
References
Reference for Lobatto and Radau methods:
```bibtex
@Inbook{Jay2015,
author="Jay, Laurent O.",
editor="Engquist, Bj{"o}rn",
title="Lobatto Methods",
booktitle = {Encyclopedia of {Applied} and {Computational} {Mathematics}},
year="2015",
publisher="Springer Berlin Heidelberg",
}
@incollection{engquist_radau_2015,
author = {Hairer, Ernst and Wanner, Gerhard},
title = {Radau {Methods}},
booktitle = {Encyclopedia of {Applied} and {Computational} {Mathematics}},
publisher = {Springer Berlin Heidelberg},
editor="Engquist, Bj{"o}rn",
year = {2015},
}
```
References for implementation of defect control, based on the `bvp5c` solver in MATLAB:
```bibtex
@article{shampine_solving_nodate,
title = {Solving {Boundary} {Value} {Problems} for {Ordinary} {Differential} {Equations} in {Matlab} with bvp4c
author = {Shampine, Lawrence F and Kierzenka, Jacek and Reichelt, Mark W},
year = {2000},
}
@article{kierzenka_bvp_2008,
title = {A {BVP} {Solver} that {Controls} {Residual} and {Error}},
author = {Kierzenka, J and Shampine, L F},
year = {2008},
}
@article{russell_adaptive_1978,
title = {Adaptive {Mesh} {Selection} {Strategies} for {Solving} {Boundary} {Value} {Problems}},
journal = {SIAM Journal on Numerical Analysis},
author = {Russell, R. D. and Christiansen, J.},
year = {1978},
file = {Russell and Christiansen - 1978 - Adaptive Mesh Selection Strategies for Solving Bou.pdf:/Users/AXLRSN/Zotero/storage/HKU27A4T/Russell and Christiansen - 1978 - Adaptive Mesh Selection Strategies for Solving Bou.pdf:application/pdf},
}
```
BoundaryValueDiffEqFIRK.LobattoIIIa5
— Type LobattoIIIa5(; nlsolve = NewtonRaphson(), jac_alg = BVPJacobianAlgorithm(), nested_nlsolve = false, nest_tol = 0.0,
defect_threshold = 0.1, max_num_subintervals = 3000)
5th stage LobattoIIIa method.
Keyword Arguments
- `nlsolve`: Internal Nonlinear solver. Any solver which conforms to the SciML
`NonlinearProblem` interface can be used. Note that any autodiff argument for
the solver will be ignored and a custom jacobian algorithm will be used.
jac_alg
: Jacobian Algorithm used for the nonlinear solver. Defaults toBVPJacobianAlgorithm()
, which automatically decides the best algorithm to use based on the input types and problem type.- For
TwoPointBVProblem
, onlydiffmode
is used (defaults toAutoSparse(AutoForwardDiff)
if possible elseAutoSparse(AutoFiniteDiff)
). - For
BVProblem
,bc_diffmode
andnonbc_diffmode
are used. Fornonbc_diffmode
defaults toAutoSparse(AutoForwardDiff)
if possible elseAutoSparse(AutoFiniteDiff)
. Forbc_diffmode
, defaults toAutoForwardDiff
if possible elseAutoFiniteDiff
.
- For
nested_nlsolve
: Whether or not to use a nested nonlinear solve for the implicit FIRK step. Defaults tofalse
. If set tofalse
, the FIRK stages are
solved as a part of the global residual. The general recommendation is to choose true
for larger problems and false
for smaller ones.
nest_tol
: The tolerance for the nested solver. Default is nothing which leads to
NonlinearSolve
automatically selecting the tolerance.
defect_threshold
: Threshold for defect control.max_num_subintervals
: Number of maximal subintervals, default as 3000.
For type-stability, the chunksizes for ForwardDiff ADTypes in BVPJacobianAlgorithm
must be provided.
References
Reference for Lobatto and Radau methods:
```bibtex
@Inbook{Jay2015,
author="Jay, Laurent O.",
editor="Engquist, Bj{"o}rn",
title="Lobatto Methods",
booktitle = {Encyclopedia of {Applied} and {Computational} {Mathematics}},
year="2015",
publisher="Springer Berlin Heidelberg",
}
@incollection{engquist_radau_2015,
author = {Hairer, Ernst and Wanner, Gerhard},
title = {Radau {Methods}},
booktitle = {Encyclopedia of {Applied} and {Computational} {Mathematics}},
publisher = {Springer Berlin Heidelberg},
editor="Engquist, Bj{"o}rn",
year = {2015},
}
```
References for implementation of defect control, based on the `bvp5c` solver in MATLAB:
```bibtex
@article{shampine_solving_nodate,
title = {Solving {Boundary} {Value} {Problems} for {Ordinary} {Differential} {Equations} in {Matlab} with bvp4c
author = {Shampine, Lawrence F and Kierzenka, Jacek and Reichelt, Mark W},
year = {2000},
}
@article{kierzenka_bvp_2008,
title = {A {BVP} {Solver} that {Controls} {Residual} and {Error}},
author = {Kierzenka, J and Shampine, L F},
year = {2008},
}
@article{russell_adaptive_1978,
title = {Adaptive {Mesh} {Selection} {Strategies} for {Solving} {Boundary} {Value} {Problems}},
journal = {SIAM Journal on Numerical Analysis},
author = {Russell, R. D. and Christiansen, J.},
year = {1978},
file = {Russell and Christiansen - 1978 - Adaptive Mesh Selection Strategies for Solving Bou.pdf:/Users/AXLRSN/Zotero/storage/HKU27A4T/Russell and Christiansen - 1978 - Adaptive Mesh Selection Strategies for Solving Bou.pdf:application/pdf},
}
```
BoundaryValueDiffEqFIRK.LobattoIIIb2
— Type LobattoIIIb2(; nlsolve = NewtonRaphson(), jac_alg = BVPJacobianAlgorithm(), nested_nlsolve = false, nest_tol = 0.0,
defect_threshold = 0.1, max_num_subintervals = 3000)
2th stage LobattoIIIb method.
Keyword Arguments
nlsolve
: Internal Nonlinear solver. Any solver which conforms to the SciMLNonlinearProblem
interface can be used. Note that any autodiff argument for the solver will be ignored and a custom jacobian algorithm will be used.jac_alg
: Jacobian Algorithm used for the nonlinear solver. Defaults toBVPJacobianAlgorithm()
, which automatically decides the best algorithm to use based on the input types and problem type.- For
TwoPointBVProblem
, onlydiffmode
is used (defaults toAutoSparse(AutoForwardDiff)
if possible elseAutoSparse(AutoFiniteDiff)
). - For
BVProblem
,bc_diffmode
andnonbc_diffmode
are used. Fornonbc_diffmode
defaults toAutoSparse(AutoForwardDiff)
if possible elseAutoSparse(AutoFiniteDiff)
. Forbc_diffmode
, defaults toAutoForwardDiff
if possible elseAutoFiniteDiff
.
- For
nested_nlsolve
: Whether or not to use a nested nonlinear solve for the
implicit FIRK step. Defaults to true
. If set to false
, the FIRK stages are solved as a part of the global residual. The general recommendation is to choose true
for larger problems and false
for smaller ones.
nest_tol
: The tolerance for the nested solver. Default is nothing which leads to
NonlinearSolve
automatically selecting the tolerance.
defect_threshold
: Threshold for defect control.max_num_subintervals
: Number of maximal subintervals, default as 3000.
For type-stability, the chunksizes for ForwardDiff ADTypes in BVPJacobianAlgorithm
must be provided.
References
Reference for Lobatto and Radau methods: bibtex @Inbook{Jay2015, author="Jay, Laurent O.", editor="Engquist, Bj{"o}rn", title="Lobatto Methods", booktitle = {Encyclopedia of {Applied} and {Computational} {Mathematics}}, year="2015", publisher="Springer Berlin Heidelberg", } @incollection{engquist_radau_2015, author = {Hairer, Ernst and Wanner, Gerhard}, title = {Radau {Methods}}, booktitle = {Encyclopedia of {Applied} and {Computational} {Mathematics}}, publisher = {Springer Berlin Heidelberg}, editor="Engquist, Bj{"o}rn", year = {2015}, }
References for implementation of defect control, based on the bvp5c
solver in MATLAB: ```bibtex @article{shampinesolvingnodate, title = {Solving {Boundary} {Value} {Problems} for {Ordinary} {Differential} {Equations} in {Matlab} with bvp4c author = {Shampine, Lawrence F and Kierzenka, Jacek and Reichelt, Mark W}, year = {2000}, }
@article{kierzenkabvp2008, title = {A {BVP} {Solver} that {Controls} {Residual} and {Error}}, author = {Kierzenka, J and Shampine, L F}, year = {2008}, }
@article{russelladaptive1978, title = {Adaptive {Mesh} {Selection} {Strategies} for {Solving} {Boundary} {Value} {Problems}}, journal = {SIAM Journal on Numerical Analysis}, author = {Russell, R. D. and Christiansen, J.}, year = {1978}, file = {Russell and Christiansen - 1978 - Adaptive Mesh Selection Strategies for Solving Bou.pdf:/Users/AXLRSN/Zotero/storage/HKU27A4T/Russell and Christiansen - 1978 - Adaptive Mesh Selection Strategies for Solving Bou.pdf:application/pdf}, } ```
BoundaryValueDiffEqFIRK.LobattoIIIb3
— Type LobattoIIIb3(; nlsolve = NewtonRaphson(), jac_alg = BVPJacobianAlgorithm(), nested_nlsolve = false, nest_tol = 0.0,
defect_threshold = 0.1, max_num_subintervals = 3000)
3th stage LobattoIIIb method.
Keyword Arguments
nlsolve
: Internal Nonlinear solver. Any solver which conforms to the SciMLNonlinearProblem
interface can be used. Note that any autodiff argument for the solver will be ignored and a custom jacobian algorithm will be used.jac_alg
: Jacobian Algorithm used for the nonlinear solver. Defaults toBVPJacobianAlgorithm()
, which automatically decides the best algorithm to use based on the input types and problem type.- For
TwoPointBVProblem
, onlydiffmode
is used (defaults toAutoSparse(AutoForwardDiff)
if possible elseAutoSparse(AutoFiniteDiff)
). - For
BVProblem
,bc_diffmode
andnonbc_diffmode
are used. Fornonbc_diffmode
defaults toAutoSparse(AutoForwardDiff)
if possible elseAutoSparse(AutoFiniteDiff)
. Forbc_diffmode
, defaults toAutoForwardDiff
if possible elseAutoFiniteDiff
.
- For
nested_nlsolve
: Whether or not to use a nested nonlinear solve for the
implicit FIRK step. Defaults to true
. If set to false
, the FIRK stages are solved as a part of the global residual. The general recommendation is to choose true
for larger problems and false
for smaller ones.
nest_tol
: The tolerance for the nested solver. Default is nothing which leads to
NonlinearSolve
automatically selecting the tolerance.
defect_threshold
: Threshold for defect control.max_num_subintervals
: Number of maximal subintervals, default as 3000.
For type-stability, the chunksizes for ForwardDiff ADTypes in BVPJacobianAlgorithm
must be provided.
References
Reference for Lobatto and Radau methods: bibtex @Inbook{Jay2015, author="Jay, Laurent O.", editor="Engquist, Bj{"o}rn", title="Lobatto Methods", booktitle = {Encyclopedia of {Applied} and {Computational} {Mathematics}}, year="2015", publisher="Springer Berlin Heidelberg", } @incollection{engquist_radau_2015, author = {Hairer, Ernst and Wanner, Gerhard}, title = {Radau {Methods}}, booktitle = {Encyclopedia of {Applied} and {Computational} {Mathematics}}, publisher = {Springer Berlin Heidelberg}, editor="Engquist, Bj{"o}rn", year = {2015}, }
References for implementation of defect control, based on the bvp5c
solver in MATLAB: ```bibtex @article{shampinesolvingnodate, title = {Solving {Boundary} {Value} {Problems} for {Ordinary} {Differential} {Equations} in {Matlab} with bvp4c author = {Shampine, Lawrence F and Kierzenka, Jacek and Reichelt, Mark W}, year = {2000}, }
@article{kierzenkabvp2008, title = {A {BVP} {Solver} that {Controls} {Residual} and {Error}}, author = {Kierzenka, J and Shampine, L F}, year = {2008}, }
@article{russelladaptive1978, title = {Adaptive {Mesh} {Selection} {Strategies} for {Solving} {Boundary} {Value} {Problems}}, journal = {SIAM Journal on Numerical Analysis}, author = {Russell, R. D. and Christiansen, J.}, year = {1978}, file = {Russell and Christiansen - 1978 - Adaptive Mesh Selection Strategies for Solving Bou.pdf:/Users/AXLRSN/Zotero/storage/HKU27A4T/Russell and Christiansen - 1978 - Adaptive Mesh Selection Strategies for Solving Bou.pdf:application/pdf}, } ```
BoundaryValueDiffEqFIRK.LobattoIIIb4
— Type LobattoIIIb4(; nlsolve = NewtonRaphson(), jac_alg = BVPJacobianAlgorithm(), nested_nlsolve = false, nest_tol = 0.0,
defect_threshold = 0.1, max_num_subintervals = 3000)
4th stage LobattoIIIb method.
Keyword Arguments
nlsolve
: Internal Nonlinear solver. Any solver which conforms to the SciMLNonlinearProblem
interface can be used. Note that any autodiff argument for the solver will be ignored and a custom jacobian algorithm will be used.jac_alg
: Jacobian Algorithm used for the nonlinear solver. Defaults toBVPJacobianAlgorithm()
, which automatically decides the best algorithm to use based on the input types and problem type.- For
TwoPointBVProblem
, onlydiffmode
is used (defaults toAutoSparse(AutoForwardDiff)
if possible elseAutoSparse(AutoFiniteDiff)
). - For
BVProblem
,bc_diffmode
andnonbc_diffmode
are used. Fornonbc_diffmode
defaults toAutoSparse(AutoForwardDiff)
if possible elseAutoSparse(AutoFiniteDiff)
. Forbc_diffmode
, defaults toAutoForwardDiff
if possible elseAutoFiniteDiff
.
- For
nested_nlsolve
: Whether or not to use a nested nonlinear solve for the
implicit FIRK step. Defaults to true
. If set to false
, the FIRK stages are solved as a part of the global residual. The general recommendation is to choose true
for larger problems and false
for smaller ones.
nest_tol
: The tolerance for the nested solver. Default is nothing which leads to
NonlinearSolve
automatically selecting the tolerance.
defect_threshold
: Threshold for defect control.max_num_subintervals
: Number of maximal subintervals, default as 3000.
For type-stability, the chunksizes for ForwardDiff ADTypes in BVPJacobianAlgorithm
must be provided.
References
Reference for Lobatto and Radau methods: bibtex @Inbook{Jay2015, author="Jay, Laurent O.", editor="Engquist, Bj{"o}rn", title="Lobatto Methods", booktitle = {Encyclopedia of {Applied} and {Computational} {Mathematics}}, year="2015", publisher="Springer Berlin Heidelberg", } @incollection{engquist_radau_2015, author = {Hairer, Ernst and Wanner, Gerhard}, title = {Radau {Methods}}, booktitle = {Encyclopedia of {Applied} and {Computational} {Mathematics}}, publisher = {Springer Berlin Heidelberg}, editor="Engquist, Bj{"o}rn", year = {2015}, }
References for implementation of defect control, based on the bvp5c
solver in MATLAB: ```bibtex @article{shampinesolvingnodate, title = {Solving {Boundary} {Value} {Problems} for {Ordinary} {Differential} {Equations} in {Matlab} with bvp4c author = {Shampine, Lawrence F and Kierzenka, Jacek and Reichelt, Mark W}, year = {2000}, }
@article{kierzenkabvp2008, title = {A {BVP} {Solver} that {Controls} {Residual} and {Error}}, author = {Kierzenka, J and Shampine, L F}, year = {2008}, }
@article{russelladaptive1978, title = {Adaptive {Mesh} {Selection} {Strategies} for {Solving} {Boundary} {Value} {Problems}}, journal = {SIAM Journal on Numerical Analysis}, author = {Russell, R. D. and Christiansen, J.}, year = {1978}, file = {Russell and Christiansen - 1978 - Adaptive Mesh Selection Strategies for Solving Bou.pdf:/Users/AXLRSN/Zotero/storage/HKU27A4T/Russell and Christiansen - 1978 - Adaptive Mesh Selection Strategies for Solving Bou.pdf:application/pdf}, } ```
BoundaryValueDiffEqFIRK.LobattoIIIb5
— Type LobattoIIIb5(; nlsolve = NewtonRaphson(), jac_alg = BVPJacobianAlgorithm(), nested_nlsolve = false, nest_tol = 0.0,
defect_threshold = 0.1, max_num_subintervals = 3000)
5th stage LobattoIIIb method.
Keyword Arguments
nlsolve
: Internal Nonlinear solver. Any solver which conforms to the SciMLNonlinearProblem
interface can be used. Note that any autodiff argument for the solver will be ignored and a custom jacobian algorithm will be used.jac_alg
: Jacobian Algorithm used for the nonlinear solver. Defaults toBVPJacobianAlgorithm()
, which automatically decides the best algorithm to use based on the input types and problem type.- For
TwoPointBVProblem
, onlydiffmode
is used (defaults toAutoSparse(AutoForwardDiff)
if possible elseAutoSparse(AutoFiniteDiff)
). - For
BVProblem
,bc_diffmode
andnonbc_diffmode
are used. Fornonbc_diffmode
defaults toAutoSparse(AutoForwardDiff)
if possible elseAutoSparse(AutoFiniteDiff)
. Forbc_diffmode
, defaults toAutoForwardDiff
if possible elseAutoFiniteDiff
.
- For
nested_nlsolve
: Whether or not to use a nested nonlinear solve for the
implicit FIRK step. Defaults to true
. If set to false
, the FIRK stages are solved as a part of the global residual. The general recommendation is to choose true
for larger problems and false
for smaller ones.
nest_tol
: The tolerance for the nested solver. Default is nothing which leads to
NonlinearSolve
automatically selecting the tolerance.
defect_threshold
: Threshold for defect control.max_num_subintervals
: Number of maximal subintervals, default as 3000.
For type-stability, the chunksizes for ForwardDiff ADTypes in BVPJacobianAlgorithm
must be provided.
References
Reference for Lobatto and Radau methods: bibtex @Inbook{Jay2015, author="Jay, Laurent O.", editor="Engquist, Bj{"o}rn", title="Lobatto Methods", booktitle = {Encyclopedia of {Applied} and {Computational} {Mathematics}}, year="2015", publisher="Springer Berlin Heidelberg", } @incollection{engquist_radau_2015, author = {Hairer, Ernst and Wanner, Gerhard}, title = {Radau {Methods}}, booktitle = {Encyclopedia of {Applied} and {Computational} {Mathematics}}, publisher = {Springer Berlin Heidelberg}, editor="Engquist, Bj{"o}rn", year = {2015}, }
References for implementation of defect control, based on the bvp5c
solver in MATLAB: ```bibtex @article{shampinesolvingnodate, title = {Solving {Boundary} {Value} {Problems} for {Ordinary} {Differential} {Equations} in {Matlab} with bvp4c author = {Shampine, Lawrence F and Kierzenka, Jacek and Reichelt, Mark W}, year = {2000}, }
@article{kierzenkabvp2008, title = {A {BVP} {Solver} that {Controls} {Residual} and {Error}}, author = {Kierzenka, J and Shampine, L F}, year = {2008}, }
@article{russelladaptive1978, title = {Adaptive {Mesh} {Selection} {Strategies} for {Solving} {Boundary} {Value} {Problems}}, journal = {SIAM Journal on Numerical Analysis}, author = {Russell, R. D. and Christiansen, J.}, year = {1978}, file = {Russell and Christiansen - 1978 - Adaptive Mesh Selection Strategies for Solving Bou.pdf:/Users/AXLRSN/Zotero/storage/HKU27A4T/Russell and Christiansen - 1978 - Adaptive Mesh Selection Strategies for Solving Bou.pdf:application/pdf}, } ```
BoundaryValueDiffEqFIRK.LobattoIIIc2
— Type LobattoIIIc2(; nlsolve = NewtonRaphson(), jac_alg = BVPJacobianAlgorithm(), nested_nlsolve = false, nest_tol = 0.0,
defect_threshold = 0.1, max_num_subintervals = 3000)
2th stage LobattoIIIc method.
Keyword Arguments
nlsolve
: Internal Nonlinear solver. Any solver which conforms to the SciMLNonlinearProblem
interface can be used. Note that any autodiff argument for the solver will be ignored and a custom jacobian algorithm will be used.jac_alg
: Jacobian Algorithm used for the nonlinear solver. Defaults toBVPJacobianAlgorithm()
, which automatically decides the best algorithm to use based on the input types and problem type.- For
TwoPointBVProblem
, onlydiffmode
is used (defaults toAutoSparse(AutoForwardDiff)
if possible elseAutoSparse(AutoFiniteDiff)
). - For
BVProblem
,bc_diffmode
andnonbc_diffmode
are used. Fornonbc_diffmode
defaults toAutoSparse(AutoForwardDiff)
if possible elseAutoSparse(AutoFiniteDiff)
. Forbc_diffmode
, defaults toAutoForwardDiff
if possible elseAutoFiniteDiff
.
- For
nested_nlsolve
: Whether or not to use a nested nonlinear solve for the
implicit FIRK step. Defaults to true
. If set to false
, the FIRK stages are solved as a part of the global residual. The general recommendation is to choose true
for larger problems and false
for smaller ones.
nest_tol
: The tolerance for the nested solver. Default is nothing which leads to
NonlinearSolve
automatically selecting the tolerance.
defect_threshold
: Threshold for defect control.max_num_subintervals
: Number of maximal subintervals, default as 3000.
For type-stability, the chunksizes for ForwardDiff ADTypes in BVPJacobianAlgorithm
must be provided.
References
Reference for Lobatto and Radau methods: bibtex @Inbook{Jay2015, author="Jay, Laurent O.", editor="Engquist, Bj{"o}rn", title="Lobatto Methods", booktitle = {Encyclopedia of {Applied} and {Computational} {Mathematics}}, year="2015", publisher="Springer Berlin Heidelberg", } @incollection{engquist_radau_2015, author = {Hairer, Ernst and Wanner, Gerhard}, title = {Radau {Methods}}, booktitle = {Encyclopedia of {Applied} and {Computational} {Mathematics}}, publisher = {Springer Berlin Heidelberg}, editor="Engquist, Bj{"o}rn", year = {2015}, }
References for implementation of defect control, based on the bvp5c
solver in MATLAB: ```bibtex @article{shampinesolvingnodate, title = {Solving {Boundary} {Value} {Problems} for {Ordinary} {Differential} {Equations} in {Matlab} with bvp4c author = {Shampine, Lawrence F and Kierzenka, Jacek and Reichelt, Mark W}, year = {2000}, }
@article{kierzenkabvp2008, title = {A {BVP} {Solver} that {Controls} {Residual} and {Error}}, author = {Kierzenka, J and Shampine, L F}, year = {2008}, }
@article{russelladaptive1978, title = {Adaptive {Mesh} {Selection} {Strategies} for {Solving} {Boundary} {Value} {Problems}}, journal = {SIAM Journal on Numerical Analysis}, author = {Russell, R. D. and Christiansen, J.}, year = {1978}, file = {Russell and Christiansen - 1978 - Adaptive Mesh Selection Strategies for Solving Bou.pdf:/Users/AXLRSN/Zotero/storage/HKU27A4T/Russell and Christiansen - 1978 - Adaptive Mesh Selection Strategies for Solving Bou.pdf:application/pdf}, } ```
BoundaryValueDiffEqFIRK.LobattoIIIc3
— Type LobattoIIIc3(; nlsolve = NewtonRaphson(), jac_alg = BVPJacobianAlgorithm(), nested_nlsolve = false, nest_tol = 0.0,
defect_threshold = 0.1, max_num_subintervals = 3000)
3th stage LobattoIIIc method.
Keyword Arguments
nlsolve
: Internal Nonlinear solver. Any solver which conforms to the SciMLNonlinearProblem
interface can be used. Note that any autodiff argument for the solver will be ignored and a custom jacobian algorithm will be used.jac_alg
: Jacobian Algorithm used for the nonlinear solver. Defaults toBVPJacobianAlgorithm()
, which automatically decides the best algorithm to use based on the input types and problem type.- For
TwoPointBVProblem
, onlydiffmode
is used (defaults toAutoSparse(AutoForwardDiff)
if possible elseAutoSparse(AutoFiniteDiff)
). - For
BVProblem
,bc_diffmode
andnonbc_diffmode
are used. Fornonbc_diffmode
defaults toAutoSparse(AutoForwardDiff)
if possible elseAutoSparse(AutoFiniteDiff)
. Forbc_diffmode
, defaults toAutoForwardDiff
if possible elseAutoFiniteDiff
.
- For
nested_nlsolve
: Whether or not to use a nested nonlinear solve for the
implicit FIRK step. Defaults to true
. If set to false
, the FIRK stages are solved as a part of the global residual. The general recommendation is to choose true
for larger problems and false
for smaller ones.
nest_tol
: The tolerance for the nested solver. Default is nothing which leads to
NonlinearSolve
automatically selecting the tolerance.
defect_threshold
: Threshold for defect control.max_num_subintervals
: Number of maximal subintervals, default as 3000.
For type-stability, the chunksizes for ForwardDiff ADTypes in BVPJacobianAlgorithm
must be provided.
References
Reference for Lobatto and Radau methods: bibtex @Inbook{Jay2015, author="Jay, Laurent O.", editor="Engquist, Bj{"o}rn", title="Lobatto Methods", booktitle = {Encyclopedia of {Applied} and {Computational} {Mathematics}}, year="2015", publisher="Springer Berlin Heidelberg", } @incollection{engquist_radau_2015, author = {Hairer, Ernst and Wanner, Gerhard}, title = {Radau {Methods}}, booktitle = {Encyclopedia of {Applied} and {Computational} {Mathematics}}, publisher = {Springer Berlin Heidelberg}, editor="Engquist, Bj{"o}rn", year = {2015}, }
References for implementation of defect control, based on the bvp5c
solver in MATLAB: ```bibtex @article{shampinesolvingnodate, title = {Solving {Boundary} {Value} {Problems} for {Ordinary} {Differential} {Equations} in {Matlab} with bvp4c author = {Shampine, Lawrence F and Kierzenka, Jacek and Reichelt, Mark W}, year = {2000}, }
@article{kierzenkabvp2008, title = {A {BVP} {Solver} that {Controls} {Residual} and {Error}}, author = {Kierzenka, J and Shampine, L F}, year = {2008}, }
@article{russelladaptive1978, title = {Adaptive {Mesh} {Selection} {Strategies} for {Solving} {Boundary} {Value} {Problems}}, journal = {SIAM Journal on Numerical Analysis}, author = {Russell, R. D. and Christiansen, J.}, year = {1978}, file = {Russell and Christiansen - 1978 - Adaptive Mesh Selection Strategies for Solving Bou.pdf:/Users/AXLRSN/Zotero/storage/HKU27A4T/Russell and Christiansen - 1978 - Adaptive Mesh Selection Strategies for Solving Bou.pdf:application/pdf}, } ```
BoundaryValueDiffEqFIRK.LobattoIIIc4
— Type LobattoIIIc4(; nlsolve = NewtonRaphson(), jac_alg = BVPJacobianAlgorithm(), nested_nlsolve = false, nest_tol = 0.0,
defect_threshold = 0.1, max_num_subintervals = 3000)
4th stage LobattoIIIc method.
Keyword Arguments
nlsolve
: Internal Nonlinear solver. Any solver which conforms to the SciMLNonlinearProblem
interface can be used. Note that any autodiff argument for the solver will be ignored and a custom jacobian algorithm will be used.jac_alg
: Jacobian Algorithm used for the nonlinear solver. Defaults toBVPJacobianAlgorithm()
, which automatically decides the best algorithm to use based on the input types and problem type.- For
TwoPointBVProblem
, onlydiffmode
is used (defaults toAutoSparse(AutoForwardDiff)
if possible elseAutoSparse(AutoFiniteDiff)
). - For
BVProblem
,bc_diffmode
andnonbc_diffmode
are used. Fornonbc_diffmode
defaults toAutoSparse(AutoForwardDiff)
if possible elseAutoSparse(AutoFiniteDiff)
. Forbc_diffmode
, defaults toAutoForwardDiff
if possible elseAutoFiniteDiff
.
- For
nested_nlsolve
: Whether or not to use a nested nonlinear solve for the
implicit FIRK step. Defaults to true
. If set to false
, the FIRK stages are solved as a part of the global residual. The general recommendation is to choose true
for larger problems and false
for smaller ones.
nest_tol
: The tolerance for the nested solver. Default is nothing which leads to
NonlinearSolve
automatically selecting the tolerance.
defect_threshold
: Threshold for defect control.max_num_subintervals
: Number of maximal subintervals, default as 3000.
For type-stability, the chunksizes for ForwardDiff ADTypes in BVPJacobianAlgorithm
must be provided.
References
Reference for Lobatto and Radau methods: bibtex @Inbook{Jay2015, author="Jay, Laurent O.", editor="Engquist, Bj{"o}rn", title="Lobatto Methods", booktitle = {Encyclopedia of {Applied} and {Computational} {Mathematics}}, year="2015", publisher="Springer Berlin Heidelberg", } @incollection{engquist_radau_2015, author = {Hairer, Ernst and Wanner, Gerhard}, title = {Radau {Methods}}, booktitle = {Encyclopedia of {Applied} and {Computational} {Mathematics}}, publisher = {Springer Berlin Heidelberg}, editor="Engquist, Bj{"o}rn", year = {2015}, }
References for implementation of defect control, based on the bvp5c
solver in MATLAB: ```bibtex @article{shampinesolvingnodate, title = {Solving {Boundary} {Value} {Problems} for {Ordinary} {Differential} {Equations} in {Matlab} with bvp4c author = {Shampine, Lawrence F and Kierzenka, Jacek and Reichelt, Mark W}, year = {2000}, }
@article{kierzenkabvp2008, title = {A {BVP} {Solver} that {Controls} {Residual} and {Error}}, author = {Kierzenka, J and Shampine, L F}, year = {2008}, }
@article{russelladaptive1978, title = {Adaptive {Mesh} {Selection} {Strategies} for {Solving} {Boundary} {Value} {Problems}}, journal = {SIAM Journal on Numerical Analysis}, author = {Russell, R. D. and Christiansen, J.}, year = {1978}, file = {Russell and Christiansen - 1978 - Adaptive Mesh Selection Strategies for Solving Bou.pdf:/Users/AXLRSN/Zotero/storage/HKU27A4T/Russell and Christiansen - 1978 - Adaptive Mesh Selection Strategies for Solving Bou.pdf:application/pdf}, } ```
BoundaryValueDiffEqFIRK.LobattoIIIc5
— Type LobattoIIIc5(; nlsolve = NewtonRaphson(), jac_alg = BVPJacobianAlgorithm(), nested_nlsolve = false, nest_tol = 0.0,
defect_threshold = 0.1, max_num_subintervals = 3000)
5th stage LobattoIIIc method.
Keyword Arguments
nlsolve
: Internal Nonlinear solver. Any solver which conforms to the SciMLNonlinearProblem
interface can be used. Note that any autodiff argument for the solver will be ignored and a custom jacobian algorithm will be used.jac_alg
: Jacobian Algorithm used for the nonlinear solver. Defaults toBVPJacobianAlgorithm()
, which automatically decides the best algorithm to use based on the input types and problem type.- For
TwoPointBVProblem
, onlydiffmode
is used (defaults toAutoSparse(AutoForwardDiff)
if possible elseAutoSparse(AutoFiniteDiff)
). - For
BVProblem
,bc_diffmode
andnonbc_diffmode
are used. Fornonbc_diffmode
defaults toAutoSparse(AutoForwardDiff)
if possible elseAutoSparse(AutoFiniteDiff)
. Forbc_diffmode
, defaults toAutoForwardDiff
if possible elseAutoFiniteDiff
.
- For
nested_nlsolve
: Whether or not to use a nested nonlinear solve for the
implicit FIRK step. Defaults to true
. If set to false
, the FIRK stages are solved as a part of the global residual. The general recommendation is to choose true
for larger problems and false
for smaller ones.
nest_tol
: The tolerance for the nested solver. Default is nothing which leads to
NonlinearSolve
automatically selecting the tolerance.
defect_threshold
: Threshold for defect control.max_num_subintervals
: Number of maximal subintervals, default as 3000.
For type-stability, the chunksizes for ForwardDiff ADTypes in BVPJacobianAlgorithm
must be provided.
References
Reference for Lobatto and Radau methods: bibtex @Inbook{Jay2015, author="Jay, Laurent O.", editor="Engquist, Bj{"o}rn", title="Lobatto Methods", booktitle = {Encyclopedia of {Applied} and {Computational} {Mathematics}}, year="2015", publisher="Springer Berlin Heidelberg", } @incollection{engquist_radau_2015, author = {Hairer, Ernst and Wanner, Gerhard}, title = {Radau {Methods}}, booktitle = {Encyclopedia of {Applied} and {Computational} {Mathematics}}, publisher = {Springer Berlin Heidelberg}, editor="Engquist, Bj{"o}rn", year = {2015}, }
References for implementation of defect control, based on the bvp5c
solver in MATLAB: ```bibtex @article{shampinesolvingnodate, title = {Solving {Boundary} {Value} {Problems} for {Ordinary} {Differential} {Equations} in {Matlab} with bvp4c author = {Shampine, Lawrence F and Kierzenka, Jacek and Reichelt, Mark W}, year = {2000}, }
@article{kierzenkabvp2008, title = {A {BVP} {Solver} that {Controls} {Residual} and {Error}}, author = {Kierzenka, J and Shampine, L F}, year = {2008}, }
@article{russelladaptive1978, title = {Adaptive {Mesh} {Selection} {Strategies} for {Solving} {Boundary} {Value} {Problems}}, journal = {SIAM Journal on Numerical Analysis}, author = {Russell, R. D. and Christiansen, J.}, year = {1978}, file = {Russell and Christiansen - 1978 - Adaptive Mesh Selection Strategies for Solving Bou.pdf:/Users/AXLRSN/Zotero/storage/HKU27A4T/Russell and Christiansen - 1978 - Adaptive Mesh Selection Strategies for Solving Bou.pdf:application/pdf}, } ```