Nonlinear finite elements/Updated Lagrangian formulation

From testwiki
Jump to navigation Jump to search

Updated Lagrangian formulation

We will now derive the finite element equations for the updated Lagrangian formulation for three-dimensional problems in solid mechanics.

Updated Lagrangian governing equations

The updated Lagrangian equations are

ρ0(๐—)=J(๐—,t)ρ(๐—,t)ρ๐ฏห™=σT+ρ๐›σ=σTρeห™=σ:๐’…๐ช+ρsโ„’φσ=๐‘ฎ(σ,๐’…,T,)๐’…=12(๐’+๐’T)

The boundary conditions are

σT๐ง=๐ญonΩt๐ฏ=๐ฏonΩv

The initial conditions are

๐ฏ(๐—,0)=๐ฏ0(๐—)σ(๐—,0)=σ0(๐—)or๐ฎ(๐—,0)=๐ฎ0(๐—)

Dependent variables

Note that the dependent variables in this case are all expressed as functions of the Lagrangian (material) coordinates, i.e.,

  1. Velocity (๐ฏ(๐—,t))
  2. Cauchy stress (σ(๐—,t))
  3. Rate of deformation (๐’…(๐ฏ,t))

Also note that instead of σ and ๐’…, we may use ๐‘บ and ๐‘ฌ in our calculations and then transform to σ.

Weak form of the balance of linear momentum

Another name for the weak form is the Principle of Virtual Power (or Principle of Virtual Work if rates are not involved).

The strong form consists of the balance of linear momentum and the traction boundary conditions. That is,

σT+ρ๐›=ρ๐šinΩσT๐ง=๐ญonΩt

where ๐š=๐ฏห™=๐ฎยจ is the acceleration.

The weak form of this equation can be written as

Ωρ๐š๐ฐdV+Ωσ:(๐ฐ)dV=Ωρ๐›๐ฐdV+Ωt๐ญ๐ฐdA

where ๐ฐ is a vector valued weighting function (also called a test function) that is zero at the points on the boundary where the essential boundary conditions on ๐ฏ are applied. Therefore we can think of ๐ฐ as a variation of ๐ฏ.

Derivation of the weak form

We proceed in the usual manner to derive the weak form. We multiply the differential equation with the weighting function and integrate over the volume to get

Ω๐ฐ(σT+ρ๐›ρ๐š)dV=0

Using the identity

(๐‘จT๐›)=๐›(๐‘จ)+๐‘จ:(๐›)

and noting that σ=σT (conservation of angular momentum), we have

Ω๐ฐ(σT)dV=Ω(σ๐ฐ)dVΩσ:(๐ฐ)dV

From the divergence theorem we have

Ω(σ๐ฐ)dV=Ω๐ง(σ๐ฐ)dA

where ๐ง is the outward unit normal to the boundary. So,

Ω๐ฐ(σ)dV=Ω๐ง(σ๐ฐ)dAΩσ:(๐ฐ)dV

Now, on the boundary

๐ง(σ๐ฐ)niσijwj=σjiniwj(σT๐ง)๐ฐ=๐ญ๐ฐ

On the part of the boundary where no tractions are applied, we have ๐ญ=๐ŸŽ and hence ๐ง(σ๐ฐ)=๐ŸŽ. Therefore we can write

Ω๐ฐ(σ)dV=Ωt๐ญ๐ฐdAΩσ:(๐ฐ)dV

where Ωt is the part of the boundary where the tractions are applied.

Plugging this expression into the weighted average form of the balance of linear momentum we get

Ωt๐ญ๐ฐdAΩσ:(๐ฐ)dV+Ω๐ฐ(ρ๐›ρ๐š)dV=0

Rearranging terms we get the required weak form

Ωρ๐š๐ฐdV+Ωσ:(๐ฐ)dV=Ωρ๐›๐ฐdV+Ωt๐ญ๐ฐdA

Physical interpretation of terms

To provide a physical interpretation of the four terms in the weak form, we write the weighting function as a variation of the velocity, i.e., ๐ฐ=δ๐ฏ. Then we have the familiar principle of virtual power:

Ωρ๐šδ๐ฏdV+Ωσ:(δ๐ฏ)dV=Ωρ๐›δ๐ฏdV+Ωt๐ญδ๐ฏdA

The first term on the left can then be identified as the virtual kinetic power, the second term on the left as the virtual internal power, and the sum of the two terms on the right as the virtual external power. In other words, we have

