Boundary conditions (b.c.) are constraints necessary for the solution of a boundary value problem. A boundary value problem is a differential equation (or system of differential equations) to be solved in a domain on whose boundary a set of conditions is known. It is opposed to the “initial value problem”, in which only the conditions on one extreme of the interval are known. Boundary value problems are extremely important as they model a vast amount of phenomena and applications, from solid mechanics to heat transfer, from fluid mechanics to acoustic diffusion. They rise naturally in every problem based on a differential equation to be solved in space, while initial value problems usually refer to problems to be solved in time. Boundary value problems have been extensively studied by Jacques Charles François Sturm (18031855) and Joseph Liouville (18091882), who studied the eigenvalues of a linear differential equation of the second order1
${}^{1}$. They studied the conditions which guarantee the existence and uniqueness of the solution of the differential problem and how it is affected by the boundary conditions2
${}^{2}$. The SturmLiouville theory is extremely important for any computational problem because it enables to understand if a problem is “wellposed” and how it is possible to obtain the solution.
Both ordinary and partial differential equations need boundary conditions to be solved. Different types of boundary conditions can be imposed on the boundary of the domain (figure 1). The choice of the boundary condition is fundamental for the resolution of the computational problem: a bad imposition of b.c. may lead to the divergence of the solution or to the convergence to a wrong solution.
The Dirichlet boundary condition is a type of boundary condition named after Peter Gustav Lejeune Dirichlet (1805–1859, figure 2)3
${}^{3}$.
This condition specifies the value that the unknown function needs to take on along the boundary of the domain. Given, for example, the Laplace equation, the boundary value problem with the Dirichlet b.c. is written as:
Δφ(x−−)=0∀x−−∈Ω(1)
$$\begin{array}{}\text{(1)}& \mathrm{\Delta}\phi (\underset{\_}{x})=0\phantom{\rule{2em}{0ex}}\mathrm{\forall}\underset{\_}{x}\in \mathrm{\Omega}\end{array}$$
φ(x−−)=f(x−−)∀x−−∈∂Ω(2)
$$\begin{array}{}\text{(2)}& \phi (\underset{\_}{x})=f(\underset{\_}{x})\phantom{\rule{2em}{0ex}}\mathrm{\forall}\underset{\_}{x}\in \mathrm{\partial}\mathrm{\Omega}\end{array}$$
where φ
$\phi $is the unknown function, x−−
$\underset{\_}{x}$is the independent variable (e.g. the spatial coordinates), Ω
$\mathrm{\Omega}$is the function domain, ∂Ω
$\mathrm{\partial}\mathrm{\Omega}$is the boundary of the domain, and f
$f$is a given scalar function defined on ∂Ω
$\mathrm{\partial}\mathrm{\Omega}$. In the framework of numerical simulations, it is usually imposed directly in the algebraic system to be solved. Let’s consider the following algebraic system derived from a numerical algorithm:
⎡⎣⎢⎢⎢⎢⎢⎢⎢k1,1k2,1.km−1,1km,1k1,2k2,2.km−1,2km,2.....k1,m−1k2,m−1.km−1,m−1km,m−1k1,mk2,m.km−1,mkm,m⎤⎦⎥⎥⎥⎥⎥⎥⎥⎡⎣⎢⎢⎢⎢⎢⎢x1x2.xn−1xn⎤⎦⎥⎥⎥⎥⎥⎥=⎡⎣⎢⎢⎢⎢⎢⎢a1a2.am−1am⎤⎦⎥⎥⎥⎥⎥⎥
$$\begin{array}{r}\left[\begin{array}{ccccc}{k}_{1,1}& {k}_{1,2}& .& {k}_{1,m1}& {k}_{1,m}\\ {k}_{2,1}& {k}_{2,2}& .& {k}_{2,m1}& {k}_{2,m}\\ .& .& .& .& .\\ {k}_{m1,1}& {k}_{m1,2}& .& {k}_{m1,m1}& {k}_{m1,m}\\ {k}_{m,1}& {k}_{m,2}& .& {k}_{m,m1}& {k}_{m,m}\end{array}\right]\left[\begin{array}{c}{x}_{1}\\ {x}_{2}\\ .\\ {x}_{n1}\\ {x}_{n}\end{array}\right]=\left[\begin{array}{c}{a}_{1}\\ {a}_{2}\\ .\\ {a}_{m1}\\ {a}_{m}\end{array}\right]\end{array}$$
where kij
${k}_{ij}$are the elements of the algebraic operator (e.g. the stiffness matrix), xi
${x}_{i}$are the unknowns (i.e. the degrees of freedom of the problem), and ai
${a}_{i}$are the known terms. The simplest way to impose a Dirichlet boundary condition on the nth
${n}^{th}$degree of freedom is to modify the system as follows:
⎡⎣⎢⎢⎢⎢⎢⎢k1,1.0.km,1..0....1....0..k1,m.0.km,m⎤⎦⎥⎥⎥⎥⎥⎥⎡⎣⎢⎢⎢⎢⎢⎢x1.xn.xn⎤⎦⎥⎥⎥⎥⎥⎥=⎡⎣⎢⎢⎢⎢⎢⎢a1.f.am⎤⎦⎥⎥⎥⎥⎥⎥
$$\begin{array}{r}\left[\begin{array}{ccccc}{k}_{1,1}& .& .& .& {k}_{1,m}\\ .& .& .& .& .\\ 0& 0& 1& 0& 0\\ .& .& .& .& .\\ {k}_{m,1}& .& .& .& {k}_{m,m}\end{array}\right]\left[\begin{array}{c}{x}_{1}\\ .\\ {x}_{n}\\ .\\ {x}_{n}\end{array}\right]=\left[\begin{array}{c}{a}_{1}\\ .\\ f\\ .\\ {a}_{m}\end{array}\right]\end{array}$$
where f
$f$is the value that the nth
${n}^{th}$degree of freedom must be taken.
The Neumann boundary condition is a type of boundary condition, named after Carl Neumann (1832 – 1925, figure 3)3
${}^{3}$. When imposed on an ordinary or a partial differential equation, it specifies the values that the derivative of a solution is going to take on the boundary of the domain. Given, for example, the Laplace equation, the boundary value problem with the Dirichlet b.c. is written as:
Δφ(x−−)=0∀x−−∈Ω(3)
$$\begin{array}{}\text{(3)}& \mathrm{\Delta}\phi (\underset{\_}{x})=0\phantom{\rule{2em}{0ex}}\mathrm{\forall}\underset{\_}{x}\in \mathrm{\Omega}\end{array}$$
∂φ(x−−)∂n=f(x−−)∀x−−∈∂Ω(4)
$$\begin{array}{}\text{(4)}& \frac{\mathrm{\partial}\phi (\underset{\_}{x})}{\mathrm{\partial}n}=f(\underset{\_}{x})\phantom{\rule{2em}{0ex}}\mathrm{\forall}\underset{\_}{x}\in \mathrm{\partial}\mathrm{\Omega}\end{array}$$
where n
$n$is the unit normal to the boundary surface, if Ω⊂R3
$\mathrm{\Omega}\subset {R}^{3}$.
In the case of ordinary differential equations (i.e. Ω⊂R1
$\mathrm{\Omega}\subset {R}^{1}$), the derivative normal to the boundary coincides with the global derivative φ′
${\phi}^{\prime}$. In the rare cases in which a temporal dependency is solved through a finite element approach (instead of the more usual finite difference), this type of boundary condition is the most common. Neumann boundary condition is also called “natural” because it naturally appears in the development of the weak formulation in any finite element approach. Let’s consider the following simple equation:
−u′′(x)=p(x)∀x∈R(5)
$$\begin{array}{}\text{(5)}& {u}^{\u2033}(x)=p(x)\phantom{\rule{2em}{0ex}}\mathrm{\forall}x\in \mathbb{R}\end{array}$$
where u
$u$is an unknown scalar field and p
$p$is a given scalar function. This equation rules many phenomena, for instance, the thermal diffusion in 1D and the tension/compression of a beam. The finite element method consists in rewriting the equation from a differential (strong) form to an integral (weak) formulation. This transformation is done through two steps:
1: Test and integrate:
−∫bau′′(x)ν(x)dx=∫bap(x)ν(x)dx(6)
$$\begin{array}{}\text{(6)}& {\int}_{a}^{b}{u}^{\u2033}(x)\nu (x)\phantom{\rule{mediummathspace}{0ex}}dx={\int}_{a}^{b}p(x)\nu (x)\phantom{\rule{mediummathspace}{0ex}}dx\end{array}$$
where ν(x)
$\nu (x)$is the shape function.
2: Apply the Green theorem to have a uniform distribution of derivatives and avoid higher order derivatives:
∫bau′(x)ν′(x)dx=∫bap(x)ν(x)dx+[u′(x)ν(x)]ba(7)
$$\begin{array}{}\text{(7)}& {\int}_{a}^{b}{u}^{\prime}(x){\nu}^{\prime}(x)\phantom{\rule{mediummathspace}{0ex}}dx={\int}_{a}^{b}p(x)\nu (x)\phantom{\rule{mediummathspace}{0ex}}dx+[{u}^{\prime}(x)\nu (x){]}_{a}^{b}\end{array}$$
Thus, a term including the derivative of the unknown field on the boundary naturally appears; for 1D problems, this term refers to the extremes of the interval, for 2D problems it refers to the contour of the domain, and for 3D problems it refers to the boundary surfaces. The presence of the boundary term on the righthand side highlights two properties of Neumann boundary conditions:
The Robin boundary condition is a type of boundary condition named after Victor Gustave Robin (1855–1897)4
${}^{4}$. It consists of a linear combination of the values of the field and its derivatives on the boundary. Given, for example, the Laplace equation, the boundary value problem with the Dirichlet b.c. is written as:
Δφ(x−−)=0∀x−−∈Ω(8)
$$\begin{array}{}\text{(8)}& \mathrm{\Delta}\phi (\underset{\_}{x})=0\phantom{\rule{2em}{0ex}}\mathrm{\forall}\underset{\_}{x}\in \mathrm{\Omega}\end{array}$$
aφ(x−−)+b∂φ(x−−)∂n=f(x−−)∀x−−∈∂Ω(9)
$$\begin{array}{}\text{(9)}& a\phi (\underset{\_}{x})+b\frac{\mathrm{\partial}\phi (\underset{\_}{x})}{\mathrm{\partial}n}=f(\underset{\_}{x})\phantom{\rule{2em}{0ex}}\mathrm{\forall}\underset{\_}{x}\in \mathrm{\partial}\mathrm{\Omega}\end{array}$$
where a
$a$and b
$b$are real parameters. This condition is also called “impedance condition”.
It consists of applying different types of boundary conditions in different parts of the domain. It is important to notice that boundary conditions must be applied on the whole boundary: the “free” boundary is anyways subjected to a homogeneous Neumann condition. The mixed boundary condition differs from the Robin condition because the latter consists of different types of boundary conditions applied to the same region of the boundary, while the mixed condition implies different types of b.c. applied to different parts of the boundary.
The Cauchy boundary condition is a condition on both the unknown field and its derivatives5
${}^{5}$. It differs from the Robin condition because the Cauchy condition implies the imposition of two constraints (1 Dirichlet b.c. + 1 Neumann b.c.), while the Robin condition implies only one constraint on the linear combination of the unknown function and its derivatives.
Dirichlet boundary conditions.
Solid mechanics is usually modelled through a displacementbased model, thus Dirichlet boundary conditions usually consist in imposing the displacement of the structure in given points. Structural mechanics is often based on formulations which include relative rotations, whose numerical resolution requires nonlinear shape functions in the finite element approximation. For instance, frame structures are based on the beam theory and the related finite element has 6 degrees of freedom (3 displacements + 3 rotations in a 3D space). For a 2D problem, each node of the boundary has 3 degrees of freedom on which Dirichlet boundary conditions can be applied: 2 displacements (ux
${u}_{x}$and uy
${u}_{y}$) and 1 rotation (ω
$\omega $). These constraints are usually depicted as follows:
Symbol  Constraints 

