4.8 KiB
ASE Redesign Calculator
This redesign calculator requires manual input in Hyperworks, but returns the values needed for the final results csv file. It can calculate several results at the same time which I found helpful for comparing and analysing. It has the following limitations:
- All stringers have to have the same dimensions (panel thickness may vary tho)
- Dimensions must be inputted into Python as well as Hyperworks
Quick rundown
- Modify the dimensions of the stringers and panels in the .hm and aseredesign.py file
- Run the simulation
- Import the results into Optistruct and export the panel stresses and stringer stresses in two different .csv files
- Increment the modAmount variable in the aseredesign.py
- Run the python script and hope for green!
Overview
- Set up Python
- How to modify values with proper offsets in Optistruct
- How to get the results for the FEA
- How to get the things calculated
- Miscellaneous
Set Up Python
Windows 10/11:
Make sure Python is installed. You can check this by running the command "python" in the command line (opened either by typing "cmd" into the windows search bar and hitting the Enter key or over Windows+R and then entering "cmd" followed by hitting the enter key). Then make sure the libraries "math", "csv" and "colorama" are installed. You can install them by running the commands "pip install math", "pip install csv" and "pip install colorama".
Linux
- Install python
pip install colorama,pip install csv,pip install math
How to modify values with proper offsets in Optistruct:
Stringers:
- Stringer dimensions are found in "Model" > "Beam Sections" on the left workpanel
- Select all Stringer_Section (1-9)
- In the bottom left workpanel, go to "Parameter Definitions" and modify DIM1 (stringer height), DIM2 (stringer thickness), DIM3 (width of the top of the "hat") and DIM4 (width of the brim of the "hat")
- In the same bottom left workpanel, go to "Neutral Axis Geometri..." and write down the value next to "Centroid Local Yc" somewhere. This value is required to calculate the offset (offset A and offset B are the same).
Offset = - DIM1 / 2 - ("Centroid Local Yc")or in words: your offset equals the negative DIM1 (stringer height) value divided by 2, minus the value of Centroid Local Yc. The stringer offset should always be negative. Write this down as well.- Go back to the "Model" tab on the left workpanel and double click on "Elements". There you should see all elements with IDs from 1 to 70 (excluding some numbers).
- Select all elements from element ID 40 to 66
- In the bottom left workpanel, find "Offset A" and "Offset B" and modify the values to "0,0,the value you got for the offset in step 5".
- Hit save. The stringer dimensions must also be added to the python file before running it.
Panels:
- Panel thicknesses are found in "Model" > "Properties" on the left workpanel
- Select the shell element you want to modify and change the value next to "T:" in the bottom left workpanel.
- Keep in mind that this must be symmetrical. Shell1 must have the same thickness as Shell10, etc, etc. (Shell5 and Shell6 must have the same thickness, yadayadaya)
- Go back to the "Model" tab on the left workpanel and double click on "Elements". There you should see all elements with IDs from 1 to 70 (excluding some numbers).
- Select all panels with the same thickness. Each panel consists of 3 elements and it should be visually indicated what you got selected.
- In the bottom left workpanel, find "Offsets" > "SURFACE OPTIONS: (unselected)" > "ZOFFS" and modify the value next to "ZOFFS" to half of the panel thickness.
- Hit save. The panel dimensions must also be added to the python file before running it.
How to get the results for the FEA:
- Run simulation
- File > Import > Results > File System
- Post > Tools
- Results Query
- Start
- Select all 3 loadcases
- Element Stresses (2D & 3D) > XX,YY,XY,vonMises > Mid > none > global
- Set and save as panel_val_x.csv in the same folder as the python script
- Element Stresses (1D):CBAR/CBEAM Axial Stresses > none
- Set and save as stringer_val_x.csv in the same folder as the python script
"x" is a variable, starting at 0. I personally used 0 for the simulation results of the unmodified panel. Testing this all with the unmodified panel and comparing it with the previously given solution is a good sanity check to see if Hyperworks and this program is set up properly
How to get the things calculated:
- Go to your terminal or command line.
- Enter "cd your/folder/path/" (To get your/folder/path/ on Windows, open the File Explorer, go to the folder with the python file and)
Miscellaneous
How to get offset A and B:
offset = -dim1 /2 - (Centroid Local Yc of stringer) get centroid local yc in Beam Section Tab add offset in Elements tab