This tutorial demonstrates how to carry out nonlinear implicit small displacement analysis in OptiStruct, involving elasto-plastic materials, contact and continuing the nonlinear solution sequence from a preceding nonlinear loadcase.
Model and Loading Description
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 be applied to the top solid block, the top corners of which are constrained in X and Y directions. The top solid is in contact with the bottom solid, the bottom corners of which are constrained in X, Y and Z directions. The second nonlinear subcase is to simulate the un-loading and is a continuation of the nonlinear solution sequence from the previous loading subcase.
Figure 1. Model and Loading Description
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 coefficient (ν):
|
0.3
|
Yield Stress (0):
|
850.0 MPa
|
Imposed pressure
|
1000.0 MPa, applied at the center of 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 1st subcase (loading) |
• | Set up NLSTAT analysis for the 2nd subcase (unloading) |
• | Submit job and view result |
Exercise
Step 1: Import the model
2. | A User Profiles Graphic User Interface (GUI) appears, select OptiStruct. |
3. | Click OK. This loads the user profile. |
Note: | If HyperMesh Desktop was launched, use: File > Open > Model. |
|
5. | Select the nlstat.hm file you saved to your working directory from the optistruct.zip file. Refer to Accessing the Model Files. |
Step 2: Create the elasto-plastic material
First, the stress vs plastic strain curve for the material needs to be defined.
1. | In the Model browser, right-click and select Create > Load Collector. |
2. | For Name, enter stress-strain. |
3. | Click Color and select a color from the color palette. |
4. | For Card Image, select TABLES1 from the drop-down menu. |
5. | For TABLES1_NU, enter 2 (number of rows in the table), and press ENTER. |
6. | Click the Table icon next to the Data field and enter the following values (x and y fields) in the pop-up window. |
7. | Click Close to close the dialog box. |
Now, the elasto-plastic material needs to be updated.
8. | In the Model browser, click the material steel. The Entity Editor opens. |
9. | Click on the checkbox next to MATS1 to define the elastic-plastic material for NLSTAT analysis. |
10. | For TID, click Unspecified > Loadcol. |
11. | In the Select Loadcol dialog, select the stress_strain load collector and click OK. |
12. | Input the values, as shown below. TYPSTRN of 1 signifies specifying stress (Y) vs plastic strain (X). |
See material parameters for details.
Step 3: 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. |
3. | For Card Image, select SET_ELEM from the drop-down menu. |
4. | Leave the Set Type switch set to non-ordered type. |
5. | For Entity IDs, click Unspecified > Properties. |
6. | In the Select Properties dialog, select the top solid block Solid1 and click OK. |
7. | Similarly create another set named bottom. |
8. | Repeat steps 3.3 through 3.6, for bottom block select the bottom solid Solid2. |
9. | Next, the interface needs to be defined. |
10. | In the Model browser, right-click and select Create > Contact. |
11. | For Name, enter SOLID_CONTACT. |
12. | Click Color and select a color from the color palette. |
13. | For Card Image, select CONTACT from the drop-down menu. |
14. | For MSID (master surface) and select Set from the extended selection menu. |
15. | Click the yellow Set panel and select the bottom block bottom in the pop-up window and click OK. |
16. | Similarly, for SSID (slave surface), select the top set. |
17. | For TYPE, select SLIDE from the drop-down menu. |
18. | For MORIENT, select NORM from the drop-down menu. |
Step 4: Define nonlinear implicit parameters
1. | In the Model browser, right-click and select Create > Load Collector. |
2. | For Name, enter nlparm. |
3. | Click Color and select a color from the color palette. |
4. | For Card Image, select NLPARM from the drop-down menu. |
Enter the values as shown below:
See nonlinear implicit parameters for details.
Step 5: Create the 1st nonlinear (loading) subcase
1. | In the Model browser, right-click and select Create > Load Step. |
2. | For Name, enter loading. |
3. | Click Analysis type and select Non-linear quasi-static from the drop-down menu. |
4. | For SPC, click Unspecified > Loadcol. |
5. | From the Select Loadcol dialog, select SPC from the list of load collectors and click OK. |
6. | For LOAD, click Unspecified > Loadcol. |
7. | From the Select Loadcol dialog, select pressure from the list of load collectors and click OK. |
8. | For NLPARM, click Unspecified > Loadcol. |
9. | From the Select Loadcol dialog, select nlparm from the list of load collectors and click OK. |
Step 6: Create the 2nd nonlinear (unloading) subcase
1. | For Name, enter unload. |
2. | The Analysis type should, again, be set to Non-linear quasi-static from the drop-down menu. |
3. | For SPC, select SPC from the list of load collectors. |
4. | For NLPARM, select nlparm from the list of load collectors. |
Checkpoint: The unloading subcase (unload) does not contain the pressure load applied during the loading subcase (loading).
Step 7: Define Output Control parameters
1. | From the Analysis page, select control cards. |
2. | Click GLOBAL_OUTPUT_REQUEST. |
3. | Under CONTF, DISPLACEMENT, and STRESS, set Option to Yes. |
4. | Under STRAIN, set TYPE(1) to PLASTIC. |
5. | Click return twice to go to the main menu. |
Step 8: Submit the job
1. | From the Analysis page, select OptiStruct. |
2. | Click save as and select the directory where you want to write the file. |
3. | For File Name, enter nlstat_complete.fem. |
4. | Click Save. The file extension .fem is necessary for OptiStruct to recognize it as an input file. |
5. | Set export options to all. |
6. | Set run options to analysis. |
7. | Set memory options to memory default. |
8. | Click OptiStruct. This launches the OptiStruct job. |
If the job is successful, you should see new results files in the directory where HyperMesh was invoked. The nlstat_complete.out file is where you will find error messages that will help you debug your input deck, if any errors are present.
The default files that are written to your directory are:
nlstat_complete.html
|
HTML report of the analysis, giving a summary of the problem formulation and the analysis results.
|
nlstat_complete.out
|
ASCII based output file of the model check run before the simulation begins and gives nonlinear iteration history as well as basic information on the results of the run.
|
nlstat_complete.stat
|
Summary of analysis process, providing CPU information for each step during the process.
|
nlstat_complete.h3d
|
HyperView compressed binary results file.
|
Step 9: View analysis results
1. | Using HyperView, plot the Displacement, the von Mises stress, plastic strains and contact pressure contours at the end of the 1st (loading) step. |
Figure 3. Contour of Displacements in blocks subject to Loading
Figure 4. Contour of von Mises Stress in blocks subject to Loading
Figure 5. Contour of Plastic Strains in the blocks subject to Loading
Figure 6. Contour of Contact Pressure in the block interface after the 1st (loading) subcase
Next, change the subcase to the 2nd that is unloading subcase and plot the displacement contour to see the change in displacements in the blocks subject to unloading.
Figure 7. Contour of Displacements in blocks subject to Unloading in 2nd subcase
See Also:
OptiStruct Tutorials