Thermal and mechanical problem

Kacper_S
Kacper_S Altair Community Member
edited May 17 in Community Q&A

Hello

I need your help

I have to do some simulation. My target is to compute overclosure stress (clearance =-0.06mm)

Main obejct is heated to make its hole a bit larger due to thermal expansion. Next I need to put in that hole bearing. When done, everything goes back to ambient temperature. At the end I need value of stress. How to do it? I'm trying with many subcases but without success.

Thx for your help

Best Answer

  • Adriano A. Koga
    Adriano A. Koga
    Altair Employee
    edited May 17 Answer ✓
    Kacper_S said:

    Unfourtently no convergence :( my hm model file below, take a look if you can

    Besides, how to set diffrent temperature for only one part? 

    a few things to review:

    - contact is set to SLIDE which means no friction. I'd change this to add some friction coefficient to avoid the bearing to fly away during analysis

    - the SPC at the center of the bearing (rigid) is set free in dof X. This would probably bring some convergence issues as the bearing could again, fly away. I'd constraint it in X as well, except for the last loadcase, where force is applied in X. Then you would need to create a new SPC to release the X direction (or use modchange to deactivate the rigid.

    - contacts were set with clearance of -0.06. That would be ok if you were running the model with interference from the beginning. Considering that the thermal expansion would remove the interference, I would also remove the clearance and let the solver calculate the gap from the actual mesh position. Also turn-on finite or consli

    - this problem should probably need LGDISP with finite or continuos sliding, so I would change this into all loadsteps to use the NLPARM(LGDISP) instead of NLPARM(SMDISP).

    - one important thing: As you're applying thermal expansion to the whole body, the hole and the bearing might not get to the right position after expansion, as the whole itself might move besides expanding. So extra care should be taken here.

     

    Concerning your other question, TEMPD applies temperature loading to all your nodes.

    In order to apply different temperatures you could add on top of that, specific temperature loads (TEMP) to a group of nodes. If I'm not wrong, if you have both global TEMPD and TEMP to a node, TEMP takes precedence. Just keep everything in the same loadcollector.

Answers

  • Adriano A. Koga
    Adriano A. Koga
    Altair Employee
    edited January 31

    Maybe you could try this:

     

    locadcase #1 - NL static, with TEMP(LOAD) applied expanding your part (make sure that the alpha value is supplied for the material, and reference temperature. For loading, if the temperature is the same for the whole model, you could use TEMPD to provide uniform temperature gradient. You could keep your bearing in place, and turn off its contact using MODCHNG to disable contact for this case.

    loadcase #2 - NL Static, using MODCHANGE to enable back the contact, and removing the TEMPD card, forcing the hole to shrink and get back to position, but now with contact enabled. CNTNLSUB needs to be enabled in order to account for the status from the previous loadcase.

  • Kacper_S
    Kacper_S Altair Community Member
    edited February 1

    Maybe you could try this:

     

    locadcase #1 - NL static, with TEMP(LOAD) applied expanding your part (make sure that the alpha value is supplied for the material, and reference temperature. For loading, if the temperature is the same for the whole model, you could use TEMPD to provide uniform temperature gradient. You could keep your bearing in place, and turn off its contact using MODCHNG to disable contact for this case.

    loadcase #2 - NL Static, using MODCHANGE to enable back the contact, and removing the TEMPD card, forcing the hole to shrink and get back to position, but now with contact enabled. CNTNLSUB needs to be enabled in order to account for the status from the previous loadcase.

    Unfourtently no convergence :( my hm model file below, take a look if you can

    Besides, how to set diffrent temperature for only one part? 

  • Adriano A. Koga
    Adriano A. Koga
    Altair Employee
    edited May 17 Answer ✓
    Kacper_S said:

    Unfourtently no convergence :( my hm model file below, take a look if you can

    Besides, how to set diffrent temperature for only one part? 

    a few things to review:

    - contact is set to SLIDE which means no friction. I'd change this to add some friction coefficient to avoid the bearing to fly away during analysis

    - the SPC at the center of the bearing (rigid) is set free in dof X. This would probably bring some convergence issues as the bearing could again, fly away. I'd constraint it in X as well, except for the last loadcase, where force is applied in X. Then you would need to create a new SPC to release the X direction (or use modchange to deactivate the rigid.

    - contacts were set with clearance of -0.06. That would be ok if you were running the model with interference from the beginning. Considering that the thermal expansion would remove the interference, I would also remove the clearance and let the solver calculate the gap from the actual mesh position. Also turn-on finite or consli

    - this problem should probably need LGDISP with finite or continuos sliding, so I would change this into all loadsteps to use the NLPARM(LGDISP) instead of NLPARM(SMDISP).

    - one important thing: As you're applying thermal expansion to the whole body, the hole and the bearing might not get to the right position after expansion, as the whole itself might move besides expanding. So extra care should be taken here.

     

    Concerning your other question, TEMPD applies temperature loading to all your nodes.

    In order to apply different temperatures you could add on top of that, specific temperature loads (TEMP) to a group of nodes. If I'm not wrong, if you have both global TEMPD and TEMP to a node, TEMP takes precedence. Just keep everything in the same loadcollector.

  • Adriano A. Koga
    Adriano A. Koga
    Altair Employee
    edited February 1

    a few things to review:

    - contact is set to SLIDE which means no friction. I'd change this to add some friction coefficient to avoid the bearing to fly away during analysis

    - the SPC at the center of the bearing (rigid) is set free in dof X. This would probably bring some convergence issues as the bearing could again, fly away. I'd constraint it in X as well, except for the last loadcase, where force is applied in X. Then you would need to create a new SPC to release the X direction (or use modchange to deactivate the rigid.

    - contacts were set with clearance of -0.06. That would be ok if you were running the model with interference from the beginning. Considering that the thermal expansion would remove the interference, I would also remove the clearance and let the solver calculate the gap from the actual mesh position. Also turn-on finite or consli

    - this problem should probably need LGDISP with finite or continuos sliding, so I would change this into all loadsteps to use the NLPARM(LGDISP) instead of NLPARM(SMDISP).

    - one important thing: As you're applying thermal expansion to the whole body, the hole and the bearing might not get to the right position after expansion, as the whole itself might move besides expanding. So extra care should be taken here.

     

    Concerning your other question, TEMPD applies temperature loading to all your nodes.

    In order to apply different temperatures you could add on top of that, specific temperature loads (TEMP) to a group of nodes. If I'm not wrong, if you have both global TEMPD and TEMP to a node, TEMP takes precedence. Just keep everything in the same loadcollector.

    by the way, if you want to see the intermediate results, also add NLOUT, with 40 increments, to your loadsteps, for example. Otherwise you would get the intermediate results.