BoundaryValueDiffEqAscher

Gauss Legendre collocation methods with Ascher's error control adaptivity and mesh refinement routines. To be able to access the solvers in BoundaryValueDiffEqFIRK, you must first install them use the Julia package manager:

using Pkg
Pkg.add("BoundaryValueDiffEqAscher")
solve(prob::BVProblem, alg, dt; kwargs...)
solve(prob::TwoPointBVProblem, alg, dt; kwargs...)

Full List of Methods

  • Ascher1: 1 stage Gauss Legendre collocation method with Ascher's error control adaptivity and mesh refinement.
  • Ascher2: 2 stage Gauss Legendre collocation method with Ascher's error control adaptivity and mesh refinement.
  • Ascher3: 3 stage Gauss Legendre collocation method with Ascher's error control adaptivity and mesh refinement.
  • Ascher4: 4 stage Gauss Legendre collocation method with Ascher's error control adaptivity and mesh refinement.
  • Ascher5: 5 stage Gauss Legendre collocation method with Ascher's error control adaptivity and mesh refinement.
  • Ascher6: 6 stage Gauss Legendre collocation method with Ascher's error control adaptivity and mesh refinement.
  • Ascher7: 7 stage Gauss Legendre collocation method with Ascher's error control adaptivity and mesh refinement.

Detailed Solvers Explanation

BoundaryValueDiffEqAscher.Ascher1Type
Ascher1(; nlsolve = nothing, optimize = nothing, zeta = Float64[],
    jac_alg = BVPJacobianAlgorithm(), max_num_subintervals = 3000)

1-stage Gauss-Legendre collocation method with Ascher error-control adaptivity and mesh refinement for boundary-value problems, including problems with algebraic constraints.

Fields

  • nlsolve: Nonlinear solver used for the collocation system. nothing selects the package default.
  • optimize: Optimization solver used by the mesh-refinement machinery. nothing selects the package default.
  • zeta: Side-condition locations for problems that require them. The default empty vector is appropriate when no side conditions are present.
  • jac_alg: BVPJacobianAlgorithm that selects the Jacobian construction strategy for the collocation system.
  • max_num_subintervals: Maximum number of mesh subintervals permitted while refining the solution.

Keyword Arguments

  • nlsolve = nothing: Internal nonlinear solver. Any solver implementing the SciML NonlinearProblem interface may be used. Its autodifferentiation setting is ignored because this solver uses jac_alg.
  • optimize = nothing: Internal optimization solver. Any solver implementing the SciML OptimizationProblem interface may be used. Its autodifferentiation setting is ignored because this solver uses jac_alg.
  • zeta = Float64[]: Side-condition locations. Supply the points required by the problem; leave empty when the problem has no side conditions.
  • jac_alg = BVPJacobianAlgorithm(): Jacobian construction strategy. For type stability, provide ForwardDiff chunk sizes in the AD types selected by this value.
  • max_num_subintervals = 3000: Maximum number of mesh subintervals.

Example

alg = Ascher1(zeta = [0.0, 0.5, 1.0])

References

