Term Overview

Term Syntax

In general, the syntax of a term call is:

<term name>.<i>.<r>( <arg1>, <arg2>, ... ),

where <i> denotes an integral name (i.e. a name of numerical quadrature to use) and <r> marks a region (domain of the integral).

The following notation is used:

Notation.

symbol

meaning

\Omega

volume (sub)domain

\Gamma

surface (sub)domain

\cal{D}

volume or surface (sub)domain

d

dimension of space

t

time

y

any function

\ul{y}

any vector function

\ul{n}

unit outward normal

q, s

scalar test function

p, r

scalar unknown or parameter function

\bar{p}

scalar parameter function

\ul{v}

vector test function

\ul{w}, \ul{u}

vector unknown or parameter function

\ul{b}

vector parameter function

\ull{e}(\ul{u})

Cauchy strain tensor (\frac{1}{2}((\nabla u) + (\nabla u)^T))

\ull{F}

deformation gradient F_{ij} = \pdiff{x_i}{X_j}

J

\det(F)

\ull{C}

right Cauchy-Green deformation tensor C = F^T F

\ull{E}(\ul{u})

Green strain tensor E_{ij} = \frac{1}{2}(\pdiff{u_i}{X_j} +
\pdiff{u_j}{X_i} + \pdiff{u_m}{X_i}\pdiff{u_m}{X_j})

\ull{S}

second Piola-Kirchhoff stress tensor

\ul{f}

vector volume forces

f

scalar volume force (source)

\rho

density

\nu

kinematic viscosity

c

any constant

\delta_{ij}, \ull{I}

Kronecker delta, identity matrix

\tr{\ull{\bullet}}

trace of a second order tensor (\sum_{i=1}^d \bullet_{ii})

\dev{\ull{\bullet}}

deviator of a second order tensor (\ull{\bullet} - \frac{1}{d}\tr{\ull{\bullet}})

T_K \in \Tcal_h

K-th element of triangulation (= mesh) \Tcal_h of domain \Omega

K \from \Ical_h

K is assigned values from \{0, 1, \dots, N_h-1\}
\equiv \Ical_h in ascending order

The suffix “_0” denotes a quantity related to a previous time step.

Term names are (usually) prefixed according to the following conventions:

Term name prefixes.

prefix

meaning

evaluation modes

meaning

dw

discrete weak

‘weak’

terms having a virtual (test) argument and zero or more unknown arguments, used for FE assembling

ev

evaluate

‘eval’, ‘el_eval’, ‘el_avg’, ‘qp’

terms having all arguments known, modes ‘el_avg’, ‘qp’ are not supported by all ev_ terms

de

discrete einsum

any (work in progress)

multi-linear terms defined using an enriched einsum notation

Term Table

Below we list all the terms available in automatically generated tables. The first column lists the name, the second column the argument lists and the third column the mathematical definition of each term. The terms are devided into the following tables:

The notation <virtual> corresponds to a test function, <state> to a unknown function and <parameter> to a known function. By <material> we denote material (constitutive) parameters, or, in general, any given function of space and time that parameterizes a term, for example a given traction force vector.

Table of basic terms

Basic terms

name/class

arguments

definition

examples

dw_advect_div_free

AdvectDivFreeTerm

<material>, <virtual>, <state>

\int_{\Omega} \nabla \cdot (\ul{y} p) q = \int_{\Omega}
(\underbrace{(\nabla \cdot \ul{y})}_{\equiv 0} + \ul{y} \cdot
\nabla) p) q

tim.adv.dif

dw_bc_newton

BCNewtonTerm

<material_1>, <material_2>, <virtual>, <state>

\int_{\Gamma} \alpha q (p - p_{\rm outer})

dw_biot

BiotTerm

<material>, <virtual>, <state>

<material>, <state>, <virtual>

<material>, <parameter_v>, <parameter_s>

\int_{\Omega} p\ \alpha_{ij} e_{ij}(\ul{v}) \mbox{ , }
\int_{\Omega} q\ \alpha_{ij} e_{ij}(\ul{u})

bio.npb, the.ela.ess, bio.sho.syn, bio.npb.lag, the.ela, bio

ev_biot_stress

BiotStressTerm

<material>, <parameter>

- \int_{\Omega} \alpha_{ij} \bar{p}

\mbox{vector for } K \from \Ical_h: - \int_{T_K}
\alpha_{ij} \bar{p} / \int_{T_K} 1

- \alpha_{ij} \bar{p}|_{qp}

ev_cauchy_strain

CauchyStrainTerm

<parameter>

\int_{\cal{D}} \ull{e}(\ul{w})

\mbox{vector for } K \from \Ical_h: \int_{T_K}
\ull{e}(\ul{w}) / \int_{T_K} 1

\ull{e}(\ul{w})|_{qp}

ev_cauchy_stress

CauchyStressTerm

<material>, <parameter>

\int_{\cal{D}} D_{ijkl} e_{kl}(\ul{w})

\mbox{vector for } K \from \Ical_h: \int_{T_K} D_{ijkl}
e_{kl}(\ul{w}) / \int_{T_K} 1

D_{ijkl} e_{kl}(\ul{w})|_{qp}

dw_contact

ContactTerm

<material>, <virtual>, <state>

\int_{\Gamma_{c}} \varepsilon_N \langle g_N(\ul{u})
\rangle \ul{n} \ul{v}

two.bod.con

dw_contact_plane

ContactPlaneTerm

<material_f>, <material_n>, <material_a>, <material_b>, <virtual>, <state>

\int_{\Gamma} \ul{v} \cdot f(d(\ul{u})) \ul{n}

ela.con.pla

dw_contact_sphere

ContactSphereTerm

<material_f>, <material_c>, <material_r>, <virtual>, <state>

\int_{\Gamma} \ul{v} \cdot f(d(\ul{u})) \ul{n}(\ul{u})

ela.con.sph

dw_convect

ConvectTerm

<virtual>, <state>

\int_{\Omega} ((\ul{u} \cdot \nabla) \ul{u}) \cdot \ul{v}

nav.sto.iga, nav.sto, nav.sto

dw_convect_v_grad_s

ConvectVGradSTerm

<virtual>, <state_v>, <state_s>

