Fill out the form to download

Required field
Required field
Not a valid email address
Required field
Required field
  • Set up your own cloud-native simulation in minutes.

  • Documentation

    Error: Matrix is Singular / Not Factorizable


    The solution matrix is singular. This may be caused by an unconstrained rigid body motion, a physical contact definition with an open gap in a nonlinear static analysis or incoherent material parameters.


    The solution matrix is not factorizable. This might be caused by unconstrained rigid body motion or by overconstrained degrees of freedom due to multiple linear relations at at least one node.

    What Happened?

    The solution couldn’t proceed since the matrix is singular (not factorable matrix).

    What Could Be the Possible Reason?

    This error may occur due to several reasons, which are:

    • Poorly defined boundary conditions. An uninvertible matrix can be caused by poorly defined constraints. For example, applying only a load without constraining the geometry.
    • Some nodes are overconstrained, due to multiple constraints assigned in the same direction from different boundary conditions, contacts, physical contacts, or a combination of those.
    • Units of material properties such as Young’s modulus are not consistent with the dimensions of the geometry.
    • A body is only constrained by its contact with another solid body when using linear sliding contacts or nonlinear physical contacts. This causes the body to move freely in all directions which causes the matrix to become uninvertible.
    • Duplicated contact assignment on the same pair of faces, with reversed order of master/slave.
    • Node belongs to multiple contact slave assignments.
    • Using Multfront or LDLT for non-positive-definite matrices (negative or zero eigenvalues) under Numerics.
    • Use of smaller value for Precision singularity detection under Numerics.

    What Can I Do Now?

    Do the following steps to resolve this error:

    • Evaluate the boundary conditions: Make sure that your geometry is properly constrained. For example, in the crane tutorial, the crane is fixed on one end while receiving a downward force on the other end and no faces are constrained with multiple boundary conditions. Also, make sure that the nodes are not overconstrained. This might happen due to improper boundary conditions on adjacent faces sharing nodes/edges.
    boundary condition overview of a static analysis of a crane to resolve singular matrix
    Figure 1: Perfectly constrained geometry, where downward force is balanced with a fixed support
    • Check if the material parameters provided are consistent with the geometry dimensions or not: For structural analysis, units of physical and material parameters must be consistent with each other. The units for each parameter based on its standards can be seen below:
    ParameterSISI Imperial
    Stress / Young’s Modulus\(Pa\ (N/m^2)\)\(MPa\ (N/mm^2)\)\(psi\ (lbf/in^2)\)
    Table 1: Units of physical parameters based on SI and Imperial units
    • Evaluate physical contact definitions: Two contacts should not be defined on the same pair surfaces with reverse order of master/slave assignments. One contact is enough to fulfill the requirement. Consider running automatic contact detection again. Also, multiple slave surfaces from different contact definitions should not share nodes. One has to be the master surface among these surfaces. As an example, please see the Shared slave nodes error case. You can check this in your Physical contacts settings.
    master and slave physical contact assignments to avoid singular matrix
    Figure 2: Make sure that physical contact surfaces do not have reverse assignments and slave surfaces in physical contacts do not share nodes
    • Find unconstrained body when using linear sliding contacts or non-linear physical contacts: Constrain the free structure so that it is held by the constrained boundary condition and by the contact. For example, the wheel below is constrained by the physical contact with the ground and the x- and y-plane to constrain the movement in each plane.
    example of properly constrained multiple bodies
    Figure 3: Make sure that the bodies are properly constrained on their own and by the contacts
    • Bodies with sliding or nonlinear physical contact should not be constrained in such a way that they can’t deform. This happens when a fixed constraint or rotating motion is applied to the whole volume.
    • Use the ‘MUMPS’ solver: In the case of zero or negative eigenvalues, make sure that you are using ‘MUMPS’ which can handle non-positive-definite matrices better than ‘Multfront’ and ‘LDLT’. These settings can be changed in Numerics.
    how to change solver
    Figure 4: Use the ‘MUMPS’ solver because it handles non-positive-definite matrices better than the ‘Multfront’ or ‘LDLT’ solver
    • Increase the value of ‘Precision singularity detection’: This will allow the solver to continue despite imprecise detection of singularity. This setting can also be found under Numerics.
    change precision singularity detection to increase precision to resolve singular matrix
    Figure 5: Increase ‘Precision singularity detection’ for higher precision

    Important Information

    If none of the above suggestions solved your problem, then please post the issue on our forum or contact us.


    Last updated: September 5th, 2022