See also these documents: http://ftp.lstc.com/anonymous/outgoing/support/PRESENTATIONS/lsprepostcomposite.pdf . This includes slides addressing use of lines to orient orthotropic material directions (NEW!). http://www.dynamore.de/en/downloads/infodays/dokumente/2013-composites http://ftp.lstc.com/anonymous/outgoing/support/FAQ_kw/composites/part_composite_public http://ftp.lstc.com/anonymous/outgoing/support/FAQ/composite.models __________________________________________________________________ Do you plan to use ACP (Ansys Composite PrePost) to build the composite model? Also, do you want to stay inside Workbench Mechanical? To use brick elements, you may have to use LS-PrePost. reno Ticket#2021070110000132 ________________________________________________________________________________________ RE: Orient orthotropic material directions (general) I have now added Remove and Reverse of vector field in v4.6. Access it by right-clicking on the vector field item in the list. It works for both ElEdit-Direction and ElEdit-Composite. Anders 11/21/17 Summary: ElEdit - Composite is only for defining *ELEMENT_(T)SHELL_COMPOSITE (not solid elements). ElEdit - Direction lets you set the beta direction for SHELL_BETA and TSHELL_BETA and A and D vectors for SOLID_ORTHO. Anders LSPP user group 2/4/16 ---------------------------------------- In 4.2 version dated 22Feb or later, a new feature called "Align" in ElemEdit dialog is added which you can use to get consistent tshell/solid/shell element directions, all you have to do is just to pick a seed element(please note lspp will also determine the picked face and the edge that is close to the mouse is the one being used as N1-N2 when you pick the element), then Align->Accept, as shown in attached picture. You can have a try when you get a chance, BTW, the win64 version is already available on our ftp site. wangkai 2/23/14 ______________________________________________________________________________ RE: Orient orthotropic material in shell elements There are two ways to map the material direction in "ElEdit->Composite->Direction->Map": 1. One is to load the discrete vector from user-defined file whose format is: x1 y1 z1 vx1 vy1 vz1 x2 y2 z2 vx2 vy2 vz2 ... x/y/z are the starting coordinates of vector, vx/vy/vz are vectors, you don't need to pre-create the curve(s) with this way. 2. The other one is to pick one/multiple curves and then LSPP generates the discrete vector " x1 y1 z1 vx1 vy1 vz1" automatically from the curve(s) you pick, this way may be more general, a video is attached to show you how the map is supposed to work with this way, I just create one curve at the top of part in this video, you can try to create one more curve at the bottom of part, and then map the material angle with both curves. Anyway, the primary idea is to find out the closest starting point(x1 y1 z1) of discrete vector for each element center and apply corresponding discrete vector(vx1 vy1 vz1) for this element, which(I think) is quite powerful for users to orient the material angle, wangkai Ticket#2018051610000105 zip file attached ------------------------------------------------ Using a "dvm" file in LS-PrePost to map fiber direction in composite: The format of the .dvm file is: x1 y1 z1 vx1 vy1 vz1 x2 y2 z2 vx2 vy2 vz2 ... x/y/z are the starting coordinates of vector, vx/vy/vz are vectors. The primary idea is to find out the closest starting point(x1 y1 z1) of discrete vector for each element center and apply corresponding discrete vector(vx1 vy1 vz1) for this element. Feel free to contact me if something is NOT clear, thanks. wangkai Ticket#2018052210000201 --------------------------------------------------- ElEdit-Direction sets the beta angle on the *ELEMENT_SHELL_* keyword, so this sets the element direction. Note that the direction set here is a pure element property. If you want to modify the internal node order of the element; which node is node 1, which is node 2 and so on, then you should use ElEdit-Align. This also alters the element direction. Both theses options changes the element direction. Anders LSPP group 9/17/15 ----------------------------------- Right now, "elem edit->directions->orient" only change the element connectivity to make the element direction(N1->N2) match the seed element as well as possible, and does not try to create *ELEMENT_SHELL_BETA, which is not applicable to the model you are attaching. In order to handle this case, I try to add some codings in "ElemEdit->Composite->Direction->Map" so that LSPP 4.3(dated 25Jun or later) is capable of making these elements oriented well, the basic idea is: 1) create a curve to simulate the trend of element direction. 2) input command "elemedit composite beta 1" to tell LSPP that you want to create *ELEMENT_SHELL_BETA, currently one can only type the command manually, I may want to add the GUI in elem edit->directions->orient in future. 3) Apply. 4) go to "elem edit->directions" to check the element direction LSPP creates, if you think the direction would NOT be smooth enough, please go to "elem edit->directions->smooth" to apply the "smooth" trick. Attached demo is used to show you my operation steps, attached lspp_map.k is the result file LSPP created, circle.iges is the curve I created, let me know if it is ok for you, thanks. wangkai 6/24/15 3:00 am ElemDir.zip attached ----------------------------------------------------------- > Subject: Mapping of fiber orientation in composites > I am new to the field of composites in LS dyna I used Hypermesh so far to set up my model but I recently saw that there is the opportunity to model composites with the Ply based approach. > > Do you have an tutorial how to map the fiber direction on a ply using a file no a curve. The GUI of ls pre post needs to get a .dvm file. What is the format of such a file? I have now added support in LS-PrePost v4.3 for reading/writing and defining the element direction for the new *_BETA_*COMPOSITE. keywords. The BETA direction is set in ElEdit - Direction. Drawn as black arrow. The ply angle Bi, is set in ElEdit - Composite. An unmodified ply angle Bi is drawn as a red arrow. A modified ply angle Bi is drawn as a green arrow. The total angle BETA+Bi is drawn as a blue arrow. Anders Jernberg 6/2/15 ---------------------------------------- More on coordinate systems in shells: Ident > Element > Elem Dir shows the element coordinate system the way LS-DYNA sees it when writing output in the element coordinate system. N1-to-N2 is x. This is the coordinate system in which elout (shell) stresses are output if CMPFLG=0. When invarient node numbering is invoked with *control_accuracy, the INTERNAL element coordinate system used by LS-DYNA for assessing element rotation is far more complicated than simply N1-to-N2 is x. But as far as input and output goes, what I said is correct... the element coordinate system is N1-to-N2 is x, and z is the shell normal direction. Ident > Element > Mat Dir shows the material coordinate system the way LS-DYNA sees it... taking into account the element BETA angle (*element_shell_BETA), material orientation data from *MAT, and material integration point Bi angles. This the coordinate system in which elout stresses are output if CMPFLG=1. EleEdit > Direction is a tool for modifying the element BETA angle, e.g., EleEdit > Direction > Shell > Rotate. LSPP describes this as "Element orientation (default material direction) interface". It only seems to show the effect of BETA heaped on top of the element coordinate system. So it's neither the element coordinate system nor the material coordinate system but rather something inbetween -- what Anders calls the ELEMENT REFERENCE SYSTEM. See also ./shell_coordinate_systems. jd 1/9/14 __________________________________________________________________________ RE: Orient orthotropic material in solid elements When it comes to the solid element direction, you can work with those options under ElEdit->Direction->Solid to orient it, LSPP would automatically convert kwd from ELEMENT_SOLID(_ORTHO) to ELEMENT_SOLID_ORTHO to obtain the desired element direction based on the A and D vector. As for how to orient the material direction of solid element, you can refer to http://ftp.lstc.com/anonymous/outgoing/support/PRESENTATIONS/lsprepostcomposite.pdf OR the material section(*MAT_002) of DYNA manual DRAFT_Vol_II, the final material direction can be visualized in Identify dialog->Element->Mat Dir, thanks. WangKai 8/23/19 -------------------------------- Added option "Solid ortho" in the GUI for Output - Dynain ASCII. This option causes LSPP to write element_solid_ortho for all solid elements that are using orthotropic material. The A and D vectors are corresponding to the material directions for the output state. The rotation of the material system is rotated in the same way is it is done in LS-DYNA. That is, the effect of INN also considered. Anders Jernberg, 1/23/14, bugzilla 9262 (Must read in keyword input AND d3plot.) ----------------------------------------------- Defining material directions in orthotropic solids in shell-like structures: There is a "hidden" feature in LSPP (starting at v.4.3) which can be quite useful when defining material directions (A- and D-vectors) for shell-like structures which are to be modelled with solid elements. Say that the goal is to set A-vector as the main in-plane material axis, D-vector as the second in-plane axis and C (A x D) will hence be the "normal" direction to the shell-like structure. In this case, it is far from obvious how to do to align the A- and D-vectors, especially if the structure has a curvature. Up till now, it has been practically almost impossible to do this efficiently in LS-PrePost. The new "hidden" feature is that element orientation from a TSHELL_BETA will be transferred to the orientation of a SOLID_ORTHO element. So the "trick" is to define the element orientation on TSHELLs (where the normal direction is well defined) and then "Transfer" these elements in to SOLID_ORTHO. The link below is an animated gif which will show the procedure to set the element direction on TSHELL and Transfer these elements to SOLID_ORTHO and the A- and D-vectors will then be nicely aligned as the in-plane directions of the shell-like structure just as for the tshells. http://www2.dynamore.se/public/jernberg/tshell2solidortho.gif Anders LSPP user group 2/4/16 _______________________________________________________________________ RE: displaying plies in composite stackup (shells and tshells) I'm certainly open to an alternative (faster) approach for shells and tshells, as long as it reveals the thickness of each ply somehow in the displayed geometry. I'm not sure what you mean by "to draw only outer faces". Three decks are attached in which the same composite cantilever is modeled using shells, tshells, and solids, resp. The three solutions are in good agreement. With LSPP as it is now, only the solid model is able to convey the ply thicknesses in the displayed geometry. I DO like the fact that one can use Appear>Thickness for the shell and tshell models in order to see the through-thickness variation of stress. (Make sure View>Smooth Shade is checked and FriRang>Averaging: Nodal are on. Only d3plot is needed.) jd Ticket#2019052810000181 On 05/30/2019 11:10 AM, Anders Jernberg wrote: > > The composite layer visualization in Element_Edit-Composite is only for element_shell_composite(_long) . > Each integration point layer is drawn as a six-sided block so it is probably quite slow on large models or with many integration points. > > For general and faster visualization of composite layers, the drawing should preferably be done differently. Similar to Appearance - Thick, to only draw outer faces. I think the UI option should be placed under Appearance, next to the Thick option. > Anders and Philip, EleTol>ElEdit>Composite>Thickness>Thick Display>Apply in LSPP 4.7 works really well for displaying plies in the composite stackup when the model is using *ELEMENT_SHELL_COMPOSITE but does not work when using *PART_COMPOSITE or *ELEMENT_TSHELL_COMPOSITE. I didn't check *PART_COMPOSITE_TSHELL but I assume that doesn't work either. Examples are attached for illustration. Should I file an enhancement request for LSPP or have I overlooked something? jd Ticket#2019052810000181 _________________________________________________________________ RE: tshell thickness (Corrected for 6-noded tshells in in LSPP4.3 dated 23Aug2016 or later). Fringe for both total tshell thickness and Ith layer thickness are done in 4.3 version dated 06Aug or later as shown in attached screen snapshot. A few of notes I want to convey: 1): If you want to fringe the current layer thickness(Ith layer thickness) with the d3plot file, the input deck has to loaded so that the layer info is read in and listed in the listbox in ElemEdit->Check->Tshell. 2): The input thicknesses info come from the *part_composite_tshell , *element_tshell_composite or *element_tshell_ beta_composite. 3): If you are fringing the layer thickness, and want to switch back to fringe the "total tshell thickness", just click the "Deselect" button. Wangkai 8/5/15 This LSPP also has the ability to flag when actual thickness of tshells (as determined by the node-to-node dimensions) are not in accordance with the sum of the integration point thicknesses given in *part_composite_tshell. This capability is invoked in the new GUI as follows: Applications > Model Checking > General Checking > Keyword Check > ELEMENT > TSHELL Double left click on any non-greyed-out Warnings to bring up a explanatory window explaining the warnings. Ticket#2015071510000083 Examples: http://ftp.lstc.com/anonymous/outgoing/support/FAQ_kw/composites/misc_composite_tshell_examples.tar _______________________________________________________________ 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. LSPP v. 4.3 can write a text file of axes vectors. It is in the Ident menu of the new GUI. Load d3plot and keyword file or just the keyword file. In the Ident menu check 'Part and Mat Dir', pick a part with orthotropic material and it should display the direction of the 'a' vectors. Press 'Write MatAxes' button and the material vectors are written to the lspost.msg file. With the Mat Dir checked it also writes the element x-axis direction vectors after the material direction vectors are written. I'm in the process of adding the writing out for picked elements, at the moment it only outputs for picked parts. dw 6/9/15 --------------------------------------- To transfer from one *ELEMENT_SHELL_option to another, go to Model>Keyword>Element, left click on SHELL, and select" Transfer to" Also works for solids. __________________________________________________________________________________ There is a composite building module in LS-PrePost 4.2 to create *ELEMENT_SHELL_COMPOSITE. Take a look at EleTol > EleEdit > Composite To view the material direction, pick the part you want to inspect using the "PID" toggle. Switch to "Direction" radio button. Then, just select the ply in the list for which you want to inspect the material direction. _______________________________________________________ RE: dropped plies in composite shells and tshells Here's a brief explanation: In *PART_COMPOSITE_LONG and *ELEMENT_SHELL_COMPOSITE_LONG, PLYID isn't really used by LS-DYNA or LS-PrePost. Rather, we identify plies by their integration point number. Obviously, there is no plan to implement PLYID for tshells. The way to identify dropped plies is to set MIDi=-1 (that's negative one) and THICKi=0.0 in those integration points that are not physically present. Or alternatively, if the LONG option is used, set PLYIDi to a nonzero value and THICKi=0.0 in those integration points that are not physically present. The following note applies to shells and tshells. (Ticket#2017070610000211) When you postprocess, read both the keyword deck and d3plot database into LSPP version 4.5. Select Option > N/A gray fringe. Then, when you do fringe plots for a particular integration point (FriComp>IPt > intpt#), the element will be grayed out if the selected integration point is missing (or has zero thickness) in that element. A good example which includes *ELEMENT_(T)SHELL_COMPOSITE and compares shells and tshells side-by-side is here: http://ftp.lstc.com/anonymous/outgoing/support/FAQ_kw/composites/shells_and_tshells.zero_thickness_ply_approach.k More shell examples are available here: http://ftp.lstc.com/anonymous/outgoing/support/FAQ_kw/composites/misc_composite_examples.tar : laminate_rev_withload.k (*element_shell_composite approach) pippo*.k (*part_composite(_long) approaches) Refs: Ticket#2017070610000211 Ticket#2017050510000039 Ticket#2017031510000167 The dropped ply tutorial for LSPP was updated by Anders (see below) but is not yet available to the public (see email to shizhipeng@lstc.com in Ticket#2017031510000167). --------------------------------------------------------------- I have now updated the LSPP composite tutorial. I found a couple of things that had to be corrected in LSPP as well to make the tutorial to work properly. Only v4.5 supports the COMPOSITE_LONG option in ElEdit-Composite so to run the tutorial, an LSPP v4.5 with a version built after today's date has to be used. I have updated the html document and some images in the composite tutorial, but not the tutorial file itself (Tutor.zip on Linux and Tutor.chm on Windows). I attach the final "laminate.k" keyword file that is created after going through the tutorial. Hopefully, we now _finally_ have a way to show users how to proper model a composite laminate with dropped layers. If you have the time and interest, please go through the tutorial and see if some further improvements can be made or if everything is crystal clear now. Anders 3/20/17 Unfortunately, it's come to light that the LSPP tutorial I referred you to is not completely compatible with LS-DYNA. The tutorial will be modified shortly so that it follows the current behavior in LS-DYNA. Basically, what will change in the tutorial is this: 1. Add instruction to toggle the LONG option in ElEdit-Composite as THICK=0 will then be honored by LS-DYNA. 2. Remove assigning mat_null to non-existent ply as assigning MID for zero-thickness ply is unnecessary when using the LONG option toggle. When modeling ply dropoffs in the manner described above, use LS-DYNA version R10 or version dev with a revision number of 112237 or higher. I'm now going to reassign this ticket to the LSPP team as your problem may lend insight into how LSPP can be improved. jd Ticket#2017031510000167 -------------------------------- I have notes (bug 7806) that say that a ply is recognized as being dropped if it's assigned a zero thickness. LS-DYNA recognizes a zero thickness layer if 1. MID=-1 (in any *PART_COMPOSITE , *ELEMENT_SHELL_COMPOSITE card), or if 2. in ELEMENT_SHELL_COMPOSITE_LONG, if MID.ne.0 and PLYID.ne.0 With this we have no conflict with older inheriting behavior that my be in use by the one or the other customer. --------------------------------------------------- See Help > Tutorial > Model > Model composite laminate with dropped plies That tutorial is intended to show how to model composites using *element_shell_composite. If you don't see this tutorial, download the Tutor.zip file located under http://ftp.lstc.com/anonymous/outgoing/lsprepost/4.3/doc. Both the Tutor.zip and accompanying "Document.zip files should be extracted into the "resource/HelpDocument" subfolder under the folder where the LS-PrePost executable resides. ______________________________________________________