200 likes | 356 Views
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.
E N D
MEGN 537 – Probabilistic BiomechanicsApplying 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 • Setup model in usual way → model database • Add or confirm parameters in FE model • Script(s) to update model parameters and regenerate FE mesh • Run FE solution • Script to extract scalar result(s) of interest • Encapsulate above in NESSUS to automate
ExampleSyringe Sealing Pressure • Setup model in usual way → model database
ExampleSyringe Sealing Pressure • 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
ExampleSyringe Sealing Pressure • Add or confirm parameters in FE model rib1_od rib1_rad rib1_width plunger_od rib2_rad rib2_width rib2_od
ExampleSyringe Sealing Pressure • Add or confirm parameters in FE model • 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
ExampleSyringe Sealing Pressure • 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 • Run FE solution • Use command-line • 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 • Encapsulate in NESSUS to automate… • copy ..\..\axi_10ml_syringe.cae • copy ..\..\script_extract.py • abaquscaenogui=script_update • abaqusj=tempinp=axi_10ml interactive • abaquscaenogui=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 • 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.* 1 2 3 Model Database – allows for re-meshing;must be copied to the working directoryto be operated on by script_update.py
Typical Steps for Prob FE • 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.* 1 2 3 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
Typical Steps for Prob FE • 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.* 1 2 3 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
Typical Steps for Prob FE • 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.* 1 2 3 FE solution – this is the ABAQUS command to run thesolution for a single trial
Typical Steps for Prob FE • 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.* 1 2 3 Extract results – run the extraction script to read the binaryresults 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 • 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.* 1 2 3 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. 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) 1 axi_10ml.inp (ABAQUS input created when update script is run) temp.odb (ABAQUS binary output created when FE solution is run) 2 cpress.out (text output file created by extraction script) cfn1_initial.out (text output file created by extraction script) 3