Solving problems
CommonSolve.solve
— Functionsolve(prob::CauchyProblem[, alg::BoltzmannODE; verbose]) -> Solution
solve(prob::SorptivityCauchyProblem[, alg::BoltzmannODE; verbose]) -> Solution
Solve the problem prob
.
Arguments
prob
: problem to solve.alg=BoltzmannODE()
: algorithm to use.
Keyword arguments
verbose=true
: whether warnings are emitted if solving is unsuccessful.
References
GERLERO, G. S.; BERLI, C. L. A.; KLER, P. A. Open-source high-performance software packages for direct and inverse solving of horizontal capillary flow. Capillarity, 2023, vol. 6, no. 2, p. 31-40.
See also: Solution
, BoltzmannODE
solve(prob::DirichletProblem[, alg::BoltzmannODE; abstol, maxiters, d_dob_hint, verbose]) -> Solution
Solve the problem prob
.
Arguments
prob
: problem to solve.alg=BoltzmannODE()
: algorithm to use.
Keyword arguments
abstol=1e-3
: absolute tolerance for the initial condition.maxiters=100
: maximum number of iterations.verbose=true
: whether warnings are emitted if solving is unsuccessful.
References
GERLERO, G. S.; BERLI, C. L. A.; KLER, P. A. Open-source high-performance software packages for direct and inverse solving of horizontal capillary flow. Capillarity, 2023, vol. 6, no. 2, p. 31-40.
See also: Solution
, BoltzmannODE
solve(prob::FlowrateProblem[, alg::BoltzmannODE; abstol, maxiters, b_hint, verbose]) -> Solution
solve(prob::SorptivityProblem[, alg::BoltzmannODE; abstol, maxiters, b_hint, verbose]) -> Solution
Solve the problem prob
.
Arguments
prob
: problem to solve.alg=BoltzmannODE()
: algorithm to use.
Keyword arguments
abstol=1e-3
: absolute tolerance for the initial condition.maxiters=100
: maximum number of iterations.verbose=true
: whether warnings are emitted if solving is unsuccessful.
References
GERLERO, G. S.; BERLI, C. L. A.; KLER, P. A. Open-source high-performance software packages for direct and inverse solving of horizontal capillary flow. Capillarity, 2023, vol. 6, no. 2, p. 31-40.
See also: Solution
, BoltzmannODE
, sorptivity
solve(::DirichletProblem{<:DiffusionEquation{1}}, ::MathiasAndSander[; maxiters]) -> Solution
Solve a Dirichlet problem using the pseudospectral method of Mathias and Sander (2021).
Keyword arguments
maxiters=100
: maximum number of iterations.
References
MATHIAS, S. A.; SANDER, G. C. Pseudospectral methods provide fast and accurate solutions for the horizontal infiltration equation. Journal of Hydrology, 2021, vol. 598, p. 126407.
See also: MathiasAndSander
, Solution
Fronts.BoltzmannODE
— TypeBoltzmannODE([; b_hint, d_dob_hint])
Default algorithm for solving semi-infinite problems.
Uses the Boltzmann transformation and (possibly repeated) ODE integration.
Keyword arguments
b_hint
: optional hint for the boundary value.d_dob_hint
: optional hint for the boundaryo
-derivative.
References
GERLERO, G. S.; BERLI, C. L. A.; KLER, P. A. Open-source high-performance software packages for direct and inverse solving of horizontal capillary flow. Capillarity, 2023, vol. 6, no. 2, p. 31-40.
Fronts.FiniteDifference
— TypeFiniteDifference([N; pre])
Finite difference–based algorithm.
Arguments
N=500
: number of points in the spatial grid.
Keyword arguments
pre=nothing
: set toBoltzmannODE()
to speed up the solution of compatibleAbstractFiniteProblem
s.
See also: solve
, AbstractFiniteProblem
, BoltzmannODE
Fronts.MathiasAndSander
— TypeMathiasAndSander([N])
Pseudospectral method of Mathias and Sander (2021).
Arguments
N=100
: number of Chebyshev nodes.
References
MATHIAS, S. A.; SANDER, G. C. Pseudospectral methods provide fast and accurate solutions for the horizontal infiltration equation. Journal of Hydrology, 2021, vol. 598, p. 126407.
See also: solve