Marc > Running an Analysis > Resolving Convergence Problems
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX''">XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX''">   
Resolving Convergence Problems
For complex models involving multiple forms of nonlinear behavior the tried and true approach (particularly if you are new to this type of problem) is to start with a linear model and add nonlinearities one at a time. Alternatively, remove the nonlinearities one at a time until it runs. This approach helps you determine which type of nonlinearity is causing the convergence problem. If you have contact, remove it and let the bodies pass through one another or replace the contact condition with an equivalent displacement constraint. If you have nonlinear materials replace them with simple elastic ones. Add the nonlinearities back one at a time, making sure the behavior is reasonable and correct.
If you run the analysis and it does not run at all, or ends before completing, you will get an error message in the jobname.out or jobname.log file that will give you an indication of what the problem is. Do a text search on the word error in the jobname.out file. The first thing to check is to make sure you were able to get a license to run the job. Licensing problems are one of the most common reasons for a run to fail. If you are sure you have a license and submit the job correctly you should get a jobname.out file that will end with an Marc Exit # preceeded by a description of why the run stopped. Common Exit #'s are:
Exit 3004 - success. The job ran to completion and did everything you asked.
Exit 13 - syntax error in the input file. You should check the input syntax of the line the error message points to, but it is likely that the actual error was in the input block prior to where the message points.
Exit 2004 - typically means non-convergence due to rigid body motions. See recommendations for equilibrium below.
Exit 3002 - means the analysis ran into convergence problems part way through and did not complete.
Any Exit Message of 3000 or higher means there are converged increments. Plot the converged increments to see what is going on. See Technical Application Note 4575 or Marc Volume C: Program Input, Appendix A of for a more complete list with suggested fixes.
Things to consider if your Marc model does not converge:
1. Equilibrium - Make sure your model has LBCs and contact conditions that will ensure force equilibrium at every increment/iteration and for all rigid-body modes (typically there are 6). When in doubt either:
Eliminate this as the source of nonconvergence by intentionally over constraining the model (or adding soft springs) and then removing constraints one at a time until you figure out the unconstrained rigid body mode or
Under Analysis | Job Parameters | Solver Options turn Non-Positive Definite ON. This can also be controlled step to step under Load Step Creation | Solution Parameters | Iteration Parameters. One area that is sometimes overlooked regarding equilibrium is that of the rigid body control. If you do not specify adequate control information (e.g., you forget to add the zero that fixes the rigid body rotation value) you may have convergence problems.
2. LBCs - When LBCs are removed, the ABAQUS Preference causes the removal of the forces/pressures (and the reaction forces due to displacement constraints) gradually over the subsequent step. The Marc Preference will remove forces and pressures gradually, but the reaction forces of displacement constraints are removed suddenly at the beginning of the subsequent step unless the RELEASE option is used when defining a contact table (under Load Step Creation | Solution Parameters | Contact Table). This sudden change in loading can cause convergence problems.
3. Stability and Collapse - Nonconvergence will occur when a structural instability (i.e., buckling) mode is encountered. Buckling can occur either locally (in highly stressed areas where the stability of individual elements is exceeded - adaptive re-meshing will help this) or globally when the critical buckling load (Pcr) of any part of the model is exceeded. You may want to do a linear buckling analysis to determine the load that would buckle the least stable part of the structure. If you suspect that you are approaching the postbuckled region here are some other things to try:
Try using Marc’s quasi-static inertial damping (turn this on under Analysis | Load Step Creation | Solution Parameters |) or use one of the Arc-length methods. This will help get through the unstable region if doing a snap-through buckling problem, and may help get you past one or two elements of local buckling, but probably not more than that.
Try a finer mesh (smaller elements have shorter length and so higher Pcr).
4. Materials - Make sure that the material coefficient values are realistic and that the models will support the stresses and loads developed in the model. For example if you hang a 1000 lb. weight from a perfectly plastic wire with a 0.001 in2 cross section and a 20 ksi yield stress, the resulting 100 ksi stress cannot be supported by the (20 ksi yield stress) material and the run will not converge. Comparable behavior in bending is referred to as a plastic hinge. Unit mismatches will often result in this type of problem (note that this only occurs in nonlinear analyses). For example, let us say you are modeling a cantilever beam and using a perfectly plastic material model and a follower force tip load, and you mistakenly add an extra zero to the tip load. A plastic hinge will develop with the beam winding up like a spring and the analysis continuing to run until it runs out of increments (which may take a long time). If you suspect this type of problem, first run the problem with a small fraction of the load to see if it will converge. If you are using an ortho/anisotropic material it is possible to select combinations of material properties that will result in a non-positive definite material coefficient matrix. Normally the analysis code will warn you if you violate this requirement.
5. Contact - If the is a problem with chattering (a condition where a particular node jumps into and out of contact thus preventing the increment from converging), you can go to Job Parameters | Contact Control Parameters | Separation and set the Chattering toggle to Suppress. The parameters which have the biggest effect on contact behavior are Contact Distance Tolerance, D (see Figure B‑1), Bias Factor, B (see Figure B‑2), and Separation Force. By default Marc uses D = 1/20th of the element edge length. You can find the specific value in the jobname.OUT file and try a larger or smaller value, whichever you feel is most appropriate. Marc’s default on the bias value is 0, if having problems with contact one of the first things to try is to override this value on the Analysis | Job Parameters | Contact Parameters | Contact Detection form with 0.9. Another option would be to increase the separation force (which defaults to 0) to prevent chattering. When considering contact problems look for places (such as corners and other discontinuities) where one contact surface may slip off. Marc has a capability to delay slide-off when defining a contact table.
Standard steps to resolving convergence problems: If your model does not run, or stops pre-maturely, first read the messages in the jobname.msg, jobname.log, and jobname .out files. The jobname.msg file will tell you if there were any problems translating the model into the Marc input jobname.dat file and the jobname.out file will tell you why the Marc run failed. Common causes of the Marc run to fail include:
un-constrained rigid body modes
2) you are in the post-buckled region
3) problems resolving contact
4) some part of the model/material is over-constrained such that the given displacement solution does not change when the load is increased (i.e., individual elements are buckling locally), this type of nonunique solution can prevent convergence. See the appropriate section above for possible solutions.
After trying the obvious things talk to other experienced users about possible reasons your run is not working. In one case a user was using the standard element formulation with Poisson’s Ratio (ν) = 0.5 and HEX/27 elements and his model would not converge even though there were no obvious problems. For this case using the constant volume formulation should provide a unique solution and allow convergence, unless ν = 0.5 causes numerical problems. In that case you should use the Herrmann elements (which also requires using the constant volume formulation) and which should take care of the numerical problems as well as the nonunique solution problem. If these options do not work you could try using reduced integration, which may solve both problems at once, but may have problems with energy-free or spurious deformation modes (also called hour-glassing), although Marc has built-in hour glass stabilization. Also, try quasi-static inertial damping or an arc-length method. Here are some other things to try:
Try a finer mesh
Modify the material model
if it is simple elastic, perfectly plastic with large plastic strains try using constant volume Herrmann elements.
if using a hyper-elastic material model try lowering ν from 0.5 to maybe 0.49 or so (or lower if you have to)
make sure it is based on test data that includes the type of behavior you are trying to model (i.e. if your test data is from a uniaxial tensile test and you are modeling a pressurized cylinder, which is a biaxial stress state, try analyzing a simple biaxial sheet to see if your hyperelastic material model will successfully handle biaxial stress states. If not you may have to include some bi-axial test data (hyperelastic models based on test data should include at least two deformation modes, although Marc has a new Arruda-Boyce model which is supposed to be accurate with only one mode of experimental data).
Simplify - if the model you are running is a 3D cylinder made of solid elements, run a 2D axisymmetric test case to check out the mesh refinement and material model.
If not in the postbuckled region try:
1. Look at deformed shape to see if it looks reasonable (by default in the Marc Preference uses a true scale factor = 1 to show the actual deformation). Remember that static equilibrium must be maintained at every step.
2. Check reaction forces to see if the load path is reasonable.
3. Look for highly distorted elements, both visually and in the jobname.out file. If you find any, you may need to go back and refine your mesh in that area to keep those elements well-behaved, i.e., converging, or use adaptive re-meshing. Although distorted elements will normally just give you bad results but not necessarily prevent convergence. Typically linear elements (i.e., quad/4 instead of quad/8) do better in analyses where severe distortion is expected.
4. If using contact elements you may be able to ease convergence problems by simplifying the contact interaction
Look at the jobname.sts file for the # of increment splits and # of separations to see if contact is the problem
Set bias to 0.9, increase (or decrease) the contact tolerance distance, suppress chattering
Modify the contact table to eliminate suspected trouble areas (at least as a diagnostic measure)
Look for areas where contact bodies may be sliding off
5. Pay attention to the messages in the jobname.msg and jobname.out files, they may tell you why the model was not translated or convergence was not reached and the analysis terminated.
6. If nonconvergence relates to inelastic behavior of the material, such as in a plasticity analysis, make sure there are no plastic hinges formed, where static equilibrium cannot be achieved because the material is not strong enough, in this case all the iterations go to deforming the body around the plastic region and static equilibrium may never be reached.
7. When doing a hyperelastic material analysis the material model may be unpredicatable since the coefficients are generally quite unintuitive. The run may not converge simply because the material model, while it may look reasonable, may actually be inherently unstable (things like negative energy behavior, etc.).
8. Make sure you are not stuck at a stability bifurcation point, (i.e., at a buckling mode). What may be happening is that there are two valid (postbuckling in this case) equilibrium paths and the code flips back and forth between them preventing convergence. The way to get past this is to make the problem dynamic and use the inertia of the body to select the appropriate equilibrium path.
Again, the tried and true method is to start with a linear model and add nonlinearities one at a time, or remove nonlinearities one at a time until the model runs.