Our website uses cookies. By using the website you agree ot its use. More information can be found in our privacy policy.

Shell Strain


Whereas through-thickness strain of shells is always computed, change of thickness is NOT calculated by default. ISTUPD in *CONTROL_SHELL controls only whether the shell thickness is updated in accordance with the through-thickness strain. By setting ISTUPD to 1, change of shell thickness is activated. Shell thinning may be important in applications where shell stretching is prominent -- this is NOT the case in the majority of impact simulations while it IS important in metal forming applications. In crash analysis, we recommend ISTUPD be left as zero (no change in thickness) for several reasons. For one, it's cheaper and secondly, shell thinning is generally not an important effect. Lastly, dynamic simulations may be somewhat less stable with shell thinning turned on.  

[Version 971 update: A new parameter PSSTUPD in *CONTROL_SHELL identifies which parts are affected by the ISTUPD parameter. This allows some parts to include shell thinning and others not. Also, a new thinning option, invoked by setting ISTUPD=4, is available for isotropic, elasto-plastic materials. This new option should be more stable than ISTUPD=1 since elastic strains are neglected in the thickness update.]

Shells are, by definition, plane stress elements. Whereas two of the three principal STRESS directions are in the plane of the shell, that's not always the case when dealing with the principal STRAIN directions. The principal strain directions are calculated taking into account all 6 components of strain.

To write the strain tensor to the d3plot and/or elout databases, you MUST set the strain output flag STRFLG to 1 in the LS-DYNA input deck using *DATABASE_EXTENT_BINARY.


There are two approaches that LS-PrePost uses for calculating principal strains in shells. 

  • The 'global' method takes into account all 6 components of strain. The following LS-Prepost buttons utilize this method: 

     Vector > Prin. strain

     Fcomp > Strain > L-surf max-prin strain (while in "Global" mode)

     History > Element > Lower surface principal strain  (while in "Global" mode)

  • The 'local' method gives you the in-plane principal strains. The two in-plane principal strains are computed by LS-PrePost by first transforming the six global components of strain to the local element system. Then, using ONLY the three in-plane components of local strain, one of which is the in-plane shear strain, the two in-plane principal strains are derived.


Visualization of principal shell strains by LS-Prepost 

  • In LS-PrePost, you can create vector plots of in-plane principal strain using Vector > P. Inplane strain.
  • To create fringe plots of in-plane principal strain, use Fcomp > FLD > lower eps1 or, equivalently, Fcomp > Strain > L-surf max-prin strain   (while in "Local" mode).
  • To create history plots of in-plane principal strain, use History > Element > Lower surface principal strain (while in "Local" mode) or, equivalently, use the following sequence of steps,

     Range > Avg: None

     Fcomp > FLD > lower eps

     History > Scalar > Lower surface eps1

  • Keys to understanding the strain output:
    1. Use the Setting button to select the through-thickness location before plotting In-plane strain vectors via the Vector button.
    2. The in-plane principal strains are labeled as max principal and min principal in Fcomp > Strain and History > Element when "Local" is toggled on. Through-thickness strain appears as 2nd principal. This convention is somewhat misleading since it does NOT necessarily meet the condition 2nd prin strain > min principal strain and < max principal strain.



Maximum in-plane (tensorial) shear strain is  gamma/2 = (eps1 - eps2)/2. In other words, tensorial shear strain is half the engineering shear strain. You can get a time history of maximum in-plane shear strain by plotting histories of eps1 and eps2 on the same plot and then using the "Oper" button to subtract the eps2 curve from the eps1 curve.  Then use "Scale" to scale the ordinate value by 0.5.

Be aware that the strain values stored in the databases correspond to the upper and lower integration points, not the actual upper and lower surfaces of the shell (unless you've placed integration points on the surface by way of *INTEGRATION_SHELL or have specified that Lobatto integration be used via *CONTROL_SHELL). Alternately, LS-PrePost can use resultant forces and moments to calculate stress on the surface of a shell (assuming linear elasticity).  To invoke this feature, choose one of the last six components listed under Fcomp > Result.

A final note -- it is not proper to extrapolate principal strains from integration points to the surface; extrapolation is only appropriate for the six components of the strain tensor. You can plot the six components of strain in either the global coordinate system (default for d3plot data) or the element local coordinate system (default for elout data; also available from d3plot data by selecting "Local" in the postprocessor).  The advantage of working with strains in the local element system is that the x and y axes are, by definition, in the plane of the shell.

Strains from Fcomp > Infin are calculated by LS-PrePost using nodal displacements and thus are only an approximation. The greater the displacements, the worse the approximation.  Furthermore, strains acquired in this manner would not take into account any variation of strain through the thickness of the  shell. In constrast, the tensorial strains stored in d3plot and elout (when STRFLG=1) are calculated directly by LS-DYNA and are thus accurate for large displacements and give the variation of strain through the shell thickness.