In addition to these notes, which pertain primarily to explicit analysis, see also http://www.dynasupport.com/tutorial/ls-dyna-users-guide/energy-data/ Notes on energy balance in an IMPLICIT analysis are not finalized but DRAFT notes pertaining to R13 or later are in http://ftp.lstc.com/anonymous/outgoing/support/implicit_energy . Total energy reported in GLSTAT (see *database_glstat) is the sum of ... - internal energy (includes "eroded internal energy") - kinetic energy (includes "eroded kinetic energy") - sliding interface energy (better known as contact energy) - hourglass energy (starting at rev. 83861, includes "eroded hourglass energy") - system damping energy - stonewall energy (better known as rigidwall energy) "Spring and damper energy" reported in the glstat file is the sum of internal energy of discrete elements, seatbelt elements, and energy associated with joint stiffnesses (*constrained_joint_stiffness....). "Internal Energy" includes "Spring and damper energy" as well as internal energy of all other element types. Thus "Spring and damper energy" is a subset of "Internal energy". Two energy terms are written to jntforc in 971 R3. The first term "energy" is new in R3 and corresponds to the "joint internal energy" in glstat. It is associated with the penalty-based forces in the "constrained" DOF. It does NOT appear when a Lagrange Multiplier formulation is used. As of 1/2008, LS-PrePost is seemingly unable to plot the first energy term "energy" found in jntforc. I don't believe binout includes the first energy term in the jntforc data. The second energy term "joint energy" is associated with *constrained_joint_stiffness and is included as "spring and damper energy" and "internal energy" in glstat. Recall that "spring and damper energy", whether from joint stiffness or from discrete elements, is always included in "internal energy". Energy values are written on a part-by-part basis in MATSUM (see *database_matsum). Hourglass energy is computed and written only if HGEN is set to 2 in *control_energy. Likewise, rigidwall energy and damping energy are computed and written only if RWEN and RYLEN, respectively, are set to 2. Stiffness damping energy is lumped into internal energy. Mass damping energy appears as a separate line item "system damping energy". Energy dissipated due to shell bulk viscosity was not calculated prior to revision 4748 of v. 970. In subsequent revisions, set TYPE=-2 to iclude this energy in the energy balance. The energy balance is perfect if total energy = initial total energy + external work, or in other words if the energy ratio (referred to in glstat as "total energy / initial energy" although it actually is total energy / (initial energy + external work)) is equal to 1.0. NOTE: There is an override in effect which resets the energy ratio to 1.0 if the denominator (initial total energy + external work) is less than 1.E-08. Note that added mass may cause the energy ratio to rise. (See http://ftp.lstc.com/anonymous/outgoing/support/FAQ_kw/taylor.mat3.noerode.mscale.k) The History > Global energies do not include the contributions of eroded elements whereas the GLSTAT energies do include those contributions. Note that these eroded contributions can be plotted as "Eroded Kinetic Energy" and "Eroded Internal Energy" via ASCII > glstat. Eroded energy is the energy associated with deleted elements (internal energy) and deleted nodes (kinetic energy). Typically, the "energy ratio w/o eroded energy" would be equal to 1 if no elements have been deleted or less than one if elements have been deleted. The deleted elements should have no bearing on the "total energy / initial energy" ratio. Overall energy ratio growth would be attributable to some other event, e.g., added mass. Restated, when an element erodes, the internal energy and kinetic energy in glstat do not reflect the energy loss. Instead the energy losses are recorded as "eroded internal energy" and "eroded kinetic energy" in glstat. If you subtract "eroded internal energy" from "internal energy", you have the internal energy of elements which remain in the simulation. Likewise for kinetic energy. matsum's internal energy and kinetic energy include only contributions from the remaining (noneroded) elements. To invoke additional energy output to matsum associated with eroded elements, lumped mass/lumped inertia, and non-structural mass, see IERODE in *control_output *** UPDATE *** Added eroded hourglass energy to the ascii and binary matsum databases. The updated version is DEV-92148-g3321cd1e7 Bug 18442 addresses this matter, including the ability of LSPP to postprocess the new matsum data. *** END UPDATE *** glstat includes the KE from the moving rigidwall. matsum does not. An example is attached. Note that if ENMASS in *control_contact is set to 2, the nodes associated with the deleted elements are not deleted and the "eroded kinetic energy" is zero. (See http://ftp.lstc.com/anonymous/outgoing/support/FAQ_kw/m3ball2plate.15.k) The total energy via History > Global is simply the sum of KE and internal energies and thus doesn't include such contributions as contact energy or hourglass energy. Negative internal energy in shells: To combat this spurious effect, - turn off shell thinning (ISTUPD) - invoke bulk viscosity for shells (set TYPE = -2 in *control_bulk_viscosity) - use *damping_part_stiffness for parts exhibiting neg. IE in matsum Try a small value first, e.g., .01. If RYLEN=2 in *control_energy, then the energy due to stiffness damping is calculated and included in internal energy. (See negative_internal_energy_in_shells for a case study) --------------------------------------------- Positive contact energy: When friction is included in a contact definition, positive contact energy accumulates due to the dissipative friction energy. This friction energy is not recoverable even as parts go out of contact. In the absence of contact damping and contact friction, one would hope to see zero (or very small) net contact energy when the parts go out of contact (net = sum of slave side energy and master side energy). In this sense, the positive contact energy is the stored energy in the compressed contact "springs", so as long as there are contact forces being applied, there will be nonzero contact energy. http://ftp.lstc.com/anonymous/outgoing/support/FAQ_kw/sphere_to_plate.examine_contact_damping_energy.k illustrates that contact damping (VDC = 0, 30, 90) produces positive sliding (or contact) energy) as well. See the text file contact.friction_public for more on frictional contact energy. ---------------------------------- Negative contact energy: If (total contact energy - frictional contact energy) is negative, that's really what we're calling negative contact energy and ideally, there would be no negative contact energy. The suggestions listed in the notes below are provided to help reduce negative contact energy when it occurs. Abrupt increases in negative contact energy may be caused by undetected initial penetrations. Care in defining the initial geometry so that shell offsets are properly taken into account is usually the most effective step to reducing negative contact energy. Refer to the sections "Initial Contact Interpenetrations" and "Contact Energy Calculation" in the LS-DYNA Theory Manual. Negative contact energy sometimes is generated when parts slide relative to each other. This has nothing to do with friction -- I'm speaking of negative energy from normal contact forces and normal penetrations. When a penetrated node slides from its original master segment to an adjacent though unconnected master segment and a penetration is immediately detected, negative contact energy is the result. If internal energy mirrors negative contact energy, i.e., the slope of internal energy curve in glstat is equal and opposite that of the negative contact energy curve, fringing internal energy density can be helpful in evalulating the problem. Hot spots in internal energy density likely indicate where negative contact energy is prevalent and would allow the user to zoom in on these areas to make some judgment as whether or not the the parts in contact are interacting in a reasonable manner. If the hotspots in internal energy density look like very small dots , it could be that the problem is very localized with low impact on the overall validity of the solution. Internal energy density for shells is fringed in LS-PrePost using FriComp > Misc > internal energy density. Internal energy per reference volume for solids is written as the second-to-last extra history variable if HYDRO=1 in *DATABASE_EXTENT_BINARY. If you have more than one contact defined, the sleout file (*database_sleout) will report contact energies for each contact and so the focus of the negative contact energy investigation can be narrowed. Contact energy density may be output to d3plot (ENGOUT in *CONTROL_OUTPUT) for MORTAR contact and to intfor (NENG in *DATABASE_EXTENT_INTFOR) for MORTAR and SOFT=2 contacts. This should work for R12 and later versions. Internal reference: Bugzilla 3317 Some general suggestions for combating negative contact energy are as follows: - Eliminate initial penetrations (look for "Warning" in messag file). - Check for and eliminate redundant contact conditions. You should NOT have more than one contact definition treating contact between the same two parts or surfaces. - Reduce the time step scale factor. - Set contact controls back to default except set SOFT=1 and IGNORE=2 (Optional Card C). - For contact of sharp-edged surfaces, set SOFT=2 on Optional Card A. SOFT=2 is also referred to as segment-based contact and so is not applicable to any NODE_TO_SURFACE type contacts. Two important companion variables to SOFT=2 are SBOPT and DEPTH. SBOPT: Unless sliding between surfaces is prevalent, set SBOPT=3. When sliding is prevalent, set SBOPT=5. DEPTH: DEPTH=13 or 23 is recommended unless shell edge-to-edge contact must be considered, in which case set DEPTH=25 or 35. Please note that SOFT=2 contact carries some additional expense as compared to SOFT=0 or 1, particularly using nondefault values of SBOPT or DEPTH. The specifics of your model may dictate that some other approach be used. Refer to p. 3.14, 3.15 of "Crashworthiness Engineering Course Notes" by Paul Du Bois. ---------------------------------------- Contact energy (penalty-based vs. constraint-based): For penalty based contact, forces are easy (penalty * displacement, more or less), and energy (work) is computed on a node by node basis as contact force * node displacement = contact force * node velocity * timestep See "Contact Energy Calculation" in the Theory Manual for more details. For constraint contact, the idea is the same. The difference is that in the constraint based contact, forces are not directly computed: the accelerations of the master and slave nodes are adjusted (taking into account all external forces on the master and slave nodes, and their masses) to keep the nodes together. It is not necessary to compute the actual contact forces applied to the master and slave nodes, as far as the contact calculation is concerned. But we do compute the net forces on them in order to calculate the interface energy. Before the contact, the current acceleration of each slave and master node is stored, and after the contact the net force for each is computed as contact force = change in acceleration * node mass These contact forces are then used to compute the energy, just as for penalty based contacts. (bw 2/25/13) jpd