Post on 04-Jan-2016
MEGN 537 – Probabilistic Biomechanics
Applying the AMV Method with aFinite Element Model
Anthony J Petrella, PhD
The Model
• Can be analytical or computational
• MATLAB for analytical• Finite elements for computational
• ABAQUS• ANSYS• SolidWorks Simulation (COSMOS)
Parameterization
• The most challenging step for an FE model• Some variables are easy
• Material properties• Loading• Already parametric
• Some variables are more difficult• Dimensional parameters• Affect the mesh
Typical Steps for Prob FE
1. Setup model in usual way → model database
2. Add or confirm parameters in FE model
3. Script(s) to update model parameters and regenerate FE mesh
4. Run FE solution
5. Script to extract scalar result(s) of interest
6. Encapsulate above in NESSUS to automate
ExampleSyringe Sealing Pressure
1. Setup model in usual way → model database• Axisymmetric• Rigid barrel, plunger rod• Rubber stopper• Note initial interference!
• First, resolve interference• Second, apply fluid pressure
Rigid Barrel
Rigid PlungerRod
ExampleSyringe Sealing Pressure
2. Add or confirm parameters in FE modelrib1_od
rib2_od
rib2_width
rib1_width
rib1_rad
rib2_rad
plunger_od
ExampleSyringe Sealing Pressure
2. Add or confirm parameters in FE model
a. rib1_od, rib2_od = 0.2915 ± 0.0015
b. rib1_rad, rib2_rad = 0.008 ± 0.001
c. rib1_width = 0.048 ± 0.002
d. rib2_width = 0.058 ± 0.002
e. plunger_od = 0.2275 ± 0.0005
ExampleSyringe Sealing Pressure
3. Script(s) to update model parameters and regenerate FE mesh• All good FE codes have a scripting language…• For ABAQUS it is Python• ANSYS Parametric Design Language (ADPL)• SolidWorks Simulation uses VB scripting
• The script simply automates mouse clicks• There is typically a “replay” file from which you can
extract the needed commands
Try This…
• Download ABAQUS files• Double-click CAE file• Change rib1_od to 0.285• Close CAE file and save changes
• Now open abaqus.rpy file in a text editor• These are the Python commands that perform the task you
executed above with mouse clicks
Typical Steps for Prob FE
4. Run FE solution• Use command-line
5. Script to extract scalar result(s) of interest• Created in the same way as before using the replay file• One may extract multiple results of interest, but each
must be a scalar – this is how prob analysis works
Typical Steps for Prob FE
6. Encapsulate in NESSUS to automate…» copy ..\..\axi_10ml_syringe.cae» copy ..\..\script_extract.py» abaqus cae nogui=script_update» abaqus j=temp inp=axi_10ml interactive» abaqus cae nogui=script_extract» del *.rpy.*
Note: script_update is your input file, so it’s automatically copied to each trial folder by NESSUS
1
2
3
Typical Steps for Prob FE
6. Encapsulate in NESSUS to automate» copy ..\..\axi_10ml_syringe.cae» copy ..\..\script_extract.py» abaqus cae nogui=script_update» abaqus j=temp inp=axi_10ml interactive» abaqus cae nogui=script_extract» del *.rpy.*
Model Database – allows for re-meshing;must be copied to the working directoryto be operated on by script_update.py
1
2
3
Typical Steps for Prob FE
6. Encapsulate in NESSUS to automate» copy ..\..\axi_10ml_syringe.cae» copy ..\..\script_extract.py» abaqus cae nogui=script_update» abaqus j=temp inp=axi_10ml interactive» abaqus cae nogui=script_extract» del *.rpy.*
Extraction script – the default ABAQUS outputis a binary results database, so this script isneeded to extract scalar results to a text file;this will be a similar situation for any FE code
1
2
3
Typical Steps for Prob FE
6. Encapsulate in NESSUS to automate» copy ..\..\axi_10ml_syringe.cae» copy ..\..\script_extract.py» abaqus cae nogui=script_update» abaqus j=temp inp=axi_10ml interactive» abaqus cae nogui=script_extract» del *.rpy.*
Update script – changing dimensions changes the mesh,so you need a script to operate on the model database andregenerate the mesh after all dims are updated; this filecontains all the parameters that are prob variables modified byNESSUS, so it is copied to the working directory automatically
1
2
3
Typical Steps for Prob FE
6. Encapsulate in NESSUS to automate» copy ..\..\axi_10ml_syringe.cae» copy ..\..\script_extract.py» abaqus cae nogui=script_update» abaqus j=temp inp=axi_10ml interactive» abaqus cae nogui=script_extract» del *.rpy.*
FE solution – this is the ABAQUS command to run thesolution for a single trial
1
2
3
Typical Steps for Prob FE
6. Encapsulate in NESSUS to automate» copy ..\..\axi_10ml_syringe.cae» copy ..\..\script_extract.py» abaqus cae nogui=script_update» abaqus j=temp inp=axi_10ml interactive» abaqus cae nogui=script_extract» del *.rpy.*
Extract results – run the extraction script to read the binaryresults file from ABAQUS and write scalar output to a text file
1
2
3
Output
• There are two output files of interest…• cpress.out – this is the peak contact
pressure on the 1st rib• cfn1_initial.out – radial component of
contact force after assembly• Line 1: force on 1st rib• Line 2: force on 2nd rib• Line 3: total force on both ribs
Typical Steps for Prob FE
6. Encapsulate in NESSUS to automate» copy ..\..\axi_10ml_syringe.cae» copy ..\..\script_extract.py» abaqus cae nogui=script_update» abaqus j=temp inp=axi_10ml interactive» abaqus cae nogui=script_extract» del *.rpy.*
Clean up any unnecessary files
1
2
3
Files Summary
axi_10ml_syringe.cae (model database, need to copy)script_update.py (input for NESSUS, copied automatically)script_extract.py (extraction script, need to copy)
axi_10ml.inp (ABAQUS input created when update script is run)temp.odb (ABAQUS binary output created when FE solution is run)
cpress.out (text output file created by extraction script)cfn1_initial.out (text output file created by extraction script)
These first three files are the only ones you need to begin the analysis…the others below are created automatically.
1
2
3