\int_{\Omega} q (\ul{u} \cdot \nabla p)

poi.fun

ev_def_grad

DeformationGradientTerm

<parameter>

\ull{F} = \pdiff{\ul{x}}{\ul{X}}|_{qp} = \ull{I} +
\pdiff{\ul{u}}{\ul{X}}|_{qp} \;, \\ \ul{x} = \ul{X} + \ul{u} \;, J
= \det{(\ull{F})}

dw_dg_advect_laxfrie_flux

AdvectionDGFluxTerm

<opt_material>, <material_advelo>, <virtual>, <state>

\int_{\partial{T_K}} \ul{n} \cdot \ul{f}^{*} (p_{in},
p_{out})q

where

\ul{f}^{*}(p_{in}, p_{out}) = \ul{a} \frac{p_{in} +
p_{out}}{2} + (1 - \alpha) \ul{n} C \frac{ p_{in} - p_{out}}{2},

adv.dif.2D, adv.1D, adv.2D

dw_dg_diffusion_flux

DiffusionDGFluxTerm

<material>, <state>, <virtual>

<material>, <virtual>, <state>

\int_{\partial{T_K}} D \langle \nabla p \rangle [q] \mbox{
, } \int_{\partial{T_K}} D \langle \nabla q \rangle [p]

where

\langle \nabla \phi \rangle = \frac{\nabla\phi_{in} +
\nabla\phi_{out}}{2}

[\phi] = \phi_{in} - \phi_{out}

bur.2D, lap.2D, adv.dif.2D

dw_dg_interior_penalty

DiffusionInteriorPenaltyTerm

<material>, <material_Cw>, <virtual>, <state>

\int_{\partial{T_K}} \bar{D} C_w
\frac{Ord^2}{d(\partial{T_K})}[p][q]

where

[\phi] = \phi_{in} - \phi_{out}

bur.2D, lap.2D, adv.dif.2D

dw_dg_nonlinear_laxfrie_flux

NonlinearHyperbolicDGFluxTerm

<opt_material>, <fun>, <fun_d>, <virtual>, <state>

\int_{\partial{T_K}} \ul{n} \cdot f^{*} (p_{in}, p_{out})q

where

\ul{f}^{*}(p_{in}, p_{out}) = \frac{\ul{f}(p_{in}) +
\ul{f}(p_{out})}{2} + (1 - \alpha) \ul{n} C \frac{ p_{in} -
p_{out}}{2},

bur.2D

dw_diffusion

DiffusionTerm

<material>, <virtual>, <state>

<material>, <parameter_1>, <parameter_2>

\int_{\Omega} K_{ij} \nabla_i q \nabla_j p \mbox{ , }
\int_{\Omega} K_{ij} \nabla_i \bar{p} \nabla_j r

dar.flo.mul, bio.npb, poi.neu, bio.sho.syn, bio.npb.lag, bio, pie.ela

dw_diffusion_coupling

DiffusionCoupling

<material>, <virtual>, <state>

<material>, <state>, <virtual>

<material>, <parameter_1>, <parameter_2>

\int_{\Omega} p K_{j} \nabla_j q \mbox{ , } \int_{\Omega}
q K_{j} \nabla_j p

dw_diffusion_r

DiffusionRTerm

<material>, <virtual>

\int_{\Omega} K_{j} \nabla_j q

ev_diffusion_velocity

DiffusionVelocityTerm

<material>, <parameter>

- \int_{\cal{D}} K_{ij} \nabla_j \bar{p}

\mbox{vector for } K \from \Ical_h: - \int_{T_K} K_{ij}
\nabla_j \bar{p} / \int_{T_K} 1

- K_{ij} \nabla_j \bar{p}

ev_div

DivTerm

<parameter>

\int_{\cal{D}} \nabla \cdot \ul{u}

\mbox{vector for } K \from \Ical_h: \int_{T_K} \nabla
\cdot \ul{u} / \int_{T_K} 1

(\nabla \cdot \ul{u})|_{qp}

dw_div

DivOperatorTerm

<opt_material>, <virtual>

\int_{\Omega} \nabla \cdot \ul{v} \mbox { or }
\int_{\Omega} c \nabla \cdot \ul{v}

dw_div_grad

DivGradTerm

<opt_material>, <virtual>, <state>

<opt_material>, <parameter_1>, <parameter_2>

\int_{\Omega} \nu\ \nabla \ul{v} : \nabla \ul{u} \mbox{ ,
} \int_{\Omega} \nu\ \nabla \ul{u} : \nabla \ul{w} \\
\int_{\Omega} \nabla \ul{v} : \nabla \ul{u} \mbox{ , }
\int_{\Omega} \nabla \ul{u} : \nabla \ul{w}

nav.sto.iga, sto.sli.bc, sto, nav.sto, nav.sto, sta.nav.sto

dw_dot

DotProductTerm

<opt_material>, <virtual>, <state>

<opt_material>, <parameter_1>, <parameter_2>

\int_{\cal{D}} q p \mbox{ , } \int_{\cal{D}} \ul{v} \cdot
\ul{u} \mbox{ , } \int_\Gamma \ul{v} \cdot \ul{n} p \mbox{ , }
\int_\Gamma q \ul{n} \cdot \ul{u} \mbox{ , } \int_{\cal{D}} p r
\mbox{ , } \int_{\cal{D}} \ul{u} \cdot \ul{w} \mbox{ , }
\int_\Gamma \ul{w} \cdot \ul{n} p \\ \int_{\cal{D}} c q p \mbox{ ,
} \int_{\cal{D}} c \ul{v} \cdot \ul{u} \mbox{ , } \int_{\cal{D}} c
p r \mbox{ , } \int_{\cal{D}} c \ul{u} \cdot \ul{w} \\
\int_{\cal{D}} \ul{v} \cdot \ull{M} \cdot \ul{u} \mbox{ , }
\int_{\cal{D}} \ul{u} \cdot \ull{M} \cdot \ul{w}

dar.flo.mul, osc, vib.aco, adv.2D, sto.sli.bc, lin.ela.dam, hyd, bur.2D, aco, lin.ela.up, tim.adv.dif, ela, pie.ela, the.ele, poi.fun, tim.poi.exp, poi.per.bou.con, adv.1D, bor, bal, wel, aco, tim.poi

