Miscellaneous notes on FEM
The matrix notations of Elasticity
Let the stress–strain (σ–ϵ) relation σ=[D]ϵ be denoted as {σ11σ22σ33σ12σ23σ31}=E(1−ν)(1+ν)(1−2ν)[1ν1−ν1ν1−νν1−ν10001−2ν2(1−ν)00001−2ν2(1−ν)000001−2ν2(1−ν)]{ϵ11ϵ22ϵ33γ12γ23γ31},
where
{ϵ11ϵ22ϵ33γ12γ23γ31}={∂u∂x∂v∂y∂w∂z∂u∂y+∂v∂x∂v∂z+∂w∂y∂w∂x+∂u∂z}.For the plain strain problem, (1) is reduced to
{σ11σ22σ12}=E(1−ν)(1+ν)(1−2ν)[1ν1−ν1001−2ν2(1−ν)]{ϵ11ϵ22γ12}.For the plain stress problem, we only need to replace E with E/(1−ν2) and ν with ν/(1−ν) in (3).
In the case of axis-symmetric problem, we adopt the cylindrical coordinate and let z be the symmetric axis. The non-zero components of stress are
σ=[σrr,σθθ,σzz,σrz]Tand the non-zero components of strain are ϵ=[ϵrr,ϵθθ,ϵzz,γrz]T=[∂u∂r,ur,∂w∂z,∂u∂z+∂w∂r]T.
The elastic matrix [D] is
[D]=E(1−ν)(1+ν)(1−2ν)[1ν1−ν1ν1−νν1−ν10001−2ν1−ν].Element stiffness matrix and force vector (2D)
- Plain strain problem
Let n be the number of node in an element. We adopt the isoparametric element, that is, the coordinate transformation and the displacement interpolation use the same shape functions. More precisely, the coordination transformation that transforms a global element to a standard, parent element through the isoparametric mapping is
x=n∑i=1Ni(ξ,η)xi,y=n∑i=1Ni(ξ,η)yi,where (xi,yi) are the global coordinate of the ith node, Ni is the shape function. The displacements are interpolated as
u(x,y)=n∑i=1Ni(x,y)ui,v(x,y)=n∑i=1Ni(x,y)vi.where (ui,vi) are the displacement of the ith node.
Now suppose n=4 and consider the plain strain case. By substituting the interpolated displacements (8) into (2) for the 2D case we obtain
ϵ=[B]δe=[B1,B2,B3,B4]δe,where
[Bi]=[Ni,x00Ni,yNi,yNi,x],δe=[δT1,δT2,δT3,δT4], and δi=[ui,vi]T. Thus from (3) we have
σ=[D][B]δe.The element stiffness matrix is
[k]=∬[B]T[D][B]dxdy=∫1−1∫1−1[B]T[D][B]jdξdη,where j is the Jacobian determinant of
[J]=[x,ξy,ξx,ηy,η].Note that
{Ni,xNi,y}=[J]−1{Ni,ξNi,η}.We compute the element stiffness matrix (12) numerically using the Gauss–Legendre quadrature rule, i.e.,
[k]=p∑i=1wi[B]T|(ξi,ηi)[D][B]|(ξi,ηi)j|(ξi,ηi),where (ξi,ηi) and wi are the quadrature point and weight, respectively.
The force vector due to the body force is
[f]=∬[N]T[b]dxdy=∫1−1∫1−1[N]T[b]jdξdη,where [N]=[N1,N2,N3,N4] and
[Ni]=[Ni00Ni],[b]=[bx,by]T.- Axis-symmetric problem
For the axis-symmetric problem, the coordinate transformation and displacement interpolation are
r=n∑i=1Ni(ξ,η)ri,z=n∑i=1Ni(ξ,η)zi,u(r,z)=n∑i=1Ni(r,z)ui,w(r,z)=n∑i=1Ni(r,z)wi.From (5) we have
[Bi]=[Ni,r0Nir00Ni,zNi,zNi,r]and δi=[ui,wi]T. The element stiffness matrix becomes
=2π∬[B]T[D][B]rdrdz=2π∫1−1∫1−1[B]T[D][B]rjdξdη,=2πp∑i=1wi[B]T|(ξi,ηi)[D][B]|(ξi,ηi)r|(ξi,ηi)j|(ξi,ηi).The force vector due to the body force becomes
[f]=2π∬[N]T[b]rdrdz=2π∫1−1∫1−1[N]T[b]rjdξdη.- Numerical integration
A good introduction to numerical introduction can be found in Sec. 5.5, p.455 of the book Finite Element Procedures (second edition) by Klaus-Jurgen Bathe. A polynomial up to the order 2N−1 is integrated exactly when using a N-node Gauss quadrature. If a lower-order Gauss quadrature is used to compute the stiffness matrix, it can lead the stiffness matrix to be singular. In that case, a spurious zero energy mode or hourglass mode may exist. That is to say, there exists some particular displacement mode that has zero strain at the Gauss quadrature points. See more detailed discussion of spurious zero energy mode on p.239 of the book The Finite Element Method: Linear Static and Dynamic Finite Element Analysis by T. J. R. Hughes or here.
Nonlinear body force field
Consider a linear elastic, boundary value problem with the nonlinear body force b dependent on the displacement u. the governing equation reads ∇⋅σ(u)+b(u)=o,inΩ
with the boundary conditions
u=u∗,onΓu,σ⋅n=t∗,onΓs.From the Principle of virtual work, we have
∫Ωσ(u):δϵdV=∫Γst∗⋅δudS+∫Ωb(u)⋅δudV.where δu is a virtual displacement filed (test solution) which satisfies δu=o on Γu, and δϵ=sym(∇δu). Since σ=C:∇u, the (24) becomes
∫Ω∇δu:C:∇udV=∫Γst∗⋅δudS+∫Ωb(u)⋅δudV.We use the Newton-Raphson method to solve the nonlinear problem (25). Suppose the displacement u+du satisfies (25), then we have
∫Ω∇δu:C:(∇u+∇du)dV=∫Γst∗⋅δudS+∫Ωb(u+du)⋅δudV.To the first order approximation, in the index form, the (26) can be rewritten as
∫ΩCijklδui,j(uk,l+duk,l)dV=∫Γst∗iδuidS+∫Ωδuibi(uj)dV+∫Ωδui∂bi∂ujdujdV.Note that Cijkl=λδijδkl+μ(δikδjl+δilδjk). According to the Galerkin method in FEM, we choose
δui=n∑a=1N(a)δu(a)i,uj=n∑b=1N(b)u(b)j,and substitute δui and uj into (27) to obtain
∫ΩCijklδu(a)i(u(b)k+du(b)k)N(a),jN(b),ldV=∫Γst∗iδu(a)iN(a)dS+∫Ωδu(a)iN(a)bi(N(b)u(b)j)dV+∫Ωδu(a)i∂bi∂ujdu(b)jN(a)N(b)dV.