SDT-base         Contents     Functions         Previous Next     PDF Index

6.1  FEM problem formulations

This section gives a short theoretical reminder of supported FEM problems. The selection of the formulation for each element group is done through the material and element properties.

6.1.1  3D elasticity

Elements with a p_solid property entry with a non-zero integration rule are described under p_solid. They correspond exactly to the *b elements, which are now obsolete. These elements support 3D mechanics (DOFs .01 to .03 at each node) with full anisotropy, geometric non-linearity, integration rule selection, ... The elements have standard limitations. In particular they do not (yet)

With m_elastic subtypes 1 and 3, p_solid deals with 3D mechanics with strain defined by


where the engineering notation γyz=2єyz, ... is used. Stress by


Note that the strain states are {єx єy єz γyz γzx γxy} which may not be the convention of other software.

Note that NASTRAN, SAMCEF, ANSYS and MODULEF order shear stresses with σxy, σyz, σzx (MODULEF elements are obtained by setting p_solid integ value to zero). Abaqus uses σxy, σxz, σyz

In fe_stress the stress reordering can be accounted for by the definition of the proper TensorTopology matrix.

For isotropic materials


with at nominal G=E/(2(1+ν)). For isotropic materials, interpolation of ρ,η,E,ν,G,α with temperature is supported.

For orthotropic materials, the compliance is given by


For constitutive law building, see p_solid. Material orientation can be interpolated by defining v1 and v2 fields in the InfoAtNode. Interpolation of non isotropic material properties was only implemented for of_mk >= 1.236.

6.1.2  2D elasticity

With m_elastic subtype 4, p_solid deals with 2D mechanical volumes with strain defined by (see q4p constants)


and stress by


For isotropic plane stress (p_solid form=1), one has


For isotropic plane strain (p_solid form=0), one has


6.1.3  Acoustics

With m_elastic subtype 2, p_solid deals with 2D and 3D acoustics (see flui4 constants) where 3D strain is given by


This replaces the earlier flui4 ... elements.

The mass and stiffness matrices are given by


The source associated with a enforced velocity on a surface


When an impedance ZC R(1+iη) is considered on a surface, the associated viscous damping matrix is given by


6.1.4  Piezo-electric volumes

A revised version of this information is available at Missing PDF links will be found there.

The strain state associated with piezoelectric materials is described by the six classical mechanical strain components and the electrical field components. Following the IEEE standards on piezoelectricity and using matrix notations, S denotes the strain vector and E denotes the electric field vector (V/m) :


where φ is the electric potential (V).

The constitutive law associated with this strain state is given by


