Contact Stabilization

Contact Stabilization

GerryJDail
Enthusiast Enthusiast
2,027 Views
3 Replies
Message 1 of 4

Contact Stabilization

GerryJDail
Enthusiast
Enthusiast

I have been modeling, with the help of the AUTODESK NASTRAN tech support group to model a 1 inch NC bolt and nut. I have created contact elements between the threads of the bolt and nut.

 

Initially I have attempted to solve the problem with PARAM,CONTACTSTAB,ON and setting the NLKDIAGAFACT to 0.1. but the model did not solve correctly giving me the straight bolt axial stress that would be expected by placing a force on the nut and constraining the bolt head from displacement. The tech support group suggested that I employ instead PARAM,SLINESTABKSFACT,0.1. This solved with what appears to be the accurate axial straight bolt length stress, but the contact surfaces between the bolt and nut appear to be separated by a small amount.

 

Can anyone tell me what is essentially the difference between these parameter settings and why one would work while the other does not? Further, when I tried to employ spring/damper elements anchored to stationary nodes, I fail to get the contact surfaces between the bolt and nut to become active at all. Only the spring elements are active leading to a clear failure.

 

Any help from the users group will be appreciated. I used CONTACTSTAB as a result of using NEi Nastran's Nonlinear analysis handbook.

 

It says:

7.5 Model Stability Model stability is an important factor in getting a nonlinear static surface contact model running properly. As a general rule, surface contact should never be used to satisfy a stability constraint. To put it another way, the model must be stable even if the surface contact was taken out. Numerically there will generally be a small gap between the contacting surfaces. This gap means (initially) there will be no stiffness transferred between the parts. If one of the parts is unconstrained it will cause a singularity in the solver on the first increment.

 

NEi Nastran V10 and beyond has an automated method of stabilizing surface contact models via the parameter CONTACTSTAB.

In the Reference Manual it is defined as follows: When set to ON, will generate stabilization spring stiffness via the model parameters NLKDIAGSET, NLKDIAGAFACT, and NLKDIAGMINAFACT on the contact boundary. The default AUTO setting will automatically detect and stabilize all surface contact in the model with a significant initial gap (i.e., model reference dimension multiplied by 1.0E-04). The stabilization stiffness used can be controlled by specifying a scale factor which is a multiplier to the stabilization stiffness calculated automatically. In other words, CONTACTSTAB can be set to ON, AUTO, or a real number that specifies a scale factor to the automatically calculated value.

 

If the ON setting is used, NLKDIAGAFACT must be set to a value to provide a stiffness. CONTACTSTAB has many advantages such as the ones listed below:

• Automatically stabilizes parts in contact by generating stabilization spring stiffness via the model parameters NLKDIAGAFACT and NLKDIAGMINAFACT on the contact boundary.

• Default AUTO setting will stabilize parts with an initial gap opening greater than 1E-04 x model reference dimension.

• No longer have to use stabilizing springs or other techniques to prevent singularities.

• Parts can now have initial gaps between contact without convergence issues.

• Can also improve convergence rate for models with friction. NEi Nastran Nonlinear Analysis Handbook NEi Nastran 22

• Stabilization limited to contact boundary which minimizes any errors in the solution due to presence of stabilization stiffness.

• CONTACTSTAB may be set to a multiplier to the stabilization stiffness calculated automatically allowing allows models that are either being under or over stiffened to be easily adjusted.

 

Looking forward to hearing your ideas. Cordially, Gerry J. Dail

0 Likes
2,028 Views
3 Replies
Replies (3)
Message 2 of 4

shigeaki.k
Alumni
Alumni

Hello @GerryJDail,

 

NLKDIAGAFACT adds the stated value to the diagonal of the stiffness matrix “k”. This is the linear stiffness factor in the basic FEA question. This essentially adds additional “spring” behaviour between the nodes. You can use modal analysis or run linear analysis with NLKDIAGAFACT not set to "0" to see which parts may not be restrained enough when diagnosing some models. This is possible as CONTACTSTAB=Auto adds spring behaviour between surfaces, based on the value from NLKDIAGAFACT. You can add multiplier to the spring stiffness by using a value for CONTACTSTAB.

 

SLINESTABKSFACT adds normal stiffness only between contacts. The above NLKDIAGAFACT add stiffness to the entire stiffness “k” hence affects the entire model i.e. not just the contacts.

 

You also want to keep any eye on the contact stiffness values in the output file when using these parameters.

 

If you have not visited the site yet, Build your Nastran In-CAD IQ! Youtube channel has some videos on nonlinear analysis e.g. “Troubleshooting Non-Linear Analyses in Nastran In-CAD”.

 

Regards,

Shigeaki K.

 

-----------------

If my post answers your question, please click the "Accept as Solution" button. This helps everyone find answers more quickly!



Shigeaki K.

Technical Support Specialist

サポートとラーニング | Support & Learning
Message 3 of 4

GerryJDail
Enthusiast
Enthusiast

Shigeaki.k

 

Thanks for the very thorough explanation of the two parameter settings and how they work.  I guess I am still a bit unclear about CONTACTSTAB and its settings.  As I understand it, even though it is adding essentially springs to the stiffness matrix, on the last iteration step this value is supposed to be set to zero if NLKDIAGMINAFACT is set to zero.  However, based on some work I have been doing of late, this does not appear to be the case.  In the 1 inch bolt model I have been using as the basis for better understanding the parameters, if I set CONTACTSTAB,ON and set the initial NLKDIAGAFACT to 0.1, I find the results do not match with what I can calculate using closed form solutions.  As I decrease the initial setting of NKLDIAGAFACT to 0.01, 0.001 and ultimately to 0.0005, the solution results provide a close estimate of the straight length bolt stress that I can calculate using closed form analysis.  This suggests to me that the model is not simply setting up contact stability at first, but continues to influence the stiffness matrix even at the final iteration step.  Can you provide further insight into this?

 

I would also ask if the value of SLINESTABKSFACT is diminished until it goes to 0 at the final iteration step.  Again, as I set this value from 0.1 to 0.001, I find the results converge toward those obtained using CONTACTSTAB,ON and NLKDIAGAFACT set to 0.0005.  At a setting of 0.1, I get good agreement with the closed form straight length bolt stress estimate, but the maximum stress calculated in the root of the first thread upstream of the nut is about 100KSI higher than when I set SLINESTABKSFACT to 0.001 where the maximum stress closely matches that found when using CONTACTSTAB.

 

Do my questions make sense to you?  I look forward to your reply.

 

Cordially,

 

Gerry J. Dail, PE

0 Likes
Message 4 of 4

KubliJ
Alumni
Alumni

Hi Gerry,

 

I think I understand the question.  I believe you want to know why it may not fully reduce the applied stiffness through CONTACTSTAB or SLINESTABKSFACT by the end of the analysis.  It has to do with the number of times the stiffness matrix is updated.  If it is not updated enough times, the solver may not be able to drive the values to zero.  You should be able to change the frequency in which the stiffness matrix is updated in the NLPARAM NLPARM card.  But it may also be necessary to increase the number of increments.

 

I hope that helps.

 

Thanks,

James

 

----

Reply edited by Shigeaki K. on 28/08/2017. Fixed the typo NLPARAM to NLPARM.

 



James Kubli, P.E.


Please marked this as solved if your question has been answered.
0 Likes