Abaqus UEL/UMAT implementation of a phase-field fracture model for fatigue using locking-free solid-shell finite elements.
This repository contains the user element and user material subroutines used in the paper:
Pavan Kumar Asur Vijaya Kumar, Aamir Dean, José Reinoso, Heinz E. Pettermann, Marco Paggi, “A phase-field fracture model for fatigue using locking-free solid shell finite elements: Analysis for homogeneous materials and layered composites.” Theoretical and Applied Fracture Mechanics, 127, Article 104029, 2023. DOI: https://doi.org/10.1016/j.tafmec.2023.104029
The implementation can be used for simulations with and without fatigue degradation.
- Phase-field fracture formulation for homogeneous materials and layered composites.
- Fatigue and non-fatigue simulation options.
- Locking-free solid-shell finite element formulation.
- Abaqus implementation through UEL and UMAT subroutines.
- Example input files corresponding to the applications presented in the paper.
The code has been tested with:
- Abaqus 2020
- Abaqus 2022
A compatible Fortran compiler is required for compiling the Abaqus user subroutines.
The repository contains the Abaqus user subroutine files and example input files used for the numerical studies in the associated publication.
Typical files include:
- Abaqus input files:
*.inp - Abaqus user subroutine files:
*.for*.for - Supporting files for post-processing or visualization, where applicable
Before running a simulation, check the module Kvisual.
In particular, update the variable:
allelemallelem must be set according to the number of UEL elements in each layer. This is especially important for layered composite models.
If this value is not updated correctly, the simulation may run incorrectly or the visualization/state-variable transfer may not work as intended.
Care must be taken when activating and defining the fatigue model from the Abaqus input file.
Please check carefully:
- the fatigue activation flag,
- the material parameters,
- the state variables,
- the loading definition,
- the step and increment settings,
- and the output variables requested for post-processing.
For first-time use, it is recommended to start from one of the provided example input files and modify it gradually.
A typical Abaqus command is:
abaqus job=<input_file_name> user=<user_subroutine_file> interactiveFor example:
abaqus job=example user=uel_umat.f interactiveReplace example and uel_umat.f with the actual names of the input file and user subroutine file in the repository.
If you use this code for academic or research purposes, please cite:
@article{AsurVijayaKumar2023FatigueSolidShell,
title = {A phase-field fracture model for fatigue using locking-free solid shell finite elements: Analysis for homogeneous materials and layered composites},
author = {Asur Vijaya Kumar, Pavan Kumar and Dean, Aamir and Reinoso, Jos{\'e} and Pettermann, Heinz E. and Paggi, Marco},
journal = {Theoretical and Applied Fracture Mechanics},
volume = {127},
pages = {104029},
year = {2023},
doi = {10.1016/j.tafmec.2023.104029}
}You may also find related implementations on thermo-mechanical solid-shell formulations and phase-field fracture models by the authors.
- Pavan Kumar Asur Vijaya Kumar
- Aamir Dean — GitHub:
aamir-dean - José Reinoso — GitHub:
josereinoso - Heinz E. Pettermann
- Marco Paggi
Please report problems, questions, or suggestions to:
Pavan Kumar Asur Vijaya Kumar pavan.kumar@ilsb.tuwien.ac.at
This repository is research code. The authors provide it to support reproducibility and further academic development. Users are responsible for checking the input parameters, implementation settings, convergence behavior, and suitability of the code for their own applications.