From edbd43f29fda3c25024c4bf069c3dc0fed191af3 Mon Sep 17 00:00:00 2001 From: Sasha Date: Thu, 26 Jun 2025 13:58:08 +0100 Subject: [PATCH] added initially as quicksave --- aseredesign/readme.md | 80 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 80 insertions(+) create mode 100644 aseredesign/readme.md diff --git a/aseredesign/readme.md b/aseredesign/readme.md new file mode 100644 index 0000000..fb3fd9e --- /dev/null +++ b/aseredesign/readme.md @@ -0,0 +1,80 @@ +# 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: +1. All stringers have to have the same dimensions (panel thickness may vary tho) +2. Dimensions must be inputted into Python as well as Hyperworks + +## Quick rundown +1. Modify the dimensions of the stringers and panels in the *.hm* and *aseredesign.py* file +2. Run the simulation +3. Import the results into Optistruct and export the panel stresses and stringer stresses in two different *.csv* files +4. Increment the modAmount variable in the *aseredesign.py* +5. Run the python script and hope for green! + +## Overview +1. Set up Python +2. How to modify values with proper offsets in Optistruct +3. How to get the results for the FEA +4. How to get the things calculated +5. 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 +1. Install python +2. `pip install colorama`, `pip install csv`, `pip install math` + +## How to modify values with proper offsets in Optistruct: +Stringers: +1. Stringer dimensions are found in "Model" > "Beam Sections" on the left workpanel +2. Select all *Stringer_Section* (1-9) +3. 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") +4. 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). +5. `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. +6. 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). +7. Select all elements from element ID **40 to 66** +8. 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*". +9. Hit save. +The stringer dimensions must also be added to the python file before running it. + +Panels: +1. Panel thicknesses are found in "Model" > "Properties" on the left workpanel +2. Select the shell element you want to modify and change the value next to "T:" in the bottom left workpanel. +3. 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) +4. 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). +5. Select all panels with the same thickness. Each panel consists of 3 elements and it should be visually indicated what you got selected. +6. In the bottom left workpanel, find "Offsets" > "SURFACE OPTIONS: (unselected)" > "ZOFFS" and modify the value next to "ZOFFS" to **half of the panel thickness**. +7. Hit save. +The panel dimensions must also be added to the python file before running it. + + +## How to get the results for the FEA: +1. Run simulation +2. File > Import > Results > File System +3. Post > Tools + 1. Results Query + 2. Start +4. Select all 3 loadcases + 1. Element Stresses (2D & 3D) > XX,YY,XY,vonMises > Mid > none > global + 2. Set and save as **panel_val_x.csv** in the same folder as the python script + 3. Element Stresses (1D):CBAR/CBEAM Axial Stresses > none + 4. 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: +1. Go to your terminal or command line. +2. 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) +3. + +## 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 \ No newline at end of file