For the latest on laminated shell theory, please see parameter LAMSHT under *control_shell in
the latest DRAFT of the User's Manual at www.lstc.com/download/manuals.
Information in the above pdf would supercede what appears below if there is a discrepancy.
For a brief introduction to composites, see
http://ftp.lstc.com/anonymous/outgoing/support/FAQ_kw/composites/mat_comp.pdf
For assigning thickness, material model, and material orientation
angle to layers of a composite, see
*part_composite which is a far more straightforward alternative to
*part + *section_shell + *integration_shell.
For examples, see
http://ftp.lstc.com/anonymous/outgoing/support/FAQ_kw/composites/sandwich2.tar and
http://ftp.lstc.com/anonymous/outgoing/support/FAQ_kw/composites/shell8.matmix.partcomp.k
For shells of orthotropic/anisotropic materials, there are 3 coordinate
systems to consider: global, element, and material. BETA in
*element_shell_beta and the B1,B2,etc. angles in *section_shell affect only
the material coordinate system. The element coordinate system is
determined by the connectivity (N1-to-N2 is x; z is normal to the shell).
For more detail on coordinate systems, take a look at
http://ftp.lstc.com/anonymous/outgoing/support/PRESENTATIONS/orthotropic-materials-draft-mrj.pdf
You can view shell thickness and material orientation by reading the keyword input deck into LS-PrePost.
To render shell elements with their thickness represented, click Appear > Thick > All Vis. For you can fringe shell thickness using Fcomp > Misc > thickness.
For layer orientation, click Ident > Element > Mat Dir > All Vis.
An orientation triad is shown for a given layer (integration point).
To set the layer (intergration point) number (old GUI), use Setting > Axes/Surface > Surface: IntPt > Apply.
In the new GUI, the integration point number can be set directly in the Ident window.
For more on preprocessing of composites in LS-PrePost, see
http://ftp.lstc.com/anonymous/outgoing/support/FAQ_kw/composites/composite_preprocessing and
http://ftp.lstc.com/anonymous/outgoing/support/PRESENTATIONS/lsprepostcomposite.pdf .
___________________________________
Regarding output:
If CMPFLG=0 in *database_extent_binary (default):
d3plot database: stresses/strains are in the global coordinate system.
elout file: stresses/strains in shells are in the element local
coordinate `system (note the word "local" in the elout file).
N1-to-N2 is local x for shells. The shell normal is local z.
Note that BETA in *element_shell_beta does not affect output to elout and it
also does not affect fringe plots and time history plots, even when
when the user has toggled to the "Local" system in LS-PrePost.
If CMPFLG=1:
All stress and strain output for composite materials is in the
material coordinate system.
*********** NEW in LS-PrePost **********
LSPP 4.3 after 2015-11-17 (implemented by Anders Jernberg, Ticket#2015110210000036:
Changed "Glob/Loca" to "d3plot/Glob/Elem/Mtrl/User".
The first option, d3plot, will use the stresses directly from d3plot, no transformation performed by LSPP.
To use any of the remaining four options would require that the user loads the keyword file
because that is the only way to be sure that we make a correct transformation to these systems.
_____________________________________
If you get an error stating "illegal orthotropic data", see Section 18.7
of the 2006 Theory Manual, "Constraints on Orthotropic Elastic Constants".
You can download the Theory Manual from www.lstc.com/download/manuals .
Materials models dealing specifically with composites are:
22 *mat_composite_damage
54 *mat_enhanced_composite_damage [1], and
55 *mat_enhanced_composite_damage [1].
- implemented for solids starting with 971 R3.1
58 *mat_laminated_composite_fabric [1,7]
59 *mat_composite_failure(_shell, _solid)_model [1]
114 *mat_layered_linear_plasticity
- plasticity model that DOES use laminated shell theory
116 *mat_composite_layup
- does NOT use laminated shell theory (not good for foam core/sandwich composites)
- requires *integration_shell (allows each integration point to refer to a different set
of mat_2 constants)
- resultant formulation (no stresses calculated)
117 *mat_composite_matrix
118 *mat_composite_direct
- resultant formulation (no stresses calculated)
- 21 coefficients of stiffness matrix are input
- stiffness coefficients in 117 given in material coord system
- stiffness coefficients in 118 given in element coord system (less storage req'd)
158 *mat_rate_sensitive_composite_fabric
- like 58 but with rate effects via viscoelastic stress term
161/162 *mat_composite_msc
- solid elements only; suitable for delamination studies
- MSC is Materials Sciences, NOT McNeal-Schwindler
- requires special license add-on
213 *mat_composite_tabulated_plasticity
- UNDER DEVELOPMENT AT ASU
215 *mat_4a_micromec
- anisotropic composite materials, especially for short (SFRT)
and long fiber thermoplastics (LFRT)
219 *mat_codam2
- solids, shells, tshells
- from Univ. of British Columbia
- sub-laminate-based continuum damage mechanics model for fiber-reinforced
composite laminates made up of transversely isotropic layers
- non-local averaging option
221 *mat_orthotropic_simplified_damage
- solids only
236 *mat_scc_on_rcc
- simulates silicon carbide coating on Reinforced Carbon-Carbon (RCC), a
ceramic matrix and is based upon a quasi-orthotropic, linear-elastic, plane-stress model.
Additional constitutive model attributes include a simple (i.e. non-damage model based)
option that can model the tension crack requirement: a “stress-cutoff” in tension. This
option satisfies the tension crack requirements by limiting the stress in tension but not
compression, and having the tensile “yielding” (i.e. the stress-cutoff) be fully recoverable –
not plasticity or damage based.
249 *mat_reinforced_thermoplastic
- describes a reinforced thermoplastic
composite material. The reinforcement is defined as an anisotropic hyper-elastic material
with up to three distinguished fiber directions. It can be used to model unidirectional
layers as well as woven and non-crimped fabrics. The matrix is modeled with a simple
thermal elasto-plastic material formulation.
261 *mat_laminated_fracture_daimler_pinho
- solids, shells, tshells
- dev only for now
- orthotropic continuum damage model for laminated fiber-reinforced composites
262 *mat_laminated_fracture_daimler_camanho
- solids, shells, tshells
- dev only for now
- orthotropic continuum damage model for laminated fiber-reinforced composites
293 *mat_comprf (new in R10, see article in www.lstc.com/new_features)
models the behavior of pre-impregnated (prepreg) composite fibers during the high temperature
preforming process. In addition to providing stress and strain, it also provides warp and weft
yarn directions and stretch ratios after the forming process. The major applications of the
model are for materials used in light weight automobile parts.
Notes:
1. The paper "Crashworthiness Analysis with Enhanced Composite Material
Models in LS-DYNA - Merits and Limits", Karl Schweizerhof et al, 5th International
LS-DYNA User's Conference (1998) provides some insight into several
composite material models in LS-DYNA, including mat_54, mat_58, and mat_59.
This paper can be downloaded
(http://ftp.lstc.com/anonymous/outgoing/support/PAPERS/crash_composites_paper.pdf).
There are some typos in the paper, summarized as follows:
1. There are two negatives in the exponent in equation 5. Only one
is needed as the exponent is supposed to be negative. Also, the condition
on beta should be beta > 1 and not b > 0.
2. The multiplier at the tail end of Eq. 5 should be written
as (epsi * Ei), not epsi/Ei.
3. Figure 2: Caption should read "..., (b) DFAILT = 0.03"
2. A set of examples that include mat_22 and mat_114 and which
illustrate *integration_shell are assembled in
http://ftp.lstc.com/anonymous/outgoing/support/FAQ_kw/composites/sandwich.tar.gz
The tar file contains the following:
readme
shell8.k
shell8.lam22.k
shell8.mat114.k
solid8.k
sandwich.gif
3. See also notes in the text files sandwich_composites and orthotropic_materials.
4. Stresses (and strains) will be written in the material coordinate system rather than
the global coordinate system if CMPFLG (and STRFLG) is set to 1 in *database_extent_binary.
5. Simulation of delamination between layers (see also text file
http://ftp.lstc.com/anonymous/outgoing/support/FAQ_kw/composites/delamination_public):
One approach would be to model a layer of shell or solid
elements for each composite layer and bond the layers with a tiebreak contact, e.g.,
*contact_automatic_one_way_surface_to_surface_tiebreak with OPTION 6,7, or 9 (solids)
or OPTION 8,10, or 11 (shells).
While tied contacts with failure (tiebreaks) between
shell layers don't fully represent the true mechanics of delamination,
they do perhaps offer a first-order approximation.
Often, tiebreaks will trigger a nonrealistic chain reaction of failure
(an 'unzipping') which can be tempered with mass damping or stiffness damping.
Moreover, delamination is dependent on sig-zz and thus our shell elements in v. 970 aren't
well suited to prediction of delamination (sig-zz is zero in plane stress shell formulations).
In v. 971, the exceptions are shell formulations with thickness stretch (25,26,27).
These new 'thickness-stretch' shell formulations are still somewhat experimental and their
application in successfully predicting delamination is, as far as I know, unproven.
For more on shells with thickness stretch, see Note 1 below.
Mat_022 and mat_059, when used with solid elements,
include a delamination failure criterion.
Mat_161 offers delamination prediction using solid elements.
As an alternative to the aforementioned tiebreak contact, cohesive elements can be used to model
the bond between layers of elements representing laminae.
Dr. Tabiei has developed his own micro-mechanics-based composite material models which include
delamination effects. None of these models are currently included in LS-DYNA.
Dr. Tabiei has developed a two-day short course on Composite Modeling which is given
periodically at LSTC in Livermore. Consult www.lstc.com for a class schedule.
Dr. Tabiei can be contacted at atabiei@aol.com to arrange for on-site instruction
or consulting.
6. A number of references on modeling of composites can be downloaded from www.dynalook.com.
Just use the search feature on that website.
7. Regarding mat_58:
- The rate at which tensile stress decreases relative to increasing strain
is dependent on ExxT, the strain at tensile strength.
The greater the value of ExxT, the more gradual the stress decrease.
See element 1 in http://ftp.lstc.com/anonymous/outgoing/support/FAQ_kw/composites/m58.k
- For mat_058 with rate effects, see mat_158.
- ERODS is the Maximum effective strain for element layer failure.
A value of unity would equal 100% strain.
The latest version of the User's Manual states:
ERODS.GT.0.0: fails when effective strain calculated assuming material is
volume preserving exceeds ERODS (old way).
ERODS.LT.0.0: fails when effective strain calculated from the full strain
tensor exceeds |ERODS|.
To elaborate just a bit:
When ERODS.GT.0.0,
ERODS is evaluated against a scalar strain computed from the two in-plane normal strains and the in-plane shear strain.
The three values of strain that go into its computation are available for output as extra history variables 10, 11, and 12.
scalar strain = 2/sqrt(3) * sqrt[ 3*((eps1+eps2)/2)2 + ((eps1-eps2)/2)2 + eps42 ]
where
eps1 = hist var 10
eps2 = hist var 11
eps4 = hist var 12 = engineering (not tensorial) shear strain
In version 971, this scalar strain value is history variable #15.
To get 15 extra history variables written to d3plot, you'd need to set NEIPS=15 in *database_extent_binary.
When ERODS.LT.0.0,
abs(ERODS) is evaluated against a scalar strain that is closer to the traditionally defined effective strain which accounts for the through thickness strain and transverse shear strains. This option was added in response to the observation that history var#15 (see above) was not in close agreement with "effective strain" as plotted by LS-PrePost and this bothered some people.
When the effective strain at an integration point exceeds ERODS, that integration point
fails and ceases to carry stress.
The element is not deleted until ALL integration points have failed.
(see all*bend.k in http://ftp.lstc.com/anonymous/outgoing/support/FAQ_kw/composites)
Whether ERODS is set negative or positive, it will be in the ballpark of classic effective strain as described in the literature. My 2 cents is that a failure criterion based on any scalar strain quantity can offer only an ad hoc approximation of real failure. If you're uncomfortable with using ERODS as a failure criterion, set it to a very large value so as to disable it. There are several strain-based failure criteria you can optionally invoke using *mat_add_erosion.
8. Regarding what's available as extra history variables in mat_059 (shells)...
hist variable # variable name in subroutine
"plastic strain" = ef (tensile fiber mode)
1 = ec (compressive fiber mode)
2 = em (tensile matrix mode)
3 = ed (compressive matrix mode)
6 = efail
7 = dam (damage parameter)
9. Models of single shell elements comparing mats 2,22,54,55,58,59 are in
http://ftp.lstc.com/anonymous/outgoing/support/FAQ_kw/composites (see files allin1_ortho*.k).
10. All strengths, including compressive strengths, should be input as positive for
materials 22, 54, 55, 58, and 59.
11. http://www.dynasupport.com/howtos/material/history-variables provides a table of
extra history variables avail. for a few LS-DYNA material models, including some of the
composite material models mentioned above.
12. See http://www.dynasupport.com/howtos/material/history-variables for a table showing
some of the extra history variable available for some of the material models in
LS-DYNA.
______________________________________________________________
Q: When using composite laminates , which variable should I postprocess to see
if a ply has failed.
A: It would depend on the material model. For mat_54, the extra history variables
corresponding to failure are spelled out in the User's Manual. Set NEIPS to the
number of extra history variables you wish to write (see *database_extent_binary).
Again, using the example of mat_54, you would want to set NEIPS to 6 and MAXINT to
the numer of through thickness integration points if you wanted to monitor all the
history variables from ef to dam for all the lamina. In LS-Prepost, these history
variables are just referred to as history var#1, #2, etc.
_____________________________________________________
Q: Is it correct to say , only when all the plies fail the element fails ?
A: All the integration points must fail before the element is deleted.
_____________________________________________________
Q: When using a composite material model that includes failure, e.g.,
mat22, 54, 55, 58, 59, do I input material data of a single ply or of the
whole stackup of plies?
A: These material models assume that
the elastic constants and strengths are derived from a single layer in which fibers all run in the same
direction (or same 2 orthogonal directions in the case of modeling fabrics with mat58). The number of
layers is determined by the number of integration points. The orientation of each layer comes (typically)
from the BETA angles given on card 3 of *section_shell.
Unfortunately, if you only have properties for the preassembled stackup consisting of mulitple layers,
the failure models aren't really applicable because the model doesn't know the orientation of your
fibers.
_________________________________________________________
See also a collection of informal notes in the following text files, located in
http://ftp.lstc.com/anonymous/outgoing/support/FAQ_kw/composites ...
mat58
mat54_mat55_condensed
mat59
__________________________________________________________
NOTES:
1. Regarding shells with thickness stretch, see
http://ftp.lstc.com/anonymous/outgoing/support/FAQ_kw/shell_25_26.pdf from Thomas Borrvall.
In v. 971, shell formulations with 'thickness stretch' are 25 (Belytschtko-Tsay, underintegrated),
26 (fully integrated), and 27 (triangular).
These formulations calculate a 3D stress state and use extra 'scalar' nodes
to store 2 additional DOF for the linear variation of strain through the thickness
(see Remark 7 under *section_shell and *element_shell_DOF, and *node_scalar in the 971 Users Manual).
Actually, the code will automatically create the extra scalar nodes if Card 2 of
*element_shell_DOF is left blank.
For an example wherein shell formulations 25 and 26 are crushed in the thickness direction, see
http://ftp.lstc.com/anonymous/outgoing/support/FAQ_kw/squeeze_thickness_stretch_shells.k
As a preferred alternative to shell formulations 25 and 26, use shell formulation
2 or 16 and set IDOF=3 in *section_shell. Shell formulations 2 and 16's
thickness strain is them governed by the contact stress,
meaning that the strain is adjusted for the through
thickness stress to equilibrate the contact pressure.
If IDOF is not set to 3, local z-stres in shell formulations 2 and 16 is zero.
jpd