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.