My simulation is not solving efficiently and diverges. I have negative eigenvalues in my message file, what does this mean?
To answer this question, let us take a brief look at the finite element method. Your model is being turned into a representative stiffness that we call a stiffness matrix. These are the same matrices you studied a long time ago in math class. However, they have the possibility of having millions of entries as your model becomes large!
The Theory, In Brief
The matrix equation that we are solving is in the form of the basic spring equation F=KD. The K in this equation is our stiffness matrix! As we apply forces in the model, we need to solve for the displacements. These displacements then allow us to calculate the strain and resultant stress in our model. Abaqus has additional capabilities that ensures our system is in equilibrium and stable. This equilibrium check is important to accurately capture the non-linearities of our model. A stable matrix is considered semi-definite and positive. This means that all the eigenvalues will be either zero or positive. Therefore, if we get a negative eigenvalue, it means our stiffness matrix has become unstable.
What causes these instabilities in our model?
- Loss of stiffness such as a buckling event
- Rigid body motion
- Unstable material model responses, such as perfect plasticity, high strains, or softening behavior
- The solution is not unique
Negative eigenvalues are often paired with other warnings such as numerical singularities, zero pivots, element distortion, or magnitude of the current strain increment. In the case where your solution is diverging, addressing these warning messages will often eliminate the negative eigenvalue warning as well.
An interesting scenario described in BR10000191009 discusses using distributed couplings or connector elements that may report a negative eigenvalue warning due to the way those features are implemented into the solver. If this is the cause, then the results are correct if the model is well-posed and devoid of rigid body modes.
How to Deal With It
It is important to get in the habit of reviewing the message file for negative eigenvalues. If negative eigenvalue warnings are found in converged iterations, the solution must be checked to make sure the solution is accurate.
The recommendations for correcting negative eigenvalues are to re-evaluate your material models and ensure your boundary conditions and loading conditions are realistic. When we look at the available results of a model that has negative eigenvalues, we want to look for areas that might be buckling or overly strained and re-evaluate how the loading and boundary conditions are interacting with those areas.
The following 3DS Knowledge Base article QA00000009389 provides additional helpful information on negative eigenvalues for your simulation needs!