dw_elastic_wave

ElasticWaveTerm

<material_1>, <material_2>, <virtual>, <state>

\int_{\Omega} D_{ijkl}\ g_{ij}(\ul{v}) g_{kl}(\ul{u})

dw_elastic_wave_cauchy

ElasticWaveCauchyTerm

<material_1>, <material_2>, <virtual>, <state>

<material_1>, <material_2>, <state>, <virtual>

\int_{\Omega} D_{ijkl}\ g_{ij}(\ul{v}) e_{kl}(\ul{u}) \;,
\int_{\Omega} D_{ijkl}\ g_{ij}(\ul{u}) e_{kl}(\ul{v})

dw_electric_source

ElectricSourceTerm

<material>, <virtual>, <parameter>

\int_{\Omega} c s (\nabla \phi)^2

the.ele

ev_grad

GradTerm

<parameter>

\int_{\cal{D}} \nabla p \mbox{ or } \int_{\cal{D}} \nabla
\ul{w}

\mbox{vector for } K \from \Ical_h: \int_{T_K} \nabla p /
\int_{T_K} 1 \mbox{ or } \int_{T_K} \nabla \ul{w} / \int_{T_K} 1

(\nabla p)|_{qp} \mbox{ or } \nabla \ul{w}|_{qp}

ev_integrate

IntegrateTerm

<opt_material>, <parameter>

\int_{\cal{D}} y \mbox{ , } \int_{\cal{D}} \ul{y} \mbox{ ,
} \int_\Gamma \ul{y} \cdot \ul{n}\\ \int_{\cal{D}} c y \mbox{ , }
\int_{\cal{D}} c \ul{y} \mbox{ , } \int_\Gamma c \ul{y} \cdot
\ul{n} \mbox{ flux }

\mbox{vector for } K \from \Ical_h: \int_{T_K} y /
\int_{T_K} 1 \mbox{ , } \int_{T_K} \ul{y} / \int_{T_K} 1 \mbox{ ,
} \int_{T_K} (\ul{y} \cdot \ul{n}) / \int_{T_K} 1 \\ \mbox{vector
for } K \from \Ical_h: \int_{T_K} c y / \int_{T_K} 1 \mbox{ , }
\int_{T_K} c \ul{y} / \int_{T_K} 1 \mbox{ , } \int_{T_K} (c \ul{y}
\cdot \ul{n}) / \int_{T_K} 1

y|_{qp} \mbox{ , } \ul{y}|_{qp} \mbox{ , } (\ul{y} \cdot
\ul{n})|_{qp} \mbox{ flux } \\ c y|_{qp} \mbox{ , } c \ul{y}|_{qp}
\mbox{ , } (c \ul{y} \cdot \ul{n})|_{qp} \mbox{ flux }

dw_integrate

IntegrateOperatorTerm

<opt_material>, <virtual>

\int_{\cal{D}} q \mbox{ or } \int_{\cal{D}} c q

dar.flo.mul, poi.per.bou.con, vib.aco, poi.neu, aco, aco

ev_integrate_mat

IntegrateMatTerm

<material>, <parameter>

\int_{\cal{D}} m

\mbox{vector for } K \from \Ical_h: \int_{T_K} m /
\int_{T_K} 1

m|_{qp}

dw_jump

SurfaceJumpTerm

<opt_material>, <virtual>, <state_1>, <state_2>

\int_{\Gamma} c\, q (p_1 - p_2)

aco

dw_laplace

LaplaceTerm

<opt_material>, <virtual>, <state>

<opt_material>, <parameter_1>, <parameter_2>

\int_{\Omega} c \nabla q \cdot \nabla p \mbox{ , }
\int_{\Omega} c \nabla \bar{p} \cdot \nabla r

osc, vib.aco, sto.sli.bc, aco, hyd, bur.2D, aco, adv.dif.2D, lap.1d, poi.fie.dep.mat, the.ela.ess, lap.2D, tim.adv.dif, poi.par.stu, poi, the.ele, poi.fun, sin, lap.tim.ebc, lap.cou.lcb, poi.per.bou.con, tim.poi.exp, bor, poi.iga, wel, poi.sho.syn, cub, tim.poi

dw_lin_convect

LinearConvectTerm

<virtual>, <parameter>, <state>

\int_{\Omega} ((\ul{b} \cdot \nabla) \ul{u}) \cdot \ul{v}

((\ul{b} \cdot \nabla) \ul{u})|_{qp}

sta.nav.sto

dw_lin_convect2

LinearConvect2Term

<material>, <virtual>, <state>

\int_{\Omega} ((\ul{b} \cdot \nabla) \ul{u}) \cdot \ul{v}

((\ul{b} \cdot \nabla) \ul{u})|_{qp}

dw_lin_elastic

LinearElasticTerm

<material>, <virtual>, <state>

<material>, <parameter_1>, <parameter_2>

\int_{\Omega} D_{ijkl}\ e_{ij}(\ul{v}) e_{kl}(\ul{u})

its.1, mat.non, com.ela.mat, lin.ela.dam, lin.ela.up, lin.ela.opt, its.4, bio.npb, pie.ela.mac, the.ela.ess, nod.lcb, the.ela, bio, ela, pie.ela, lin.ela.iga, lin.ela.mM, ela.con.sph, bio.sho.syn, ela.con.pla, lin.ela, pre.fib, its.3, its.2, lin.vis, ela.shi.per, lin.ela.tra, two.bod.con, bio.npb.lag

dw_lin_elastic_iso

LinearElasticIsotropicTerm

<material_1>, <material_2>, <virtual>, <state>

<material_1>, <material_2>, <parameter_1>, <parameter_2>

\int_{\Omega} D_{ijkl}\ e_{ij}(\ul{v}) e_{kl}(\ul{u})
\mbox{ with } D_{ijkl} = \mu (\delta_{ik} \delta_{jl}+\delta_{il}
\delta_{jk}) + \lambda \ \delta_{ij} \delta_{kl}

dw_lin_prestress

LinearPrestressTerm

<material>, <virtual>

<material>, <parameter>

\int_{\Omega} \sigma_{ij} e_{ij}(\ul{v})

