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:

{LLd}lam = { {ϵ0} lam {κ } lam {∇ ⁡M } lam T 0 - Tref T,z H0 - Href H,z } .

which contains all the laminate loading, there must exist a matrix [Kσ] ply(zi) that allows calculation of ply stresses as follows:

{σ}ply(zi) = [Kσ] ply(zi) ⋅ {LLd}lam.

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 the 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 stress and 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 the selected ply are 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] [δ2]0000 [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 } = [ [C]ply[0] - [C]ply ⋅ {α}ply - [C]ply ⋅ {β}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 } = [ [C]ply[0] - [C]ply ⋅ {α}ply - [C]ply ⋅ {β}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)

Expression (12) is used 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 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” matrices, and do not depend on the ply material or position across the laminate thickness. The other matrices depend on the ply material. Only two of the matrices depend 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

Finally, one can write:

{σ}mat(z) = [K5] ⋅ [K4] ⋅ [K2] (z) ⋅ [K1] (z) ⋅ {LLd}lam, = [Kσ] (z) ⋅ {LLd}lam. (II.1.111)

{ϵ}mat(z) = [K7] ⋅ [K6] ⋅ [K3] ⋅ [K2] (z) ⋅ [K1] (z) ⋅ {LLd}lam, = [Kϵ] (z) ⋅ {LLd}lam. (II.1.112) {ϵ}matMech(z) = [K8] ⋅ {σ}mat(z), = [K8] ⋅ [Kσ] (z) ⋅ {LLd}lam, = [KϵMech] (z) ⋅ {LLd} lam. (II.1.113)

We have shown that 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 compute 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 the 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 the bending tensor can be calculated in 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.