Nonlinear finite elements/Solution procedure

From testwiki
Jump to navigation Jump to search

Template:TOCright

Solution procedure

The finite element system of equations is

๐Œ๐ฎยจ=๐Ÿext๐Ÿint=๐Ÿ.

Let's assume that the mass matrix is diagonal. Let us also assume that we would like to solve this problem using an explicit method that uses central differencing.

Let the time step size be Δt. Let us also assume that the time step is constant. Then, at time step n, the time is tn=nΔt.

Let

๐ฎn=๐ฎ(tn).

Let us take a half step to compute the velocity at the middle of the timestep. Then,

๐ฏn+1/2=๐ฎn+1๐ฎnΔt.

We will use this half-step velocity to compute the acceleration

๐šn=๐ฎยจn=๐ฏn+1/2๐ฏn1/2Δt.

Now,

๐ฎยจn=๐Œ1๐Ÿn.

Therefore,

๐Œ1๐Ÿn=๐ฏn+1/2๐ฏn1/2Δt๐ฏn+1/2=๐ฏn1/2+Δt๐Œ1๐Ÿn.

Algorithm

  1. Initialize:
    1. Set t=0 and n=0.
    2. Set the initial velocities (๐ฏ0) at the nodes.
    3. Set the initial accelerations (๐š0) at the nodes.
    4. Set the initial stresses (σ0) at the element Gauss points.
    5. Compute the lumped mass ๐Œ at the nodes.
  2. Set the displacements and velocities at the first time step:
    1. Displacement: ๐ฎ0=0.
    2. Velocity: ๐ฏ1/2=๐ฏ0+Δt2๐š0.
  3. Apply essential BCs: [๐ฏ1/2]Γv=๐ฏยฏ(๐ฑ,Δt/2).
  4. Update the nodal displacements: ๐ฎ1=๐ฎ0+Δt๐ฏ1/2.
  5. Set n=1 and t=Δt.
  6. Loop through the following steps until t=tmax.
  7. For each element (at the Gauss points):
    1. Compute the strain measure: εn=u,XorDn=v,x.
    2. Compute the stress: P=EPFεnorσห™=EσDDn.
  8. For each node:
    1. Compute the internal force (fin)int.
    2. Compute the external force (fin)ext.
    3. Compute the total force fin.
    4. Compute the acceleration ain: ain=Mii1fin.
    5. Update the velocity vin+1/2. vin+1/2=vin1/2+Δtain.
    6. Apply the essential boundary conditions.
    7. Update the displacement uin+1. uin+1=uin+Δtvin+1/2.
  9. Update the counters: n=n+1, t=t+Δt.

Stability of the explicit algorithm

If the time step Δt is too large, the algorithm may not be stable and may give unreasonable results. To provide a check on the time step size, we use the CFL (Courant-Friedrichs-Lewy) condition to determine Δt. This condition (in 1-D) states that

Δtcrit=l0c0

where l0 is the initial length of the element, and c0 is speed of sound in the material (wavespeed) given by

c0=EPFρ0.


Template:Subpage navbar