For the latest on laminated shell theory, please set parameter LAMSHT under *control_shell in the 971 Users Manual pdf dated May 2010 or later. Information in the above pdf would supercede what appears below if there is a discrepancy. See http://ftp.lstc.com/anonymous/outgoing/jday/composites/mat_compos.ppt. Errata: - Change "*hourglass, ITYPE=-1" on p. 21 to "*control_bulk_viscosity, TYPE=-2". - Replace slides 5 and 6 addressing invarient node numbering with http://ftp.lstc.com/anonymous/outgoing/jday/composites/invar_node_numbering_from_stefan.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/jday/composites/sandwich2.tar and http://ftp.lstc.com/anonymous/outgoing/jday/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). Regarding output, if CMPFLG in *database_extent_binary is 0.0 (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 alter the definition of the element coordinate system for output to elout nor for the "Local" system invoked in LS-PrePost, e.g.,Fcomp > Local and History > Local. If CMPFLG=1: All stress and strain output for composite materials is in the material coordinate system. 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 *mat_composite_msc - solid elements only; suitable for delamination studies - MSC is Materials Sciences, NOT McNeal-Schwindler - requires special license add-on 219 *mat_codam2 - solids, shells, tshells - from Univ. of British Columbia - non-local averaging option 221 *mat_orthotropic_simplified_damage - solids only 234 *mat_viscoelastic_loose_fabric 235 *mat_micromechanics_dry_fabric - shells - loose woven fabric (no resin/matrix material) 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/jday/composites/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/jday/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/jday/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. 8-noded cohesive elements are available in v. 971. These elements can be used to model the bond between laminae. See the file "cohesive" for details. 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. For 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/jday/composites/m58.k For mat_58, the scalar quantity "effective strain" which is evaluated against the failure strain ERODS appears to be computed from 2 in-plane normal strains and the shear strain. This is not equivalent to the "effective strain" available for output in LS-PREPOST which is computed from the 6 global strain components. The 3 values of strain that go into computing the internally calculated effective strain for mat58 are available for output as extra history variables 10, 11, and 12 with 12 being the shear strain. In version 971, this scalar strain value is available directly as history variable #15. Some background/commentary on derivation of this scalar strain is given in mat58_ERODS_commentary (available on request; contact jday@lstc.com) *** UPDATE *** Tobias, Revision 60008 Update for *MAT_058. When ERODS<0 is chosen, then another effective strain is calculated, which is closer to the real effective strain. *** END UPDATE *** To write 'extra' history variables to d3plot, use NEIPS in *database_extent_binary For mat_058 with rate effects, use mat_158. 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/jday/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. ______________________________________________________________ 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/jday/composites ... mat58 mat54_mat55 mat59 __________________________________________________________ NOTES: 1. Regarding shells with thickness stretch, see http://ftp.lstc.com/anonymous/outgoing/jday/shell_25_26.doc from Thomas Borrvall. For a more in-depth document (with validation results), see http://ftp.lstc.com/anonymous/outgoing/jday/E0459.doc 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/jday/squeeze_thickness_stretch_shells.k jpd