δPkin:=Ωρ๐šδ๐ฏdVδPint:=Ωσ:(δ๐ฏ)dVδPext:=Ωρ๐›δ๐ฏdV+Ωt๐ญδ๐ฏdA

and

δPkin+δPint=δPext.

We can see why the second terms is identified as the virtual internal power as follows. Note that

δ๐ฏ=δ๐’=δ(๐’…+๐’˜)

where ๐’ is the velocity gradient, ๐’… is symmetric rate of deformation tensor, and ๐’˜ is the skew symmetric spin tensor. Therefore, since the product of a symmetric and a skew symmetric tensor is zero, we have

σ:δ๐ฏ=σ:δ๐’…+σ:δ๐’˜=σ:δ๐’…

Hence,

δPint=Ωσ:δ๐’…dV

This has the same form as the expression for internal power that we discussed earlier.

Finite element discretization

Let us go back to the original weak form that we derived, i.e.,

Ωρ๐š๐ฐdV+Ωσ:(๐ฐ)dV=Ωρ๐›๐ฐdV+Ωt๐ญ๐ฐdA

Trial function

To start the discretization process we have to first choose an approximate solution ๐ฏh from the space ๐’ฎh of admissible finite element trial functions. These functions must satisfy at least C0 continuity and the essential boundary condition ๐ฏ=๐ฏ on Ωv.

More formally, we choose ๐ฏh(๐—,t)๐’ฎh where

๐’ฎh={๐ฏ|๐ฏC0(๐—),๐ฏ=๐ฏonΩv}

If we discretize the body into a number of elements with n nodes, then we can write the approximate solution as

๐ฏh(๐—,t)=I=1nNI(๐—)๐ฏI(t)

The quantities NI(๐—) are the shape functions which provide the required level of continuity and are chosen so that ๐ฏh๐’ฎh.

Test function

We also have to choose appropriate weighting functions (๐ฐh) which are also known as test functions.

In Galerkin finite elements we choose these functions from the same space as the trial functions with the additional restriction that these functions go to zero at points on the boundary where essential boundary conditions are applied.

Formally, choose ๐ฐh(๐—)๐’ฎt where

๐’ฎt={๐ฐ|๐ฐC0(๐—),๐ฐ=๐ŸŽonΩv}

For finite element analysis, these weighting functions have the same form as the trial function, i.e.,

๐ฐh(๐—)=I=1nNI(๐—)๐ฐI

Motion

Instead of a trial function for the velocity, we can start with one for the motion and then take time derivatives. In this case, we choose the motion to be approximated by

๐ฑh(๐—,t)=I=1nNI(๐—)๐ฑI(t)

where NI(๐—) are the nodal shape functions (note that these are functions of ๐—) and ๐ฑI(t) are the positions of nodes i in the current configuration. Therefore, nodes remain coincident with material point labels at all times.

Therefore, in the reference configuration, we have

๐ฑh(๐—,0)=I=1nNI(๐—)๐ฑI(0)=I=1nNI(๐—)๐—I

The shape functions are also chosen such that

NI(๐—J)=δIJ

Then the displacement ๐ฎ=๐ฑ๐— can be approximated by

๐ฎh(๐—,t)=๐ฑh(๐—,t)๐—h=I=1nNI(๐—)[๐ฑI(t)๐—I]=I=1nNI(๐—)๐ฎI(t)

The velocity ๐ฏ is given by the time derivative of ๐ฎ keeping ๐— fixed. So we have

๐ฏh(๐—,t)=I=1nNI(๐—)๐ฎห™I(t)=I=1nNI(๐—)๐ฏI(t)

Note that this approximation has the same form as the trial function for the velocity that we started with.

The acceleration ๐š is given by the time derivative of ๐ฏ. Hence

๐šh(๐—,t)=I=1nNI(๐—)๐ฎยจI(t)=I=1nNI(๐—)๐ฏห™I(t)=I=1nNI(๐—)๐šI(t)

Velocity gradient and rate of deformation

The spatial velocity gradient ๐’ is given by

๐’(๐ฑ,t)=๐ฏ(๐ฑ,t)

Note that the derivatives are with respect to ๐ฑ and not ๐—.

Therefore, the approximation that we seek has the form

๐’h(๐ฑ,t)=I=1n[NI(๐—)๐ฏI(t)]

Using the identity

(φ๐š)=๐š(φ)+φ๐š

