DiffusionEquation(K[; C, sym])
DiffusionEquation{m}(K[; C, sym])

Nonlinear diffusion equation.


  • K: diffusivity function (if C is not given) or conductivity function, defined in terms of the unknown.

Keyword arguments

  • C=nothing: optional capacity function, defined in terms of the unknown.
  • sym=:u: symbol used to represent the unknown function in the output.

Type parameters

  • m=1: number of spatial dimensions:
    • 1 for non-radial one-dimensional diffusion (default);
    • 2 for radial diffusion in polar or cylindrical coordinates;
    • 3 for radial diffusion in spherical coordinates.


julia> D(u) = u^4
D (generic function with 1 method)

julia> eq = Fronts.DiffusionEquation(D)
∂u/∂t = ∂(D(u)*∂u/∂r)/∂r

julia> eq = Fronts.DiffusionEquation{2}(D)
∂u/∂t = 1/r*∂(r*D(u)*∂u/∂r)/∂r

julia> eq = Fronts.DiffusionEquation{3}(D, sym=:c)
∂c/∂t = 1/r²*∂(r²*D(c)*∂c/∂r)/∂r
diffusivity(eq::DiffusionEquation, u)

Diffusivity of eq with value u.

diffusivity(prob::InverseProblem) -> Function

Extract a diffusivity function D from a solution to a semi-infinite one-dimensional nonlinear diffusion problem, where the solution is given as a set of discrete points.

Interpolates the given solution with a PCHIP monotonic spline and uses the Bruce and Klute method to reconstruct D.

Due to the method used for interpolation, D will be continuous but will have discontinuous derivatives.



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.

BRUCE, R. R.; KLUTE, A. The measurement of soil moisture diffusivity. Soil Science Society of America Journal, 1956, vol. 20, no. 4, p. 458-462.

conductivity(eq::DiffusionEquation, u)

Conductivity of eq with value u.

capacity(eq::DiffusionEquation, u)

Capacity of eq with value u.