non.hyp.mM, pie.ela.mac, pre.fib

dw_lin_strain_fib

LinearStrainFiberTerm

<material_1>, <material_2>, <virtual>

\int_{\Omega} D_{ijkl} e_{ij}(\ul{v}) \left(d_k d_l\right)

pre.fib

dw_non_penetration

NonPenetrationTerm

<opt_material>, <virtual>, <state>

<opt_material>, <state>, <virtual>

\int_{\Gamma} c \lambda \ul{n} \cdot \ul{v} \mbox{ , }
\int_{\Gamma} c \hat\lambda \ul{n} \cdot \ul{u} \\ \int_{\Gamma}
\lambda \ul{n} \cdot \ul{v} \mbox{ , } \int_{\Gamma} \hat\lambda
\ul{n} \cdot \ul{u}

bio.npb.lag

dw_non_penetration_p

NonPenetrationPenaltyTerm

<material>, <virtual>, <state>

\int_{\Gamma} c (\ul{n} \cdot \ul{v}) (\ul{n} \cdot
\ul{u})

bio.sho.syn

dw_nonsym_elastic

NonsymElasticTerm

<material>, <virtual>, <state>

<material>, <parameter_1>, <parameter_2>

\int_{\Omega} \ull{D} \nabla\ul{u} : \nabla\ul{v}

non.hyp.mM

dw_ns_dot_grad_s

NonlinearScalarDotGradTerm

<fun>, <fun_d>, <virtual>, <state>

<fun>, <fun_d>, <state>, <virtual>

\int_{\Omega} q \cdot \nabla \cdot \ul{f}(p) =
\int_{\Omega} q \cdot \text{div} \ul{f}(p) \mbox{ , }
\int_{\Omega} \ul{f}(p) \cdot \nabla q

bur.2D

dw_piezo_coupling

PiezoCouplingTerm

<material>, <virtual>, <state>

<material>, <state>, <virtual>

<material>, <parameter_v>, <parameter_s>

\int_{\Omega} g_{kij}\ e_{ij}(\ul{v}) \nabla_k p \mbox{ ,
} \int_{\Omega} g_{kij}\ e_{ij}(\ul{u}) \nabla_k q

pie.ela

ev_piezo_strain

PiezoStrainTerm

<material>, <parameter>

\int_{\Omega} g_{kij} e_{ij}(\ul{u})

ev_piezo_stress

PiezoStressTerm

<material>, <parameter>

\int_{\Omega} g_{kij} \nabla_k p

dw_point_load

ConcentratedPointLoadTerm

<material>, <virtual>

\ul{f}^i = \ul{\bar f}^i \quad \forall \mbox{ FE node } i
\mbox{ in a region }

its.4, its.3, its.1, its.2, she.can

dw_point_lspring

LinearPointSpringTerm

<material>, <virtual>, <state>

\ul{f}^i = -k \ul{u}^i \quad \forall \mbox{ FE node } i
\mbox{ in a region }

dw_s_dot_grad_i_s

ScalarDotGradIScalarTerm

<material>, <virtual>, <state>

Z^i = \int_{\Omega} q \nabla_i p

dw_s_dot_mgrad_s

ScalarDotMGradScalarTerm

<material>, <virtual>, <state>

<material>, <state>, <virtual>

\int_{\Omega} q \ul{y} \cdot \nabla p \mbox{ , }
\int_{\Omega} p \ul{y} \cdot \nabla q

adv.dif.2D, adv.1D, adv.2D

dw_shell10x

Shell10XTerm

<material_d>, <material_drill>, <virtual>, <state>

\int_{\Omega} D_{ijkl}\ e_{ij}(\ul{v}) e_{kl}(\ul{u})

she.can

dw_stokes

StokesTerm

<opt_material>, <virtual>, <state>

<opt_material>, <state>, <virtual>

<opt_material>, <parameter_v>, <parameter_s>

\int_{\Omega} p\ \nabla \cdot \ul{v} \mbox{ , }
\int_{\Omega} q\ \nabla \cdot \ul{u} \mbox{ or } \int_{\Omega} c\
p\ \nabla \cdot \ul{v} \mbox{ , } \int_{\Omega} c\ q\ \nabla \cdot
\ul{u}

nav.sto.iga, sto.sli.bc, sto, nav.sto, nav.sto, sta.nav.sto, lin.ela.up

dw_stokes_wave

StokesWaveTerm

<material>, <virtual>, <state>

\int_{\Omega} (\ul{\kappa} \cdot \ul{v}) (\ul{\kappa}
\cdot \ul{u})

dw_stokes_wave_div

StokesWaveDivTerm

<material>, <virtual>, <state>

<material>, <state>, <virtual>

\int_{\Omega} (\ul{\kappa} \cdot \ul{v}) (\nabla \cdot
\ul{u}) \;, \int_{\Omega} (\ul{\kappa} \cdot \ul{u}) (\nabla \cdot
\ul{v})

ev_sum_vals

SumNodalValuesTerm

<parameter>

ev_surface_flux

SurfaceFluxTerm

<material>, <parameter>

\int_{\Gamma} \ul{n} \cdot K_{ij} \nabla_j \bar{p}

\mbox{vector for } K \from \Ical_h: \int_{T_K} \ul{n}
\cdot K_{ij} \nabla_j \bar{p}\ / \int_{T_K} 1

\mbox{vector for } K \from \Ical_h: \int_{T_K} \ul{n}
\cdot K_{ij} \nabla_j \bar{p}

dw_surface_flux

SurfaceFluxOperatorTerm

<opt_material>, <virtual>, <state>

\int_{\Gamma} q \ul{n} \cdot \ull{K} \cdot \nabla p

dw_surface_ltr

LinearTractionTerm

<opt_material>, <virtual>

<opt_material>, <parameter>

\int_{\Gamma} \ul{v} \cdot \ull{\sigma} \cdot \ul{n},
\int_{\Gamma} \ul{v} \cdot \ul{n},

lin.ela.opt, lin.vis, ela.shi.per, com.ela.mat, lin.ela.tra, nod.lcb

ev_surface_moment

SurfaceMomentTerm

<material>, <parameter>

\int_{\Gamma} \ul{n} (\ul{x} - \ul{x}_0)

