LS-DYNA R9.3.0 (R9.128342; 2018/07) released
New version of LS-DYNA is released for all common platforms.
Release notes for Version R9.3.0.
Herein are summarized most of the new features, enhancements, and significant corrections made since the release of version R9.2.0. These notes are arranged by topic. Understand that in many cases, a particular note may have applicability to multiple topics. Each item is listed only once, under a single category.
.
AIRBAG
- *AIRBAG_PARTICLE:
- Fix bug to get consistent results for a restart run as compared to a continuous, nonstop run. The bug came from the airbag volume evaluation where the reference point of the geometry was not stored in the dump file.
- Add support of leakage parameters described in *MAT_ADD_AIRBAG_POROSITY_LEAKAGE.
- Made *DEFINE_CURVE_FUNCTION work for *AIRBAG_LOAD_CURVE and *AIRBAG_SIMPLE_PRESSURE_VOLUME.
- Fixed hang up issue when using *AIRBAG_REFERENCE_GEOMETRY with *INCLUDE_TRANSFORM.
- Fixed reading of *AIRBAG_REFERENCE_GEOMETRY_ID input that contained parameters.
- Fixed bug affecting *AIRBAG_PARTICLE whereby TEND was applied to TSTOP. These variables are now independent as they should be.
.
ALE
- Fixed bug in Structured ALE for cases with ESORT=1 in *CONTROL_SOLID. Element ID mismatch would cause ALE element volume fraction to be assigned wrong value.
- Fixed bug affecting dbfsi output (*DATABASE_DBFSI) in runs that include dynamic relaxation. Before the fix, dbfsi data earlier than the dynamic relaxation end time were not output.
- Fixed bug in *CONSTRAINED_LAGRANGE_IN_SOLID, CTYPE=5 (MPP only). This memory-related bug could have caused incorrect coupling behavior.
.
BOUNDARY
- Updates to the *INTERFACE_LINKING_NODE <_SET> _LOCAL option so that the coordinate system transformation behavior makes more sense.
- Fix some memory allocation and initialization related to *INTERFACE_LINKING.
- Fix initialization problem that could arise if more than one *INTERFACE_LINKING instance references the same *INTERFACE_COMPONENT.
- Fixed *BOUNDARY_PRESCRIBED_MOTION_SET_BOX which was not working after full deck restart.
- Fixed *BOUNDARY_PRESCRIBED_ORIENTATION_RIGID_DIRCOS which did not orient the rigid body when angles are close to PI when using double precision.
- Fixed restart input error when using *CHANGE_BOUNDARY_CONDITION for MPP with ncpu>1.
- Fixed bug affecting *BOUNDARY_TEMPERATURE_OPTION: Some nodes might not get the correct values in case of THSHEL=1 in *CONTROL_SHELL and unattached nodes in the model.
.
CESE (Compressible Fluid Solver)
- For nearly one-dimensional meshes in the three-dimensional immersed boundary FSI solver, fixed a memory bug.
- Fixed a minor bug in the time step calculation for the immersed boundary FSI solvers.
- Corrected geometry deduction errors in the 2D rotation case of CESE cyclic boundary conditions.
- Improved some messages related to CESE solver input choices.
- Corrected problems in CESE conjugate heat transfer:
- For wedge elements, fixed some internal geometry calculations for the 3D immersed boundary conjugate heat transfer solver.
- Internal sorted element indexing is now taken into account for the structural elements involved in the CESE conjugate heat transfer solvers.
- For the *CESE_DATABASE cards, corrected these issues:
- Any used segments that are not in the CESE mesh are reported.
- Element sets look up is now guaranteed to work.
- Drag calculation output that is attempted for the incorrect FSI method, is now reported. Here are the illegal cases:
- *CESE_DATABASE_FSIDRAG is only available with the CESE immersed boundary FSI solvers.
- *CESE_DATABASE_SSETDRAG is not available with the CESE immersed boundary FSI solvers. In other words, it only works with the non-FSI solvers and moving mesh FSI solvers.
- Failure to find an internal node number in *CESE_DATABASE commands is now reported.
- Output was not being performed for the initial conditions. Instead, it is now done after the first time step.
- Changed behavior for the *CESE_DATABASE cards including:
- Output times are now selected in a manner similar to CESE d3plot output, meaning when the CESE simulation time has reached at least the requested output times. Also, output never occurs more than once per CESE time step.
- Cycle number was reported in some outputs as the 'time step'. The actual solver time step is now used instead.
- *CESE_CONTROL_SOLVER, ICESE=200: Fixed bug for shortest distance calculations in 2D Immersed Boundary FSI.
.
CONTACT
- Fix initialization error related to *CONTACT_GENERAL_INTERIOR that resulted in every subsequent *CONTACT_GENERAL also being treated as INTERIOR.
- Fix spot welds improperly deleted due to rigid body conflict when an IPBACK contact interface is in effect. The failure of the constraint-based contact to tie should not cause the weld to be deleted if the penalty side ties. (MPP only)
- Fix forces and energies that are output for *CONTACT_TIED_SHELL_EDGE_TO_SOLID
- Fixed zero frictional energy output to glstat and sleout when using *CONTACT_AUTOMATIC_SURFACE_TO_SURFACE_ORTHO_FRICTION.
- Fixed input error for duplicate part if multiple *RIGIDWALL_GEOMETRIC_..._DISPLAY are used: some with specified part id and some without.
- Fixed zero sliding energy output to glstat when using *CONTACT_TIED_SHELL_EDGE_TO_SOLID.
- Applied consistency mode for *CONTACT_AUTOMATIC_SURFACE_TO_SURFACE_COMPOSITE when ncpu<0. Applies to SMP only.
- Fixed a possible memory error during initialization when using DEPTH=5, 15, 25, or 35 or SBOPT=4 or 5 on *CONTACT when SOFT=2.
- Fixed a possible segmentation fault during initialization when using MPP segment based contact that uses SBOXID to eliminate slave segments.
- Fixed a possible error in *CONTACT_2D_AUTOMATIC when there is more than one tied contact in the model. An array was being used past its allocated length.
- Fixed ISLIDE option of *CONTACT_2D_AUTOMATIC in MPP version. Some data was incorrectly accessed leading to possible terminaion or bad results.
- Reduced the number of spurious penetration penetration warnings that are printed when segment based contact is used with solid parts and IGNORE=2 on *CONTROL_CONTACT. This fix affects explicit dynamic runs only.
- Fixed exponential damage equation in SPR3 (*CONSTRAINED_INTERPOLATION_SPOTWELD) model.
- Fix GM filter, IACCOP=2 in *CONTROL_OUTPUT field 4, which produced badly filtered accelerations for single precision.
- Error terminate with message, KEY+1203, if IDRFLG=2 *CONTROL_DYNAMIC_RELAXATION and VECID is not defined on Card 2b.1 for polar coordinate initialization.
.
CONSTRAINED
- Add additional error checking on coincident nodes for revolute and screw joints.
- Implement a more robust solution to the storage of birth and death times for prescribed motion constraints for the LaGrange Multiplier Formulation of joints for explicit.
- Fixed bug that occurred when there were multiple *CONSTRAINED_BEAM_IN_SOLID cards. The bug caused incorrect results when sliding is permitted between beams and solids.
- *DEFINE_BEAM_SOLID_COUPLING: Added keyword for coupling of beams (or shells) to non-ALE solids, e.g., for application to simulating rebar in concrete. This is a a far more efficient alternative to *CONSTRAINED_LAGRANGE_IN_SOLID, CTYPE=2. It's yet unclear the pros/cons of *DEFINE_BEAM_SOLID_COUPLING as compared to *CONSTRAINED_BEAM_IN_SOLID (or *CONSTRAINED_SHELL_IN_SOLID), as these features were developed independently and almost simultaneously.
- Increased the distance that joint nodes can be separated before error terminating with STR+65. The old criteria was dist < max(0.001, 0.0001*L) where L is the length of the joint, which is defined as the distance between nodes 1 and 3, or else 2 and 4. The new criteria is dist < max(0.001, 0.001*L).
- Add new features for *CONSTRAINED_INTERPOLATION_SPOTWELD (SPR3): torsion, non-linear damage, individual mode stiffnesses, output, etc.
- Remove *CONSTRAINED_SPR2/SPR3 visualization beams from automatic contact. Sometimes they caused instability problems.
- Add option to define a part id for visualization beams used with *CONSTRAINED_SPR2 (by default, these id's are set internally as highest numbers).
- Fix for *CONSTRAINED_SPR2 with more than two sheets (XPIDi>0 on Card 4) to avoid Error 30086 (INI+86), "Beam # ... N3 node on beam x-axis".
- Bug fix for keyword read of *CONSTRAINED_LOCAL, variable TOL. Free format (commas) or parameter (&...) input was not working.
- Fixed bug in processing *CONSTRAINED_NODAL_RIGID_BODY and *PART_INERTIA to prevent spurious error message,
*** Error 10144 (KEY+144)
node set for nodal rigid body # 1 is not found.
The set number is 0
- *CONSTRAINED_COORDINATE: Fix a machine-dependent bug in projection in a case where the defined coordinates were far away from the part.
.
CONTROL
- Added global option NCDCF on *CONTROL_SOLUTION to only evaluate *DEFINE_CURVE_FUNCTION every nth cycle. This greatly improves computational times for Active Human Body Models.
- Selective mass scaling (IMSCL on *CONTROL_TIMESTEP):
- Neglect null beams attached to rigid bodies in the selective mass scaling scheme as they don't possess a characteristic time step.
- Fix bug in glstat related to added mass and velocity calculations for selective mass scaling.
- Fix bug in selective mass scaling when beam release conditions are used in MPP. Bug was a matter of local vs global variables mismatch.
- Add flag on 4th card of *CONTROL_OUTPUT to output node sets and element sets used in computing secforc data to d3hsp. This is helpful when the *DATABASE_CROSS_SECTION_PLANE is used to define the cross section and the user wants to know what nodes and elements were automatically selected. The sets can be appended to the keyword input file and then displayed using LS-PrePost.
.
EFG (Element Free Galerkin)
- Fix memory error when using EFG shell element formulation 41 in MPP. The error could occur when some cores were devoid of any EFG shell elements.
.
ELEMENT
- Fixed bug affecting *PART_COMPOSITE. If the first part in the model had very low density, or was a part for Discrete Elements that have no density, large rotational inertias could be added to the nodes of the *PART_COMPOSITE. These could act as restraints, preventing or resisting the correct motion of the elements. In this context, "first part in the model" means the first part encountered by the keyword reader, not the part with the lowest PID. For this reason the bug might be observed or not according to the order in which *INCLUDE files were defined. For the effect of the bug to be noticeable, the "very low density" would have to be several orders of magnitude less than the density of the *PART_COMPOSITE itself.
- Enhance the nodal constraint handling for superelements (*ELEMENT_DIRECT_MATRIX_INPUT) in explicit to properly handle the implicit/explicit switching case. Also extended the code to recognize *BOUNDARY_SPC in addition to the constraints specified on the *NODE cards.
- Fix storage allocation for *ELEMENT_DIRECT_MATRIX_INPUT when the matrices have different orders.
- Fix an MPP bug for type 9 *ELEMENT_SEATBELT_PRETENSIONER that could occur when a model had more than one such pretensioner.
- Enable shell form 23 to output stress and strain at 3x3 integration points to eloutdet.
- Fixed failure in the C0 triangle (shell form 4) when ESORT=1 on *CONTROL_SHELL, and the section uses element form 16 or any other element form with multiple integration points in a layer. More specifically, the fix is for failure of the type where we check for failure on the last integration point such as *MAT_054.
- Fixed the use of both tet solid type 17 and tshells in the same model when INTOUT is set to STRAIN on *DATABASE_EXTENT_BINARY. Memory was conflicting causing bad connectivity of the tet element data.
- Fixed conflict between RTCL damage in *MAT_123 and heat affected zones (HAZ). The TRIAX parameter was being overwitten causing possibly execessive damage.
- Corrected the thinning of shell form 24. It was thinning about 33% more than it should under large tensile strain.
- Improved the accuracy of tet form 13. During rigid body translation, some pressure could develop. Now it can translate pressure free, and therefore stress free.
- Ensure that cohesive elements have a big enough buffer to support SMP and hybrid parallel consistency.
- Fixed tshell form 3 when used with hyperelastic materials. The L matrix was in the global coordinate system instead of the local system. The result was an incorrect strain measure.
- Fix *ELEMENT_BEAM_PID with offsets (*INCLUDE_TRANSFORM) for PID1 and PID2.
- Fix a bug in cohesive elements when used with hybrid executables (consistency option was malfunctioning).
- Fixed bug in reading *ELEMENT_SHELL_OFFSET_COMPOSITE.
- Fixed bug affecting adaptivity with *ELEMENT_DISCRETE.
- Fix error in reading of user-defined shell elements. LS-DYNA was trying to use the same syntax as user-defined solid elements.
- Fix error when using 3D tet adaptivity in a model with non-adaptive parts consisting of hexahedral solid elements with ELFORM=0 in *SECTION_SOLID. This error occurred during the adaptive restart; all hex ELFORM=0 elements were incorrectly redefined as tetrahedral ELFORM=13 solid elements.
- Fix incorrect rigid body velocity and kinetic energy in matsum file when *ELEMENT_MASS_PART is used.
- Fix hourglass energy output for Cosserat Point Element (CPE), i.e., hourglass type 10.
- *CONTROL_TIMESTEP: Change tolerances in selective mass scaling to avoid hang for small loads in single precision.
.
Forming Analysis
- Fix a bug in forming contact (single precision only).
- Fix a bug in drawbead defined from IGS curve in an adaptive simulation.
- Fix a platform-dependent bug affecting springback compensation.
- Fix platform-dependent bugs for *CONTROL_IMPLICIT_FORMING and *INCLUDE_AUTO_OFFSET, both bugs stemming from uninitialized variables.
- Fix bug affecting solid 3D trimming.
- *DEFINE_CURVE_TRIM_2D: Fix a bug in which trimming was in wrong direction.
- *DEFINE_FORMING_CLAMP: Fix two bugs:
- Fix incorrect error message: "vector: xx was not defined" when in fact *DEFINE_VECTOR is defined.
- Check constraints for the rigid clampers and free the constraints from the moving clampers.
- *INCLUDE_TRIM: Fix end-of-file reading error, when *INCLUDE_TRIM is used, and the included file does not contain stress information.
- *BOUNDARY_SPC_SYMMETRY_PLANE: Fix bug when two symmetry planes are defined but are not aligned with global axes. The constraints were not applied correctly.
.
FREQUENCY_DOMAIN
- *FREQUENCY_DOMAIN_FRF:
- Added rotational dof input (torque and base angular motion) for FRF (VAD1=8,9,10,11).
- Added rotational dof output (DOF2=5,6,7,8 in R9.3.0 but changed to DOF2=4,5,6,8 in R10 and later).
- *FREQUENCY_DOMAIN_ACOUSTIC_BEM: Fixed bug in reading boundary elements when they are defined by a part set (SSTYPE=0).
.
ICFD (Incompressible Fluid Solver)
- Tentative bug fix of multiphase issue. Case that involves two phases (air and water for example) may now work in certain configurations.
.
Implicit (Mechanical) Solver
- Enhance dumping of matrices in the presence of implicit rotational dynamics.
- Enhance Implict Lanczos Eigensolver shift logic to avoid divide by zero.
- Correct the issue where use of *LOAD_BODY is applied to a model with rigid bodies. If the vector of nodes having the load applied belong to a rigid body then the vector of elemental stiffness matrices is null. So logic was added to skip the the implicit matrix assembly for such null matrices rather than trapping them as an error.
- Correct control-c processing for SMP Implicit.
- Apply a correction that prevents a memory clobber for implicit in single precision. Double precision is still recommended for implicit.
- Add an error test for improper DRTERM when using implicit for dynamic relaxation. Enhanced implicit key point logic during dynamic relaxation phase as implicit was using the incorrect end time which led to a zero time step.
- For MPP Implicit, correct the marking of the end of each d3eigv to match SMP.
- Enhance the processing of dampers for implicit mechanics. Avoids turning on matrix dumping unless requested by the user.
- Enhance the handling of rotational inertias for implicit, especially discrete elements and rigid body inertias.
- Add *INTERFACE_SPRINGBACK to the cases where implicit collects and processes damping terms instead of suppressing them as is the case for implicit statics.
- Correct typing of displacement array in implicit modal dynamics. It was not typed so it was real*4 instead of real*8 in single precision. This led to incorrect output to nodout file.
- Extend the logic for implicit constraint handling to tied contact with _CONSTRAINED_OFFSET to skip any SPCs on the rotational dofs of the slave nodes. We already have such logic to skip the SPCs on the translational dofs for the slave nodes for all tied contact.
.
INITIAL
- Fixed bug affecting large format dynain files The *INITIAL_STRAIN_SHELL data was written incorrectly under these conditions:
- "Large" dynain file format is used (as is the case in Staged Construction)
- MPP on multiple processors (the bug does not affect SMP)
- The model contains shell elements with a mix of numbers of in-plane integration points, for example ELFORM=2 (1 in-plane point) and ELFORM=16 (4 in-plane points).
- If the dynain file was then used as input to a second analysis, LS-DYNA could not read it. The work-around was to delete the *INITIAL_STRAIN_SHELL data from the dynain file.
- Fixed ineffective *INITIAL_VELOCITY_GENERATION for part defined with *PART_INERTIA when ID=0, STYPE=0 and IRIGID=1.
- Fixed dynain writing and reading of *INITIAL_STRESS_SHELL for the fully integrated C0 shell (shell form 20).
- Enabled multiple *INITIAL_VELOCITY_GENERATION keywords to be used with *ELEMENT_SHELL_COMPOSITE or *ELEMENT_TSHELL_COMPOSITE. Only one velocity generation keyword was supported previously.
- Fix for *INITIAL_AXIAL_FORCE_BEAM with KBEND=1. Wrong internal index could have led to unintended memory overwrite, thus arbitrary problems.
.
LOAD
- Fixed *LOAD_THERMAL_VARIABLE_ELEMENT_TSHELL and *LOAD_THERMAL_LOAD_CURVE when used with tshells.
- Fixed bug in reading *LOAD_SEGMENT_FILE when jobid is specified by user.
- Fix indexing bug that prevented accessing ground motion ID (*DEFINE_GROUND_MOTION) from *LOAD_SEISMIC_SSI.
.
*MAT and *EOS
- *MAT_BOLT_BEAM (*MAT_208): Added capability for erosion and failure due to axial compression (input variable DCFAIL on Card 3).
- Backport fix that avoids division by zero in *MAT_100_DA in implicit.
- Fixed a divergence problem with *MAT_242/*MAT_KINEMATIC_HARDENING_BARLAT2000.
- Fixed *MAT_COMPOSITE_DAMAGE/*MAT_022 for implicit analysis which was giving the wrong eigenvalues.
- Implemented pressure cutoff, PCUTT & PCUTC, for *MAT_PLASTICITY_COMPRESSION_TENSION/*MAT_124 with solid type 13.
- Fixed seg fault when using *MAT_157/*MAT_ANISOTROPIC_ELASTIC_PLASTIC for 2D analysis.
- Fixed *MAT_023/*MAT_TEMPERATURE_DEPENDENT_ORTHOTROPIC when extremely large coefficient of expansion is used resulting in very large thermal strains. Convert the thermal strain to true strains before removing it from the total strains. *MAT_023 will now give the same thermal strains as *MAT_021 when extremely large coefficient of expansions are used.
- Fixed the material direction calculation of shell *MAT_091. The error lead to wrong stress and strain.
- Added support for CMPFLG=1 on *DATABASE_EXTENT_BINARY for *MAT_091 and *MAT_092.
- Fixed an error in brick spot weld assemblies when used with strain rate sensitive failure functions. For assemblies, the strain rate is a volume weighted average strain rate of the elements in the assembly. However, the volume was pulled from unallocated memory for most elements resulting in a strain rate that may be too small. This error affected failure options OPT=1 and 7 on *MAT_100, and also weld failure for *MAT_100_DA.
- Added a new option for *MAT_SPOTWELD called FMODE. The FMODE option is available for DMGOPT=10, 11, and 12. When the failure function is reached, and when FMODE>0.0 and <1.0, the value of FMODE will determine if a weld will fail immediately, or will have damage initiated. The failure function may include axial, shear, bending and torsion terms. If the sum of the squares of the shear and torsion terms divided by the sum of the square of all terms is greater than FMODE, then the weld will fail immediately. Otherwise, damage will be initiated.
- Fixed *MAT_024 plastic strain failure for beam element forms 4 and 5. The elements were not failing.
- Fixed thermal strains in *MAT_021 when used by tshells. The material directions were not processed correctly causing incorrect thermal strains.
- Fixed shell and solid *MAT_244 when LCY1, LCY2, LCY3, LCY4, or LCY5 was left equal to zero on card 2 of the data. In this case, we attemped to use nonexistent data. This caused the Windows executable to error terminate with a "Program Exception - access violation" message.
- Addressed various issues to make *MAT_172 more robust, including error checking of input, and allowing FC=0 when the fraction of reinforcement = 1.0
- Add default strength limits of 1.e+16 (XC, XT, ...) if they are not defined for *MAT_261/*MAT_262.
- Enable GISSMO (*MAT_ADD_EROSION) to be used with beam element type 1.
- Add plane stress option (_2D) for *MAT_024 and shell elements. This invokes actual plane stress treatment, i.e, transverse shear stresses are not part of the yield condition but updated elastically.
- Fix rarely occurring NaN issue with LOG_INTERPOLATION option of *MAT_024, *MAT_083, and *MAT_181.
- Fix for *MAT_034 (FABRIC) with FORM = 14, 24, or -14. Number of history variables could have been too low for the case that tables are used for parameters LCA, LCB, LCAA, or LCBB. And that could have led to noisy stress response (in versions R8.0 to R9.2).
- Fix for NaN problem with *MAT_089 and shell elements.
- Add optional interpretation of EPSTHIN in *MAT_123. The sign of the input value governs the type of strain that is used:
- EPSTHIN>0: thinning total strain (as in ISTUPD=1)
- EPSTHIN<0: thinning plastic strain (as in ISTUPD=4)
- Some CPU cost improvements for *MAT_123 (R9.2.0 was slower than R7.1.3).
- Add option to use logarithmic strain rates in *MAT_224's failure strain curve LCG.
- Bug fix for *MAT_224 and 2D contact with erosion.
- Fix for failure treatment in *MAT_224_GYS. Update of failure function F could have been wrong, because the plastic strain increment was not always zero for elastic integration points.
- DIEM damage model (IDAM<0 on *MAT_ADD_EROSION): Allow log strain rates in DIEM damage model when tables are used. Same convention as *MAT_024 (first argument negative) is used to deduce whether strain rate or log of strain rate is input.
- Fixed the *MAT_022 ATRACK option which causes the a-direction to rotate with deformation as well as element rotation.
- A first-order, low-pass filter is implemented to smooth the effective strain rate for *MAT_ADD_EROSION; see variable DTEFLT. High frequency response above the cutoff frequency is filtered out.
- Fix bug affect convergence in *MAT_260B/*MAT_MOHR_NON_ASSOCIATED_FLOW for shells.
- When EPSR and EPSF are defined in *MAT_054, made a correction to the computation of transverse shear strains for solids and tshells.
- Added a criterion to avoid possible snapback behavior in *MAT_262 by only allowing certain "softening" modulus with respect to the elastic stiffness. This might be important when using rate-dependent strength limits and the values for the fracture toughnesses are not properly set.
- Fix bug for *MAT_082 introduced in rev 111671.
- Fix for the combination of *MAT_ADD_EROSION and thick shell type 2 (*SECTION_TSHELL, ELFORM=2). Strain-based criteria (e.g. MXEPS) did not work correctly before.
.
MPP
- Add new pfile option "transform_keyword" to the "decomp" section. Including this new flag will cause the global decomposition transformations to apply to all the decomposition regions created by these keywords:
- *PARTS_DISTRIBUTE
- *PARTSET_DISTRIBUTE
- *ARRANGE_PARTS
- *CONTACT_DISTRIBUTE
- Before r86885, and after that was reverted in r102224, these regions were decomposed without any coordinate transformation at all.
- Between those versions, the global transformation applied to all these regions. I think this behavior makes sense, but someone complained that r86885 changed behavior, so it was removed in r102224. Then someone ELSE complained that r10224 changed the behavior that THEY wanted, so this option is now added.
- Do case insensitive comparisons when processing REGION data in the pfile.
- Update shell and solid cost parameters for "newcost" decomposition option.
- Improve handling of some MPP decomposition temporary files to handle various combinations of local directory, job id, and keyword->structured processing.
- Fix bug in MPP where the adaptive death time for fusion (CDEATH in *CONTROL_ADAPTIVE) was not internally set to 10E20.
- Regarding MPP and Hybrid executables for X86-64 CPUs with AVX2 or AVX512 instruction sets: In previous releases, separate AVX2 and AVX512 executables were provided only for Intel Xeon CPUs.
- In R9.3.0, AVX2 "common" executables are provided which will run on all AVX2-enabled x86-64 CPUs.
- In addition, in R9.3.0, separate AVX2 and AVX512 executables are provided that are specifically built to run only on AVX2- and AVX512-enabled Intel Xeon CPUs, and which have the same compiler flags as in previous releases. It has been found that the common X86-64 executables in (1), when run on Xeon CPUs, may not provide the same results as these Xeon-specific executables.
- In future releases, LSTC's plan is to provide only "common" executables for AVX2 and for AVX512, and eliminate the Xeon-specific executables.
- *CONTROL_MPP_DECOMPOSITION_ARRANGE_PARTS: Added option to distribute a part or a partset among a specified group of processors to get better load balance.
- *PART_AVERAGE is enhanced for better MPP scalability without special MPP decomposition.
- Implemented a new decomposition option "together" (*CONTROL_MPP_DECOMPOSITION_ARRANGE_PARTS with TYPE = 20 or 21). This qualifier works like "lumped" to keep elements in the region on a single processor but it also assigns them on the same processor with their neighboring elements with load balancing intact. In general, "together" is recommended over "lumped".
- Fix missing initialization that broke d3plot files when MPP predecomposition was used with models having *DEFINE_CURVE_FUNCTIONS that used the PIDCTL function.
- *DEFINE_SPOTWELD_MULTISCALE, *INCLUDE_MULTISCALE_SPOTWELD: Fix for multi-scale spotwelds in double precision.
- There was a block of code executed during *PART_MODES initialization that only should have executed on processor 0. A fix was made accordingly.
- Adjust decomposition cost factor of *MAT_083. This leads to a more balanced CPU load distribution in MPP calculations with this material model involved.
- Adjust decomposition cost factor of solids with ELFORM=13 (nodal pressure tetrahedron). This leads to a more balanced CPU load distribution in MPP calculations with this element type involved.
.
Output
- Fix MPP error in selecting which seatbelt elements will be output to sbtout.
- Fix for improper idtrans handling of set ID in nodfor file in some cases, which could have resulted in strange LEGEND sections in the nodfor output file.
- Fixed bugs in the d3plot filter option (see second card of *DATABASE_BINARY_D3PLOT) for MPP and SMP to make the filter option compatible with other d3plot options.
- Added new option, NDFLAG, for *INTERFACE_SPRINGBACK to dump all nodes into dynain file.
- Modified the writing of dynain files so that fabric elements output node and connectivity data, but omit the stress and strain data because it is not useful for initializing the stress of fabric. A warning message is written within the ascii dynain file to inform the user.
- Enabled cross section force output (secforc) for higher order shell forms 23 and 24.
- Efficiency improvements and fixes for *DATABASE_FATXML.
- Fixed part id output for discrete element in d3hsp.
- Fixed bug in reading heading card for *DATABASE_HISTORY_NODE_ID_HEADING.
- Fixed bug in *DATABASE_BINARY_D3PLOT when variable PSETID is used and part set PSETID had duplicate parts.
- Fixed bug affecting *DATABASE_HISTORY_DISCRETE if BEAM=1 in *DATABASE_BINARY_D3PLOT.
- Fix bug that could possibly have led to incorrect output of some beam data in elout.
- Fixed bug where dynain file was missing some thermal history variables when using *INTERFACE_SPRINGBACK_LSDYNA_THICKNESS with NTTHSV>0.
- Fixed an error termination that could occur if swforc is not requested (no *DATABASE_SWFORC) and there are solid spot weld assemblies that fail.
- Fixed legend output in nodout file if long format is used.
- Fixed a bug affecting the labels of history nodes (i.e. *DATABASE_HISTORY_NODE_LOCAL_ID), when long format is involved.
- Fixed bug for d3plot if both DECOMP=5 or 6 in *DATABASE_EXTENT_BINARY and PSETID is used in *DATABASE_BINARY_D3PLOT to exclude parts.
- The binout data for *PART_AVERAGED is revised and nodal values can be displayed in LS-PrePost.
.
Restarts
- Fix to recompute rotational node mass increment for BEAM_OFFSET tied contact after full deck restart.
- Fixed an issue with restarting a job from cycle 1 when there are tied contacts in the model and they move nodes in cycle 1, and those nodes are also involved in segment based contact. The error was causing possible energy growth around the tied contacts.
- Fixed neighbor spot weld thinning when an MPP job is terminated after 1 cycle and then restarted from the d3dump file.
- Fix bug in full deck restart of tied contact where old contacts were flagged as new ones, so the initialization after restart was done with the updated coordinates, leading to force discontinuities.
.
SENSOR
- Fix issue of *SENSOR not properly turning off prescribed motion.
- Fixed ineffective *SENSOR_CONTROL with type='PRESC-MOT' to switch off *BOUNDARY_PRESCRIBED_MOTION.
.
Thermal Solver
- *DEFINE_CURVE_FUNCTION should now be working for curves used by the thermal solver.
.
Miscellaneous
- Fix excessive memory growth for all types of adaptivity, and reduce memory requirements overall
- Fix incorrect handling of symmetric load curves (*DEFINE_CURVE) when checking discretization errors, which resulted in misleading error messages.
- Fixed *DEFINE_CURVE_FUNCTION usage of the BEAM() function, which was returning information for the wrong beam.
- Add failure function terms (normal, bending, shear) as arguments of functions in *DEFINE_CONNECTION_PROPERTIES with PRUL >= 2.
- Add new option DGTYP=5 to *DEFINE_CONNECTION_PROPERTIES.
- Option to remove boundary kinks that sometimes occur in 2D r-adaptive remeshing. For this purpose, set CNLA = -110 in *CONTROL_ADAPTIVE with ADPOPT=8.
- Fixed bugs in reading long format for many keywords.
- Fixed bugs in writing of long format (newformat=long) for a few keywords.
- Fixed bug in reading multiple *SECTION _SHELL_EFG.
- Added error message if bad input value for variable DIR in *DEFINE_COORDINATE_NODES.
- Fixed error in reading *PART_SENSOR; broken since r102468.
- Fixed bug in writing of dynain data associated with STAGED_CONSTRUCTION.
- Fixed bug for creation of drawbead display beams in case of adaptivity.
- Fixed bug causing 2d axisymmetric adaptivity to fail in some cases.
- Fixed bug is which encrypted input for *MAT_075 was echoed to d3hsp.
- The User's Manual says that non-numeric (alpha) IDs are permitted for the variables PID, SID, MID, and HGID in keywords *PART, *SECTION, *MAT, and *HOURGLASS. R9.3.0 now allows the command line option "plabel=no" which serves to disable checking for non-numeric (alpha) IDs while reading keyword input. This option may only be used if all IDs in the input deck are integers. The advantage of the option is that processing of input is faster, although the effect would not be noticed in models that initialize quickly.
- Support a function name up to 80 characters in *DEFINE_FUNCTION_TABULATED. Backported all *DEFINE_PRESSURE_TUBE changes up to dev/r127782.
- Fixed bug in reading long format if *KEYWORD long=yes is used in *INCLUDE file.
- Fixed bug in newformat option for *NODE_SCALAR For newformat=i10 option, "%" sign only added to the modified keyword.
- Fixed a segmentation fault that occurred when PSETID was used in *DATABASE_BINARY_D3PLOT and there were eroding contact(s).
- Fixed bug in reading long format input for *INCLUDE_STAMPED_PART if optional cards 4 or 5 card don't exist.
- Bug fix for Windows when reading an input file which is larger than 2 GB.
.
2018/07