in which D is the electrical displacement vector (a density of charge in Cb/m2), T is the mechanical stress vector (N/m2). CE is the matrix of elastic constants at zero electric field (E=0, short-circuited condition, see section 6.1.1 for formulas (there CE is noted D). Note that using −E rather than E makes the constitutive law symmetric.

Alternatively, one can use the constitutive equations written in the following manner :


In which sE is the matrix of mechanical compliances, [d] is the matrix of piezoelectric constants (m/V=Cb/N):


Matrices [e] and [d] are related through


Due to crystal symmetries, [d] may have only a few non-zero elements.

Matrix [єS] is the matrix of dielectric constants (permittivities) under zero strain (constant volume) given by


It is more usual to find the value of єT (Permittivity at zero stress) in the datasheet. These two values are related through the following relationship :


For this reason, the input value for the computation should be [єT].
Also notice that usually relative permittivities are given in datasheets:


є0 is the permittivity of vacuum (=8.854e-12 F/m)

The most widely used piezoelectric materials are PVDF and PZT. For both of these, matrix [єT] takes the form


For PVDF, the matrix of piezoelectric constants is given by


and for PZT materials :


6.1.5  Piezo-electric shells

A revised version of this information is available at

Shell strain is defined by the membrane, curvature and transverse shear as well as the electric field components. It is assumed that in each piezoelectric layer i=1...n, the electric field takes the form E= (0    0    Ezi). Ezi is assumed to be constant over the thickness hi of the layer and is therefore given by Ezi=−Δ φi/hi where Δ φi is the difference of potential between the electrodes at the top and bottom of the piezoelectric layer i. It is also assumed that the piezoelectric principal axes are parallel to the structural orthotropy axes.

The strain state of a piezoelectric shell takes the form


There are thus n additional degrees of freedom Δ φi, n being the number of piezoelectric layers in the laminate shell

The constitutive law associated to this strain state is given by :


where Dzi is the electric displacement in piezoelectric layer (assumed constant and in the z-direction), zmi is the distance between the midplane of the shell and the midplane of piezoelectric layer i, and Gi, Hi are given by


where . denotes the direction of polarization. If the piezoelectric is used in extension mode, the polarization is in the z-direction, therefore Hi =0 and Gi ={


}i . If the piezoelectric is used in shear mode, the polarization is in the x or y-direction, therefore Gi=0, and Hi = {0 e15 }i or Hi = {e24 0 }i . It turns out however that the hypothesis of a uniform transverse shear strain distribution through the thickness is not satisfactory, a more elaborate shell element would be necessary. Shear actuation should therefore be used with caution.

[Rs]i and [R]i are rotation matrices associated to the angle θ of the piezoelectric layer.


6.1.6  Geometric non-linearity

The following gives the theory of large transformation problem implemented in OpenFEM function of_mk_pre.c Mecha3DInteg.
The principle of virtual work in non-linear total Lagrangian formulation for an hyperelastic medium is


with p the vector of initial position, x = p +u the current position, and u the displacement vector. The transformation is characterized by


where the N,j is the derivative of the shape functions with respect to Cartesian coordinates at the current integration point and qi corresponds to field i (here translations) and element nodes. The notation is thus really valid within a single element and corresponds to the actual implementation of the element family in elem0 and of_mk. Note that in these functions, a reindexing vector is used to go from engineering ({e11 e22 e33 2e23 2e31 2e12}) to tensor [eij] notations ind_ts_eg=[1 6 5;6 2 4;5 4 3];e_tensor=e_engineering(ind_ts_eg);. One can also simplify a number of computations using the fact that the contraction of a symmetric and non symmetric tensor is equal to the contraction of the symmetric tensor by the symmetric part of the non symmetric tensor.

One defines the Green-Lagrange strain tensor e=1/2(FTFI) and its variation


Thus the virtual work of internal loads (which corresponds to the residual in non-linear iterations) is given by


and the tangent stiffness matrix (its derivative with respect to the current position) can be written as


which using the notation ui,j = {N,j}T{qi} leads to


The term associated with stress at the current point is generally called geometric stiffness or pre-stress contribution. For implementation, the variable names are d2wde2, Sigma and the large displacement computation (Fmk2 W/∂ e2ijkl Fni + Slj) has a reference implementation in elem0('LdDD'). The result is called dd in the code.

In isotropic elasticity, the 2nd tensor of Piola-Kirchhoff stress is given by


the building of the constitutive law matrix D is performed in p_solid BuildConstit for isotropic, orthotropic and full anisotropic materials. of_mk_pre.c nonlin_elas then implements element level computations. For hyperelastic materials ∂2 W/∂ e2 is not constant and is computed at each integration point as implemented in hyper.c.

For a geometric non-linear static computation, a Newton solver will thus iterate with


where external forces f are assumed to be non following.

For an example see staticNewton.

6.1.7  Thermal pre-stress

Note that more recent developments are found in SDT-nlsim, see sdtweb('hyper3D'). The following gives the theory of the thermoelastic problem implemented in OpenFEM function of_mk_pre.c nonlin_elas.
In presence of a temperature difference, the thermal strain is given by [eT] = [α] (TT0), where in general the thermal expansion matrix α is proportional to identity (isotropic expansion). The stress is found by computing the contribution of the mechanical deformation


This expression of the stress is then used in the equilibrium (6.31), the tangent matrix computation(6.35), or the Newton iteration (6.38). Note that the fixed contribution ∫Ω0 (−C:eT) : δ e can be considered as an internal load of thermal origin.

The modes of the heated structure can be computed with the tangent matrix.

An example of static thermal computation is given in ofdemos ThermalCube.

6.1.8  Hyperelasticity

The following gives the theory of the thermoelastic problem implemented in OpenFEM function hyper.c (called by of_mk.c MatrixIntegration).
For hyperelastic media S=∂ W/∂ e with W the hyperelastic energy. hyper.c currently supports Mooney-Rivlin materials for which the energy takes one of following forms


where (J1,J2,J3) are the so-called reduced invariants of the Cauchy-Green tensor


linked to the classical invariants (I1,I2,I3) by


where one recalls that


Note : this definition of energy based on reduced invariants is used to have the hydrostatic pressure given directly by p=−K(J3−1) (K "bulk modulus"), and the third term of W is a penalty on incompressibility.

Hence, computing the corresponding tangent stiffness and residual operators will require the derivatives of the above invariants with respect to e (or C). In an orthonormal basis the first-order derivatives are given by:


where (Cij−1) denotes the coefficients of the inverse matrix of (Cij). For second-order derivatives we have:


where the єijk coefficients are defined by


Note: when the strain components are seen as a column vector ("engineering strains") in the form (e11,e22,e33,2e23,2e31,2e12)′, the last two terms of (6.46) thus correspond to the following 2 matrices


We finally use chain-rule differentiation to compute


Note that a factor 2 arise each time we differentiate the invariants with respect to e instead of C.

The specification of a material is given by specification of the derivatives of the energy with respect to invariants. The laws are implemented in the hyper.c EnPassiv function.

6.1.9  Gyroscopic effects

Written by Arnaud Sternchuss ECP/MSSMat.

In the fixed reference frame which is Galilean, the Eulerian speed of the particle in x whose initial position is p is


and its acceleration is


Ω is the rotation vector of the structure with


in a (x,y,z) orthonormal frame. The skew-symmetric matrix [Ω] is defined such that


The speed can be rewritten


and the acceleration becomes


In this expression appear

S0e is an element of the mesh of the initial configuration S0 whose density is ρ0. [N] is the matrix of shape functions on these elements, one defines the following elementary matrices


The traditional fe_mknl MatType in SDT are 7 for gyroscopic coupling and 8 for centrifugal softening.

6.1.10  Centrifugal follower forces

This is the embryo of the theory for the future implementation of centrifugal follower forces.


where δ vR designates the radial component (in deformed configuration) of δv. One assumes that the rotation axis is along ez. Noting nR = 1/R {x1  x2   0}T, one then has


Thus the non-linear stiffness term is given by


One has dR=nR· dx(= dxR) and dδ vR = dnR·δ v, with

nR + 
{dx1  dx2   0}T.

Thus, finally


Which gives


with α=1,2.

6.1.11  Poroelastic materials

The poroelastic formulation comes from [40], recalled and detailed in [41].

Domain and variables description:

Poroelastic domain
Bounding surface of poroelastic domain
Unit external normal of
Solid phase displacement vector
Fluid phase displacement vector
Fluid phase pressure
Stress tensor of solid phase
Total stress tensor of porous material

Weak formulation, for harmonic time dependence at pulsation ω:


Matrix formulation, for harmonic time dependence at pulsation ω:


where the frequency-dependent matrices correspond to:


N.B. if the material of the solid phase is homogeneous, the frequency-dependent parameters can be eventually factorized from the matrices:


where the matrices marked with bars are frequency independent:


Material parameters:

φPorosity of the porous material
σResistivity of the porous material
αTortuosity of the porous material
ΛViscous characteristic length of the porous material
Λ′Thermal characteristic length of the skeleton
ρDensity of the skeleton
GShear modulus of the skeleton
νPoisson coefficient of the skeleton
ηsStructural loss factor of the skeleton
ρoFluid density
γHeat capacity ratio of fluid (=1.4 for air)
ηShear viscosity of fluid (=1.84×10−5 kg m−1 s−1 for air)


Po=1,01× 105 PaAmbient pressure
Pr=0.71Prandtl number

Poroelastic specific (frequency dependent) variables:

Apparent density of solid phase
Apparent density of fluid phase
Interaction apparent density
Effective density of solid phase
Effective density of solid phase
Effective density of fluid phase
Interaction effective density
Viscous damping coefficient
Coupling coefficient
Elastic coupling coefficient
   Biot formulation
   Approximation from
Bulk modulus of air in fraction volume
   Biot formulation
   Approximation from
Bulk modulus of porous material in vacuo
Bulk modulus of elastic solid
   est. from Hashin-Shtrikman's upper bound
Effective bulk modulus of air in pores
Function in (Champoux-Allard model)
Thermal characteristic frequency

To add here:

6.1.12  Heat equation

This section is based on an OpenFEM contribution by Bourquin Frédéric and Nassiopoulos Alexandre from Laboratoire Central des Ponts et Chaussées.

The variational form of the Heat equation is given by



Test case

One considers a solid square prism of dimensions Lx,Ly, Lz in the three directions (Ox), (Oy) and (Oz) respectively. The solid is made of homogeneous isotropic material, and its conductivity tensor thus reduces to a constant k.

The faces, , are subject to the following boundary conditions and loads

The problem can be solved by the method of separation of variables. It admits the solution

 θ(x,y,z) =−
 x2 + θext + 
 f Lx2
= 25 − 

The resolution for this example can be found in demo/heat_equation.

Figure 6.1: Temperature distribution along the x-axis

©1991-2024 by SDTools
Previous Up Next