In general, we recommend that you use discrete beams rather than discrete springs.
Among other advantages, discrete beams can be initialized via dynain using *INITIAL_STRESS_BEAM.
ub
Ticket#2020020410000129
____________________________________________________
RE: Thermal material for discrete beams
A thermal discrete beam was implemented in the development version
#71876 dated February 9, 2012. The beam is enabled using the new keyword
MAT_THERMAL_DISCRETE_BEAM. Attached is an example.
This is an alpha release. Input may change as I get user feedback.
New keyword; *MAT_THERMAL_DISCRETE_BEAM
line 1 (i10,e10.0) -- TMID, TRO
line 2 (2e10.0) -- HC, TC
TMID = thermal material identification
TRO = thermal density
HC = heat capacity
TC = thermal conductance[typical units W/C]
= (heat transfer coefficient) * (beam cross section area)
[W / m2 C] * [m2]
Notes:
1) A beam cross section area is not defined on the SECTION_BEAM
keyword for a discrete (type 6) beam. Therefor, the cross
sectional area is lumped into the value entered for TC.
2) (heat transfer coefficient)=(beam thermal conductivity)/(beam length)
_____________________________________________________________________________
RE: General remarks
A discrete beam (beam formulation 6) has up to 6 degrees-of-freedom (DOF)
whereas a spring (*element_discrete) has only one DOF.
Resultant forces and moments of a discrete beam are output in the local (r,s,t) coordinate system.
This is true of the d3plot, d3thdt, and elout databases.
In the LS-DYNA release following R5.1.1, a command *DATABASE_DISBOUT will report
relative displacements, rotations, and force
resultants, all in the local coordinate system, which is also output.
The ability to read and plot this data was added to LS-PrePost on 7/7/11
(Ref: enhancement request #5957).
Support for output of disbout data to binout was added in R7.0.0
(Ref: bug #7377).
Materials that apply to discrete beams are (see subroutine mvalid):
*mat_user_defined_material_models
*mat_66 (*mat_linear_elastic_discrete_beam)
*mat_67 (*mat_nonlinear_elastic_discrete_beam)
*mat_68 (*mat_nonlinear_plastic_discrete_beam)
*mat_69 (*mat_sid_damper_discrete_beam)
*mat_70 (*mat_hydraulic_gas_damper_discrete_beam)
*mat_71 (*mat_cable_discrete_beam)
*mat_74 (*mat_elastic_spring_discrete_beam) [2]
*mat_93 (*mat_elastic_6dof__spring_discrete_beam) << requires also *mat_74
*mat_94 (*mat_inelastic_spring_discrete_beam)
*mat_95 (*mat_inelastic_6dof__spring_discrete_beam) << requires also *mat_94
*mat_97 (*mat_general_joint_discrete_beam) << couples any of 6 DOF
*mat_119 (*mat_general_nonlinear_6dof_discrete_beam) << curve-based
*mat_121 (*mat_general_nonlinear_1dof_discrete_beam) << curve-base; 1dof version of *mat_119
*mat_146 (*mat_1dof_generalized_spring) << takes SCALAR or SCALR option in *element_beam
*mat_196 (*mat_general_spring_discrete_beam) << alternative to mats 74,93,94,95
Includes separate tensile and compressive failure criterion. [1]
*mat_197 (*mat_seismic_isolator)
*mat_205 (*mat_discrete_beam_point_contact)
*mat_208 (*mat_bolt_beam)
(1) Mat_196 includes a default damping damp=1.5*dtmax*stiffness. Turn it off by setting D=1.e-9.
Mat_066, by comparision, never included any
default damping (see http://ftp.lstc.com/anonymous/outgoing/support/FAQ_kw/dbeam66_74_196.damp.k).
(2) Mat_093 also has default damping which seemingly can't be turned off, even by setting D=1.e-9 in the mat 74 it references. (jd,3/9/15
Deletion of discrete beams can be triggered by a seatbelt sensor (*part_sensor).
Some notes and an example that may be of interest, as pointed out
by Jim Kennedy, 10/11/11:
http://www.oasys-software.com/dyna/en/training/tutorials.shtml
LS-DYNA Discrete Beam Orientation (SCOOR Option)
These notes look at how the SCOOR option control the orientation
of a discrete beam during an analysis.
________________________________________
RE: Mass and inertia
The length of a discrete beam may be zero or nonzero.
A nonzero value of volume (VOL in *section_beam) must be provided. The mass
of the discrete beam is not related to its length but is the product of the
material density and VOL. INER is the mass moment of inertia of the beam
about each of its three axes. A nonzero value of INER is required if any
of the rotational DOF of the beam are activated.
The values CA and OFFSET apply only to cables (*mat_cable_discrete_beam).
VOL can be set to zero for cables... cable mass is then
automatically calculated as length * CA * RO.
Otherwise, if VOL>0, each cable element has a mass = VOL * RO.
________________________________________
RE: Time step
The time step for discrete beams (SECTION_BEAM type 6) is calculated as follows:
dt=min(dtt,dtr)
where dtt is for translational dofs and dtr is for rotational.
For either translational or rotational dofs, the dt is calculated as, e.g.
dtt = sqrt(mass/stiff)
where stiff = max(tkr,tks,tkt) for |SCOOR|=0,1 and stiff=2*max(tkr,tks,tkt) for |SCOOR|=2,3.
and similarly for rotational dofs
For finite length beams, the rotary inertia has contributions from both INER and from VOL.
------------------------------------------------
A discrete beam is essentially a cluster of springs and/or dampers.
Like a spring, length has no effect on the stiffness or on the time step.
For each spring and each damper in the discrete beam, a time step is calculated based on
the nodal masses (or nodal inertias) and the stiffness specified in the material model.
See Section 22.5 of the Theory Manual (can be downloaded from www.lstc.com) for the details.
The smallest of these time steps would control the time step for the discrete beam.
__________________________________________________________
RE: Improved SCOOR options
Starting at r95362, a flaw in |SCOOR| = 2,3 was corrected in |SCOOR| = 12,13 so that
rigid body rotation of the element does not produce strain.
This improvement essentially renders 2,3 obsolete and any mention of |SCOOR|=2,3 below
should be replaced with |SCOOR|=12,13.
________________________________________________________
RE: Orientation (local coordinate system)
Orientation of a discrete beam is controlled
by the values of SCOOR, CID, RRCON, SRCON, and TRCON provided in *section_beam.
If the discrete beam is initially of zero length, permissible values of
SCOOR are -3, -1, 0, 1, or 3. If SCOOR is -3 or 3, a shear force
developed by the beams as a result of shear stiffness will produce a
beam torque contribution equal to (shear force * beam length)/2
which is not accounted for by the beam rotational stiffness alone.
(Beam length is initially zero but may become nonzero as the solution progresses.)
This torque contribution is necessary to give realistic beam-like behavior.
If SCOOR is -1, 0, or 1, equilibrating torques are NOT developed. Thus, to
avoid nonphysical rotational constraints on the structure, SCOOR = -3 or 3
is generally recommended. In rare instances,
SCOOR = -1, 0, or 1 may be preferred for discrete beams which otherwise
become unstable or which remain very close to zero length throughout the simulation.
CID defines the initial orientation of the local (r,s,t) system.
If CID = 0, the initial r,s,t directions are aligned with the global X,Y,Z
directions, respectively.
If the discrete beam is of finite length, SCOOR should be set to -3, -2, 2, or 3
so that torque contributions develop due to shear forces as in a real beam (see
explanation in above paragraph).
CID defines the initial orientation of the local (r,s,t) system.
If CID = 0, the initial r,s,t directions are aligned with the global X,Y,Z
directions, respectively, unless a third node N3 is defined in the beam connectivity
in which case the three beam nodes N1, N2, and N3 determine
the initial orientation of the beam local system (if and only if SCOOR = 2 or -2).
See the example http://ftp.lstc.com/anonymous/outgoing/support/FAQ_kw/discrete.beams.finite.k
for an illustration of the effect of SCOOR on finite length discrete beams.
The 971 Users Manual (2nd ed.) states that the ORIENTATION and OFFSET options in *element_beam
are not available for discrete beams.
See Ticket 2017011610000043.
NAXES=12 in *initial_stress_beam initializes the orientation of discrete beams
(and overrides?? other input pertaining to initial orientation, e.g., CID in *section_beam).
Implemented by Tobias in 2014 (checked log for trunk User's Manual).
------------------------------------------
RE: Update of the local coordinate system:
Behavior of a discrete beam can often be counterintuitive as the
material coordinate system generally rotates in a way that can't
be seen from the displayed geometry.
The relative deformation
between the nodes is incrementally calculated based on the instantaneous
values of incremental force
and the current orientation of the material coordinate system.
RRCON, SRCON, and TRCON control whether nodal rotations affect the local r,s,t, triad.
Even when these three parameters are set to 1, the triad may still be updated based
on nodal translations.
If RRCON, SRCON, and TRCON are zero, the local system is updated
based on the angular velocity of node1, node2, or the average of the two
(SCOOR says which).
The exception is if the
coordinate system identified by CID uses *define_coordinate_nodes with FLAG=1. In
that case, the beam local system is updated based on the current orientation of
the three nodes identified in *define_coordinate_nodes.
(Test case dbeam_orient.rotate.k shows this is true for SCOOR=3 but FLAG=1 has no bearing on SCOOR=2.)
If SCOOR is set to -2 or
2, a final adjustment is made to the local system so that the r-axis lies along
the axis of the beam (node1 to node2).
The combination of |SCOOR|=3 and a CID with the update flag
invoked should allow easy visualization of the beam coordinate system at
any given instant. Otherwise, there's no way to see the beam coordinate
system beyond t=0.
When the option to update the local coordinate system is active in the CID definition
(FLAG=1 in *define_coordinate_nodes), the beam coordinate system is not directly affected
by SCOOR flags -3.0, -1.0, 0.0, 1.0 and 3.0 whereas SCOOR -2.0 or 2.0 results in an adjustment
to the beam coordinate system so that the r-axis is aligned with the beam longitudinal axis.
________________________________________________________________
Remarks on discrete spring/damper elements:
Orientation of *element_discrete (not to be confused with a discrete beam) is
controlled by the parameter VID.
If VID = 0 (preferred), the line-of-action of an *element_discrete remains along the node1 to node2
direction throughout the calculation. If a different orientation is desired,
we recommend using a discrete beam with SCOOR set to -3,-2, 2, or 3.
A spring using an orientation vector (VID > 0) is NOT recommended owing to
the likelihood of developing unwanted rotational constraint.
We suggest that you use a discrete beam with SCOOR=2 (see *section_shell) in place of
finite-length springs whose line-of-action is not along N1-to-N2.
A transverse force developed by finite length discrete beams as a result of
transverse stiffness will produce a beam torque contribution equal to
(shear force * beam length)/2. This torque contribution is necessary for physical
behavior. In contrast, a finite-length spring whose line-of-action is not along
its N1-to-N2 axis does not produce an equilibrating torque to accompany
transverse force. This omission can result in a nonphysical resistance to body rotation.
If VID > 0 (NOT recommended owing to the likelihood of developing unwanted rotational
constraint), IOP in *define_sd_orientation determines the method by which the element
orientation is determined. If IOP=0 or 1, the orientation is permanently fixed in
space. If IOP=2 or 3, the orientation is updated as the two elements nodes move
in space. Further details of *define_sd_orientation are provided in the User's
Manual.