# Investigating “excessive PIVOT RATIOS IN MATRIX KLL” (2/2)

Published: mer 07 janvier 2015

First part of this post to be read here.

So What?

## a bit of NASTRAN litterature: the MAXRATIO parameter

from mdnastran 2010 quick reference guide, BAILOUT parameter is linked with MAXRATIO parameter (page 807 or 839 of the PDF):

    **Default = 1.E7**

The ratios of terms on the diagonal of the stiffness matrix to the corresponding terms on the diagonal of
the triangular factor are computed.  If, for any row, this ratio is greater than MAXRATIO, the matrix will
be considered to be nearly singular (having mechanisms).  If any diagonal terms of the factor are
negative, the stiffness matrix is considered implausible (non-positive definite).  The ratios greater than
MAXRATIO and less than zero and their associated external grid identities will be printed out.  The
program will then take appropriate action as directed by the parameter BAILOUT.

[...]  A negative value for BAILOUT directs the program to continue processing the
superelement.  Although forcing the program to continue with near-singularities is a useful modeling
checkout technique, it may lead to solutions of poor quality or fatal messages later in the run.  It is
recommended that the default values be used for production runs.  A related parameter is ERROR.

The value -1 of BAILOUT causes the program to continue processing with near singularities and a zero
value will cause the program to exit if near singularities are detected.

In SOLs 101 through 200 when PARAM,CHECKOUT,YES is specified, PARAM,MAXRATIO sets the
tolerance for detecting multipoint constraint equations with poor linear independence.[...]


One important thing here is that BAILOUT may take two values: 0 or -1. This parameter is a flag for NASTRAN which tells it how to behave when NASTRAN meets a term negative or greater than MAXRATIO in the diagonal of the stiffness matrix.

So, let’s try to increase the MAXRATIO parameter:

## Tweaking MAXRATIO

setting back BAILOUT to 0, the model fails again (for sure). To know which value to use for MAXRATIO, the user can check the ”USER WARNING MESSAGE 4698 (DCMPD)”. This warning message list all the values above current MAXRATIO. Taking the maximum of those values should thus lead to a running analysis:

     GRID POINT ID       DEGREE OF FREEDOM   MATRIX/FACTOR DIAGONAL RATIO        MATRIX DIAGONAL

4088                    T1                   6.79258E+09                   4.00000E+16
4089                    T1                   9.77982E+09                   4.00000E+16
4090                    T1                   1.80302E+10                   4.00000E+16
4103                    T1                   5.57586E+09                   4.00000E+16
4105                    T1                   1.98533E+10                   4.00000E+16
4106                    T1                   2.33559E+10                   4.00000E+16
[...]                  [...]                     [...]                          [...]


From the previous extract of the .f06 file, the max ratio found is 2.33559E+10. Thus, using a MAXRATIO of 2.5E+10 should be enough.

Launching again the analysis and… BINGO! The model ran without using Mechanism module, just by increasing MAXRATIO. But As explained by NASTRAN manual,

[...] forcing the program to continue with near-singularities [...] may lead to solutions
of poor quality or fatal messages later in the run.  It is recommended that the default values
be used for production runs''.


## Epilog

So we checked from the previous investigations that the issue with the model was not a lack of attachments, and the MAXROT investigations clearly showed that problem is with the global stiffness of the model.

Now, reading a bit further the already described USER WARNING MESSAGE 4698 (DCMPD)” message, it can be read the following:

 During decomposition, the degrees of freedom listed have pivot
ratios that are that are greater than maxratio or are negative.
Verify that the degrees of freedom are not part of a mechanism
and that elements do not have excessive stiffness


And actually, in the model, the spring attaching the model to the SPC were modeled using 1E+18 as stiffness along Z to simulate conservatively +inf.

Reducing this stiffness along Z from 1E+18 to 1E+14 allowed the model to be ran with default MAXRATIO (1E+07) and with BAILOUT=0!