we get

๐’h(๐ฑ,t)=I=1n๐ฏI(t)NI(๐—)

In index notation,

[lij]h=I=1nvIiNI(๐—,t)xj=vIiNI,j

The rate of deformation is then given by

๐’…h(๐ฑ,t)=12(๐’h+๐’hT)=I=1n12[๐ฏI(t)NI(๐—)+NI(๐—)๐ฏI(t)]

In index notation,

[dij]h=I=1n12[vIiNI,j+vIjNI,i]

Approximate weak form

We can now substitute the trial and test functions into the weak form of the momentum equation to get (using the same procedure as in one-dimension)

ΩρNI๐šhdV+Ωσ(NI)dV=ΩρNI๐›dV+ΩtNI๐ญdA

We can write this approximate weak form as

๐ŸIkin+๐ŸIint=๐ŸIext

where the first term represents the inertial force, the second term the internal force, and the third term the external force. Thus,

๐ŸIkin:=ΩρNI๐šhdV๐ŸIint:=Ωσ(NI)dV๐ŸIext:=ΩρNI๐›dV+ΩtNI๐ญdA

The mass matrix

The term

๐ŸIkin:=ΩρNI๐šhdV

is the inertial force term.

If we substitute

๐š(๐—,t)=J=1nNJ(๐—)๐šJ(t)

into the inertial force terms, we get

๐ŸIkin=J=1n[ΩρNINJdV]๐šJ

We define the mass matrix as the quantity

MIJ:=ΩρNINJdV=Ω0ρ0NINJdV0

Therefore, the inertial force can be expressed, in analogy with Newton's second law, as

๐ŸIkin=J=1nMIJ๐šJ

Semi-discrete finite element equations

We can then write the semi-discrete version of the weak form in the shape of a matrix equation as

[๐Œ][๐š]=[๐Ÿext][๐Ÿint]

These equations are ordinary differential equations because we still have time derivatives on the left hand side - hence the system of equations is semi-discrete.

There are a number of ways in which the discretization in time can be effected. Some common approaches are the generalized midpoint rule, the Newmark β method, or Runge-Kutta explicit integration schemes. There is a large literature on the best way of doing the discretization in time with the goal of conserving both momentum and energy as accurately as possible.

Taking derivatives and calculating integrals

At this stage we are faced with the problem of calculating derivatives and integrals with respect to ๐ฑ of quantities that depend on ๐—. How can we proceed?

The standard way of resolving this issue is to do all our calculations with respect to a parent element and then map the results to the reference or current configurations as necessary.

To make things more concrete let us consider a single element and label the three domains as

  1. Parent element ().
  2. Reference element (Ω0).
  3. Current element (Ω).

Let the maps that we need be

  1. Parent Reference : ๐—=๐—(ξ)=๐ฑ(ξ,0).
  2. Parent Current : ๐ฑ=๐ฑ(ξ,t).
  3. Reference Current : ๐ฑ=๐ฑ(๐—,t).

This situation is illustrated (for a two dimensional situation) in the following figure.

File:ElementMaps.png
Maps from parent element to reference and current configurations

We define the map between the parent element and the element in the current configuration as

๐ฑ(ξ,t)=INI(ξ)๐ฑI(t)

Then,

๐ฏ(ξ,t)=INI(ξ)๐ฏI(t)

Let us now try to compute the spatial velocity gradient. We have

๐ฏ(๐ฑ,t)ξ=๐ฏ๐ฑ๐ฑξ=๐ฏ๐ฑ๐‘ญξ

The quantity

๐‘ญξ:=๐ฑξ=I๐ฑINIξ

is called the Jacobian of the motion and is a function of time.

Inverting, we get

๐ฏ๐ฑ=๐ฏξ๐‘ญξ1

But the spatial velocity gradient is

๐’=๐ฏ๐ฑ

Therefore,

๐’=๐ฏξ๐‘ญξ1

If we substitute the approximation

๐ฏ(ξ,t)=INI(ξ)๐ฏI(t)

we get a formula for the velocity gradient

๐’=[I๐ฏINIξ]๐‘ญξ1

A similar procedure can be followed when other spatial gradients need to be calculated. The most frequently encountered situation is the calculation of the gradient of the shape functions. In that case, we have

NI(๐—)=NI(๐—)๐ฑ=NIξ๐‘ญξ1


For computing integrals, we observe that for a function f(๐ฑ) on Ω we can write

