OS-HM-T: 3020 NLSTAT Analysis of Solid Blocks in Contact

This tutorial demonstrates nonlinear implicit small displacement analysis in OptiStruct involving elasto-plastic materials, contact, and continuing the nonlinear solution sequence from a preceding nonlinear loadcase.

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

Figure 1 illustrates the structural model used for this tutorial, which is two square solid blocks made of elasto-plastic steel material. The dimensions of the blocks and the material parameters can be obtained in the table below.

In the first nonlinear subcase, pressure loading is applied to the top solid block, the top corners of which are constrained in the X and Y directions. The top solid is in contact with the bottom solid, the bottom corners of which are constrained in the X, Y, and Z directions. The second nonlinear subcase is to simulate the unloading and is a continuation of the nonlinear solution sequence from the previous loading subcase.
Figure 1. Model and Loading Description


Table 1. Parameters
Units Length: mm

Time: s

Mass: Mgg

Force: N

Stress: MPa

Top Block 72 mm x 72 mm
Bottom Block 100 mm x 100 mm
Thickness of Blocks 20 mm
Material Steel, Elasto-plastic

Initial Density (⍴): 7.90e-9 kg/mm3

Young's Modulus (E): 210000 MPa

Poisson's Coefficient (v): 0.3

Yield Stress (σ0): 850.0 MPa

Imposed Pressure 1000.0 MPa, applied at the center of the top block
The following exercises are included:
  • Create elasto-plastic material
  • Define contact between the two blocks
  • Define nonlinear implicit parameters
  • Set up NLSTAT analysis for the first subcase (loading)
  • Set up NLSTAT analysis for the second subcase (unloading)
  • Submit job and view result

Launch HyperMesh

  1. Launch HyperMesh.
  2. In the New Session window, select HyperMesh from the list of tools.
  3. For Profile, select OptiStruct.
  4. Click Create Session.
    Figure 2. Create New Session


    This loads the user profile, including the appropriate template, menus, and functionalities of HyperMesh relevant for generating models for OptiStruct.

Import the Model

  1. On the menu bar, select File > Import > HyperMesh Model.
  2. Navigate to and select nlstat.hm.
  3. Click Import.

Set Up the Model

Create the Elasto-plastic Material

First, the stress versus plastic strain curve for the material needs to be defined.

  1. In the Model Browser, right-click and select Create > Curve.
    A new window of the Curve Editor opens.
  2. For Name, enter stress-strain.
  3. Enter the following values for (x, y) in the pop-up window.

    (x1, y1) = (0.00, 850.00)

    (x2, y2) = (0.20, 5940.60)

    Figure 3. Create Stress-strain Curve


  4. In the Model Browser, under Curves, select the stress-strain curve.
  5. Click Color and select a color from the palette.
  6. To update the elasto-plastic material, in the Model Browser select the material steel.
    The Entity Editor opens.
  7. Selet the MATS1 check box to define elastic-plastic material.
  8. For TID, select Unspecified > Curves.
  9. In the Select Curves dialog, select the stress_strain curve and click OK.
  10. Input the following values in the editor.
    • E = 210000.0
    • NU = 0.3
    • RHO = 7.9e-09
    • TYPE = PLASTIC
    • YF = 1
    • HR = 1
    • LIMIT = 850.0
    • TYPSTRN = 1
    TYPSTRN of 1 specifies stress (Y) versus strain (X).
    Figure 4. Define Elastic-Plastic Material


    See Table 1 for details.

Define Contact Between the Two Blocks

The contact surfaces for the two blocks need to be defined.

  1. In the Model Browser, right-click and select Create > Set.
  2. For Name, enter top.
  3. For Card Image, select SET_ELEM from the drop-down menu.
  4. For Set Type, verify non-ordered is selected.
  5. For Entity IDs, select Unspecified > Property.
  6. In the Select Properties dialog, select the top solid block Solid1 and click Close.
    Figure 5. Create Set


  7. Similarly, create another set named bottom.
  8. Repeat steps 3 through 6 and for Entity IDs, select Solid2,
  9. To define the interface, in the Model Browser, right-click and select Create > Contact.
  10. For Name, enter SOLID_CONTACT.
  11. Click Color and select a color from the palette.
  12. For Card Image, select CONTACT from the drop-down menu.
  13. For Main Entity IDs, select Set from the extended selection menu.
  14. In the Advanced selection dialog, choose bottom and click OK.
  15. For Secondary Entity IDs, select the top set.
  16. For TYPE, select SLIDE from the drop-down menu.
  17. For MORIENT, select NORM from the drop-down menu.
  18. Click Close.
    Figure 6. Define Contact Surfaces


