faisal-bhuiyan / Physics-based-composite-progressive-failure

UMAT subroutines (for FEA code Abaqus) to model progressive damage/failure in FRP composites

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

CFRP-KTF-Based-Progressive-Damage-Subroutines

This repository contains an implementation of KTF-based progressive damage modeling of continuous fiber-reinforced polymers under fatigue loding conditions. The user-defined material (UMAT) subroutines found here are compatible with the commercial FE code Abaqus. The work archived here was developed in the University of Wyoming at the Fertig Research Group circa 2016 - 2021. Find more about the project here and consider citing them in your work if you find it useful.

Instructions

  1. Clone the project repository: git clone https://github.com/faisal-bhuiyan/Physics-based-composite-progressive-failure.git
  2. Be familiar with the physics-based, multiscale progressive damage model based off KTF from the papers: Bhuiyan 18 and Bhuiyan 22. These two papers provide a comprehensive description of the material properties required by this routine, among other things.
  3. Please read through the usage instructions on individual SUBROUTINES in this file as well as the included functions. This is super important to get an overview of the logic and how to modify the UMAT for your needs.
  4. Define materials properties in MODULE KTF_CONSTANTS and MODULE MATERIAL_PROPS, in addition to the constituent and homogenized properties supplied via the text file called MAT_FILE. These properties can be computed using the provided Matlab routines, which require lamina level elastic properties and fatigue test data as inputs.
  5. Run subroutine on the provided input files - especially the one element and the 140 element models to ensure things are working as intended. This code was not developed with good SW development practices in mind, so it can be fragile and painful to work with. Be patient while you're trying to run it for the first time.
  6. Debugging in Fortran can require a lot of patience. Uncomment the existing WRITE statements (and add new ones) as required to print the debug statements throughout the UMAT as the first line of defence. Use debugging capabilities of the IDE of choice.
  7. Because Github restricts large files in the repos, some of the larger input files to test the UMAT can be found elsewhere.

Directories

src - contains the source files required to run the UMAT. subroutines contain several versions of the same UMAT, name of the file indicates what is different in each one.

input-files - contains several input files to test the UMATs on.

utils - contains a text file containing a complete set of calibrated material properties as required by the material model.

About

UMAT subroutines (for FEA code Abaqus) to model progressive damage/failure in FRP composites


Languages

Language:Fortran 99.8%Language:Shell 0.2%