OS-T: 1550 Rubber Ring: Crush and Slide Using Self-Contact

This tutorial demonstrates self-contact which is used in this nonlinear large displacement implicit analysis using hyperelastic material and contacts in OptiStruct.

Before you begin, copy the file(s) used in this tutorial to your working directory.


Figure 1. FE Model
The following steps are included:
  • Import the model into HyperMesh
  • Set up hyperelastic material and self-contact.
  • Set up nonlinear analysis
  • View the results in HyperView

Launch HyperMesh and Set the OptiStruct User Profile

  1. Launch HyperMesh.
    The User Profile dialog opens.
  2. Select OptiStruct and click OK.
    This loads the user profile. It includes the appropriate template, macro menu, and import reader, paring down the functionality of HyperMesh to what is relevant for generating models for OptiStruct.

Open the Model

  1. Click File > Open > Model.
  2. Select the Rubber_ring_input.hm file you saved to your working directory.
  3. Click Open.
    The Rubber_ring_input.hm database is loaded into the current HyperMesh session, replacing any existing data.

Set Up the Model

Create the Material

  1. In the Model Browser, right-click and select Create > Material from the context menu.
  2. For Name, enter hyper_elastic.
    A new material, hyper_elastic has beeen created.
  3. For Card Image, select MATHE.
  4. For MODEL, select ABOYCE.
  5. Enter the material values next to the corresponding fields.
    1. For NU (Poisson's Ratio), enter 0.495.
    2. For RHO, enter 1.11e-9.
    3. For TEXP, enter 0.000165.


    Figure 2. Define hyperelastic material
  6. Click TAB1 and assign Tension-Compression uniaxial.
  7. Click TAB2 and assign Equi-Biaxial Tension biaxial.
  8. Click TAB4 and assign Pure Shear planar_shear.

Create the Properties

  1. In the Model Browser, right-click and select Create > Property from the context menu.
    A default PSHELL property displays in the Entity Editor.
  2. For Name, enter hyper_elastic.
  3. For Card Image, select PLSOLID.
  4. For Material, click Unspecified > Material.
  5. In the Select Material dialog, select hyper_elastic and click OK.


    Figure 3. Select material hyper_elastic for the -roperty
  6. In the Model Browser, click on the component WHEEL.
    The component fields display in the Entity Editor.
  7. For Property, click Unspecified > Property.
  8. In the Select Property dialog, select hyper_elastic and click OK.
    The component WHEEL has been updated with a property of the same name and is currently the “Current Component” (see the box in the lower right for WHEEL). The material hyper_elastic is referenced by this component.


    Figure 4. Select property hyper_elastic for the component

Create Properties for Contact Parameters

In this step, the properties for both surface to surface and self-contact surfaces will be defined.

  1. In the Model Browser, right-click and select Create > Property from the context menu.
  2. For Name, enter Contact.
  3. For Card Image, select PCONT.
  4. Activate GPAD_OPT and for GPAD, select NONE from the drop-down menu.
  5. For STIFF, select HARD.
  6. For MU1, enter 0.3.


    Figure 5. Property values for Contact
  7. In the Model Browser, right-click and select Create > Property from the context menu.
  8. For Name, enter self_contact.
  9. For Card Image, select PCONT.
  10. Activate GPAD_OPT and for GPAD, select None from the drop-down menu.
  11. For STIFF, select AUTO.
  12. For MU1, enter 0.3.

Create Set Segments

The set segments will be defined, which will be used later to define the contact groups.

  1. In the Model Browser, right-click and select Create > Set Segment from the context menu.
  2. For Name, enter Top.
  3. Right-click on the component Top and select Isolate Only.
  4. Click Entity IDs to select the elements corresponding to Top.
    Note: Make sure to switch the selection panel from faces to elements.
  5. Click elems.
    The selection panel opens.
  6. Select add shell faces from the drop-down menu,
  7. From the second drop-down, select elems as shown below.
  8. Click elems > displayed.
    This selects all the elements corresponding to the component Top.


    Figure 6. Elements selection panel
  9. This creates a Top set segment with elements corresponding to the Top.


    Figure 7. Create Top set segment
  10. Similarly, create a set segment for the component Base.
    Note: Make sure to select FACE_FORMAT, while creating the set segment for Top and Base.
  11. To create a contact set segment for the inner and outer surface of the wheel, right-click on the component Wheel, select Isolate Only.
  12. In the Model Browser, right-click and select Create > Set Segments from the context menu.
  13. For Name, enter rubber_inner.
  14. Set the selection panel to add solid faces.


    Figure 8. Create rubber_inner contact set segment
  15. Select the inner surface of the wheel to select the elements contributing to the Rubber_inner set segment.


    Figure 9. Select rubber_inner contact set segment
  16. Similarly, create a contact set segment Rubber_outer by selecting the outer face of the component Wheel.

Create Contact Groups

Here the contact groups will be defined.

  1. In the Model Browser, right-click and select Create > Group from the context menu.
  2. For Name, enter Top_rubber.
  3. For Card Image, select CONTACT.
  4. For Property Option, select Property Id.
  5. Expand PID and select Contact surfaces.


    Figure 10. Create a Contact Group
  6. For Secondary Entity IDs, select rubber_outer.
  7. For Main Entity IDs, select Top.
  8. For MORIENT (Contact Orientation), select NORM.
  9. For DISCR, select N2S (Node to Surface).
  10. For TRACK, select CONSLI.
  11. Similarly, create a contact group Bottom_rubber with rubber_outer as the Secondary Entity IDs and Base as Main Entity IDs with other parameters being the same from Figure 10.
  12. Now, create a contact group Self_contact and select the Card image to CONTACT.
  13. For Property Id, assign the self_contact property created previously, as shown in Figure 11.
  14. Select the set segment created earlier for the Rubber_inner as the Secondary Entity IDs.
  15. For DISCRET, select S2S (Surface to Surface).


    Figure 11. Create a self_contact Group

Apply Loads and Boundary Conditions

In the following steps, you will apply the boundary conditions and prescribed displacement on the model.

Create SPC Load Collector

  1. In the Model Browser, right-click and select Create > Load Collector from the context menu.
    A default load collector displays in the Entity Editor.
  2. For Name, enter spc_top1.
  3. Click BCs > Create > Constraints to open the Constraints panel.
  4. Select the node 2269 corresponding to the Top component.
  5. Constrain the node in 1, 3, 4, 5, and 6 directions.
    Assigns the boundary conditions for the first load step (Compression).


    Figure 12. Constrain Node 2269
  6. Click create.
    This applies the constraints to the selected nodes.
  7. Constrain the dof2, enter -6.44.
    Assigned a displacement of magnitude in the negative y-direction.


    Figure 13. Apply Displacement to the Node 2269 Corresponding to First Load Step
  8. In the Model Browser, right-click and select Create > Load Collector from the context menu.
  9. For Name, enter spc_top2.
  10. Apply the constrains in the dof's 3, 4, and 5.
  11. For dof1, enter -13.0.
    Applies a displacement of magnitude in the negative x-direction.
  12. For dof2, enter -6.44.
    Applies a displacement of magnitude in the negative y-direction corresponding to the x and y displacement of the ring.
  13. For dof6, enter -10.44.
    Applies a rotation in the x-z plane.


    Figure 14. Apply Displacement to the Node 2269 Corresponding to the Second Load Step
  14. In the Model Browser, right-click and select Create > Load Collector from the context menu.
  15. For Name, enter SPC_base_wheel.
  16. Right-click on the component Wheel and select Isolate Only.
  17. Click BCs > Create > Constraints to open the Constraints panel.
  18. Click nodes and from the panel, select displayed and constrain dof3.


    Figure 15. Apply Constraints to the Wheel
  19. In the Model Browser, right-click and select Create > Load Collector from the context menu.
  20. For Name, enter SPC_base_wheel_X.
  21. Constrain the line of nodes on the front face, as shown in Figure 16 in the x direction (dof1) and also constrain the node 2266 in all dofs.


    Figure 16.
  22. In the Model Browser, right-click and select Create > Load Collector from the context menu.
  23. For Name, enter SPC_base.
  24. On the constraint panel, constrain node 2266 in all dofs.
  25. In the Model Browser, right-click and select Create > Load Collector from the context menu.
  26. For Name, enter SPCADD1.
  27. For Card Image, select SPCADD.
  28. For SPCADD_Num_Set, enter 3.
  29. Define the cards spc_top1, SPC_base_wheel and SPC_wheel_base_X.
    The SPCADD card is created.


    Figure 17. Create SPCADD Card
  30. In the Model Browser, right-click and select Create > Load Collector from the context menu.
  31. For Name, enter SPCADD2.
  32. Define the cards spc_top2, SPC_wheel_base and SPC_base as explained above.

Create NLPARM Load Step Input

  1. In the Model Browser, right-click and select Create > Load Step Inputs.
  2. For Name, enter NLPARM.
  3. Click Color and select a color from the color palette.
  4. For Config type, select Nonlinear Parameters.
    Type default is NLPARM.
  5. For NINC, enter 2000.
  6. For MAXITER, enter 25.
  7. For CONV, select UPW.
  8. For EPSU, enter 0.001.
  9. For EPSP, enter 0.001.
  10. For EPSW, enter 1e-11.

Create NLADAPT Load Step Input

  1. In the Model Browser, right-click and select Create > Load Step Inputs.
  2. For Name, enter NLADAPT1.
  3. For Config type, select Time step Parameters.
  4. For Type, the default is NLADAPT.
  5. For DTMAX, enter 0.1.
  6. For DTMIN, enter 1e-6.


    Figure 18. Create NLADAPT load step input
  7. In the Model Browser, right-click and select Create > Load Step Inputs.
  8. For Name, enter NLADAPT2.
  9. For DTMAX, enter 0.025.
  10. For DTMIN, enter 1e-6.

Create CNTSTB Load Collector

  1. In the Model Browser, right-click and select Create > Load Collector from the context menu.
    A default load collector displays in the Entity Editor.
  2. For Name, enter CNTSTB.
  3. For SI, enter 1e-5
  4. For SCALE, enter 1.
  5. For TFRAC, enter 0.1.


    Figure 19. Create a CNTSTB Card

Create NLOUT Load Step Input

  1. In the Model Browser, right-click and select Create > Load Step Inputs.
  2. For Name, enter NLOUT.
  3. For Config type, select Output Parameters.
  4. For Type, the default is NLOUT.
  5. For NINT, enter 500.
  6. Activate SVNONCNV.


    Figure 20. Create NLOUT Card

Define Output Control Parameters

  1. In the Model Browser, right-click and select Create > Output Request.
  2. Below DISPLACEMENT, ELFORCE, STRESS and CONTF, set Option to Yes.


    Figure 21.

Activate PARAM Control Cards

  1. From the Anaysis page, select Control Cards.
  2. For Control Cards, select PARAM.
  3. Activate HASHASSM, enter YES.
  4. Activate LGDISP, enter 1.
  5. Activate NLMON, enter DISP.
  6. Activate UNSYMSLV, enter YES.


    Figure 22. Create Control Card

Activate GLOBAL_CASE_CONTROL

  1. From the Analysis page, select control cards.
  2. For control cards, select CNTNLSUB and select YES.


    Figure 23. Create Global Case Control

Create Load Steps

  1. In the Model Browser, right-click and select Create > Load Step.
    A default load collector displays in the Entity Editor
  2. For Name, enter RING_DOWN.
  3. For Type, select Nonlinear Static.
  4. In the SPC Select Loadcol dialog, select SPCADD1 from the list of load collectors and click OK.
    This selects the boundary conditions created above.
  5. Similarly select the NLPARM, NLADAPT1, NLOUT, and CNTSTB and assign respective load step inputs and load collectors.
  6. In the Model Browser, right-click and select Create > Load Step.
  7. For Name, enter Ring_down2.
  8. For Type, select Nonlinear Static.
  9. In the SPC Select Loadcol dialog, select SPCADD2 from the list of load collectors and click OK.
  10. Similarly, select the NLPARM, NLADAPT2, NLOUT, and CNTSTB and assign respective load step inputs and load collectors.

Submit the Job

  1. From the Analysis page, click the OptiStruct panel.

    OS_1000_13_17
    Figure 24. Accessing the OptiStruct Panel
  2. Click save as.
  3. In the Save As dialog, specify location to write the OptiStruct model file and enter for filename.
  4. Click Save.
    The input file field displays the filename and location specified in the Save As dialog.
  5. Set the export options toggle to all.
  6. Set the run options toggle to analysis.
  7. Click OptiStruct to submit the job.

View the Results

  1. Once you receive the message Process completed successfully in the command window, click HyperView.
  2. Open the results and plot the displacement and the von Mises stress contour at 100% load.
  3. On the toolbar, click resultsContour-16 (Contour).
  4. Under Result type, from the first drop-down menu, select Element Stresses (2D & 3D)(t).
  5. Under Result type, from the second drop-down menu, select vonMises.


    Figure 25. Contour Panel
  6. Verify that the fields in the Contour panel match those in Figure 25 and click Apply.
  7. Similarly, in the menu below Result type, select Displacement from the first drop-down menu and Mag from the second drop-down menu.


    Figure 26. Displacement Result for First Load Step


    Figure 27. Stress Result for First Load Step


    Figure 28. Displacement Result for Second Load Step


    Figure 29. Stress Result for Second Load Step