LS Dyna

LS Dyna

Zero length spring convergence issues

    • mmia1


      I was trying to model pipe connection. There are two pipes and at the connection both pipes have duplicate nodes meaning that first pipe end nodes and second pipes front nodes are at same location. In beginning, I was doing analysis merging these nodes and found no error. Take a note, these merged nodes were assigned roller support conditions.

      However, I have to use zero length spring between these duplicate nodes. But my model failed to converge. What can be done? Here are some details:

      1. zero length spring between these duplicate nodes
      2. roller support at these nodes
      3. section discrete and element discrete were used
      4. MAT_SPRING_NONLINEAR_ELASTIC was used with following load curvef
      5. printf(fileID,'*DEFINE_CURVE_TITLE\n');
        fprintf(fileID,'$#    lcid      sidr       sfa       sfo      offa      offo    dattyp     lcint\n');
        fprintf(fileID,'         2         0       1.0       1.0       0.0       0.0         0         0\n');
        fprintf(fileID,'$#                a1                  o1\n'); % a1 = displacement;  o1= force
        fprintf(fileID,'         -1.4000e-02        -16.0000e+03\n');
        fprintf(fileID,'         -4.0000e+00        -16.1000e+03\n');
        fprintf(fileID,'         -6.0000e+00        -23.0000e+03\n');
        fprintf(fileID,'          0.0000e+00          0.0000e+00\n');
        fprintf(fileID,'          1.4000e-02         16.0000e+03\n');
        fprintf(fileID,'          4.0000e+00         16.1000e+03\n');
        fprintf(fileID,'          6.0000e+00         23.0000e+03\n');


    • Ashish Khemka
      Ansys Employee



      • mmia1

        FATAL ERROR: Nonlinear solver failed to find equilibrium

    • mmia1

      The error message was "Non linear model did not converge"

    • Jim Day
      Ansys Employee
      So I better understand your intent, why is merging the nodes and applying a local constraint at the shared node a deficient approach?
      • mmia1


        Sorry, I did not understand what you tried to say but I am not merging the nodes. Rather I am trying to use zero length spring having material properties of bolt so that it can represent bolted connection.

        • Jim Day
          Ansys Employee
          I had asked the question because it wasn't clear to me why you felt the need to insert a zero-length spring at the juncture of two beam (pipe) elements rather than simply merging the beam nodes. You've answered the question so we can move on. Have you tried implementing the implicit guidelines in an attempt to overcome the non-convergence?
        • mmia1


          Thank you for your reply. I was checking the model with implicit solver and the model worked completely well without spring. The moment I added a discrete linear elastic spring, the model failed to converge. For your convenience, I am adding the spring code portion here by screenshot. 

          Herein the code, pid = 3;



        • Jim Day
          Ansys Employee
          Suggestions: 1. Run an eigenvalue analysis by adding *CONTROL_IMPLICIT_EIGENVALUE and animate the resulting mode shapes by postprocessing the d3eigv output. Do the modes look reasonable? Based on the frequency of the spring-flex mode, would you say the spring is too soft or too stiff? 2. Go back to your prior input file and change the solution from static to dynamic by adding *CONTROL_IMPLICIT_DYNAMICS as suggested in the implicit guidelines. Those guidelines have been simplied/condensed into keyword format in the text document . 3. If #2 doesn't give a converged solution, furthermore add some mass to the spring nodes using *ELEMENT_MASS.
        • mmia1





          Thanks for the suggestions. The second suggestion worked for me using (*CONTROL_IMPLICIT_DYNAMICS).  

          Just a follow-up query. It  has been mentioned in implicit guideline card you sent as "

          GAMMA,BETA = 0.60,0.38 to invoke numerical damping in dynamic analysis."

          So, does these values need to be kept fixed or I need to do some sensitivity analysis to fix a value? Are there any guidelines to select these two Newmark constant values?


        • Jim Day
          Ansys Employee
          I don't know of any comprehensive set of guidelines for setting of GAMMA and BETA aside from what follows. GAMMA,BETA=0.60,0.38 are not mandatory but are commonly used to introduce numerical damping into the implicit transient solution. Numerical damping can help to stabilize an otherwise unstable simulation. I don't have a definitive reference explaining the significance of those two particular values. Numerical damping will be included when values greater than the default values of GAMMA and BETA are input. For further details, please see Remark 2 under *CONTROL_IMPLICIT_DYNAMICS in the LS-DYNA Manual Vol. I, which can be downloaded here ...
    • Jim Day
      Ansys Employee

      For LS-DYNA implicit simulations that don’t converge, please apply the guidelines as specified as follows:

      (Last updated June 10, 2019)
      When running implicit, use a double precision executable.  
      Because the implicit solver continues to evolve and improve,
      the latest production release as listed in is recommended.
      Starting at R11, a new implicit memory scheme is implemented which makes life easiler for the analyst.
      To get the very latest improvements, try the latest Development version, i.e., "version dev".
      To download version dev, send an email to and provide the banner from one of your 
      messag or mes0000 files.  
      Appendix P in the latest DRAFT of the User's manual includes a checklist of implicit modeling guidelines,
      which are primarily aimed at nonlinear implicit problems.
      For theoretical information on implicit, refer to the following sections in the latest DRAFT of
      the Theory Manual:
        29.21  Mortar Contact
        37     Implicit
      The DRAFT Manuals are available at .
      The zip file at 
      includes a comprehensive implicit guidelines document 
      LS-dyna_implicit_guideline.pdf, as well as examples that are described in a readme.txt file.
      More examples featuring implicit analysis are available at 
      Below is a very abbreviated list of implicit guidelines.  Please also refer to the checklist in 
      Appendix P of the LS-DYNA User's Manual for other important guidelines.
      -  For mildly nonlinear problems, use NSOLVR = 12 with LSMTD=4 (*CONTROL_IMPLICIT_SOLUTION).
         These are the default settings.
      -  For highly nonlinear problems, setting ILIMIT = 1 to invoke the Full Newton method may 
         be beneficial.  
         Bumping LSMTD from 4 to 5 may offer some benefit, but rarely. 
         More on ILIMIT:  
         Start out using the default, and then  switch to full Newton if iteration is erratic with norms behaving erratically. 
         Conversely, if full Newton is slow, with residual norms going down very slowly, use ILIMIT>1.
      -  Set ABSTOL=1.0E-20 in *CONTROL_IMPLICIT_SOLUTION to prevent premature convergence.
      -  For non-tied contacts, use MORTAR type contacts. 
      -  For tied contact, follow Remark 4, "Tied Contact Types and the Implicit Solver" in the *CONTACT section
         of the latest DRAFT of the User's Manual (
         Briefly, without providing the details mentioned in the Manual, the subset of tied contacts suggested are:
      -  Set VDC=0 in *CONTACT cards.
      -  Set OSU=1, INN=4, and IACC=1 in *CONTROL_ACCURACY.
      -  Element formulations:
           -  Use ELFORM = -16 for shells (that's negative 16), and apply hourglass type #8
           -  Use solid ELFORM -2 for solid hexahedral elements, especially when the solid elements have bad aspect ratios.
           -  Use ELFORM=2 instead of ELFORM=13 for beams.
           -  For a convenient way to change element formulation for implicit, see the variables 
      -  If there are *RIGIDWALLs, set RWPNAL to -1.0 (that's a negative one).
      -  Invoke the non-symmetric solver by setting LCPACK=3 in *CONTROL_IMPLICIT_SOLVER if
         convergence is a problem and ... 
           -  damping is included in an eigenvalue analysis (in this case, use SMP only), or
           -  MORTAR contact with friction is included, or
           -  beam formulation 2 is used.
           -  See the User's Manual (*CONTROL_IMPLICIT_SOLVER) for other less common conditions 
                that have a non-symmetric contribution.
           -  Note that LCPACK=3 will double the time taken by the linear equation solver and the 
              presence of the aforementioned conditions doesn't necessarily require that it be used,
              that is, it's very model-dependent.
         describes how to generate implicit statistics plots from d3hsp using LS-PrePost executables 
         (version 4.3 or later, dated 23-Apr-2016 or later; ).
      -  If a fatal error message that mentions the solver is encountered,
         set LPRINT=3 in *CONTROL_IMPLICIT_SOLVER and then look for added information in the mes* file(s)
         that provides further details concerning the source of the problem. 
      -  If an implicit analysis is sharing computing resources with other LS-DYNA runs and/or 
         with other applications, and a memory-related  error occurs, try reducing RDCMEM in 
         *CONTROL_IMPLICIT_SOLVER from the default of 0.85 to 0.50.  This advice applies starting 
         with version R11.
      -  Before running an implicit static analysis, it's good practice to run an eigenvalue analysis 
         to determine if the model has any rigid body modes.  If such modes exist they need to be
         constrained out or else *CONTROL_IMPLICIT_DYNAMICS activated (to run a dynamic analysis 
         rather than a static analysis). 
      Information on implicit is also provided at, 
      but if any of that information is in conflict with information above, the information above
      takes precedence.  
Viewing 4 reply threads
  • You must be logged in to reply to this topic.