Date: 2014-01-16 Modified: trunk/Vol_I_Keyword/PART_COMPOSITE.docx Log: Add new option PART_COMPOSITE8 Note: The COMPOSITE8 option in *element_shell changes the composite format to one layer per line so that the 5th field can be a ply ID. For each unique MID in *part_composite beyond the first MID, a "pcomp additional part" is internally created. You'll see these pcomp parts echoed in d3hsp. The part ID for each pcomp is automatically assigned using the first available unused part ID. http://ftp.lstc.com/anonymous/outgoing/jday/shell8.matmix.2partcomps.k provides an illustration. Two part IDs (1 and 2) are defined by the user using *part_composite. LS-DYNA then creates 6 pcomp parts with part IDs (3,4,5,6,7,8). followed by ... Author: Tobias Erhart Date: 2014-01-23 00:16:21 -0800 (Thu, 23 Jan 2014) New Revision: 4696 Modified: trunk/Vol_I_Keyword/ELEMENT_SHELL.docx trunk/Vol_I_Keyword/PART_COMPOSITE.docx Log: Replace *PART_COMPOSITE8 and *ELEMENT_SHELL_COMPOSITE8 by *PART_COMPOSITE_LONG and *ELEMENT_SHELL_COMPOSITE_LONG. ___________________________________________________________________ *ELEMENT_SHELL_COMPOSITE is a more general substitute for *part_composite that allows each element to have a unique layer stackup while sharing the same part ID with other elements. If you're using *element_shell_composite, the thickness given in *section_shell is ignored. The shell thickness comes directly from the *element_shell_composite input. If your User's Manual doesn't show "COMPOSITE" as an option under *element_shell, download newer pdfs from www.lstc.com/download/manuals. Note: Bug affecting contact by part IDs when *ELEMENT_SHELL_COMPOSITE is used is fixed starting at R7.1.1 (bug 8374). ________________________________________________________________ There is a composite building module in LS-PrePost (versions 4.1 and higher) to create *ELEMENT_SHELL_COMPOSITE. Take a look at Element Tools - Element Editing - Composite. The documentation for the Composite Module should already be present in the currently latest 4.1 version. A step-by-step tutorial which describes how to use it will be available within a few days. It will soon be found in the main menu Help -> Tutorial -> Model -> Model composite laminate with dropped plies. Anders 9/18/13 (in LSPP user group) ______________________________________________________________________ Regarding failure and materials that use NUMINT: For a normal case that uses *PART, when the first integration point is called, we set a flag equal to NUMINT. Then for each layer, we evaluate failure and subtract one from the flag for each layer that fails. If the flag value reaches zero, then the element fails. For the case of *PART_COMPOSITE, the behavior is no different. Because the first layer uses material 1001, the flag will be set to the NUMINT value of material 1001. The value of NUMINT for material 1002 is ignored. jk 8/10/11 ______________________________________________________________________ Revision 67809 Enabled *PART_COMPOSITE to work with material types 104, 108, 122, 133, 135, 137, 157, 223, 226, 229, 233, 234, 235, and 242. We were incorrectly writing a keyword error instead of allowing them. lpb 7/27/11 This change alters the following conclusion made on an earlier date... Only the following list of materials accept a material angle in PART_COMPOSITE. 21, 22, 23, 33, 34, 36, 40, 41-50, 54-56, 58, 59, 103, 116, 158, 194, 222. ub 3/23/10 __________________________________________ lpb on 2009-07-29 at 21:49:18 Revision 54571 Added *PART_COMPOSITE_TSHELL option. ____________________________________________ Reported bug on 10/10/08: *part_move incompatible with *part_composite. NLOC in *part_composite has no effect on contact surface when CNTC0 is set to 1 (should activate shell ref. surface offset in contact). Note: Two bugs above were fixed on 10/22/08 and 10/19/08, respectively. _____________________________________________ If thickness values are given via *element_shell_thickness, those thicknesses become the new total shell thickness as opposed to the sum of the integration point thicknesses specified with *part_composite. Each integration point thickness is scaled proportionally. Proof: See the example http://ftp.lstc.com/anonymous/outgoing/jday/shell8.lam22.partcomp.element_shell_thickness. This model runs two cases. "case9" uses *element_shell_thickness to set the total shell thickness to 9.0 whereas "case18" has just *element_shell and the total shell thickness fo 18.0 comes directly from *part_composite. Compare the mass in d3hsp, deflection, and integration point stresses in each case. Something to bear in mind is that shell formulations 2 and 16 are uniform thickness shells and so will use the average of the 4 thickness values given in *element_shell_thickness. ELFORMs 1 and 6 retain unique nodal thicknesses, i.e., these shells can act as tapered shells. _____________________________________________ An example utilizing *part_composite is attached (shell8.matmix.partcomp.k) and illustrates syntax. Though 4 different material models are used in this example of *part_composite, the material constants are set in each of the 4 material models so that each behaves elastically. This was done to make a direct comparison of displacement with an all *mat_elastic benchmark (shell8.all_mat_elastic.k). This example illustrates that the correct solution is given even when mat_002 (a total Lagrangian material model) is included in the mix. The older, but equivalent way of using mixing materials in a single shell via *integration_shell is illustrated by shell8.matmix.k The parameter FAILOPT in *integration_shell is evidently not implemented for *part_composite. (Internal note: ~/test/composite/*failopt*.k). See enhancement request 8526. In short, it says that behavior is hardwired to something akin to FAILOPT=0 and to please add a new variable FAILINT which is more general than FAILOPT and is defined as the number of through thickness integration points that must reach their respective material failure criterion in order to trigger element deletion. Extended this request to include *PART_COMPOSITE_TSHELL on 8/6/14. See ~/test/composite/shl_tshl.partcomp.failure. __________________________________________________________________________ Regarding orientation data in *MAT when multiple mats are used in *part_composite: The correct way to model this is to use the B1, B2 etc. angles on *PART_COMPOSITE. We pick up the AOPT and BETA angle from the first layer, or for the case where the first layer is isotropic, from the first aniosotropic layer. The other anisotropic layers use the same data as the first. In other words, all anisotropic layers have the same AOPT and BETA values. This is consistent with how we have treated material data in the past. There was a period of time between the time that I enabled general material type mixing and the time that I got it straightened out that LS-DYNA was picking up this data for each layer, but now it is back the way is was. lb 3/2009