ConservativeConvectionPDETerm[vars,α]
represents a conservative convection term
with conservative convection coefficient
and model variables vars.
ConservativeConvectionPDETerm[vars,α,pars]
uses model parameters pars.
ConservativeConvectionPDETerm
ConservativeConvectionPDETerm[vars,α]
represents a conservative convection term
with conservative convection coefficient
and model variables vars.
ConservativeConvectionPDETerm[vars,α,pars]
uses model parameters pars.
Details
- Conservative convection is typically used to model transport due to a bulk movement and should be used when the divergence of convection velocity
is nonzero. - Convection with a conservative convection coefficient
is the process of transport of the dependent variable
: - ConservativeConvectionPDETerm returns a differential operators term to be used as a part of partial differential equations:
- ConservativeConvectionPDETerm can be used to model conservative convection equations with dependent variable
, independent variables
and time variable
. - Stationary model variables vars are vars={u[x1,…,xn],{x1,…,xn}}.
- Time-dependent model variables vars are vars={u[t,x1,…,xn],{x1,…,xn}} or vars={u[t,x1,…,xn],t,{x1,…,xn}}.
- The conservative convection term
in context with other PDE terms is given by: - ConservativeConvectionPDETerm is similar to ConvectionPDETerm but affects the meaning of NeumannValue and has a coefficient
that is part of the divergence
. - The conservative convection coefficient
has the following form: -
{α1,…,αn} 
vector 
- For a system of PDEs with dependent variables {u1,…,um}, the conservative convection represents:
- The conservative convection term in context systems of PDE terms:
- The conservative convection coefficient
is a tensor of rank 3 of the form
, where each submatrix
is a vector of length
that is specified in the same way as for a single dependent variable. - A symbolic conservative convection coefficient can be specified through a VectorSymbol. »
- The conservative convection coefficient
can depend on time, space, parameters and the dependent variables. - The following parameters pars can be given:
-
parameter default symbol "CoordinateChart" "Cartesian" 
"RegionSymmetry" None 
- A possible choice for the parameter "RegionSymmetry" is "Axisymmetric".
- "Axisymmetric" region symmetry represents a truncated cylindrical coordinate system where the cylindrical coordinates are reduced by removing the angle variable as follows:
-
dimension reduction equation 1D 
2D 

