OS-1060: Analysis of a Composite Aircraft Structure using PCOMPG |
|||||
OS-1060: Analysis of a Composite Aircraft Structure using PCOMPG |
This tutorial takes you through the process of developing a ply lay-up definition for a composite structure using a PCOMPG card, and shows the advantages of post-processing the results with global ply numbers. The traditional definition method, using PCOMP, is introduced first here to ultimately show the practical advantages of using PCOMPG for the given scenario. The model for this tutorial is shown below. Since the structure, loads, and boundary conditions are symmetrical about the x-axis, only one half of the structure is modeled with suitable boundary conditions applied to enforce half symmetry.
Torsion frame
The following exercises are included:
• | Retrieve the HyperMesh database file |
• | Review the model set up |
• | Submit the job |
• | View the results |
• | Set up the problem in HyperMesh (by redefining the laminate properties with a PCOMPG card) |
• | Submit the job |
• | View the results |
Step 1: Launch HyperMesh, set the OptiStruct User Profile and retrieve the file
1. | Launch HyperMesh. |
2. | Select OptiStruct from the User Profiles dialog and click OK. |
3. | Click File > Open. An Open Model browser window opens. |
|
4. | Select the frame.hm file you saved to your working directory from the optistruct.zip file. Refer to Accessing the Model Files. |
5. | Click Open. The frame.hm database is loaded into the current HyperMesh session, replacing any existing data. |
Step 2: Review the model setup in HyperMesh
The structural model has been already set up and can be solved without any further modifications. Review the model setup before submitting the job.
The model is set up for linear static analysis. As mentioned earlier, only half of the structure is modeled; and to impose the half symmetry boundary conditions, all the nodes on the symmetry plane are constrained in dof1, dof5, and dof6.
All of the components are modeled with the PCOMP property which lists the plies (stacking sequence) from the bottom surface upwards, with respect to the element’s normal direction, as shown in the image below.
Ply stacking sequence with respect to element normal
Components in this model that have names starting with the word "Flange" represent junctions in which different components are connected together. While reviewing, closely watch the flange area formed by the Skin and Rib components (highlighted in the following figure). Review the ply lay-up of the Skin_inner, Rib, Flange1_Rib_Skin, and Flange2_Rib_Skin components (laminate layout is shown in the bottom portion of the following figure). Note that few plies are common for the Skin_inner, Flange1_Rib_Skin, Flange2_Rib_Skin, and Skin_outer components, but appear in different stacking sequence in each component. For example, the 4th ply in Skin_inner is the 3rd ply in Flange2_Rib_Skin and the 2nd ply in Skin_outer components.
Ply stacking for the Skin_inner, Rib, Skin_outer, Flange1_Rib_Skin, and Flange2_Rib_Skin components
1. | From the 2D page, click HyperLaminate to enter the Graphic User Interface (GUI). |
This opens the HyperLaminate (GUI) in which the ply lay-up information can be defined, reviewed and edited. Material properties and design variables can also be created and edited here.
2. | Expand the Laminates portion of the tree structure on the left-hand side of the screen. |
3. | Select the Skin_inner PCOMP. |
Details of the laminate appear in the GUI.
4. | Verify that the lay-up definition for Skin_inner matches the first 5 entries of the table below, which is the lay-up information of Flange1_Rib_Skin component. |
5. | Select the Rib PCOMP and verify that the 3rd and 4th lay-up definition for Rib matches the 6th and 7th entries in the following table. |
6. | Select the Flange1_Rib_Skin PCOMP to view the ply lay-up definitions. Verify that the lay-up definition for Flange1_Rib_Skin matches the following table. |
Observe that the first 5 layers are the same as Skin_inner lay-ups and that the last two lay-ups are the same as the 3rd and 4th lay-up of Rib, as shown in the last figure. You can verify how other flanges are modeled.
Laminate properties of Flange1_Rib_Skin: |
||||
---|---|---|---|---|
Ply Number |
Material |
Thickness T |
Orientation |
SOUT |
1 |
carbon_fiber |
1.2 |
45 |
YES |
2 |
matrix |
0.2 |
90 |
YES |
3 |
carbon_fiber |
1.2 |
-45 |
YES |
4 |
matrix |
0.2 |
-90 |
YES |
5 |
carbon_fiber |
1.2 |
90 |
YES |
6 |
matrix |
0.2 |
-45 |
YES |
7 |
carbon_fiber |
1.2 |
45 |
YES |
7. | You can also review the other components. Once the review is completed, select Exit from the File menu. Exit the HyperLaminate GUI and return to HyperMesh. |
Step 3: Submit the Job
1. | From the Analysis page, enter the OptiStruct panel. |
2. | Following the input file: field, click Save as. A Save As browser window opens. |
3. | Select the directory where you would like to write the OptiStruct model file and enter the name for the model, frame_PCOMP.fem, in the input file: field. |
4. | Click Save. |
The name and location of the frame_PCOMP.fem file displays in the input file: field.
5. | Set the export options: toggle to all. |
6. | Set the run options: toggle to analysis. |
7. | Set the memory options: toggle to memory default. |
8. | Click OptiStruct. This launches the OptiStruct job. |
If the analysis is successful, no error messages are reported to the shell. The analysis is complete when the message Process completed successfully appears in the shell.
The default files written to the directory are:
frame_PCOMP.html |
HTML report of the analysis, giving a summary of the problem formulation and the analysis results. |
frame_PCOMP.out |
OptiStruct output file containing specific information on the file setup, the set up of your optimization problem, estimates for the amount of RAM and disk space required for the run, information for each of the optimization iterations, and compute time information. Review this file for warnings and errors. |
frame_PCOMP.h3d |
HyperView binary results file. |
frame_PCOMP.stat |
Summary of analysis process, providing CPU information for each step during analysis process. |
The frame_PCOMP.out file is a good place to look for error messages that will help to debug the input deck if any errors are present.
Step 4: View the results/Post-processing
1. | Click HyperView from the OptiStruct panel. HyperView launches and the model results are automatically loaded into HyperView. |
2. | Click Close to close the message window. |
3. | Click the Contour toolbar . |
4. | Select the first switch below Result type: and select Composite Stresses(s). |
5. | Select the second switch and select the P1 (major) Stress. |
6. | Select 3 for the Layers option. |
7. | In the field below Averaging method:, select None. |
8. | Click Apply. This contours the maximum principle stress for the 3rd ply of all the components in the model. |
9. | Click the Isometric View icon in the Standard Views toolbar to see the model, as shown in the following figure. |
Stress distribution on the top face of the frame
The stress value does not vary gradually in the top face region, but suddenly decreases to a lower value across the Flange2_Rib_Skin component. Looking at the table of laminate properties of Flange1_Rib_Skin again, observe that the 3rd ply property of the Flange2_Rib_Skin component is of a matrix material and the third plies in the components adjacent to it (Flange1_Rib_Skin and Skin_outer) are of a carbon fiber material. The sudden changes in the stress values occur because we are looking at stress on two different materials. This example shows that, for the results to be meaningful during post-processing of the PCOMP results, you have to correlate the ply results to their corresponding ply property.
This highlights that, during the post-processing of PCOMP components, plotting results based on just the ply number is not sufficient. You have to keep track of ply properties (material, thickness, orientation, failure index, etc.) on your own during post-processing with this method. In cases that use large and complex models, it becomes tedious to track the individual ply properties during post-processing.
This drawback to using PCOMP can be avoided with the use of the PCOMPG card for property definition. Using the PCOMPG card, you can assign a global ply number for each ply and post-process the results based on global ply number. The following steps explain the procedure to redefine the model with PCOMPG property.
Step 5: Redefine the model setup in HyperMesh
1. | Close the HyperView window and return to HyperMesh. |
|
2. | From the 2D page, select the HyperLaminate panel. This opens the HyperLaminate GUI in which the ply lay-up information can be defined, reviewed and edited. |
3. | Click Tools > Laminate Options. This opens a new window in which the default ply lay-up options can be set. |
4. | Click the Convention: switch and select Total. |
5. | Click OK to close the window. This sets up Total as the default option whenever a new component is created. |
Laminate information with global ply number
Now you create new PCOMPG components with global ply numbers defined as shown in the above figure. As discussed earlier, the 4th ply in Skin_inner is the 3rd ply in Flange2_Rib_Skin and the 2nd ply in Skin_outer components. Therefore, all of these plies will be defined with the same global ply ID 4. Similarly, all other plies are to be defined, as shown in the above figure.
6. | Expand the laminates portion of the tree structure on the left-hand side of the screen. |
7. | Right-click PCOMPG. A menu appears. |
8. | Click New. This creates new component, which is named NewLaminate1 by default, and the tree structure is expanded. |
9. | Rename the component to Skin_inner_GPLY by right-clicking and select Rename in the text field and overwrite the default component name. |
10. | In the Add/Update plies: section under the field GPLYID, enter 1. |
11. | Select the pull-down menu below Material and select carbon_fiber. |
12. | Below the Thickness T1 field, enter 1.2. |
13. | Below the Orientation field, enter 45. |
14. | Select the pull-down menu below SOUT and select YES. |
15. | Click Add New Ply to add the ply information. |
16. | Repeat this procedure to add 4 more plies with the properties shown in the table: |
GPLYID |
Material |
Thickness T |
Orientation |
SOUT |
---|---|---|---|---|
2 |
matrix |
0.2 |
90 |
YES |
3 |
carbon_fiber |
1.2 |
-45 |
YES |
4 |
matrix |
0.2 |
-90 |
YES |
5 |
carbon_fiber |
1.2 |
90 |
YES |
17. | Click Update Laminate at the bottom of the window to update the lay-up information. The graphical display of lay-up information now appears in the field below the Review tab, on the right side of the GUI. |
18. | Create a new PCOMPG component with name Rib_GPLY and the ply lay-up, as shown in the following table: |
GPLYID |
Material |
Thickness T |
Orientation |
SOUT |
---|---|---|---|---|
11 |
carbon_fiber |
1.2 |
0 |
YES |
12 |
matrix |
0.2 |
45 |
YES |
13 |
matrix |
0.2 |
-45 |
YES |
14 |
carbon_fiber |
1.2 |
45 |
YES |
Referring to the figure showing laminate information with global ply number above, you will create the Flange1_Rib_Skin_GPLY component.
19. | Right-click Skin_inner_GPLY and select Duplicate from the menu to create an identical component. |
20. | Rename the component as Flange1_Rib_Skin_GPLY by right-clicking and select rename in the text field and overwrite the component name. |
21. | Add 2 more plies with the properties shown in the following table using the Add New Ply feature. |
GPLYID |
Material |
Thickness T |
Orientation |
SOUT |
---|---|---|---|---|
13 |
matrix |
0.2 |
-45 |
YES |
14 |
carbon_fiber |
1.2 |
45 |
YES |
The new component Flange1_Rib_Skin_GPLY was created. Its first 5 plies are the same as Skin_inner_GPLY and its last 2 plies are the 3rd and 4th plies of the Rib component.
To reduce the number of steps in this tutorial, the ply lay-up information of other components is already defined with PCOMPG property and appropriate laminate information in the updated_PCOMPG_properties.fem file you saved to your working directory from the optistruct.zip file. This file is imported into HyperMesh to update (overwrite) the properties instead of manually updating them.
The updated_PCOMPG_properties.fem file is saved in OptiStruct input file format. Open this in any text editor to review how the components are defined with PCOMPG properties. A section of the file is shown below.
Components defined with PCOMPG
22. | Click File > Exit. This will exit the HyperLaminate GUI and return to HyperMesh. |
23. | Click File > Import > Solver Deck. |
24. | Toggle and expand the Import options and check the box next to FE overwrite. |
This option overwrites the old PCOMP properties with PCOMPG properties defined in the updated_PCOMPG_properties.fem file.
25. | Click on the folder icon next to File: and select the updated_PCOMPG_properties.fem file and click Import. |
26. | Click Close. |
Step 6: Review the imported properties in HyperLaminate
1. | From the 2D page, go to the HyperLaminate panel. |
2. | Expand the laminates portion of the tree structure on the left-hand side of the screen. |
All of the components now appear under PCOMPG. The components created earlier (Skin_inner_GPLY, Rib_GPLY, and Flange1_Rib_Skin_GPLY) are still present. There is no element associated with these components. Review the PCOMPG components to view the laminate definitions.
3. | Click File > Exit. |
Step 7: Submit the Job
1. | From the Analysis page, enter the OptiStruct panel. |
2. | Following the input file: field, click Save as. |
3. | In the Save file browser window, select the directory where you would like to write the OptiStruct model file and enter frame_PCOMPG.fem as the name for the model. |
4. | Click Save. |
The name and location of the frame_PCOMPG.fem file displays in the input file: field.
5. | Set the export options: toggle to all. |
6. | Set the run options: toggle to analysis. |
7. | Set the memory options: toggle to memory default. |
8. | Click OptiStruct. This launches the OptiStruct job. |
If the job is successful, new results files can be seen in the directory where the model file was written. The frame_PCOMPG.out file is a good place to look for error messages that will help to debug the input deck, if any errors are present.
The default files written to the directory are:
frame_PCOMPG.html |
HTML report of the analysis, giving a summary of the problem formulation and the analysis results. |
frame_PCOMPG.out |
OptiStruct output file containing specific information on the file setup, the set up of your optimization problem, estimates for the amount of RAM and disk space required for the run, information for each of the optimization iterations, and compute time information. Review this file for warnings and errors. |
frame_PCOMPG.res |
HyperMesh binary results file. |
frame_PCOMPG.h3d |
HyperView binary results file. |
frame_PCOMPG.stat |
Summary of analysis process, providing CPU information for each step during analysis process. |
Step 8: View the results/Post-processing
1. | When the message Process completed successfully is received in the command window, click HyperView in the OptiStruct panel. The results are automatically loaded into HyperView. |
A message window may appear with information about the successful loading of the model and result files into HyperView.
2. | Click Close to close the message window. |
3. | Click the Contour toolbar . |
4. | Select the first switch below Result type: and select Composite Stresses (s). |
5. | Select the second switch and select P1 (major) Stress. |
6. | For the Layers field, select PLY 3. |
7. | For Averaging method:, select None. |
8. | Click Apply. This plots the maximum principle stress for global ply 3. The results are not plotted in the regions where global ply 3 is not present. |
9. | Click the Isometric View icon in the Standard Views toolbar. |
Post-processing the results based on global ply number eliminates the need to track the ply number and corresponding ply properties on the components. The results are displayed based on the global ply number, irrespective of the ply order, so you can chose any one global ply number and view results across the whole component. If a particular ply is not present in any given region, no result is displayed.
See Also: