MEGN 537 – Probabilistic Biomechanics Applying the AMV

Download Report

Transcript MEGN 537 – Probabilistic Biomechanics Applying the AMV

MEGN 537 – Probabilistic Biomechanics
Applying the AMV Method with a
Finite 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
Example
Syringe Sealing Pressure
1. Setup model in usual way → model database
Example
Syringe 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 Plunger
Rod
Example
Syringe Sealing Pressure
2. Add or confirm parameters in FE model
rib1_od
rib1_rad
rib1_width
plunger_od
rib2_rad
rib2_width
rib2_od
Example
Syringe Sealing Pressure
2. Add or confirm parameters in FE model
a.
b.
c.
d.
e.
rib1_od, rib2_od = 0.2915 ± 0.0015
rib1_rad, rib2_rad = 0.008 ± 0.001
rib1_width = 0.048 ± 0.002
rib2_width = 0.058 ± 0.002
plunger_od = 0.2275 ± 0.0005
Example
Syringe 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
1 » abaqus cae nogui=script_update
2 » abaqus j=temp inp=axi_10ml interactive
3 » 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
Typical Steps for Prob FE
6. Encapsulate in NESSUS to automate
» copy ..\..\axi_10ml_syringe.cae
» copy ..\..\script_extract.py
1 » abaqus cae nogui=script_update
2 » abaqus j=temp inp=axi_10ml interactive
3 » abaqus cae nogui=script_extract
» del *.rpy.*
Model Database – allows for re-meshing;
must be copied to the working directory
to be operated on by script_update.py
Typical Steps for Prob FE
6. Encapsulate in NESSUS to automate
» copy ..\..\axi_10ml_syringe.cae
» copy ..\..\script_extract.py
1 » abaqus cae nogui=script_update
2 » abaqus j=temp inp=axi_10ml interactive
3 » abaqus cae nogui=script_extract
» del *.rpy.*
Extraction script – the default ABAQUS output
is a binary results database, so this script is
needed to extract scalar results to a text file;
this will be a similar situation for any FE code
Typical Steps for Prob FE
6. Encapsulate in NESSUS to automate
» copy ..\..\axi_10ml_syringe.cae
» copy ..\..\script_extract.py
1 » abaqus cae nogui=script_update
2 » abaqus j=temp inp=axi_10ml interactive
3 » 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 and
regenerate the mesh after all dims are updated; this file
contains all the parameters that are prob variables modified by
NESSUS, so it is copied to the working directory automatically
Typical Steps for Prob FE
6. Encapsulate in NESSUS to automate
» copy ..\..\axi_10ml_syringe.cae
» copy ..\..\script_extract.py
1 » abaqus cae nogui=script_update
2 » abaqus j=temp inp=axi_10ml interactive
3 » abaqus cae nogui=script_extract
» del *.rpy.*
FE solution – this is the ABAQUS command to run the
solution for a single trial
Typical Steps for Prob FE
6. Encapsulate in NESSUS to automate
» copy ..\..\axi_10ml_syringe.cae
» copy ..\..\script_extract.py
1 » abaqus cae nogui=script_update
2 » abaqus j=temp inp=axi_10ml interactive
3 » abaqus cae nogui=script_extract
» del *.rpy.*
Extract results – run the extraction script to read the binary
results file from ABAQUS and write scalar output to a text file
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
1 » abaqus cae nogui=script_update
2 » abaqus j=temp inp=axi_10ml interactive
3 » abaqus cae nogui=script_extract
» del *.rpy.*
Clean up any unnecessary files
Files Summary
These first three files are the only ones you need to begin the analysis…
the others below are created automatically.
1
2
3
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)