dw_surface_ndot

SufaceNormalDotTerm

<material>, <virtual>

<material>, <parameter>

\int_{\Gamma} q \ul{c} \cdot \ul{n}

dw_v_dot_grad_s

VectorDotGradScalarTerm

<opt_material>, <virtual>, <state>

<opt_material>, <state>, <virtual>

<opt_material>, <parameter_v>, <parameter_s>

\int_{\Omega} \ul{v} \cdot \nabla p \mbox{ , }
\int_{\Omega} \ul{u} \cdot \nabla q \\ \int_{\Omega} c \ul{v}
\cdot \nabla p \mbox{ , } \int_{\Omega} c \ul{u} \cdot \nabla q \\
\int_{\Omega} \ul{v} \cdot (\ull{M} \nabla p) \mbox{ , }
\int_{\Omega} \ul{u} \cdot (\ull{M} \nabla q)

dw_vm_dot_s

VectorDotScalarTerm

<material>, <virtual>, <state>

<material>, <state>, <virtual>

<material>, <parameter_v>, <parameter_s>

\int_{\Omega} \ul{v} \cdot \ul{m} p \mbox{ , }
\int_{\Omega} \ul{u} \cdot \ul{m} q\\

ev_volume

VolumeTerm

<parameter>

\int_{\cal{D}} 1

dw_volume_lvf

LinearVolumeForceTerm

<material>, <virtual>

\int_{\Omega} \ul{f} \cdot \ul{v} \mbox{ or }
\int_{\Omega} f q

poi.iga, poi.par.stu, bur.2D, adv.dif.2D

ev_volume_surface

VolumeSurfaceTerm

<parameter>

1 / D \int_\Gamma \ul{x} \cdot \ul{n}

dw_zero

ZeroTerm

<virtual>, <state>

0

ela

Table of sensitivity terms

Sensitivity terms

name/class

arguments

definition

examples

dw_adj_convect1

AdjConvect1Term

<virtual>, <state>, <parameter>

\int_{\Omega} ((\ul{v} \cdot \nabla) \ul{u}) \cdot \ul{w}

dw_adj_convect2

AdjConvect2Term

<virtual>, <state>, <parameter>

\int_{\Omega} ((\ul{u} \cdot \nabla) \ul{v}) \cdot \ul{w}

dw_adj_div_grad

AdjDivGradTerm

<material_1>, <material_2>, <virtual>, <parameter>

w \delta_{u} \Psi(\ul{u}) \circ \ul{v}

ev_sd_convect

SDConvectTerm

<parameter_u>, <parameter_w>, <parameter_mv>

\int_{\Omega} [ u_k \pdiff{u_i}{x_k} w_i (\nabla \cdot
\Vcal) - u_k \pdiff{\Vcal_j}{x_k} \pdiff{u_i}{x_j} w_i ]

ev_sd_diffusion

SDDiffusionTerm

<material>, <parameter_q>, <parameter_p>, <parameter_mesh_velocity>

\int_{\Omega} \left[ (\dvg \ul{\Vcal}) K_{ij} \nabla_i q\,
\nabla_j p - K_{ij} (\nabla_j \ul{\Vcal} \nabla q) \nabla_i p -
K_{ij} \nabla_j q (\nabla_i \ul{\Vcal} \nabla p)\right]

ev_sd_div

SDDivTerm

<parameter_u>, <parameter_p>, <parameter_mv>

\int_{\Omega} p [ (\nabla \cdot \ul{w}) (\nabla \cdot
\ul{\Vcal}) - \pdiff{\Vcal_k}{x_i} \pdiff{w_i}{x_k} ]

ev_sd_div_grad

SDDivGradTerm

<opt_material>, <parameter_u>, <parameter_w>, <parameter_mv>

\nu \int_{\Omega} [ \pdiff{u_i}{x_k} \pdiff{w_i}{x_k}
(\nabla \cdot \ul{\Vcal}) - \pdiff{\Vcal_j}{x_k} \pdiff{u_i}{x_j}
\pdiff{w_i}{x_k} - \pdiff{u_i}{x_k} \pdiff{\Vcal_l}{x_k}
\pdiff{w_i}{x_k} ]

ev_sd_dot

SDDotTerm

<parameter_1>, <parameter_2>, <parameter_mv>

\int_{\Omega} p q (\nabla \cdot \ul{\Vcal}) \mbox{ , }
\int_{\Omega} (\ul{u} \cdot \ul{w}) (\nabla \cdot \ul{\Vcal})

ev_sd_lin_elastic

SDLinearElasticTerm

<material>, <parameter_w>, <parameter_u>, <parameter_mesh_velocity>

\int_{\Omega} \hat{D}_{ijkl}\ e_{ij}(\ul{v})
e_{kl}(\ul{u})

\hat{D}_{ijkl} = D_{ijkl}(\nabla \cdot \ul{\Vcal}) -
D_{ijkq}{\partial \Vcal_l \over \partial x_q} - D_{iqkl}{\partial
\Vcal_j \over \partial x_q}

ev_sd_piezo_coupling

SDPiezoCouplingTerm

<material>, <parameter_u>, <parameter_p>, <parameter_mv>

\int_{\Omega} \hat{g}_{kij}\ e_{ij}(\ul{u}) \nabla_k p

\hat{g}_{kij} = g_{kij}(\nabla \cdot \ul{\Vcal}) -
g_{kil}{\partial \Vcal_j \over \partial x_l} - g_{lij}{\partial
\Vcal_k \over \partial x_l}

ev_sd_surface_integrate

SDSufaceIntegrateTerm

<parameter>, <parameter_mesh_velocity>

\int_{\Gamma} p \nabla \cdot \ul{\Vcal}

ev_sd_surface_ltr

SDLinearTractionTerm

<opt_material>, <parameter>, <parameter_mv>

\int_{\Gamma} \ul{v} \cdot \ull{\sigma} \cdot \ul{n},
\int_{\Gamma} \ul{v} \cdot \ul{n},

Table of large deformation terms

Large deformation terms

name/class

arguments

definition

examples

dw_tl_bulk_active

BulkActiveTLTerm

<material>, <virtual>, <state>