Ωf(๐ฑ)dV=Ω0f^(๐—)JdV0=f~(ξ)Jξd

where

Jξ=det(๐ฑξ)=det(๐‘ญξ)

Similarly for a function g(๐—) over Ω0, we have

Ω0g(๐—)dV0=g~(ξ)Jξ0d

where

Jξ0=det(๐—ξ)=det(๐‘ญξ0)

Recall that the internal force terms have the form

๐ŸIint=Ωσ(NI)dV

Expressed in terms of an integral over the parent element, we then have

๐ŸIint=σ(NI)Jξd

where

NI=NIξ๐‘ญξ1.

Finite element implementation

Recall that the finite element system of equations can be written as

[๐Œ][๐š]=[๐Ÿext][๐Ÿint]

where

MIJ=Ω0ρ0NINJdV0;๐ŸIint=Ωσ(NI)dV;and๐ŸIext=ΩρNI๐›dV+ΩtNI๐ญdA

To get a feel for the structure of the equation, let us consider a four-noded plane element. If the components of the velocity in the two coordinate directions are (u,v), the acceleration vector has the form

๐š=[๐š1๐š2๐š3๐š4]=[uห™1vห™1uห™2vห™2uห™3vห™3uห™4vห™4]

The mass matrix has the form

๐Œ=[๐Œ11๐Œ12๐Œ13๐Œ14๐Œ21๐Œ22๐Œ23๐Œ24๐Œ31๐Œ32๐Œ33๐Œ34๐Œ41๐Œ42๐Œ43๐Œ44]

In expanded form

๐Œ=Ω0ρ0[N1N1N1N2N1N3N1N4N2N1N2N2N2N3N2N4N3N1N3N2N3N3N3N4N4N1N4N2N4N3N4N4]dV

Next, we consider the internal force term. Let the components of the internal force in the two coordinate directions be (f,g). Then,

๐Ÿint=[๐Ÿ1int๐Ÿ2int๐Ÿ3int๐Ÿ4int]=[f1g1f2g2f3g3f4g4]

At this stage, recall that the velocity gradient is given by

๐’=๐ฏ=I๐ฏINI=I๐ฏINI๐ฑ

In index notation,

lij=IvIiNIxj.

We define

BIj:=NIxj

Then,

lij=IvIiBIj

In matrix form

๐ฅ=[๐ฏ1๐ฏ2๐ฏ3๐ฏ4][๐1๐2๐3๐4]

Expanded out

[l11l12l21l22]=[u1u2u3u4v1v2v3v4][N1xN1yN2xN2yN3xN3yN4xN4y]

In more compact form, we can just write

[๐ฅ]=[๐ฏ]T[๐]

Similarly, for the internal force term,

๐ŸIint=ΩσNIdV

we have

fIiint=ΩσijNIxjdV=ΩσijBIjdV

In matrix form,

[๐Ÿ1int๐Ÿ2int๐Ÿ3int๐Ÿ4int]=Ω[๐1๐2๐3๐4]σT

Expanded out,

[f1g1f2g2f3g3f4g4]=Ω[N1xN1yN2xN2yN3xN3yN4xN4y][σ11σ21σ12σ22]dV

In compact form, we have

[๐Ÿint]=Ω[๐][σ]TdV

We can express the external force term in a similar manner. Notice that we are not taking adavantage of the symmetry of the stress tensor in the above expressions.

A widely used alternative way of expressing the finite element system of equations is the Voigt notation. This notation can be found in discussions of introductory finite element analysis.

Algorithm for computing internal forces

The major complications and computational effort in the finite element implementation are encountered during the computation of internal forces.

The basic procedure for computing the internal force at the nodes of an element is given below.


  1. Set [๐Ÿint]=[๐ŸŽ].
  2. For all quadrature points in the parent element (ξQ)
    1. Compute the gradient of the shape functions ([๐I]) for all nodes I.
    2. Compute the velocity gradient [๐ฅ]=[๐ฏI][๐].
    3. Compute the rate of deformation tensor.
    4. Compute the deformation gradient/ the Lagrangian Green tensor.
    5. Compute the Cauchy stress or the 2nd P-K stress using the constitutive equation.
    6. Update the nodal internal force ([๐ŸIint]) using ๐ŸIint=๐ŸIint+[๐I][σ]TJξWQ where WQ are the weights for Gaussian integration.


The mass matrix and integration in time will be discussed later.

Template:Subpage navbar