- All quantities that do not explicitly depend on the independent variables given are taken to have zero partial derivative.
Examples
open all close allBasic Examples (4)
Define a time-independent conservative convection term:
ConservativeConvectionPDETerm[{u[x], {x}}, {2}]Define a time-dependent conservative convection term:
ConservativeConvectionPDETerm[{u[t, x], t, {x}}, {2}]Define a symbolic conservative convection term:
ConservativeConvectionPDETerm[{u[t, x], y, {x}}, {a}]Solve a conservative convection diffusion equation composed from basic terms:
vars = {u[x, y], {x, y}};
NDSolveValue[{DiffusionPDETerm[vars, 1] + ConservativeConvectionPDETerm[vars, {2, 0}] == SourcePDETerm[vars, -1], DirichletCondition[u[x, y] == 0, x == 0 || y == 0]}, u[x, y], {x, y}∈Rectangle[]]ContourPlot[%, {x, y}∈Rectangle[]]Scope (11)
Define a symbolic conservative convection term:
ConservativeConvectionPDETerm[{u[t, x], t, {x}}, {a}]Define a symbolic vector conservative convection term:
α = VectorSymbol["α", {1}];
ConservativeConvectionPDETerm[{u[t, x], y, {x}}, α]%//ActivateDefine a stationary dependent convection term with a symbolic vector convection coefficient replaced:
α = VectorSymbol["α", {1}];
ConservativeConvectionPDETerm[{u[x], {x}}, α, <|α -> {1}|>]Define a time-dependent convection term with a symbolic vector convection coefficient replaced:
α = VectorSymbol["α", {1}];
ConservativeConvectionPDETerm[{u[t, x], t, {x}}, α, <|α -> {1}|>]Define a 1D axisymmetric time-independent conservative convection term:
ConservativeConvectionPDETerm[{u[r], {r}}, {2}, <|"RegionSymmetry" -> "Axisymmetric"|>]Apply Activate to the term:
Activate[%]Verify that the axisymmetric case is a consequence of using a truncated cylindrical coordinate system using the operators that compose the conservative convection term:
Div[{-2 * u[r], 0, 0}, {r, theta, z}, "Cylindrical"]Define a 2D stationary conservative convection term:
ConservativeConvectionPDETerm[{u[x, y], {x, y}}, {1, 0}]Define a conservative convection term with a coordinate chart:
ConservativeConvectionPDETerm[{u[r, z], {r, z}}, {1, 0}, <|"CoordinateChart" -> "Polar"|>]Activate[%]Compare with a Div:
Div[-{1, 0} * u[r, z], {r, z}, "Polar"]Define a time-independent 2D conservative convection term:
ConservativeConvectionPDETerm[{u[x, y], {x, y}}, {2, 1}]Define a 2D axisymmetric time-independent conservative convection term:
ConservativeConvectionPDETerm[{u[r, z], {r, z}}, {a, b}, <|"RegionSymmetry" -> "Axisymmetric"|>]Apply Activate to the term:
Activate[%]Verify that the axisymmetric case is a consequence of using a truncated cylindrical coordinate system using the operators that compose the conservative convection term:
Div[{-a * u[r, z], 0, -b * u[r, z]}, {r, theta, z}, "Cylindrical"]Define a conservative convection term with multiple dependent variables:
ConservativeConvectionPDETerm[{{u[x, y], v[x, y]}, {x, y}}, {{{1, 0}, {0, 0}}, {{0, 0}, {0, 1}}}]Define an axisymmetric conservative convection term with multiple dependent variables:
ConservativeConvectionPDETerm[{{u[r, z], v[r, z]}, {r, z}}, {{{1, 0}, {0, 0}}, {{0, 0}, {0, 1}}}, <|"RegionSymmetry" -> "Axisymmetric"|>]Possible Issues (2)
A conservative convection term with a 0-flow velocity field evaluates to 0:
ConservativeConvectionPDETerm[{u[x], {x}}, 0]ConservativeConvectionPDETerm[{u[x], {x}}, {0}]A symbolic convection coefficient needs to be of sufficient length:
ConservativeConvectionPDETerm[{u[x], {x}}, v]The way to specify the symbolic vector convection coefficient is through a VectorSymbol:
vs = VectorSymbol["v", {1}];
ConservativeConvectionPDETerm[{u[x], {x}}, vs]ConservativeConvectionPDETerm[{u[x], {x}}, vs]//ActivateSubstitute a VectorSymbol with an actual value:
ConservativeConvectionPDETerm[{u[x], {x}}, vs, <|vs -> {1}|>]An alternative is to specify the symbolic convection coefficient as a vector:
ConservativeConvectionPDETerm[{u[x], {x}}, {v}, <|v -> 1|>]Related Guides
Text
Wolfram Research (2020), ConservativeConvectionPDETerm, Wolfram Language function, https://reference.wolfram.com/language/ref/ConservativeConvectionPDETerm.html (updated 2026).
CMS
Wolfram Language. 2020. "ConservativeConvectionPDETerm." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2026. https://reference.wolfram.com/language/ref/ConservativeConvectionPDETerm.html.
APA
Wolfram Language. (2020). ConservativeConvectionPDETerm. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/ConservativeConvectionPDETerm.html
BibTeX
@misc{reference.wolfram_2026_conservativeconvectionpdeterm, author="Wolfram Research", title="{ConservativeConvectionPDETerm}", year="2026", howpublished="\url{https://reference.wolfram.com/language/ref/ConservativeConvectionPDETerm.html}", note=[Accessed: 13-June-2026]}
BibLaTeX
@online{reference.wolfram_2026_conservativeconvectionpdeterm, organization={Wolfram Research}, title={ConservativeConvectionPDETerm}, year={2026}, url={https://reference.wolfram.com/language/ref/ConservativeConvectionPDETerm.html}, note=[Accessed: 13-June-2026]}