FeResPost Web Site                     FeResPost Online User Manual

II.1.9.2 Calculation of plies stresses and strains

The calculation of ply stresses and strains from the laminate loads is easily accelerated. Indeed, let us consider a laminate loading corresponding to:

These quantities correspond to 16 real values that characterize entirely the laminate loading. For a given ply, the stresses can be calculated at a given height (z value) from these 16 real values. All the calculations are linear.

If one defines a vector with 16 components as follows:

LLdlam = ϵ0 lam κ lam M lam T 0 - Tref T,z H0 - Href H,z .

That contains all the laminate loading, there must be a matrix Kσ ply(zi) that allows to calculate ply stresses as follows:

σply(zi) = Kσ ply(zi) LLdlam.

Matrix Kσ ply(zi) is a 6 × 16 matrix that depends only on laminate definition. This means that this matrix can be calculated once and for all when laminate is created in the database.

Similarly one can also define matrices Kϵ ply(zi) and KϵMech ply(zi) for the calculations of ϵply(zi) and ϵMech ply(zi) respectively. We explain here, how these three matrices can be constructed.

II.1.9.2.1 Loading in ply axes

The first step of ply stresses or strain calculations consists in expressing the laminate loading in ply axes. The following operations are performed:

ϵ0 ply = T+ (ξ) ϵ0 lam,
κply = T+ (ξ) κlam,
τsj(z) ply = V j(z) plylam M lam.

The four real values corresponding to laminate temperature and moisture loading are not affected by the modification of coordinate system. The three relations above allow us to write the following equation:

ϵ0 ply κ ply τsj(z) ply T0 - Tref T,z H0 - Href H,z = T+ (ξ) [0] [0] 0000 [0] T+ (ξ) [0] 0000 [0] [0] V j(z) plylam0000 [0] [0] [0] 1000 [0] [0] [0] 0100 [0] [0] [0] 0010 [0] [0] [0] 0001 ϵ0 lam κ lam M lam T 0 - Tref T,z H0 - Href H,z . (II.1.103)

Note that the out-of-plane shear response is now expressed as out-of-plane shear stresses at the specified height in selected ply and no longer as laminate out-of-plane shear forces.

The strains, temperatures and moisture at height z in selected ply is easily obtained with the following expressions:

ϵply(z) = ϵ0 ply + z κply,
T(z) - Tref = T0 - Tref + zT,z,
H(z) - Href = H0 - Href + zH,z.

The combination of these three expressions in a single matricial expression gives:

ϵply(z) τsj(z) ply T(z) - Tref H(z) - Href = δ3 δ3 z[0]0000 [0] [0] δ20000 [0] [0] [0]1z00 [0] [0] [0]001z ϵ0 ply κ ply τsj(z) ply T0 - Tref T,z H0 - Href H,z . (II.1.104)

( δ3 and δ2 are 3 × 3 and 2 × 2 unit matrices respectively.) Then, considering equation (92), one writes:

σply(z) τsj(z) ply T(z) - Tref H(z) - Href = Cply[0] -Cply αply -Cply βply [0] δ2 {0} {0} [0] [0] 1 0 [0] [0] 0 1 ϵply(z) τsj(z) ply T(z) - Tref H(z) - Href . (II.1.105)

The vector at left hand side of expression (II.1.105) contains all the ply stress components. One can remove the two lower lines of the equation as follows:

σply(z) τsj(z) ply = Cply[0] -Cply αply -Cply βply [0] δ2 {0} {0} ϵply(z) τsj(z) ply T(z) - Tref H(z) - Href . (II.1.106)

Then, the components can be reordered as follows:

σmat(z) = σ11 σ22 σ33 τ23 τ13 τ12 (z) = 10000 0 1 0 0 0 00000 0 0 0 0 1 00010 0 0 1 0 0 σply(z) τsj(z) ply . (II.1.107)

One will also use:

σmat(z) T(z) - Tref H(z) - Href = σ11 σ22 σ33 τ23 τ13 τ12 T - Tref H - Href (z) = 1000000 0 1 0 0 0 0 0 0000000 0 0 0 0 1 0 0 0001000 0 0 1 0 0 0 0 0000010 0 0 0 0 0 0 1 ϵply(z) τsj(z) ply T(z) - Tref H(z) - Href . (II.1.108)

One uses (12) to estimate the strain tensor:

ϵmat(z) = ϵ11 ϵ22 ϵ33 γ23 γ31 γ12 (z) = cijkl αmat βmat σmat(z) T(z) - Tref H(z) - Href . (II.1.109)

The vector that appears in right-hand-side of the previous expression The so-called “mechanical strain tensor” is given by:

ϵmatMech(z) = ϵ11Mech ϵ22Mech ϵ33Mech γ23Mech γ31Mech γ12Mech (z) = cijklσmat(z). (II.1.110)

All the operations (II.1.103) to (II.1.110) reduce to matricial products. The characteristics of the matrices used in these operations are summarized in Table II.1.1. Two of these matrices are “re-ordering” metrices, and do not depend on the ply material or position accross laminate thickness. The other matrices depend on the ply material. Only two of the matrices depends on height z.


Table II.1.1: Summary of the matrices that have been defined for the acceleration of ply stresses and strains calculation.




Matrix Reference Size Dependence on








K1(II.1.103)12 × 16Ply angle, material and height z




K2(II.1.104)7 × 12 Height z




K3(II.1.105)7 × 7 Ply material




K4(II.1.106)5 × 7 Ply material




K5 (II.1.107)6 × 5




K6 (II.1.108)8 × 7




K7 (II.1.109)6 × 8 Ply material




K8 (II.1.110)6 × 6 Ply material





In the end, one writes:

σmat(z) = K5 K4 K2 (z) K1 (z) LLdlam, = Kσ (z) LLdlam. (II.1.111)

ϵmat(z) = K7 K6 K3 K2 (z) K1 (z) LLdlam, = Kϵ (z) LLdlam. (II.1.112) ϵmatMech(z) = K8 σmat(z), = K8 Kσ (z) LLdlam, = KϵMech (z) LLd lam. (II.1.113)

We have shown that if one wishes to calculate stresses and strains in plies from the laminate loading LLd lam, at the three “bot” “mid” and “sup” heights of laminate plies, one needs to calculate 3 × 3 = 9 matrices per ply. Each of the matrices has 6 × 16 size and depends only on the laminate definition. This means that these matrices can be calculated once and for all when laminate is defined.

Note that the acceleration matrices for the ply stresses and strains calculation must be re-estimated each time the laminate or one of its materials is modified. This is the reason why method “reInitAllPliesAccelMatrices” has been added to the “ClaLam” and “ClaDb” classes.

Finally, as usual, the out-of-plane shear calculation approach will influence the results, because the gradient of bending tensor can be calculated different ways:

The adoption of the first or second approach affects only the corresponding components of LLd lam vector. Matrices Kσ (z), Kϵ (z) and KϵMech (z) remain the same.