contact 2d shell models

Casper Kruger
Casper Kruger Altair Community Member
edited November 2021 in Community Q&A

Hi, 

 

I am working on a 2D shell model and would like to add contact between two 2D shell flanges which includes the shell thickness. I looked in the forum and the tutorials, but did not find anything, so apologies if this has been discussed before. 

I mid surfaced plate and would like to ensure there is contact when I add bolt pretension. 

 

Any advice or links will be appreciated? Thank you. 

 

image 

image

Answers

  • Adriano A. Koga
    Adriano A. Koga
    Altair Employee
    edited November 2021

    Your first picture is not so clear to me, but from the 2nd one i think i got it.

     

    For these contacts you will need to use a N2S (node to surface) contact, where your primary surface (SET SEGMENT) would be created selecting the green elements (perpendicular to the screen). As your secondary nodes, you would create a SET of nodes, taking the nodes at the edge of the green plate (parallel to the screen).

     

    Make sure your primary surface is pointing towards the secondary nodes.

    image

  • Casper Kruger
    Casper Kruger Altair Community Member
    edited November 2021

    Hi Adriano, 

     

    Apologies if I was not clear. The contact face are at either side of the CBAR element. The green flange is contacting the grey flange, both perpendicular to the screen. The green triangle is a gusset only, please ignore. 

    The second image is with 2D thickness switched on. I have two shells 1x thickness apart, but I want to ensure the thickness is accounted for in the 2d Shell contact. The second image now shows the thickness location.   

    image

    image

     

  • Casper Kruger
    Casper Kruger Altair Community Member
    edited November 2021

    Hi Adriano, 

     

    Apologies if I was not clear. The contact face are at either side of the CBAR element. The green flange is contacting the grey flange, both perpendicular to the screen. The green triangle is a gusset only, please ignore. 

    The second image is with 2D thickness switched on. I have two shells 1x thickness apart, but I want to ensure the thickness is accounted for in the 2d Shell contact. The second image now shows the thickness location.   

    image

    image

     

    image

  • Adriano A. Koga
    Adriano A. Koga
    Altair Employee
    edited November 2021

    image

    Ohh..ok..now i got it.

    I thought you wnated the ribs  to get contact with your flange. sorry.

    But you can simply create 2 SET SEGMENTs (contact surfaces) one for each flange, making sure they point each other.

    Then, add a CONTACT group and define the main and secondary surfaces. Make sure the SRCHDIS is enough to find the contact between each plate.

    Also, depending on what kind of contact you want, define either the contact type (SLIDE, STICK) or friction coefficient.

    The NL contact will automatically take into account the thickness of each plate.

    Also make sure the MORIENT direction is correctly set. if you have no penetration, NORM should be fine.

     

    A similar tutorial can be found in OS tutorials section. The only change is the set segment being a shell face, and need to include MORIENT.

    image

  • Casper Kruger
    Casper Kruger Altair Community Member
    edited November 2021

    Ohh..ok..now i got it.

    I thought you wnated the ribs  to get contact with your flange. sorry.

    But you can simply create 2 SET SEGMENTs (contact surfaces) one for each flange, making sure they point each other.

    Then, add a CONTACT group and define the main and secondary surfaces. Make sure the SRCHDIS is enough to find the contact between each plate.

    Also, depending on what kind of contact you want, define either the contact type (SLIDE, STICK) or friction coefficient.

    The NL contact will automatically take into account the thickness of each plate.

    Also make sure the MORIENT direction is correctly set. if you have no penetration, NORM should be fine.

     

    A similar tutorial can be found in OS tutorials section. The only change is the set segment being a shell face, and need to include MORIENT.

    image

    Hi Adriano,

     

    I attached the HM file as I am getting a non convergence issue on the pretension case set to NORM and search distance to 0.1 mm.  

    The contact 2D midsurface shell faces are 27.5 mm apart, allowing for 1/2 thickness of 12.5 mm and 15 mm. Will the contact know that each shell has a half thickness to include in the contact?  

     

    Any thoughts on the model attached? I set the pretension as a sub case for the second load case, but it now struggles to converge the pretension.  

  • Adriano A. Koga
    Adriano A. Koga
    Altair Employee
    edited November 2021

    Hi Adriano,

     

    I attached the HM file as I am getting a non convergence issue on the pretension case set to NORM and search distance to 0.1 mm.  

    The contact 2D midsurface shell faces are 27.5 mm apart, allowing for 1/2 thickness of 12.5 mm and 15 mm. Will the contact know that each shell has a half thickness to include in the contact?  

     

    Any thoughts on the model attached? I set the pretension as a sub case for the second load case, but it now struggles to converge the pretension.  

    search distance should include 1/2 thickness as well. Contact will take into account the 1/2 thickness of each, but the search distance should be at least the distance from the midsurfaces.

     

    There is something strange in your model, as it keeps complaining of large force/pressure residuals even with small increments.

    Have you tried running the model with PARAM,NLMON,DISP to check each iteration and try to figure out what is going on? It writes a _nl.h3d file with each iteration and might be helpful to debug the model.

    I was trying to use CLEARANCE=0.0 (though it might have some penetration) in your contact, but still no success.

    Tried to add a PCONT and use a SOFT contact stifffness and also no help.

  • Casper Kruger
    Casper Kruger Altair Community Member
    edited November 2021
    Thanks for checking, can you clarify what PARAM, NLMON, DISP does and how I use it to debug the model? Also, is pretension force in Newton? I am using SI-mm. The model sees a large upward force, but it falls over before that load case, it's the pretension itself that causes the issue. I added 815000N per M42 (42mm) bolt, calculated from the torque. I checked and there is no penetration of the surface when thickness is switched on. Is it worth moving them 0.1mm apart so a clear gap is visible with shell thickness on and rerun with NLMON and a search distance Inc the 0.1 mm gap?
  • Adriano A. Koga
    Adriano A. Koga
    Altair Employee
    edited November 2021

    Thanks for checking, can you clarify what PARAM, NLMON, DISP does and how I use it to debug the model? Also, is pretension force in Newton? I am using SI-mm. The model sees a large upward force, but it falls over before that load case, it's the pretension itself that causes the issue. I added 815000N per M42 (42mm) bolt, calculated from the torque. I checked and there is no penetration of the surface when thickness is switched on. Is it worth moving them 0.1mm apart so a clear gap is visible with shell thickness on and rerun with NLMON and a search distance Inc the 0.1 mm gap?

    Hi Casper,

     

    PARAM,NLMON,DISP writes an additional h3D file (name_nl.H3D) on the fly, meaning it keeps updating at each iteration, saving the displacements of your model.

    You can load this file and check what might be wrong with your model, even when it is not converging (i.e: if there is some severe distortion or some part which is losen).

     

    The unit of pretension force is consistent with your model unit sysytem, so in your case Newton would be the case.

     

    When you request NLMON, you can run a script in HyperView, that comes in the installation folder, and load the _nl.out file from your faulty run to check for the residuals/errors. This might help to debug your model.

    "D:\Program Files\Altair\2021.2\hwsolvers\scripts\os_out_file_parser.tcl"

    image