When STRFLG=1, d3plot contains only 12 shell trains per time state:
epsxx, epsyy, epszz, epsxy, epsyz, and epszx for the innermost ipt and
epsxx, epsyy, epszz, epsxy, epsyz, and epszx for the outermost ipt.
"Mean" values of epsxx, epsyy, epszz, epsxy, epsyz, and epszx are calculated by LS-PrePost as (upper eps + lower eps)/2.
Principal strains and effective strain are calculated by LS-PrePost using the aforementioned epsxx, epsyy, epszz, epsxy, epsyz, and epszx values.
effective strain = sqrt(2.0*(epsxx^2+epsyy^2+epszz^2)/3.0 + (epsxy^2+epsyz^2+epsxz^2)/3.0)
Ticket#2015042310000215
__________________________________________________________________________
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.]
Most shell formulations are, by definition, plane stress elements, meaning local sig-zz is zero.
However, eps-zz can be and usually is nonzero.
Bearing in mind that transverse shear stresses and strains can be nonzero,
principal stresses and principal strains may not be in-plane.
LSPP allows the user to plot vectors of princ. stress, in-plane princ. stress, princ. strain, and
in-plane princ. strain.
The in-plane principal stresses (strains) are calculated considering only the in-plane stresses (strains),
including the in-plane shear stress (strain).
There are two appoaches that LS-PrePost uses for calculating principal strains in shells.
1.
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)
2.
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.
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)
History > Element > Lower surface principal strain (while in "Local" mode)
or, equivalently, use the following sequence of steps,
Range > Avg: None
Fcomp > FLD > lower eps1
History > Scalar > Lower surface eps1
Note:
** It seems that LSPP has been having a bug in calculating the in-plane principal strain since the 1st day, anyway, I just change the formula as what you mentioned below in LSPP4.5 dated 07Sep or later, this change is only applied to ELOUT file, you can play with it when one new update is available. I would apply the same change to the FRINGE subroutine if they match well with your experiment, thanks.
Kai Wang
Ticket#2017090610000039
____________________________________________________________________________
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.
___________________________________________________________
Of course, before you can do any of the above,
you MUST set the strain output flag STRFLG to 1 in the LS-DYNA input deck using
*database_extent_binary so that the strain tensor is written to the
d3plot and/or elout databases.
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).
As an alternative to Lobatto integration, LS-PrePost can use resultant
forces and moments to calculate STRESS (not strain) on the surface of a
cal' method gives you the in-plane principal strains.
shell (assuming linear elasticity). To invoke this feature,
choose one of the last six components listed under Fcomp > Result.
In the case of shells, setting STRFLG=1 in *database_extent_binary only
directs the code to dump strains at the uppermost and lowermost integration points.
But if you additionally set INTOUT="STRAIN" or "ALL" in *database_extent_binary, and
include *database_elout and *database_history_shell in your input, you'll get strains
at all shell integration points for the shells chosen via *database_history_shell.
Look for this detailed output in the "eloutdet" file.
See http://ftp.lstc.com/anonymous/outgoing/support/FAQ_kw/simple_cantilever_22_impl.k
for an example.
In d3plot, strain can only be written at the lowermost and uppermost integration points
and therefore fringe plots of strain at interior integration points are not possible.
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 misleadsing since it does NOT necessarily meet the condition
2nd prin strain > min principal strain and < max principal strain.
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 x and y axes are, by definition, in plane.
Strains from Fcomp > Infin are calculated by LS-PrePost using nodal coordinates
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.
Lastly, be aware the infinitesimal strain is affected by rotation of the element as illustrated by
ftp://ftp.lstc.com/outgoing/support/FAQ_kw/spinup.bar.expl_dr.k.
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.
jpd