Continue to Site

Eng-Tips is the largest engineering community on the Internet

Intelligent Work Forums for Engineering Professionals

  • Congratulations KootK on being selected by the Eng-Tips community for having the most helpful posts in the forums last week. Way to Go!

NASTRAN - value of epsilon

Status
Not open for further replies.

apezzell

Aerospace
Sep 11, 2014
1
MSC suggests a maximum epsilon value of 1E-9, whereas at least one company I have worked with had a company standard of 1E-12 for their models.

So, my question is what is your personal or company standard and what industry do you work in? If/How do the accepted values change with model size and complexity?

Thanks!
 
Replies continue below

Recommended for you

Not specifically for MSC, but here is what the value of epsilon (maximum allowed numerical error) may mean in the FEA. This is just one example.
Suppose, you are working with a very large model, and an iterative method (say, the conjugate gradient, or CGM, method) has been chosen to solve the system of linear equations. The global stiffness matrix may contain millions of rows/columns; the right-hand side of the system contains externally applied nodal forces; the vector of unknown variables is comprised of the nodal displacements (and, possibly, rotations).
The CGM is iterative, which means that it would deliver not an exact but an approximate solution (it would have delivered an exact solution if the computer would be able to perform exact operations with unlimited number of significant digits, which is not the case - we have only 16 decimal digits for each double precision variable). Since an approximate solution only is available, a question arises: when exactly the iterations are to be stopped ? The CGM algorithm allows estimation of the residual errors, say, by comparing the components of the unknown variables at two consecutive iterations. But those are _estimates_ only, because we don't know the exact solution. The residual error estimate (which is supposed to be compared with the epsilon) can be calculated as follows: for each unknown variable, the value obtained at a particular iteration is subtracted from the value of the same variable obtained at the previous iteration, then it is squared, then all the squared values (i.e. for all the degrees of freedom) are summed up, then the square root is taken. The obtained value is called an _absolute_ error estimate. In order to obtain a _relative_ error, the absolute error is divided by the norm of the current vector of unknown variables.
OK, how good is the solution ? Even if the current relative error has dropped below epsilon, it does not mean that the obtained solution has a required number of significant digits. For instance, even if epsilon is set to 10**(-9), by no means it indicates that we have nine significant digits for each unknown variable (i.e. for each degree of freedom). Why ?
Here is a thing, called: the stiffness matrix condition ratio. Not immersing ourselves into complexities of linear algebra, a simple explanation sounds like that: if our computer allows operations with 16 significant digits, and the value of the condition ratio equals, say, ten in the power of twelve, we will have AT MOST just four (!) significant digits in the solution, since 16-12=4. So, what we've got: we have a set-up epsilon, but we have no idea about the actual value of the global stiffness matrix condition ratio. So we can only _guess_, judging on our personal experience: to which value the epsilon should be set. But experience counts ! And here is what it says: the stiffness matrices constructed for 3D elements, are much better conditioned then the matrices constructed for plate (or shell) elements. Why it is so - it is a different topic, but the rule of thumb is: if you are working with beams, plates and/or shells, you are much safer setting epsilon to 10**(-12) rather then to 10**(-9). It takes longer for the CGM iterations to complete, but the probability of obtaining a more accurate solution is much higher. In fact, for models of moderate sizes(containing, say, about 50000 of beam/plate/shell elements), even setting the epsilon value to 10**(-14) may deliver not 14, but just 4 significant digits for each component of the displacements vector. Of course, a lot depends on the material properties, plate(shell) thickness (in comparison with the global linear dimensions of the model), etc.
The above information is based on personal experiences of FEA codes development; other people, of course, may have opinions/experiences different from my own.
Hope this helps.
 

Atleast for the NASTRAN aero-models that I have worked with for cert. programs, the epsilon are almost always checked against program defaults. (< 1.e-9).

However there are stringent controls on value of MAXRATIO. In one place where I worked, global FE-models had to generate a maxratio <= 1.e+5 during the internal load generation for the cert loop.

Did you company justify why an epsilon of 1.e-12 was asked for their models?




 
Status
Not open for further replies.

Part and Inventory Search

Sponsor