Granular flow constitutive model add-ons for ABAQUS
If you are using Abaqus subroutines generated from this work, please cite the following articles:
- Jin, W., Stickel, J. J., Xia, Y., & Klinger, J. (2020). A Review of Computational Models for the Flow of Milled Biomass Part II: Continuum-Mechanics Models. ACS Sustainable Chemistry & Engineering, 8(16), 6157-6172.
- Jin, W., Klinger, J., Westover, T., & Huang, H. (2020). A density dependent Drucker-Prager/Cap model for ring shear simulation of ground loblolly pine. Powder Technology, 368, 45-58.
- Lu, Y., Jin, W., Klinger, J., Westover, T., & Dai, S. (2021). Flow characterization of compressible biomass particles using multiscale experiments and a hypoplastic model. Powder Technology, 383, 396-409.
The software is a list of User MATerial subroutines (VUMAT) of Abaqus/Explicit for modeling granular flow physics. It includes:
- Density dependent Mohr-Coulomb model (src/VUMAT_modified_Mohr_Coulomb.f),
- Density dependent Drager-Prager\Cap model (src/VUMAT_modified_Drager_Prager_cap.f),
- Gudehus-Bauer hypoplastic model (src/VUMAT_nonlocal_Hypoplasticity.f),
- Critical state-based NorSand model (src/VUMAT_NorSand_version2015.f).
Each of the subroutines uses explicit(sub-stepping)/implicit(return mapping) integration algorithms to updates stress and state variables (e.g., void ratio, density) with a given increment of strain following the corresponding constitutive law. The sketches of yield surfaces or the constitutive equation of each model are shown in the above figure. Please refer the references for detailed explaintion of the constitutive laws. For the hypoplasticity model, its integration-based nonlocal regularization is also implemented to alleviate the mesh dependence problem, and the thery is documented in Wójcik and Tejchman, 2009.
The software is a user add-on code for Abaqus, it needs an Intel Fortran compiler to compile the code, and the version of the compiler needs to be compatible with the version of Abaqus.
For Windows on Desktop, Abaqus requires Visual Studio with Intel Fortran compiler. An example combo of the packages are:
- Dassault Abaqus (2018)
- Microsoft Visual Studio Community 2017
- Intel Parallel Studio XE 2018
For Linux on Desktop/HPC. An example combo of the packages are:
- Dassault Abaqus (2018)
- Intel Fortran Compiler (ifort/2019.4.243-GCC-8.3.0-2.32)
The software packages installation sequence and the linkage process among the packages in Windows OS is docmented here. The configuration in Linux system is to add the ifort path to the abaqus_v6.env file as: fortCmd = "/opt/intel/bin/ifort"
The input file for running granular flow simulation is a standard Abaqus inp file using either Arbitrary Lagrangian-Eulerian (ALE) Method or Coupled Eulerian-Lagrangian (CEL) method, except a few key words need to be added in the following format:
- Material, name = (user define material name)
- Density (Initial density of the mateiral)
- Depvar (Number of the State variables)
- User Material, constants= (Number of the material parmeters followed by the value of material parameters)
Taking the hopper flow simulation using hypoplasticity as an example, we define material parameters throught the following block:
*Material, name=as_ground
*Density
290.,
*Depvar
3,
*User Material, constants=12
1.381, 0.5003, 1.0623, 47.3,187549., 1., 0.3, 0.3 0., 0., 0., 0.
The initial state of material (stress and void ratio) has to be defined. In particular, the intial void raito is tracked as one of the solution dependent varible in Abaqus. The number of initial values has to be equal to the value of Depvar defined in material. See the following example:
*Initial Conditions, type=STRESS
element_set, sigma_11, sigma_22, sigma_33, sigma_12, sigma_23, sigma_13
*Initial Conditions, Type=Solution
element_set, initial_void_ratio_value, 0.0001, 0
The user material parameters are highlighted at the beginning of the VUMAT and their physical meaning are:
- ei0, maximum void ratio at atmosspheric pressure
- ei0, minimum void ratio at atmosspheric pressure
- ec0, critical void ratio at atmosspheric pressure
- phic, internal friction angle
- hs, granular hardnes
- beta, exponent to control compressibility
- en, exponent
- alpha, exponent to control peak shear stress
- alc, internal lenght parameter
- 1/0 switch on/off of nonlocal regularization
- switch_time control when to switch on nonlocal regularization
- ile_elem element id to control swith
Place the input file and the subroutine file in the same folder. Using the following command line to start the simulation:
abaqus job=job-name input=inp-file-name user=subroutine-name double=both (precission of the simulation) cpus=number-of-cores-for-parallel-simulation int
Idaho National Laboratory is a cutting edge research facility which is a constantly producing high quality research and software. Feel free to take a look at our other software and scientific offerings at:
Primary Technology Offerings Page
Supported Open Source Software
Raw Experiment Open Source Software
Unsupported Open Source Software
Copyright 2020 Battelle Energy Alliance, LLC
Licensed under the GPL 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
https://opensource.org/licenses/GPL-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
This software is licensed under the terms you may find in the file named "LICENSE" in this directory.
By contributing to this software project, you are agreeing to the following terms and conditions for your contributions:
You agree your contributions are submitted under the GPL 2.0 license. You represent you are authorized to make the contributions and grant the license. If your employer has rights to intellectual property that includes your contributions, you represent that you have received permission to make contributions and grant the required license on behalf of that employer.