Commands: *ELEMENT_SEATBELT_option, *MAT_SEATBELT, *SECTION_SEATBELT, *DATABASE_SBTOUT, *DATABASE_HISTORY_SEATBELT (971 R4) Seatbelt elements may be 1D (2-noded) elements that can interact with various seatbelt components (sliprings, pretensioners, retractors). There is also an option of defining seatbelt shell elements (4-noded) that will also interact with sliprings, pretensioners, and retractors. http://ftp.lstc.com/anonymous/outgoing/support/FAQ_docs/SeatBelt2DGuideline.pdf (Isheng, 6/17/09) summarizes 2D (4-node) seatbelts. An older document which may offer further insight is http://ftp.lstc.com/anonymous/outgoing/support/FAQ_docs/SeatBelt2DUpdate.pdf (Isheng, 3/10/09). 2D seatbelts are more flexible in terms of application, and yield comparable accuracy to the 1D (2-node) seatbelt. EDGSET in *section_shell is defined as an ordered set of nodes along one of the transverse edges of a seatbelt. For example, if there are two, 4-noded seatbelt elements across the width of the seatbelt, EDGSET should contain 3 nodes in a spatially meaningful order across the width. See N3, N4 in *element_seatbelt. 2D seatbelts use *mat_seatbelt. See parameter COMP. ---------------------------------- Also, here are a few examples for 2d seatbelt: http://ftp.lstc.com/anonymous/outgoing/isheng/2dbeltinput.tar.gz. Please note that, 2d belt is not designed to replace 1d belt. Please use it only when you really need it , in belt section which might or might not be involved in contact, for example. Isheng 2/18/2010 Another example: http://ftp.lstc.com/anonymous/outgoing/support/FAQ_kw/shell_belt_elements_dummy.k.gz Seatbelts can be defined and fit to a dummy using LS-Prepost (see the file "seatbelt_fitting"). See http://ftp.lstc.com/anonymous/outgoing/support/FAQ_docs/SeatBeltGuideline1.pdf ("Seatbelt Modeling Guidelines" from Isheng Yeh, isheng@lstc.com, updated 5/10/2007.) *database_history_seatbelt can be used to limit the output to sbtout. An example that includes 2-noded seatbelt elements, a retractor, and a slipring is http://ftp.lstc.com/anonymous/outgoing/support/FAQ_kw/retractor.slipring.k On 1/13/10, Sarba sent a learning aid that includes a dummy, seatbelt, and sled. Text from Sarba's email is provided in http://ftp.lstc.com/anonymous/outgoing/support/FAQ/Seatbelt_learning_aid.txt The zipped attachment to the email is http://ftp.lstc.com/anonymous/outgoing/support/FAQ/dyna.LearningAid.LatestBeltedModel.zip _________________________________________________________ Sometimes, if a retractor node is allowed to move around (vibrate) too much, it can cause convergence issues. Make sure the retractor nodes are fixed as rigidly as possible to the structure. Some general notes about Retractors (Sarba 2/10/2010): 1) All Retractors have to "Lock-up" to operate. 2) First the "Sensor" must Trigger. That time is usually considered to be within "1-ms" after the Bumper hits the Wall, and that means it is at "1-ms of our Simulation Time". 3) Now, there could be a "physical time delay after the Sensor Triggers" for the "Retractor to Lock-up". We can specify that in "Tdel". I usually put that as "0" but you can put a few milliseconds in there, based on the design of your particular Retractor. For this example let us say that "Tdel = 5-ms". (Note: This is just an example; I think it is best to put "Tdel=0"). 4) Now, you can also specify some "loose belt spooling out" between "Sensor Trigger+Tdel" and "Retractor Lock-up". This is defined in the Dyna Manual as "Pull". The "Pull" is a length value and is something like "10-mm". It really represents "Loose Belt Inside the Retractor", after it has been routed over the Dummy. That means, this Loose Belt will first spool out at a very low force value, before the Retractor Locks Up and starts operating as it is designed. If both "Tdel" and "Pull" are defined, the following will happen: For "Tdel = 5-ms" and "Pull = 10-mm" (and if the Sensor Triggers at 1-ms), Dyna will distribute a Belt Payout of 10-mm after 6-ms, "before Locking-up the Retractor". 5) After the Retractor spools out 10-mm of Belt starting at 6-ms, the Retractor gets "Locked". However, the exact "time" of Retractor Lock-up cannot be determined because"how long" it takes the Retractor to spool out 10-mm of belt is dependent on the Dummy Velocity and other things. After the Retractor gets Locked, the amount of Belt Spool-out is dependent on the "Force-Deflection" Curve as we have defined it in "LLCID". The greatest use of LLCID nowadays is to have a "Constant Force-Payout" Curve which resembles the actual Energy Managing Retractor (EMR). It ramps up quickly and then maintains a "flat force value" up to about 300-mm of spool-out. However, even if your design does not have an EMR, you can specify an "LLCID" curve that ramps up to a very high value within a very short "spool out". When such a high force level is reached, Dyna does not spool out any more Belt Material and the Retractor "really locks up" at this point of time. So - the term "Retractor Lockup" in Dyna does NOT mean that the Retractor will not spool out any belt material. All it means is that it will spool-out as per what we have specified in "LLCID" - that's all. If LLCID is a very steep curve, the spool-out will be "minimal". By the way, this is what happens in a "Real Retractor" too. The Retractor Locks-up and then the EMR takes over (if it is there). There is also another Very Important Point about "LLCID". If we begin the curve LLCID with a high value of Force, that will be treated by Dyna as a "Minimum Tension". Now, "before the Retractor gets Locked Up", the Retractor will try to "pull in" any "belt slack" and create this Minimum Tension in the Belt. Therefore, in this case, first Belt Slack will be removed and then the Retractor will spool out "PULL amount of Belt Length" and then the Retractor will lock-up. After Locking Up, the Retractor will spool out according to LLCID. For this case, the LLCID might look like the following: $# lcid sidr sfa sfo offa offo dattyp 2067000 0 1.0 0.001 $ $ Payout Force $# a1 o1 $ (meters) (Newtons) $$ 0.000000E+00 2.800000E+01 <---- Minimum Tension of 28-Newtons at 0-mm of Spool-out. 2.111307e+00 3.100000E+01 <---- Next Point has to be higher and it has to go on increasing. $ 10.713878e+00 6.000000E+03 <--- Very Steep Curve to Lock-up Retractor completely (no EMR). $ The above is what I have understood, by reading the Manual and by doing a little modeling myself. After reading your mail below, I "think" I can answer your question in (1). You are asking what happens "after the Retractor is Locked" and the Minimum Tension is reached. The way I have understood it, nothing more will happen "after" the Retractor Locks-up. The Retractor can only remove slack during the "un-locked condition" of the Retractor. The Manual is very clear on that. That means, after "Sensor Trigger Time + Tdel" and after "Pull" has been spooled out by the Retractor, it will Lock Up and there will be no further effect of the Minimum Tension. However, the "Minimum Tension" should work "before" the Retractor starts spooling out "Pull". There will be "tightening" first because of the Minimum Tension and then the Retractor will spool out "Pull". So, what you are saying will happen but not after "lock-up". It will happen "before lock-up". Sarba 2/10/2010 _________________________________________________________ RE: Mass of seatbelts Null beams are automatically generated for visualization of the seatbelt elements. It appears that these null beams have a hardwired density of 1.e-10 and an area of 0.01 so that their mass is negligible. The mass reported in d3hsp for the seatbelt part ID is actually the mass of the null beams. You can prevent generation of the null beams by setting BEAM=1 in *database_binary_d3plot, however, the seatbelt elements cannot then be visualized and contact issues may arise. The actual mass of the seatbelt elements (mass per length in *mat_seatbelt * length of seatbelt elements) is reported under "summary of mass" in d3hsp as "seat belts mass". The length of seatbelt elements inside a retractor is considered as 1.1 * LMIN. _________________________________________________________ Seatbelt elements do not have a thickness input (inputs are length and mass per length). The default contact thickness is set to 15% of the initial, average length of the seatbelt elements. The average length is the "Belt Length by Material" reported in d3hsp divided by the number of seatbelt elements. (http://ftp.lstc.com/anonymous/outgoing/support/FAQ_kw/seatbelt/cable_vs_seatbelt.contact_thickness.k) It is recommended, if thickness offsets are considered in the nodes-to-surface (belt-to-occupant) contact, that the slave (belt) contact thickness be set via SST on Card 3 of *contact. Alternatively, set OPTT in *part_contact to the desired thickness. Usually, shells are used to model the seatbelt where it's in contact with occupants. In that case, contact options abound. The time step for a seatbelt element is calculated in similar fashion to that of a discrete (spring) element but with a reduction factor of 0.6 applied. I assume the 0.6 is to promote stability. See http://ftp.lstc.com/anonymous/outgoing/support/FAQ_kw/seatbelt_timestep.k for illustration. dt = time step scale factor * sqrt(k/m) * 0.6 k = F/deltaL = F/(eps * L) = (initial slope of F vs. eps curve) / L The maximum slope of the loading curve is not checked. The unloading curve has no affect on timestep. L = current element length m = sum of nodal masses nodal mass = tributary belt length * mass per unit length DT2MS has no affect on the seatbelt mass. (See http://ftp.lstc.com/anonymous/outgoing/support/FAQ_kw/seattbelt_singleelement.k) To mass-scale seatbelts, increase the mass per unit length in *mat_seatbelt. I would suggest that your mass per unit length be not less than: maximum slope of curve LLCID * (timestep)^2 / (min length)^2 This isn't a hard rule. It's just based on general concepts of what constitutes a stable explicit time step. Some seatbelt/slipring recommendations and notes ... - Use seatbelt element lengths no less than 5 to 10 times LMIN near the slipring. Or put another way, set LMIN in *mat_seatbelt to 1/10th the seatbelt element length. - The max slope of the unloading curve for the seatbelt should not be less than the max slope of the loading curve (taking into account internal rediscretization of the curves). There is an input trap for this in R4.2.1. More on load/unload curves below. - Slipring friction affects the belt-forces quite a bit so users tend to use a value that is usually < 0.3 unless test data is available to match it to a better value. - Sliprings should be attached to a rigid part. - Using a higher mass per unit length for seatbelt elements helps with stability. Note that mass-scaling (DT2MS) does not add mass to seatbelt elements. Other tips which may also help with slipring convergence problems... - Avoid elements that are too long (10-15mm usually works). - Use a single precision version of LS-DYNA (the convergence tolerance is more strict when using double precision). - Use the latest version of LS-DYNA from www.lstc.com/download . - Keep in mind that the convergence error could be triggered by an instability elsewhere in the model. To determine if that's the case, you should systematically remove contacts, loads, and unusual materials from the model to help identify the source of the instability. _______________________________________________________ RE: load/unload of *mat_seatbelt: jd: I examined the loading/unloading behavior of *mat_seatbelt using a single element model (http://ftp.lstc.com/anonymous/outgoing/support/FAQ_kw/1_belt_element.k). Just from observation, it seems what really happens is that the actual unloading retraces the loading curve if the maximum loaded state is still to the left of where the unshifted input unloading curve intersects the input loading curve. However, if the maximum loaded state is to the right of where the unshifted input unloading curve intersects the input loading curve, the unloading curve is shifted to the right soas to intersect the maximum load point and then the unloading path follows the shifted unloading curve. This may result in nonzero deflection at zero load. ---------------- bw: One way to characterize the choice of "which curve to use" is like this: Let Lmax = current intersection load of (possibly shifted) unloading curve and loading curve (at initial intersection, or maximum loaded point). Then: If we are loading and at or above Lmax, use the loading curve. If we are unloading and at or above Lmax, reset Lmax to the max loaded point and use the (properly shifted) unloading curve If we are below Lmax, use whatever curve we used last cycle. The unloading curve is NEVER shifted back to the left (lower loads).