ux=0uy=0ω=0
${u}_{x}=0\phantom{\rule{0ex}{0ex}}{u}_{y}=0\phantom{\rule{0ex}{0ex}}\omega =0$


ux=0uy=0
${u}_{x}=0\phantom{\rule{0ex}{0ex}}{u}_{y}=0$


uy=0
${u}_{y}=0$


uy=0ω=0
${u}_{y}=0\phantom{\rule{0ex}{0ex}}\omega =0$


ω=0
$\omega =0$

Table 1: External constraints to the ground
In the table, external constraints to the ground (i.e. set the value to zero) are reported, but the symbols are used also to express a fixed displacement/rotation different than zero.
Neumann boundary conditions
In solid mechanics, the spatial derivatives of displacements are related to the strain tensor. In elasticity, the strain is proportional to the stress, hence the Neumann boundary condition refers to both imposed strains and stresses. Since the stress is also linked to the external forces through the Cauchy’s stress principle, the Neumann condition is also used to apply external loads. As stated in the section dedicated to Neumann boundary conditions, the homogeneous condition is naturally satisfied, so “free” boundaries may not be modelled explicitly.
Robin boundary condition
It is used to model the mechanical impedance of a structure, thus how much it resists to motion when subjected to a harmonic load.
Dirichlet boundary conditions
In computational fluid mechanics, the classical Dirichlet boundary condition consists of the value of velocity and/or pressure to be taken by a certain set of nodes. It is common to refer to some sets of b.c. according to the following terminology:
At least one homogeneous b.c. on the pressure (i.e. p=0
$p=0$) has to be imposed as a reference for open domains, for instance, in the highest boundary of the air domain.
Neumann boundary conditions
Constraints on the derivative of velocity or pressure fields are mainly used in two cases. The first case is the application of a symmetry plane, thus:
∂u∂n=0(10)
$$\begin{array}{}\text{(10)}& \frac{{\textstyle \mathrm{\partial}u}}{{\textstyle \mathrm{\partial}n}}=0\end{array}$$
Since this condition is always applied in addition to a Dirichlet b.c. on the velocity normal to the boundary, it is naturally satisfied. The second application is the modelling of wall friction, in the case when it is proportional to the strain rate:
S=(∇u+∇Tu)(11)
$$\begin{array}{}\text{(11)}& S=(\mathrm{\nabla}u+{\mathrm{\nabla}}^{T}u)\end{array}$$
Robin boundary condition
It is used to describe semireflective walls, which partially absorb waves. It is not a very common application and it can be used only for pressurebased models. It is mostly used for acoustic applications.
Dirichlet boundary conditions
In thermodynamics, Dirichlet boundary conditions consist of surfaces (in 3D problems) held at a fixed temperatures.
Neumann boundary conditions
In thermodynamics, the Neumann boundary condition represents the heat flux across the boundaries. The perfect insulator reflects a homogeneous condition (naturally satisfied), while all warmed and cooled boundaries require to explicitly assign the boundary condition. This is normally the case of electronic components (inward heat flux) of external cooling spray/channel (outward heat flux).
Maxwell equations are commonly solved through a potential formulation. In this section, the (A,φ
$A,\phi $) formulation is considered, where A
$A$is the magnetic vector potential and φ
$\phi $is the scalar electric potential. Under certain conditions, the (A,φ
$A,\phi $) can be decoupled and the electric potential can be computed through the Laplace equation:
Δφ=0(12)
$$\begin{array}{}\text{(12)}& \mathrm{\Delta}\phi =0\end{array}$$
Dirichlet boundary conditions
The Dirichlet boundary condition on φ
$\phi $is usually imposed on the boundary sections of the conductive domain; in the case of wires, the values on one section are normally set to zero, while a fixed value of the electric potential is fixed on the second section. The conditions A
$A$usually constrain the magnetic field to be tangent to the external boundary, i.e. to have all the magnetic lines inside the computational domain.
Neumann boundary conditions
In electromagnetic modelling, under certain hypotheses, ∇φ
$\mathrm{\nabla}\phi $is the electric current density. The imposition of a homogeneous Neumann boundary condition (i.e.:math:nablavarphicdot n=0) means forcing the electric current not to cross the boundaries. This condition is also referred as “insulating boundary” and represents the behavior of a perfect insulator.
Robin boundary condition
It is used to model the impedance of an electric circuit, thus the opposition that a circuit presents to a current when a voltage is applied. It is also used to model the impedance of the electromagnetic wave.
1
${}^{1}$: https://www.encyclopediaofmath.org/index.php/SturmLiouville_problem
2
${}^{2}$: https://www.encyclopediaofmath.org/index.php/SturmLiouville_theory
3
${}^{3}$: Cheng, A. and D. T. Cheng (2005). Heritage and early history of the boundary element method, Engineering Analysis with Boundary Elements, 29, 268–302.
4
${}^{4}$: Gustafson, K., (1998). Domain Decomposition, Operator Trigonometry, Robin Condition, Contemporary Mathematics, 218. 432–437.
5
${}^{5}$: Morse, P. M. and Feshbach, H. Methods of Theoretical Physics, Part I. New York: McGrawHill, pp. 678679, 1953.