The "Fiber Dir" was added by Wang Kai about a year ago and from looking at the code I would say that it works like this:
It is only available for mat 234 and 235. The keyword file has to be read in together with d3plot.
The first two history variables for the elements contains two angles (in degrees). Meaning that you have to output at least two history variables to d3plot to make it display the fiber directions.
The main material direction (material x-direction) is defined as a wrote in previous mail.
The first fiber direction is formed by taking the material x-axis and rotate this vector histvar[0] degrees about the shell normal. The second fiber direction is almost the same but rotates histvar[1] degrees about the shell normal.
regards,
Anders
2/10/16
The material system which is displayed in LSPP is always orthogonal. Its orientation is initialized at t=0 based on the keyword data and rotates in the same manner as the element system rotates in LS-DYNA. That is, it rotates a bit different depending on the value on INN on control_accuracy. This is the material system which is used for all hypoelastic material models in LS-DYNA.
If, however, a hyperelastic material model is used, a total strain/deformation is computed and in this case the material coordinate system will follow the material (not the same as the element system). This means that the material axis will not necessarily be orthogonal in a deformed state. This situation is not considered when displaying the material system in LSPP. As a side note, I can mention that if the stress tensor is written in material system to d3plot (CMPFLG), it will be in the system displayed by LSPP, even for hyperelastic materials.
regards,
Anders
www.dynamore.se
2/8/16
Ticket#2016020510000019
Refer also to
http://ftp.lstc.com/anonymous/outgoing/support/PRESENTATIONS/orthotropic-materials-draft-mrj.pdf
________________________________________________________________________
Element coordinate system and invariant node numbering.
Shell elements stress update calculations in LS-DYNA are done in a local
element coordinate system, not the global coordinate system. By default,
the local x-axis is aligned with the 1-2 edge.
The default element system therefore implies that that the material is
tied to and rotates with the 1-2 edge of the element. For
anisotropic material, this can cause elements to deform to some
nonphysical low energy modes.
Think of a uniaxial tension test with the strong material direction
aligned with the test specimen. If this test was meshed
such that the 1-2 edge of any element was along the weak axis of the
material (transverse to the load direction), it is likely that the
element would deform such that 1-2 edge rotated to the load direction so
that the element energy would be lower. This of course would twist
and stress other elements which might increase their energy, so the
1-2 edge may not rotate very far, but since any finite rotation is
wrong, we would have a bad analysis and an ugly mesh.
The invarient node numbering option (see *control_accuracy) uses a different
averaging method to determine the element system x-axis.
The method is this: two vectors, eta and mu, are defined in the plane
of the shell by connecting the midside points of opposite shell edges.
In other words, eta bisects the element in one direction and mu bisects
the element in the 'other' direction. Halfway between eta and mu is a
vector we'll call eta+mu (b1 in Stefan's ppt). The element x-axis is 45 degrees to one side
of eta+mu while the element y-axis is 45 degrees to the other side of
eta+mu. In a rectangular element, the element x is thus parallel to the
N1-N2 edge. The x-axis is usually not aligned exactly with the
N1-N2 edge for non-rectangular elements.
The invariant node
numbering option defines a local element system that rotates by exactly
90 degrees when an element is renumbered such that node numbers 1,2,3,4
are changed to 2,3,4,1. i
An obvious advantage of this approach is that the mesh and material
behavior is independent of the way that the elements are numbered.
The element coordinate system rotates consistently
during in-plane shear and hourglass deformation so that behavior is consistent
for direction dependent anisotropic materials.
Perhaps more important, the likelihood that the
material will deform into a non-physical low energy modes is reduced.
While the invariant node numbering option is not perfect,
it seems to consistently give better results for anisotropic material.
The invariant node numbering option is available for shell element formulations
1, 2, 5, 7, 9, 10, 11, and 16. It is not available for 3, 4, 6, or 8.
In LS-Prepost, the term "Local" refers to the shell element local coordinate system. This system is
determined from the element connectivity, not from some coordinate system defined in the input deck.
The node1-to-node2 vector (N1-N2), is the local x-direction, the local z-direction is normal to the
shell (cross product of N1-N2 and N1-N4), and the local y-direction is the cross product of z and x.
________________________________________________________________________
Defining the material coordinate system.
For shell elements of anisotropic material, there are 3 options for
defining the initial direction of the material axes, AOPT=0, 2, and 3
(see *mat_optiontropic). During the solution, the element coordinate
system rotates and transforms with the element, so the angle between
the element system and material system can be assumed to remain
constant. In other words, the material direction is constantly updated
as the element rotates and deforms. It is therefore sufficient to
define the material coordinate system in the undeformed geometry.
For this discussion, the material coordinate system will be called the
a-b-c system to be consistent with the user's manual. For shell
elements, the c-axis coincides with the element normal, the a-axis is in
the plane of the shell, and the b-axis is determined by the cross
product, b=c x a. Actually, for warped elements, the a-axis is not
exactly in the element plane, but is projected along the c-axis such
that it is orthogonal to c. This projection is also done for the
local element system, so a simple 2D transformation between the two
systems is possible.
For reasons discussed in the last paragraph, the three available shell
element options for defining the a-b-c system boil down to defining the
a-axis.
For AOPT=0, the a-axis is assumed to be equal to the local element
system x-axis.
For AOPT=2, the a-axis is defined as the user defined vector 'a',
projected onto the surface of the element. Note that the user defined
vector 'd' is not used at all. Also, note that the user defined vector
'a', is not equivalent to the a-axis of the material unless 'a' is
orthogonal to the element normal.
For AOPT=3, the a-axis is defined by the cross product of a user defined
vector 'v' with element normal, ie. a = v x c. Given the same user
defined vector, AOPT=3 defines a material coordinate system that is
rotated exactly 90 degrees from coordinate system defined by AOPT=2.
________________________________________________________________________
Date: 2013-03-22 16:12:34 -0700 (Fri, 22 Mar 2013)
New Revision: 2956
Modified:
trunk/Vol_I_Keyword/ELEMENT_SHELL.docx
Log:
Improve the documentation of the BETA keyword option of *ELEMENT_SHELL. Also explain how inputting beta=0 behavior has changed with a bug fix.
------------------------------------------------------------
*** NOTE (taken from email to _____ on 11/27/00) ***
When *element_shell_beta is used with an orthotropic material, the material
axes as defined by the AOPT option in the material input are rotated by the
element PSI angle to get the reference direction for the element. The
material axes for the element integration points are then rotated by the
integration point beta angles in *section_shell.
In summary, AOPT, PSI in *element_shell_beta**,
and the integration point beta angles go into defining the material
directions at each integration point. The 970 User's Manual is incorrect in
saying that PSI is always measured from the N1 to N2 axis.
See Remark 6 under *element_shell in the 971 User's Manual for a more complete explanation.
(See ftp://ftp.lstc.com/outgoing/support/FAQ_kw/composites/mat54.matl_angle_check.k)
**Nonzero PSI in *element_shell_beta overrides BETA in mat_002 and MANGLE in mat_054/55.
(See ftp://ftp.lstc.com/outgoing/support/FAQ_kw/composites/mat54.aopt3.k and mat54.aopt2.k)
BETA is *element_shell_beta (formerly called PSI in older Manuals) is applied
even when AOPT=2 (can illustrate by looking a spcforc data from mat54aopt2.k)
________________________________________________________________________
Using beta angles to rotate the material coordinate system.
A beta angle allows the user to reorient the material coordinate system
by rotating it about the normal direction vector by some angle, beta.
When using materials 22, 23, 33, 34, 36, 41-50, 54, 55, 56, 59, and 103,
the user may define one beta angle for each layer of the element (at
through thickness integration points) using the ICOMP flag and the B1,
B2 etc parameters of *section_shell. A single beta angle may be defined
for each element using the BETA option of *element_shell. Beta angles
are summed if defined in both places.
For materials 2, 21, 86 and 117, a default beta angle for all elements may
be defined using the material's beta parameter if the material coordinate
system is defined using AOPT=3, but not for AOPT=0 or AOPT=2. The BETA
option for *element_shell overides the default value. The ICOMP flag of
*section_shell cannot be used with these materials, so they are not as
easy to use for layered composites.
Using the BETA option of *ELEMENT_SHELL, arbitrary material orientation
for any geometry can theoretically be defined. However, there is no
obvious way to automatically generate the correct beta angles. These
angles most likely need to be calculated by hand, or possibly by a
customized program if an equation can be written to describe the
material direction throughout the domain or subdomains.
Regarding MCID option (Lee Bindeman, 6/26/09):
I just changed the behavior of MCID option of *ELEMENT_SHELL for R4_53907, R4.2.1_53908, and R4.2_53910. This was necessary to fix a bug and to make it a useful option.
The idea of MCID is that a shell element that uses anisotropic material can point to a coordinate system which will be used as the material coordinate system for that element. However, the implementation was not correct until my updates.
First, there was bug that caused the material system to be wrong about half the time. Second, there was logic error that caused the rotation angle from the element system to the MCID system to be added to the rotation angle from the element system to the material AOPT system as if it was an added BETA angle. In fact the user's manual description for MCID suggests this behavior.
In versions going forward, MCID has been made consistent with similar options in Nastran and other codes. Any element that points to a MCID system will have it's material system aligned with that system. If the MCID system z-axis is not normal to the shell, then the MCID x-axis is projected onto the shell element to become the material a-axis and the b-axis calculated by the cross product of the element normal and the a-axis. The AOPT option of the material will be ignored for these elements. As before, the beta rotation angles in the section data will be applied to each layer.
________________________________________________________________________
Element stress output in the material coordinate system.
To output stress and strain values of anisotropic materials in the material
coordinate system, set the CMPFLG to 1 (see *database_extent_binary).
This flag effects the output of shell, solid, and thick shell stresses
to the ascii ELOUT file as well as the binary D3PLOT files.
________________________________________________________________________
For orthotropic materials, AOPT only goes into establishing the initial material
coordinate system. It has no effect on how the material coordinate
system is updated through time.
With the exception of material type 2 which uses a total Lagrangian formulation, <---- ???????
the material coordinate
system is updated based on the rotation of the element coordinate
system. This can be a real problem for solid elements which
shear/distort badly in that the material coordinate system is largely
influenced by the element connectivity (except that INN can be set to 3 or 4 in *control_accuracy
in v. 970 to invoke invar. node numbering for solids). For shell elements, the
dependence of material direction on element connectivity is eliminated
by flagging invarient node numbering with *control_accuracy.
By default, the local element system is:
x is along node1-to-node2;
y is orthogonal to x and in the plane of (node1, node2, node4); for shells;
z is along the shell normal.
Again, to make the local element coordinate system insensitive to the order of the nodes in the
element connectivity, invoke invarient node numbering by setting
INN = 2 (shells) or INN = 3 (solids) in
*control_accuracy. Invarient node number for solids is available only in version 970 or later.
Don't be confused into thinking the local material coordinate system is the same as
the local element coordinate system.
The two coordinate systems are not necessarily aligned but they are updated in the same manner.
For mat 126, the material coordinate system update is dependent on the
element formulation. Special element formulations 0 and 9 for mat 126 update the
element coordinate system using different approaches. Formulation 0 is
best suited for elements undergoing large shearing deformation.
________________________________________________________________________
Elastic constants for orthotropic shells
See Section 18.7 of the 2006 Theory Manual, "Constraints on Orthotropic Elastic Constants".
Shells are plane stress elements and so the laws governing 3D orthotropy
(as in solid elements) don't
necessarily apply to shells.
For any orthotropic shell, the input constants EC, PRCA, and PRCB are not
used. Furthermore, in the case of *mat_fabric, GBC and GCA are not used.
We will add a "(not used)"
note in the User's Manual soas not to mislead users in the future.
lpb, jpd
revised 5/30/03 (LSPOST local system)
revised 6/17/03 elastic constants for ortho shells