\int_{\Omega} S_{ij}(\ul{u}) \delta E_{ij}(\ul{u};\ul{v})

dw_tl_bulk_penalty

BulkPenaltyTLTerm

<material>, <virtual>, <state>

\int_{\Omega} S_{ij}(\ul{u}) \delta E_{ij}(\ul{u};\ul{v})

hyp, com.ela.mat, act.fib

dw_tl_bulk_pressure

BulkPressureTLTerm

<virtual>, <state>, <state_p>

\int_{\Omega} S_{ij}(p) \delta E_{ij}(\ul{u};\ul{v})

bal, per.tl

dw_tl_diffusion

DiffusionTLTerm

<material_1>, <material_2>, <virtual>, <state>, <parameter>

\int_{\Omega} \ull{K}(\ul{u}^{(n-1)}) : \pdiff{q}{\ul{X}}
\pdiff{p}{\ul{X}}

per.tl

dw_tl_fib_a

FibresActiveTLTerm

<material_1>, <material_2>, <material_3>, <material_4>, <material_5>, <virtual>, <state>

\int_{\Omega} S_{ij}(\ul{u}) \delta E_{ij}(\ul{u};\ul{v})

act.fib

dw_tl_he_genyeoh

GenYeohTLTerm

<material>, <virtual>, <state>

\int_{\Omega} S_{ij}(\ul{u}) \delta E_{ij}(\ul{u};\ul{v})

dw_tl_he_mooney_rivlin

MooneyRivlinTLTerm

<material>, <virtual>, <state>

\int_{\Omega} S_{ij}(\ul{u}) \delta E_{ij}(\ul{u};\ul{v})

hyp, com.ela.mat, bal

dw_tl_he_neohook

NeoHookeanTLTerm

<material>, <virtual>, <state>

\int_{\Omega} S_{ij}(\ul{u}) \delta E_{ij}(\ul{u};\ul{v})

hyp, per.tl, bal, act.fib, com.ela.mat

dw_tl_he_ogden

OgdenTLTerm

<material>, <virtual>, <state>

\int_{\Omega} S_{ij}(\ul{u}) \delta E_{ij}(\ul{u};\ul{v})

dw_tl_membrane

TLMembraneTerm

<material_a1>, <material_a2>, <material_h0>, <virtual>, <state>

bal

ev_tl_surface_flux

SurfaceFluxTLTerm

<material_1>, <material_2>, <parameter_1>, <parameter_2>

\int_{\Gamma} \ul{\nu} \cdot \ull{K}(\ul{u}^{(n-1)})
\pdiff{p}{\ul{X}}

dw_tl_surface_traction

SurfaceTractionTLTerm

<opt_material>, <virtual>, <state>

\int_{\Gamma} \ul{\nu} \cdot \ull{F}^{-1} \cdot
\ull{\sigma} \cdot \ul{v} J

per.tl

dw_tl_volume

VolumeTLTerm

<virtual>, <state>

\begin{array}{l} \int_{\Omega} q J(\ul{u}) \\ \mbox{volume
mode: vector for } K \from \Ical_h: \int_{T_K} J(\ul{u}) \\
\mbox{rel\_volume mode: vector for } K \from \Ical_h: \int_{T_K}
J(\ul{u}) / \int_{T_K} 1 \end{array}

bal, per.tl

ev_tl_volume_surface

VolumeSurfaceTLTerm

<parameter>

1 / D \int_{\Gamma} \ul{\nu} \cdot \ull{F}^{-1} \cdot
\ul{x} J

dw_ul_bulk_penalty

BulkPenaltyULTerm

<material>, <virtual>, <state>

\int_{\Omega} \mathcal{L}\tau_{ij}(\ul{u})
e_{ij}(\delta\ul{v})/J

hyp.ul

dw_ul_bulk_pressure

BulkPressureULTerm

<virtual>, <state>, <state_p>

\int_{\Omega} \mathcal{L}\tau_{ij}(\ul{u})
e_{ij}(\delta\ul{v})/J

hyp.ul.up

dw_ul_compressible

CompressibilityULTerm

<material>, <virtual>, <state>, <parameter_u>

\int_{\Omega} 1\over \gamma p \, q

hyp.ul.up

dw_ul_he_mooney_rivlin

MooneyRivlinULTerm

<material>, <virtual>, <state>

\int_{\Omega} \mathcal{L}\tau_{ij}(\ul{u})
e_{ij}(\delta\ul{v})/J

hyp.ul, hyp.ul.up

dw_ul_he_neohook

NeoHookeanULTerm

<material>, <virtual>, <state>

\int_{\Omega} \mathcal{L}\tau_{ij}(\ul{u})
e_{ij}(\delta\ul{v})/J

hyp.ul, hyp.ul.up

dw_ul_volume

VolumeULTerm

<virtual>, <state>

\begin{array}{l} \int_{\Omega} q J(\ul{u}) \\ \mbox{volume
mode: vector for } K \from \Ical_h: \int_{T_K} J(\ul{u}) \\
\mbox{rel\_volume mode: vector for } K \from \Ical_h: \int_{T_K}
J(\ul{u}) / \int_{T_K} 1 \end{array}

hyp.ul.up

Table of special terms

Special terms

name/class

arguments

definition

examples

dw_biot_eth

BiotETHTerm

<ts>, <material_0>, <material_1>, <virtual>, <state>

<ts>, <material_0>, <material_1>, <state>, <virtual>

\begin{array}{l} \int_{\Omega} \left [\int_0^t
\alpha_{ij}(t-\tau)\,p(\tau)) \difd{\tau} \right]\,e_{ij}(\ul{v})
\mbox{ ,} \\ \int_{\Omega} \left [\int_0^t \alpha_{ij}(t-\tau)
e_{kl}(\ul{u}(\tau)) \difd{\tau} \right] q \end{array}

dw_biot_th

BiotTHTerm

<ts>, <material>, <virtual>, <state>

<ts>, <material>, <state>, <virtual>

\begin{array}{l} \int_{\Omega} \left [\int_0^t
\alpha_{ij}(t-\tau)\,p(\tau)) \difd{\tau} \right]\,e_{ij}(\ul{v})
\mbox{ ,} \\ \int_{\Omega} \left [\int_0^t \alpha_{ij}(t-\tau)
e_{kl}(\ul{u}(\tau)) \difd{\tau} \right] q \end{array}