@article{Ascher1994CollocationSF,
    title={Collocation Software for Boundary Value Differential-Algebraic Equations},
    author={Uri M. Ascher and Raymond J. Spiteri},
    journal={SIAM J. Sci. Comput.},
    year={1994},
    volume={15},
    pages={938-952},
    url={https://api.semanticscholar.org/CorpusID:10597070}
}

@article{Ascher1979ACS,
    title={A collocation solver for mixed order systems of boundary value problems},
    author={Uri M. Ascher and J. Christiansen and Robert D. Russell},
    journal={Mathematics of Computation},
    year={1979},
    volume={33},
    pages={659-679},
    url={https://api.semanticscholar.org/CorpusID:121729124}
}
source
BoundaryValueDiffEqAscher.Ascher2Type
Ascher2(; nlsolve = nothing, optimize = nothing, zeta = Float64[],
    jac_alg = BVPJacobianAlgorithm(), max_num_subintervals = 3000)

2-stage Gauss-Legendre collocation method with Ascher error-control adaptivity and mesh refinement for boundary-value problems, including problems with algebraic constraints.

Fields

  • nlsolve: Nonlinear solver used for the collocation system. nothing selects the package default.
  • optimize: Optimization solver used by the mesh-refinement machinery. nothing selects the package default.
  • zeta: Side-condition locations for problems that require them. The default empty vector is appropriate when no side conditions are present.
  • jac_alg: BVPJacobianAlgorithm that selects the Jacobian construction strategy for the collocation system.
  • max_num_subintervals: Maximum number of mesh subintervals permitted while refining the solution.

Keyword Arguments

  • nlsolve = nothing: Internal nonlinear solver. Any solver implementing the SciML NonlinearProblem interface may be used. Its autodifferentiation setting is ignored because this solver uses jac_alg.
  • optimize = nothing: Internal optimization solver. Any solver implementing the SciML OptimizationProblem interface may be used. Its autodifferentiation setting is ignored because this solver uses jac_alg.
  • zeta = Float64[]: Side-condition locations. Supply the points required by the problem; leave empty when the problem has no side conditions.
  • jac_alg = BVPJacobianAlgorithm(): Jacobian construction strategy. For type stability, provide ForwardDiff chunk sizes in the AD types selected by this value.
  • max_num_subintervals = 3000: Maximum number of mesh subintervals.

Example

alg = Ascher2(zeta = [0.0, 0.5, 1.0])

References

@article{Ascher1994CollocationSF,
    title={Collocation Software for Boundary Value Differential-Algebraic Equations},
    author={Uri M. Ascher and Raymond J. Spiteri},
    journal={SIAM J. Sci. Comput.},
    year={1994},
    volume={15},
    pages={938-952},
    url={https://api.semanticscholar.org/CorpusID:10597070}
}

@article{Ascher1979ACS,
    title={A collocation solver for mixed order systems of boundary value problems},
    author={Uri M. Ascher and J. Christiansen and Robert D. Russell},
    journal={Mathematics of Computation},
    year={1979},
    volume={33},
    pages={659-679},
    url={https://api.semanticscholar.org/CorpusID:121729124}
}
source
BoundaryValueDiffEqAscher.Ascher3Type
Ascher3(; nlsolve = nothing, optimize = nothing, zeta = Float64[],
    jac_alg = BVPJacobianAlgorithm(), max_num_subintervals = 3000)

3-stage Gauss-Legendre collocation method with Ascher error-control adaptivity and mesh refinement for boundary-value problems, including problems with algebraic constraints.

Fields

  • nlsolve: Nonlinear solver used for the collocation system. nothing selects the package default.
  • optimize: Optimization solver used by the mesh-refinement machinery. nothing selects the package default.
  • zeta: Side-condition locations for problems that require them. The default empty vector is appropriate when no side conditions are present.
  • jac_alg: BVPJacobianAlgorithm that selects the Jacobian construction strategy for the collocation system.
  • max_num_subintervals: Maximum number of mesh subintervals permitted while refining the solution.

Keyword Arguments

  • nlsolve = nothing: Internal nonlinear solver. Any solver implementing the SciML NonlinearProblem interface may be used. Its autodifferentiation setting is ignored because this solver uses jac_alg.
  • optimize = nothing: Internal optimization solver. Any solver implementing the SciML OptimizationProblem interface may be used. Its autodifferentiation setting is ignored because this solver uses jac_alg.
  • zeta = Float64[]: Side-condition locations. Supply the points required by the problem; leave empty when the problem has no side conditions.
  • jac_alg = BVPJacobianAlgorithm(): Jacobian construction strategy. For type stability, provide ForwardDiff chunk sizes in the AD types selected by this value.
  • max_num_subintervals = 3000: Maximum number of mesh subintervals.

Example

alg = Ascher3(zeta = [0.0, 0.5, 1.0])

References

@article{Ascher1994CollocationSF,
    title={Collocation Software for Boundary Value Differential-Algebraic Equations},
    author={Uri M. Ascher and Raymond J. Spiteri},
    journal={SIAM J. Sci. Comput.},
    year={1994},
    volume={15},
    pages={938-952},
    url={https://api.semanticscholar.org/CorpusID:10597070}
}

@article{Ascher1979ACS,
    title={A collocation solver for mixed order systems of boundary value problems},
    author={Uri M. Ascher and J. Christiansen and Robert D. Russell},
    journal={Mathematics of Computation},
    year={1979},
    volume={33},
    pages={659-679},
    url={https://api.semanticscholar.org/CorpusID:121729124}
}
source
BoundaryValueDiffEqAscher.Ascher4Type
Ascher4(; nlsolve = nothing, optimize = nothing, zeta = Float64[],
    jac_alg = BVPJacobianAlgorithm(), max_num_subintervals = 3000)

4-stage Gauss-Legendre collocation method with Ascher error-control adaptivity and mesh refinement for boundary-value problems, including problems with algebraic constraints.

Fields

  • nlsolve: Nonlinear solver used for the collocation system. nothing selects the package default.
  • optimize: Optimization solver used by the mesh-refinement machinery. nothing selects the package default.
  • zeta: Side-condition locations for problems that require them. The default empty vector is appropriate when no side conditions are present.
  • jac_alg: BVPJacobianAlgorithm that selects the Jacobian construction strategy for the collocation system.
  • max_num_subintervals: Maximum number of mesh subintervals permitted while refining the solution.

Keyword Arguments

  • nlsolve = nothing: Internal nonlinear solver. Any solver implementing the SciML NonlinearProblem interface may be used. Its autodifferentiation setting is ignored because this solver uses jac_alg.
  • optimize = nothing: Internal optimization solver. Any solver implementing the SciML OptimizationProblem interface may be used. Its autodifferentiation setting is ignored because this solver uses jac_alg.
  • zeta = Float64[]: Side-condition locations. Supply the points required by the problem; leave empty when the problem has no side conditions.
  • jac_alg = BVPJacobianAlgorithm(): Jacobian construction strategy. For type stability, provide ForwardDiff chunk sizes in the AD types selected by this value.
  • max_num_subintervals = 3000: Maximum number of mesh subintervals.

Example

alg = Ascher4(zeta = [0.0, 0.5, 1.0])

References

@article{Ascher1994CollocationSF,
    title={Collocation Software for Boundary Value Differential-Algebraic Equations},
    author={Uri M. Ascher and Raymond J. Spiteri},
    journal={SIAM J. Sci. Comput.},
    year={1994},
    volume={15},
    pages={938-952},
    url={https://api.semanticscholar.org/CorpusID:10597070}
}

@article{Ascher1979ACS,
    title={A collocation solver for mixed order systems of boundary value problems},
    author={Uri M. Ascher and J. Christiansen and Robert D. Russell},
    journal={Mathematics of Computation},
    year={1979},
    volume={33},
    pages={659-679},
    url={https://api.semanticscholar.org/CorpusID:121729124}
}
source
BoundaryValueDiffEqAscher.Ascher5Type
Ascher5(; nlsolve = nothing, optimize = nothing, zeta = Float64[],
    jac_alg = BVPJacobianAlgorithm(), max_num_subintervals = 3000)

5-stage Gauss-Legendre collocation method with Ascher error-control adaptivity and mesh refinement for boundary-value problems, including problems with algebraic constraints.

Fields

  • nlsolve: Nonlinear solver used for the collocation system. nothing selects the package default.
  • optimize: Optimization solver used by the mesh-refinement machinery. nothing selects the package default.
  • zeta: Side-condition locations for problems that require them. The default empty vector is appropriate when no side conditions are present.
  • jac_alg: BVPJacobianAlgorithm that selects the Jacobian construction strategy for the collocation system.
  • max_num_subintervals: Maximum number of mesh subintervals permitted while refining the solution.

Keyword Arguments

  • nlsolve = nothing: Internal nonlinear solver. Any solver implementing the SciML NonlinearProblem interface may be used. Its autodifferentiation setting is ignored because this solver uses jac_alg.
  • optimize = nothing: Internal optimization solver. Any solver implementing the SciML OptimizationProblem interface may be used. Its autodifferentiation setting is ignored because this solver uses jac_alg.
  • zeta = Float64[]: Side-condition locations. Supply the points required by the problem; leave empty when the problem has no side conditions.
  • jac_alg = BVPJacobianAlgorithm(): Jacobian construction strategy. For type stability, provide ForwardDiff chunk sizes in the AD types selected by this value.
  • max_num_subintervals = 3000: Maximum number of mesh subintervals.

Example

alg = Ascher5(zeta = [0.0, 0.5, 1.0])

References

@article{Ascher1994CollocationSF,
    title={Collocation Software for Boundary Value Differential-Algebraic Equations},
    author={Uri M. Ascher and Raymond J. Spiteri},
    journal={SIAM J. Sci. Comput.},
    year={1994},
    volume={15},
    pages={938-952},
    url={https://api.semanticscholar.org/CorpusID:10597070}
}

@article{Ascher1979ACS,
    title={A collocation solver for mixed order systems of boundary value problems},
    author={Uri M. Ascher and J. Christiansen and Robert D. Russell},
    journal={Mathematics of Computation},
    year={1979},
    volume={33},
    pages={659-679},
    url={https://api.semanticscholar.org/CorpusID:121729124}
}
source
BoundaryValueDiffEqAscher.Ascher6Type
Ascher6(; nlsolve = nothing, optimize = nothing, zeta = Float64[],
    jac_alg = BVPJacobianAlgorithm(), max_num_subintervals = 3000)

6-stage Gauss-Legendre collocation method with Ascher error-control adaptivity and mesh refinement for boundary-value problems, including problems with algebraic constraints.

Fields

  • nlsolve: Nonlinear solver used for the collocation system. nothing selects the package default.
  • optimize: Optimization solver used by the mesh-refinement machinery. nothing selects the package default.
  • zeta: Side-condition locations for problems that require them. The default empty vector is appropriate when no side conditions are present.
  • jac_alg: BVPJacobianAlgorithm that selects the Jacobian construction strategy for the collocation system.
  • max_num_subintervals: Maximum number of mesh subintervals permitted while refining the solution.

Keyword Arguments

  • nlsolve = nothing: Internal nonlinear solver. Any solver implementing the SciML NonlinearProblem interface may be used. Its autodifferentiation setting is ignored because this solver uses jac_alg.
  • optimize = nothing: Internal optimization solver. Any solver implementing the SciML OptimizationProblem interface may be used. Its autodifferentiation setting is ignored because this solver uses jac_alg.
  • zeta = Float64[]: Side-condition locations. Supply the points required by the problem; leave empty when the problem has no side conditions.
  • jac_alg = BVPJacobianAlgorithm(): Jacobian construction strategy. For type stability, provide ForwardDiff chunk sizes in the AD types selected by this value.
  • max_num_subintervals = 3000: Maximum number of mesh subintervals.

Example

alg = Ascher6(zeta = [0.0, 0.5, 1.0])

References

@article{Ascher1994CollocationSF,
    title={Collocation Software for Boundary Value Differential-Algebraic Equations},
    author={Uri M. Ascher and Raymond J. Spiteri},
    journal={SIAM J. Sci. Comput.},
    year={1994},
    volume={15},
    pages={938-952},
    url={https://api.semanticscholar.org/CorpusID:10597070}
}

@article{Ascher1979ACS,
    title={A collocation solver for mixed order systems of boundary value problems},
    author={Uri M. Ascher and J. Christiansen and Robert D. Russell},
    journal={Mathematics of Computation},
    year={1979},
    volume={33},
    pages={659-679},
    url={https://api.semanticscholar.org/CorpusID:121729124}
}
source
BoundaryValueDiffEqAscher.Ascher7Type
Ascher7(; nlsolve = nothing, optimize = nothing, zeta = Float64[],
    jac_alg = BVPJacobianAlgorithm(), max_num_subintervals = 3000)

7-stage Gauss-Legendre collocation method with Ascher error-control adaptivity and mesh refinement for boundary-value problems, including problems with algebraic constraints.

Fields

  • nlsolve: Nonlinear solver used for the collocation system. nothing selects the package default.
  • optimize: Optimization solver used by the mesh-refinement machinery. nothing selects the package default.
  • zeta: Side-condition locations for problems that require them. The default empty vector is appropriate when no side conditions are present.
  • jac_alg: BVPJacobianAlgorithm that selects the Jacobian construction strategy for the collocation system.
  • max_num_subintervals: Maximum number of mesh subintervals permitted while refining the solution.

Keyword Arguments

  • nlsolve = nothing: Internal nonlinear solver. Any solver implementing the SciML NonlinearProblem interface may be used. Its autodifferentiation setting is ignored because this solver uses jac_alg.
  • optimize = nothing: Internal optimization solver. Any solver implementing the SciML OptimizationProblem interface may be used. Its autodifferentiation setting is ignored because this solver uses jac_alg.
  • zeta = Float64[]: Side-condition locations. Supply the points required by the problem; leave empty when the problem has no side conditions.
  • jac_alg = BVPJacobianAlgorithm(): Jacobian construction strategy. For type stability, provide ForwardDiff chunk sizes in the AD types selected by this value.
  • max_num_subintervals = 3000: Maximum number of mesh subintervals.

Example

alg = Ascher7(zeta = [0.0, 0.5, 1.0])

References

@article{Ascher1994CollocationSF,
    title={Collocation Software for Boundary Value Differential-Algebraic Equations},
    author={Uri M. Ascher and Raymond J. Spiteri},
    journal={SIAM J. Sci. Comput.},
    year={1994},
    volume={15},
    pages={938-952},
    url={https://api.semanticscholar.org/CorpusID:10597070}
}

@article{Ascher1979ACS,
    title={A collocation solver for mixed order systems of boundary value problems},
    author={Uri M. Ascher and J. Christiansen and Robert D. Russell},
    journal={Mathematics of Computation},
    year={1979},
    volume={33},
    pages={659-679},
    url={https://api.semanticscholar.org/CorpusID:121729124}
}
source