FEA-based SPA design tool
This work was done in collaboration with the Laboratory for Multiscale Mechanics Modeling (LAMMM).
To cite this work please use: P. Moseley, J.M. Florez, H.A. Sonar, G. Agarwal, W. Curtin, J.Paik. Modeling and Design of Soft Pneumatic Actuators, accepted for publication in Advanced Engineering Materials, 2015.
The complete spa_guided_design_tool is available to the public under the open-source MIT license. Included here is a brief description of the tools and capabilities available. For access to the complete set of scripts, please contact the authors with your name, affiliation and the intended application with the aid of the SPA design tool. The modules are all written in Python, and some modules interface with the commercial FEM software Abaqus in order to create meshes and run simulations.
spa_run_tests Used to initiate AbaqusTM and run a simulation or series of simulations. It also supports submitting jobs to high-performance compute clusters which use the SLURM queuing system.
spa_create_geom Interfaces with AbaqusTM in order to automate the process of creating a geometry, meshing it, and applying boundary conditions. Given actuator type (linear or bending), desired test (displacement or blocked force), and a set of geometric parameters such as wall thickness, chamber size, and mesh refinement, this tool will output a complete, ready-to-run AbaqusTM input file. This input file can then be run using spa_run_tests or further modified by the user using the AbaqusTM CAE interface.
spa_optimize_geometric_parameters Facilitates SPA design optimization through automated iterative design simulations, as discussed in the case studies presented here. AbaqusTM is required.
spa_calc_hyperelastic_parameters Fits experimental stress-strain data, collected through tests as described in the first Appendix, to a hyperelastic stress-strain constitutive law. AbaqusTM is not required. The following hyperelastic models are available to the user (others may be easily added):
- Ogden 3-parameter
- Ogden 6-parameter
- Ogden 9-parameter
- Polynomial 2-parameter
- Reduced–Polynomial 6-parameter
- Van der Waals
spa_optimize_hyperelastic_parameters Performs an additional fitting step for the hyperelastic material laws in order to extrapolate missing data or optimize SPA behavior given some actuator testing data, as discussed in the section on material characterization. AbaqusTM is required.
spa_calc_viscoelastic_parameters Fits experimental stress-relaxation data, collected through tests. to a viscoelastic Prony series. AbaqusTM is not required.
spa_plot_results This module provides several useful scripts for visualizing experimental and/or simulation results, used to create the plots in this work. AbaqusTM is not required. The following scripts are included within this module:
create_experimental_plots.py – Plot raw experimental data versus time.
create_hyperelastic_plots.py – Plot stress versus strain for hyperelastic testing data with fits from spa_calc_hyperelastic_parameters.
create_principalcomponentanalysis_plots.py – Plot optimization iteration results from spa_optimize_geometric_parameters in scatterplot form.
create_result_plots.py – Plot displacement or blockedforce versus pressure from FEM simulations and/or experiments.
create_viscoelastic_plots.py – Plot stress versus strain for viscoelastic testing data with fits from