BoundaryValueDiffEqAscher

Gauss Legendre collocation methods with Ascher's error control adaptivity and mesh refinement routines. To be able to access the solvers in BoundaryValueDiffEqAscher, 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.Ascher1 — Type
Ascher1(; nlsolve = nothing, optimize = nothing,
    jac_alg = BVPJacobianAlgorithm(), platform = CPU(),
    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.
  • jac_alg: BVPJacobianAlgorithm that selects the Jacobian construction strategy for the collocation system. Full collocation systems use sparse coloring by default; an explicit dense AD backend selects a dense Jacobian.
  • platform: KernelAbstractions backend retained for the internal assembly helpers.
  • 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.
  • jac_alg = BVPJacobianAlgorithm(): Jacobian construction strategy. For type stability, provide ForwardDiff chunk sizes in the AD types selected by this value.
  • platform: KernelAbstractions backend. Defaults to CPU().
  • max_num_subintervals = 3000: Maximum number of mesh subintervals.

Example

alg = Ascher1()

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.Ascher2 — Type
Ascher2(; nlsolve = nothing, optimize = nothing,
    jac_alg = BVPJacobianAlgorithm(), platform = CPU(),
    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.
  • jac_alg: BVPJacobianAlgorithm that selects the Jacobian construction strategy for the collocation system. Full collocation systems use sparse coloring by default; an explicit dense AD backend selects a dense Jacobian.
  • platform: KernelAbstractions backend retained for the internal assembly helpers.
  • 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.
  • jac_alg = BVPJacobianAlgorithm(): Jacobian construction strategy. For type stability, provide ForwardDiff chunk sizes in the AD types selected by this value.
  • platform: KernelAbstractions backend. Defaults to CPU().
  • max_num_subintervals = 3000: Maximum number of mesh subintervals.

Example

alg = Ascher2()

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.Ascher3 — Type
Ascher3(; nlsolve = nothing, optimize = nothing,
    jac_alg = BVPJacobianAlgorithm(), platform = CPU(),
    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.
  • jac_alg: BVPJacobianAlgorithm that selects the Jacobian construction strategy for the collocation system. Full collocation systems use sparse coloring by default; an explicit dense AD backend selects a dense Jacobian.
  • platform: KernelAbstractions backend retained for the internal assembly helpers.
  • 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.
  • jac_alg = BVPJacobianAlgorithm(): Jacobian construction strategy. For type stability, provide ForwardDiff chunk sizes in the AD types selected by this value.
  • platform: KernelAbstractions backend. Defaults to CPU().
  • max_num_subintervals = 3000: Maximum number of mesh subintervals.

Example

alg = Ascher3()

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.Ascher4 — Type
Ascher4(; nlsolve = nothing, optimize = nothing,
    jac_alg = BVPJacobianAlgorithm(), platform = CPU(),
    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.
  • jac_alg: BVPJacobianAlgorithm that selects the Jacobian construction strategy for the collocation system. Full collocation systems use sparse coloring by default; an explicit dense AD backend selects a dense Jacobian.
  • platform: KernelAbstractions backend retained for the internal assembly helpers.
  • 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.
  • jac_alg = BVPJacobianAlgorithm(): Jacobian construction strategy. For type stability, provide ForwardDiff chunk sizes in the AD types selected by this value.
  • platform: KernelAbstractions backend. Defaults to CPU().
  • max_num_subintervals = 3000: Maximum number of mesh subintervals.

Example

alg = Ascher4()

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.Ascher5 — Type
Ascher5(; nlsolve = nothing, optimize = nothing,
    jac_alg = BVPJacobianAlgorithm(), platform = CPU(),
    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.
  • jac_alg: BVPJacobianAlgorithm that selects the Jacobian construction strategy for the collocation system. Full collocation systems use sparse coloring by default; an explicit dense AD backend selects a dense Jacobian.
  • platform: KernelAbstractions backend retained for the internal assembly helpers.
  • 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.
  • jac_alg = BVPJacobianAlgorithm(): Jacobian construction strategy. For type stability, provide ForwardDiff chunk sizes in the AD types selected by this value.
  • platform: KernelAbstractions backend. Defaults to CPU().
  • max_num_subintervals = 3000: Maximum number of mesh subintervals.

Example

alg = Ascher5()

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.Ascher6 — Type
Ascher6(; nlsolve = nothing, optimize = nothing,
    jac_alg = BVPJacobianAlgorithm(), platform = CPU(),
    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.
  • jac_alg: BVPJacobianAlgorithm that selects the Jacobian construction strategy for the collocation system. Full collocation systems use sparse coloring by default; an explicit dense AD backend selects a dense Jacobian.
  • platform: KernelAbstractions backend retained for the internal assembly helpers.
  • 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.
  • jac_alg = BVPJacobianAlgorithm(): Jacobian construction strategy. For type stability, provide ForwardDiff chunk sizes in the AD types selected by this value.
  • platform: KernelAbstractions backend. Defaults to CPU().
  • max_num_subintervals = 3000: Maximum number of mesh subintervals.

Example

alg = Ascher6()

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.Ascher7 — Type
Ascher7(; nlsolve = nothing, optimize = nothing,
    jac_alg = BVPJacobianAlgorithm(), platform = CPU(),
    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.
  • jac_alg: BVPJacobianAlgorithm that selects the Jacobian construction strategy for the collocation system. Full collocation systems use sparse coloring by default; an explicit dense AD backend selects a dense Jacobian.
  • platform: KernelAbstractions backend retained for the internal assembly helpers.
  • 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.
  • jac_alg = BVPJacobianAlgorithm(): Jacobian construction strategy. For type stability, provide ForwardDiff chunk sizes in the AD types selected by this value.
  • platform: KernelAbstractions backend. Defaults to CPU().
  • max_num_subintervals = 3000: Maximum number of mesh subintervals.

Example

alg = Ascher7()

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