ev_cauchy_stress_eth

CauchyStressETHTerm

<ts>, <material_0>, <material_1>, <parameter>

\int_{\Omega} \int_0^t
\Hcal_{ijkl}(t-\tau)\,e_{kl}(\ul{w}(\tau)) \difd{\tau}

\mbox{vector for } K \from \Ical_h: \int_{T_K} \int_0^t
\Hcal_{ijkl}(t-\tau)\,e_{kl}(\ul{w}(\tau)) \difd{\tau} /
\int_{T_K} 1

\int_0^t \Hcal_{ijkl}(t-\tau)\,e_{kl}(\ul{w}(\tau))
\difd{\tau}|_{qp}

ev_cauchy_stress_th

CauchyStressTHTerm

<ts>, <material>, <parameter>

\int_{\Omega} \int_0^t
\Hcal_{ijkl}(t-\tau)\,e_{kl}(\ul{w}(\tau)) \difd{\tau}

\mbox{vector for } K \from \Ical_h: \int_{T_K} \int_0^t
\Hcal_{ijkl}(t-\tau)\,e_{kl}(\ul{w}(\tau)) \difd{\tau} /
\int_{T_K} 1

\int_0^t \Hcal_{ijkl}(t-\tau)\,e_{kl}(\ul{w}(\tau))
\difd{\tau}|_{qp}

dw_lin_elastic_eth

LinearElasticETHTerm

<ts>, <material_0>, <material_1>, <virtual>, <state>

\int_{\Omega} \left [\int_0^t
\Hcal_{ijkl}(t-\tau)\,e_{kl}(\ul{u}(\tau)) \difd{\tau}
\right]\,e_{ij}(\ul{v})

lin.vis

dw_lin_elastic_th

LinearElasticTHTerm

<ts>, <material>, <virtual>, <state>

\int_{\Omega} \left [\int_0^t
\Hcal_{ijkl}(t-\tau)\,e_{kl}(\ul{u}(\tau)) \difd{\tau}
\right]\,e_{ij}(\ul{v})

ev_of_ns_surf_min_d_press

NSOFSurfMinDPressTerm

<material_1>, <material_2>, <parameter>

\delta \Psi(p) = \delta \left( \int_{\Gamma_{in}}p -
\int_{\Gamma_{out}}bpress \right)

dw_of_ns_surf_min_d_press_diff

NSOFSurfMinDPressDiffTerm

<material>, <virtual>

w \delta_{p} \Psi(p) \circ q

ev_sd_st_grad_div

SDGradDivStabilizationTerm

<material>, <parameter_u>, <parameter_w>, <parameter_mv>

\gamma \int_{\Omega} [ (\nabla \cdot \ul{u}) (\nabla \cdot
\ul{w}) (\nabla \cdot \ul{\Vcal}) - \pdiff{u_i}{x_k}
\pdiff{\Vcal_k}{x_i} (\nabla \cdot \ul{w}) - (\nabla \cdot \ul{u})
\pdiff{w_i}{x_k} \pdiff{\Vcal_k}{x_i} ]

ev_sd_st_pspg_c

SDPSPGCStabilizationTerm

<material>, <parameter_b>, <parameter_u>, <parameter_r>, <parameter_mv>

\sum_{K \in \Ical_h}\int_{T_K} \delta_K\ [ \pdiff{r}{x_i}
(\ul{b} \cdot \nabla u_i) (\nabla \cdot \Vcal) - \pdiff{r}{x_k}
\pdiff{\Vcal_k}{x_i} (\ul{b} \cdot \nabla u_i) - \pdiff{r}{x_k}
(\ul{b} \cdot \nabla \Vcal_k) \pdiff{u_i}{x_k} ]

ev_sd_st_pspg_p

SDPSPGPStabilizationTerm

<material>, <parameter_r>, <parameter_p>, <parameter_mv>

\sum_{K \in \Ical_h}\int_{T_K} \tau_K\ [ (\nabla r \cdot
\nabla p) (\nabla \cdot \Vcal) - \pdiff{r}{x_k} (\nabla \Vcal_k
\cdot \nabla p) - (\nabla r \cdot \nabla \Vcal_k) \pdiff{p}{x_k} ]

ev_sd_st_supg_c

SDSUPGCStabilizationTerm

<material>, <parameter_b>, <parameter_u>, <parameter_w>, <parameter_mv>

\sum_{K \in \Ical_h}\int_{T_K} \delta_K\ [ (\ul{b} \cdot
\nabla u_k) (\ul{b} \cdot \nabla w_k) (\nabla \cdot \Vcal) -
(\ul{b} \cdot \nabla \Vcal_i) \pdiff{u_k}{x_i} (\ul{b} \cdot
\nabla w_k) - (\ul{u} \cdot \nabla u_k) (\ul{b} \cdot \nabla
\Vcal_i) \pdiff{w_k}{x_i} ]

dw_st_adj1_supg_p

SUPGPAdj1StabilizationTerm

<material>, <virtual>, <state>, <parameter>

\sum_{K \in \Ical_h}\int_{T_K} \delta_K\ \nabla p (\ul{v}
\cdot \nabla \ul{w})

dw_st_adj2_supg_p

SUPGPAdj2StabilizationTerm

<material>, <virtual>, <parameter>, <state>

\sum_{K \in \Ical_h}\int_{T_K} \tau_K\ \nabla r (\ul{v}
\cdot \nabla \ul{u})

dw_st_adj_supg_c

SUPGCAdjStabilizationTerm

<material>, <virtual>, <parameter>, <state>

\sum_{K \in \Ical_h}\int_{T_K} \delta_K\ [ ((\ul{v} \cdot
\nabla) \ul{u}) ((\ul{u} \cdot \nabla) \ul{w}) + ((\ul{u} \cdot
\nabla) \ul{u}) ((\ul{v} \cdot \nabla) \ul{w}) ]

dw_st_grad_div

GradDivStabilizationTerm

<material>, <virtual>, <state>

\gamma \int_{\Omega} (\nabla\cdot\ul{u}) \cdot
(\nabla\cdot\ul{v})

