This repository contains code and calibration data for a linear viscoelastic (Standard Linear Solid rheological model) finite element user material that incorporates the effects of temperature and radiation dosage via empirical fitting to measured data.
The model is a research-grade code and while it should be relatively plug-and-play for those comfortable with deploying finite element user materials in Calculix/CrunchiX or Abaqus, is it not standalone software and requires operator skill to use successfully.
Since this is not a standalone package the content and workflow is somewhat different from a more conventional software release, and the content of each subdirectory is described below.
- The top level directory of this project contains several documentary files, including this readme, license information, and other metadata.
- The
bindirectory contains an example complied binary executable for CalculiX/CrunchiX that include the irradiated foam user material. Warning: this may not execute on in your environment (built under Ubuntu 20.04.6 LTS on Windows Subsystem for Linux 2 x64). - The
calibration_datadirectory includes the curated DMA data used as input to fit the model, as well as the calibration data handling, fitting, metadata, and scripts. - The
docsdirectory contains text-based documentation for compiling from source code and running the example cases. It also includes note on the theory used to implement the viscoelasticity model in a.pdf, and the spreadsheet (.xlsx) file with validation data, as shown in Fig. A8 of the manuscript. - The
example_runsdirectory has subfolder for four example test cases using the user material under various conditions. Specifically, the example padding application shown in Fig 7 of the manuscript, cyclic compression, stepwise compression, and uniaxial tension. - The
srcdirectory includes source code (.f and .py) for the material model, data handling, and results analysis.
The Calculix source code (umat.f) and input file (*.inp) are syntactically similar to the source code used for Abaqus - it is highly plausible to port this code to Abaqus, likely with relatively few changes, although we have not test it (yet).
See the docs and example_runs subdirectories for more complete directions. You may also wish to consult CalculiX documentation (see http://www.dhondt.de/).
Briefly, to run an example you will need to:
- Compile CalculiX from source adding the user material to the compiled executable. Note: you may be able to skip this step by using the pre-compiled binary in
binif your runtime environment is suitably similar to ours. - Update the run script (typically,
./run_ccx.sh) for the example with the correct path to the CCX executable. - Run the
.shfile in a bash terminal. - Results can be processed and analyze with included Python scripts, converted to be visualized ParaView ("ccx2paraview", https://www.paraview.org/), or processed with your own tools.
For the data used in the development and calibration of the model see: https://doi.org/10.18434/mds2-2989.
For more details and description of the experiment see: https://doi:10.1016/j.matdes.2023.112381.
Please cite as:
Landauer, A. K. et al. Unintended consequences: Assessing thermo-mechanical changes in vinyl nitrile foam due to micro-computed X-ray tomographic imaging. Materials & Design 112381 (2023) doi:10.1016/j.matdes.2023.112381.
For questions, please open a new entry in the "Issues" tab. If needed, you can also find authors' contact information via the associated paper (see above).
The corresponding author is Alex Landauer (NIST MML Materials Measurement Science Division, Security Technologies Group). Orion Kafka and Newell Moser (NIST MML Applied Chemicals and Materials Division) are the primary developers of the code.