3.42. Variational Formulation of PDEs¶
Not every equation allows a variational formulation (e.g., Navier-Stokes or Euler equations do not have such a formulation), but many equations have one, and we explain how it works on several examples.
3.42.1. Poisson Equation¶
The Lagrangian for Poisson equation is:
(3.42.1.1)¶
Important note: technically, as we will see below, this imposes the Neumann boundary condition and 1D Poisson equation with two Neumann boundary conditions does not have a unique solution. At least one Dirichlet boundary condition is needed for a unique solution. For example with and the boundary term becomes just . However, for simplicity, we will show the derivation with two Neumann boundary conditions first and we will discuss how to impose the Dirichlet boundary condition later.
The variational formulation is:
which yields:
(3.42.1.2)¶
where we applied integration by parts. This equation holds for any , and in particular it holds for at the boundary (i.e., for and ). Then the boundary term in (3.42.1.2) vanishes and we obtain:
(3.42.1.3)¶
This equation holds for any that is zero at the boundary, and thus it implies:
(3.42.1.4)¶
Now we substitute (3.42.1.4) into (3.42.1.2) and obtain:
(3.42.1.5)¶
Thus (3.42.1.2) implies both (3.42.1.4) and (3.42.1.5). The equation (3.42.1.5) holds for any (generally not zero at the boundary) and thus it implies:
(3.42.1.6)¶
at the boundary. Thus imposes the Neumann boundary condition, i.e., the value of the derivative at the boundary. This condition is imposed variationally.
To impose a Dirichlet boundary condition, we want to impose the value of at the boundary for some constant . As such, is not allowed to vary at that part of the boundary, which means that the variation at the boundary. So we restrict the variation to be zero at the Dirichlet part of the boundary in (3.42.1.2) and thus also in (3.42.1.5). This implies that (3.42.1.6) does not hold at the Dirichlet part of the boundary and we have to set the value there directly.
Example¶
As a particular example, let and . Then the Lagrangian (3.42.1.1) becomes:
(3.42.1.7)¶
We can explicitly define the space of all trial functions that one can choose (admissible) and substitute in (3.42.1.7) as follows. We have to impose the Dirichlet condition on the space itself, and we also have to choose how smooth functions we want. For finite element applications one typically chooses (i.e., values and first derivatives are from ) and we obtain:
(3.42.1.8)¶
Now we derive what space the variation belongs to. Let be the solution (the extremum of the functional (3.42.1.7)). Then from calculus of variations:
(3.42.1.9)¶
Here is called the trial function and is called the test function. Both and are from the space . Thus we can compute:
In addition, both , so also their difference and thus also is from . There are no other conditions ( and are generally different, so in general ) and so where the space is:
(3.42.1.10)¶
The definition of the space in (3.42.1.10) is derived from the definition of the space in (3.42.1.8).
To compute the variation of , we substitute (3.42.1.9) into (3.42.1.7), differentiate with respect to and then set using (3.17.3.2):
as was done in (3.42.1.2) and one obtains the weak form (below we drop the label from and just use ):
(3.42.1.11)¶
The task is to find such function so that (3.42.1.11) holds for all . From (3.42.1.11) one obtains (as in (3.42.1.2)):
(3.42.1.12)¶
The governing equation (3.42.1.4) is the same:
(3.42.1.13)¶
The boundary term (3.42.1.5) becomes (see (3.42.1.12)):
Which implies .
The Dirichlet boundary condition is part of the definition of the function space (3.42.1.8), so all trial functions that one can choose (admissible) and substitute in must lie in . From the derivation of the space in (3.42.1.10) we can see that since the value of is fixed, we always have ; on the other hand, since is not fixed, in general we have .
The Neumann boundary condition is imposed variationally due to the surface term in the weak form (3.42.1.11).
Summary¶
We have shown above that there are three equivalent formulations which fully and uniquely determine the solution and boundary conditions (both Dirichlet and Neumann):
Define the functional in (3.42.1.7) and the space for the trial functions in (3.42.1.8).
Define the weak form (3.42.1.11) and the two spaces and , where and .
Define the strong form (3.42.1.13) and the boundary conditions and .
Let us write down the three formulations in detail.
Variational Formulation¶
The variational formulation is the formulation 1. above.
The task is to find such that extremizes this functional (), where:
Weak Formulation¶
Weak formulation is the formulation 2. above, and it is customary to write in the weak form (3.42.1.11):
(3.42.1.14)¶
The task is to find such so that (3.42.1.14) holds for all , where
We can also define:
and write (3.42.1.14) as:
Strong Formulation¶
Strong formulation is the formulation 3. above. We are solving the equation:
subject to boundary conditions and .
3.42.2. Radial Schrödinger Equation¶
The derivation is similar as for the Poisson equation, except that we have based on physical reasoning (that we cannot set the derivative to a given value, or, alternatively, that we require the operator to be self-adjoint).
The Lagrangian for the radial Schrödinger equation is:
(3.42.2.1)¶
We minimize the Lagrangian subject to the normalization condition as follows:
(3.42.2.2)¶
This equation holds for any , and so it also holds when we restrict on the boundary and the boundary term vanishes. Then it implies the radial Schrödinger equation:
(3.42.2.3)¶
Substituting (3.42.2.3) into (3.42.2.2) we obtain:
(3.42.2.4)¶
And we can see that (3.42.2.2) implies both the equation (3.42.2.3) and the boundary term (3.42.2.4). The boundary term is zero for , so it reduces to:
(3.42.2.5)¶
We can see that there is no natural condition at , and for we only have two possible options. Either we impose and obtain the Dirichlet condition and the boundary term (3.42.2.5) vanishes. Or we allow to vary, and then (3.42.2.5) implies .
Unlike for the Poisson equation we are not allowed to set to anything other than zero, and that’s why (3.42.2.1) has no surface term.