Welcome to the reference documentation for Fronts. This documentation covers the usage of all available functions and classes.

For an introduction to the software, please refer to the README file, which is displayed on the project’s GitHub and PyPI pages.

Users may also want to look at the example cases, available on the GitHub page under the examples directory.


Documentation for the Julia version of Fronts is available separately.

Main package fronts


solve(D, i, b[, radial, ob, itol, ...])

Solve a problem with a Dirichlet boundary condition.

solve_flowrate(D, i, Qb, radial[, ob, ...])

Solve a radial problem with a fixed-flowrate boundary condition.

solve_from_guess(D, i, b, o_guess, guess[, ...])

Alternative solver for problems with a Dirichlet boundary condition.

inverse(o, samples)

Extract D from samples of a solution.



Solution to a problem.


Base class for solutions using the Boltzmann transformation.

Boltzmann transformation

ode(D[, radial, catch_errors])

Transform the PDE into an ODE.

o(r, t)

Transform to the Boltzmann variable.

do_dr(r, t)

Spatial derivative of the Boltzmann transformation.

do_dt(r, t)

Time derivative of the Boltzmann transformation.

r(o, t)

Transform back from the Boltzmann variable into r.

t(o, r)

Transform back from the Boltzmann variable into t.

as_o([r, t, o])

Transform to the Boltzmann variable if called with r and t.

Module fronts.D: Diffusivity functions


Return a constant D function.

D.power_law(k[, a, epsilon])

Return a power-law D function.

D.brooks_and_corey(n[, l, alpha, Ks, k, nu, ...])

Return a Brooks and Corey moisture diffusivity function.

D.van_genuchten([n, m, l, alpha, Ks, k, nu, ...])

Return a Van Genuchten moisture diffusivity function.

D.letxs(Lw, Ew, Tw, Ls, Es, Ts[, Ks, k, nu, ...])

Return a diffusivity function that combines the LETx relative permeability correlation and the LETs capillary pressure correlation for spontaneous imbibition.

D.letd(L, E, T[, Dwt, theta_range])

Return a LETd diffusivity function.

D.from_expr(expr[, vectorized, max_derivatives])

Create a D function from a SymPy-compatible expression.

D.richards(C, kr[, Ks, k, nu, g])

Return a moisture diffusivity function for a Richards equation problem.