sta.nav.sto

dw_st_pspg_c

PSPGCStabilizationTerm

<material>, <virtual>, <parameter>, <state>

\sum_{K \in \Ical_h}\int_{T_K} \tau_K\ ((\ul{b} \cdot
\nabla) \ul{u}) \cdot \nabla q

sta.nav.sto

dw_st_pspg_p

PSPGPStabilizationTerm

<opt_material>, <virtual>, <state>

<opt_material>, <parameter_1>, <parameter_2>

\sum_{K \in \Ical_h}\int_{T_K} \tau_K\ \nabla p \cdot
\nabla q

sta.nav.sto

dw_st_supg_c

SUPGCStabilizationTerm

<material>, <virtual>, <parameter>, <state>

\sum_{K \in \Ical_h}\int_{T_K} \delta_K\ ((\ul{b} \cdot
\nabla) \ul{u})\cdot ((\ul{b} \cdot \nabla) \ul{v})

sta.nav.sto

dw_st_supg_p

SUPGPStabilizationTerm

<material>, <virtual>, <parameter>, <state>

\sum_{K \in \Ical_h}\int_{T_K} \delta_K\ \nabla p\cdot
((\ul{b} \cdot \nabla) \ul{v})

sta.nav.sto

dw_volume_dot_w_scalar_eth

DotSProductVolumeOperatorWETHTerm

<ts>, <material_0>, <material_1>, <virtual>, <state>

\int_\Omega \left [\int_0^t \Gcal(t-\tau) p(\tau)
\difd{\tau} \right] q

dw_volume_dot_w_scalar_th

DotSProductVolumeOperatorWTHTerm

<ts>, <material>, <virtual>, <state>

\int_\Omega \left [\int_0^t \Gcal(t-\tau) p(\tau)
\difd{\tau} \right] q

Table of multi-linear terms

Multi-linear terms

name/class

arguments

definition

examples

de_cauchy_stress

ECauchyStressTerm

<material>, <parameter>

\int_{\Omega} D_{ijkl} e_{kl}(\ul{w})

de_convect

EConvectTerm

<virtual>, <state>

<parameter_1>, <parameter_2>

\int_{\Omega} ((\ul{u} \cdot \nabla) \ul{u}) \cdot \ul{v}
\mbox{ , } \int_{\Omega} ((\ul{w} \cdot \nabla) \ul{w}) \cdot
\bar{\ul{u}}

de_div

EDivTerm

<opt_material>, <virtual>

<opt_material>, <parameter>

\int_{\Omega} \nabla \cdot \ul{v} \mbox { , }
\int_{\Omega} \nabla \cdot \ul{u} \\ \int_{\Omega} c \nabla \cdot
\ul{v} \mbox { , } \int_{\Omega} c \nabla \cdot \ul{u}

de_div_grad

EDivGradTerm

<opt_material>, <virtual>, <state>

<opt_material>, <parameter_1>, <parameter_2>

\int_{\Omega} \nu\ \nabla \ul{v} : \nabla \ul{u} \mbox{ ,
} \int_{\Omega} \nu\ \nabla \ul{u} : \nabla \ul{w} \\
\int_{\Omega} \nabla \ul{v} : \nabla \ul{u} \mbox{ , }
\int_{\Omega} \nabla \ul{u} : \nabla \ul{w}

de_dot

EDotTerm

<opt_material>, <virtual>, <state>

<opt_material>, <parameter_1>, <parameter_2>

\int_{\cal{D}} q p \mbox{ , } \int_{\cal{D}} \ul{v} \cdot
\ul{u} \mbox{ , } \int_{\cal{D}} p r \mbox{ , } \int_{\cal{D}}
\ul{u} \cdot \ul{w} \\ \int_{\cal{D}} c q p \mbox{ , }
\int_{\cal{D}} c \ul{v} \cdot \ul{u} \mbox{ , } \int_{\cal{D}} c p
r \mbox{ , } \int_{\cal{D}} c \ul{u} \cdot \ul{w} \\
\int_{\cal{D}} \ul{v} \cdot \ull{M} \cdot \ul{u} \mbox{ , }
\int_{\cal{D}} \ul{u} \cdot \ull{M} \cdot \ul{w}

de_integrate

EIntegrateOperatorTerm

<opt_material>, <virtual>

\int_\Omega q \mbox{ or } \int_\Omega c q

de_laplace

ELaplaceTerm

<opt_material>, <virtual>, <state>

<opt_material>, <parameter_1>, <parameter_2>

\int_{\Omega} c \nabla q \cdot \nabla p \mbox{ , }
\int_{\Omega} c \nabla \bar{p} \cdot \nabla r

de_lin_elastic

ELinearElasticTerm

<material>, <virtual>, <state>

<material>, <parameter_1>, <parameter_2>

\int_{\Omega} D_{ijkl}\ e_{ij}(\ul{v}) e_{kl}(\ul{u})
\mbox{ , } \int_{\Omega} D_{ijkl}\ e_{ij}(\ul{w}) e_{kl}(\ul{u})

de_non_penetration_p

ENonPenetrationPenaltyTerm

<material>, <virtual>, <state>

\int_{\Gamma} c (\ul{n} \cdot \ul{v}) (\ul{n} \cdot
\ul{u})

de_s_dot_mgrad_s

EScalarDotMGradScalarTerm

<material>, <virtual>, <state>

<material>, <state>, <virtual>

\int_{\Omega} q \ul{y} \cdot \nabla p \mbox{ , }
\int_{\Omega} p \ul{y} \cdot \nabla q

de_stokes

EStokesTerm

<opt_material>, <virtual>, <state>

<opt_material>, <state>, <virtual>

<opt_material>, <parameter_v>, <parameter_s>

\int_{\Omega} p\ \nabla \cdot \ul{v} \mbox{ , }
\int_{\Omega} q\ \nabla \cdot \ul{u} \mbox{ or } \int_{\Omega} c\
p\ \nabla \cdot \ul{v} \mbox{ , } \int_{\Omega} c\ q\ \nabla \cdot
\ul{u} \\ \int_{\Omega} r\ \nabla \cdot \ul{w} \mbox{ , }
\int_{\Omega} c r\ \nabla \cdot \ul{w}