Define Nonlinear Implicit Parameters

  1. In the Model Browser, right-click and select Create > Load Step Inputs.
  2. For Name, enter nlparm.
  3. For Config type, select Nonlinear Parameters.
    The default type is NLPARM.
  4. Enter the following values in the dialog:
    • NINC = 10
    • DT = 0.0
    • MAXITER = 25
    • CONV = UPW
    • EPSU = 0.001
    • EPSP = 0.001
    • EPSW = 1e-07
    Figure 7. Define Nonlinear Parameters


    See Table 1 for details.

Create the First Nonlinear (Loading) Subcase

  1. In the Model Browser, right-click and select Create > Load Step.
  2. For Name, enter loading.
  3. For Analysis type, select Non-linear static from the drop-down menu.
  4. For SPC, click Unspecified > Loadcol.
  5. From the dialog, select SPC from the list of load collectors and click OK.
  6. For LOAD, click Unspecified > Loadcol.
  7. From the dialog, select pressure from the list of load collectors and click OK.
  8. For NLPARM, click Unspecified > Load step inputs.
  9. From the dialog, select nlparm from the list of load step inputs and click OK.
  10. Click Close.
    Figure 8. Create Loading Subcase


Create the Second Nonlinear (Unloading) Subcase

  1. In the Model Browser, right-click and select Create > Load Step.
  2. For Name, enter unload.
  3. For Analysis type, select Non-linear static from the drop-down menu.
  4. For SPC, click Unspecified > Loadcol.
  5. From the dialog, select SPC from the list of load collectors and click OK.
  6. For NLPARM, click Unspecified > Load step inputs.
  7. From the dialog, select nlparm from the list of load step inputs and click OK.
  8. Select the CNTNLSUB check box and set the option to Yes.
  9. Click Close.
    Figure 9. Create Unloading Subcase


Define Output Control Parameters

  1. In the Model Browser, right-click and select Create > Cards > Output.
  2. Under CONTF, DISPLACEMENT, and STRESS, set Option to Yes.
  3. Under STRAIN, set EXTRA to PLASTIC.
  4. Click Close.

Submit the Job

Run OptiStruct.

  1. From the Analyze ribbon, click Run OptiStruct Solver.
    Figure 10. Select Run OptiStruct Solver


  2. Select the directory where you want to write the OptiStruct model file.
  3. For File name, enter nlstat_complete.
    The .fem filename extension is the recommended extension for Bulk Data Format input decks.
  4. Click Save.
  5. Click Export.
  6. For export options, toggle all.
  7. For run options, toggle analysis.
  8. For memory options, toggle memory default.
  9. In the Altair Compute Console, click Run.
    If the job is successful, an "ANALYSIS COMPLETED" message appears in the Compute Console Solver View Message Log. New results files are in the directory where the model file was written. The nlstat_complete.out file is a good place to look for error messages that could help debug the input deck if any errors are present.

View Results

  1. Launch HyperView.
  2. Plot the Displacement, the von Mises stress, plastic strains and contact pressure contours at the end of the first (loading) step.
    Figure 11. Contour of Displacements in Blocks Subject to Loading


    Figure 12. Contour of von Mises Stress in Blocks Subject to Loading


    Figure 13. Contour of Plastic Strains in Blocks Subject to Loading


    Figure 14. Contour of Contact Pressure in Block Interface after the First (Loading) Subcase


  3. Change the subcase to the second (unloading) subcase and plot the displacement contour to see the change in displacements in the blocks subject to unloading.
    Figure 15. Contour of Displacements in Blocks Subject to Unloading in Second Subcase