Today we will briefly re-consider the
degrees of freedom example, consider the limit
to recover the continuous case, do some bifurcation analysis on the continuous
problem, and then describe a different discretization of the continuous
problem (using collocation) that is used by the numerical continuation
package AUTO.
Consider first the energy of the discrete problem
where ,
,
the
,
and the
,
are given, there are
unknown variables
,
,
and we have the ``boundary conditions''
where
is an additional parameter.
The discrete moment balance equilibrium condition
can be recognized as a simple finite difference discretization of the continuum moment balance equation in the form
For the extreme values of the index
we also recover a finite difference discretization of the boundary conditions
is a finite difference approximation to the the continuous energy
(we will return to this observation in a little bit).
A question that we have so far ignored, is what happened to the
force balance laws in our discrete variational formulation? It is reasonable
that we can obtain a variational principle just in terms of the discretized
angle, because for the strut problem, in the continuous version the force
balance laws and the moment balance decouple.
Explicitly
And the kinematic incompressibility and unshearability constraints and boundary conditions written in the form
(with the notation )
allowed us to reduce the whole equilibrium problem to the solution for
and
of the (continuous) moment balance equation with boundary conditions and
parameter
,
after which the centreline was reconstructed.
It will be instructive to describe the analogous procedure for the discretized
system. The finite difference approximation to the kinematic constraint
equations are for
And the appropriate discretized variational principle is to `minimize' the elastic potential energy in the form
but now also subject to the discretized kinematic constraints (and boundary conditions).
For such a finite dimensional constrained variational principle we have
(at least formally) a Lagrange multiplier rule: to each constraint we can
associate a Lagrange multiplier, say
and
,
,
and constrained critical points will satisfy the first-order conditions
for the function
with respect to the unknowns ,
and
treated as independent variables (i.e. ignoring the constraint equations)
for some values of the multipliers
and
.
For consistency here we set
because there are only
constraints, and
unknowns
and
.
The first-order conditions with respect to
and
yield the system of equations
which can be recognized as finite difference approximations to the two force balance equations, and their associated boundary conditions.
Just as in the continuous case it is trivial to solve the force balance conditions, and we obtain
For the full variational principle, the first-order conditions for the
regarded as being completely independent of the
and
,
are
And when we use the closed form expression to eliminate the multipliers, we re-obtain the first-order necessary conditions for the variational principle involving the angles only.
It should be noted that the strut boundary value problem is very special.
Just about every piece of the problem enters in just the right way for
this decoupling to arise. For different boundary conditions, or a
dependent potential term the problem remains coupled.
Nevertheless in general a variational principle is possible whenever the constitutive relations are hyper-elastic. The variational principle involves minimizing the internal elastic energy (or the integral of the strain energy density function) plus any additional potential terms which arise from end-loadings say, and subject to some set of imposed boundary conditions and constraints.
Exercise: Construct the variational principle for the strut boundary
value problem (i.e. the same boundary conditions and end-loading), but
now for a rod that has a diagonal shearable, extensible constitutive relation.
Recall that the equilibrium conditions are
When does this system have a singular Jacobian? Or in other words if we linearize about a known solution, when can the resulting linear system have a non-trivial solution?
In general this is a different calculation for each known solution.
We have two possibilities. First when
we have the unstressed shape.
Exercise: Verify that the linearization at the unstressed shape is always nonsingular so that (assuming the appropriate infinite dimensional version of the implicit function theorem), there is locally a unique branch of solutions through the zero load configuration.
The second possibility is that when ,
there is the upright straight solution for all
,
and we can linearize about each of those solutions. Motivated by the discrete
problem we would anticipate finding
values when there are non-trivial solutions (i.e. the Jacobian is singular).
This can be shown to be true explicitly in the further special case
by calculating the sequence of
,
,
called bifurcation points or buckling loads, at which the Jacobian is singular.
It can be shown that a countable sequence of ,
of bifurcation points actually exists for any
,
and you can estimate their location analytically, but you cannot (in general)
find them explicitly. (This is the theory of ODE called spectral theory
for Sturm-Liouville operators.) We will also return to this problem in
a little while.
Of course we can numerically compute the bifurcation points to any reasonable
accuracy with a good code.
We will discretize using (Gaussian) collocation. Roughly speaking
this means approximating each unknown function by a continuous piece-wise
polynomial of a specified degree (say 3 or 4 or 5) on a given number of
sub-intervals (say 20 or 30).
When a function is approximated by a piece-wise polynomial, its derivative in the interior of the sub-intervals is also approximated, merely by differentiating the piece-wise polynomial. We get a finite dimensional system of equations to solve for the coefficients of the piece-wise polynomial merely by enforcing the differential equation at an appropriate number of interior points in each sub-interval.
Of course there is a big numerical analysis theory of collocation, giving error bounds and identifying the `best' points at which to collocate (the Gaussian quadrature points of course!)
Collocation can be viewed as being intermediate between finite difference and finite element discretizations. For example piecewise linear collocation is simply related to first order differencing of derivatives. While collocation can also be viewed as a finite element method where the trial functions are piece-wise polynomial, and the test functions are Dirac deltas (centred on the collocation points).
For our later purposes Gaussian collocation is very nice because it
can be shown to be equivalent to a symplectic Runge-Kutta method (say marching
in from the left) for the values of the functions at the boundaries between
sub-intervals. And when the underlying equations are Hamiltonian, symplectic
R-K methods exactly conserve the value of any integrals of the continuous
Hamiltonian system that are quadratic functions of the unknowns (ie the
phase variables).
The package AUTO implements collocation (even with an adapting mesh),
exploits special linear algebra for the sparsity structure of the Jacobian
associated with the collocation discretization, and has routines both for
continuing around fold points in a branch of solutions, and for switching
branches at bifurcation points.
As with any large code you must use AUTO with caution, until you get to know its strengths and limitations.
For example bifurcation points arise when the Jacobian is singular, but it is computationally expensive to monitor singularity. So AUTO tracks the sign of the determinant. This is much faster, and most of the time catches points where the Jacobian is singular. However in the atypical case that the Jacobian has a double zero eigenvalue, the Jacobian can go singular without the determinant vanishing and AUTO typically misses any such bifurcation points.
There are several other trade-offs between speed in the typical case, and robustness to even the most degenerate case, which can give misleading answers when the atypical cases happen to arise.
The resolution is to go ahead and use the code, but always to be questioning and testing it to the full extent possible.
Generally our experience is that AUTO is pretty robust.
VBM is an ``easy to use'' interface to AUTO that has two modes. (In fact VBM is designed to be coupled to many different continuation packages, but we will only use AUTO.)
The post-processing mode allows one to use interactive visualization to understand bifurcation diagrams, and particular solutions on the bifurcation diagram that have already been computed.
The computation mode allows you to interactively extend bifurcation diagrams through additional computations using AUTO.
In point of fact the planar strut examples you will see today are so
simple that they don't really justify all the overhead you have to learn
to use VBM. However the objective is to learn and build confidence in VBM/AUTO
before using it in the three dimensional rod examples that we will use
to model DNA.