UDMGEVO2

UDMGEVO2 allows you to specify the evolution of damage for unidirectional composites.

Damage evolution can be defined at the constituent level (fiber and matrix) or at the composite level. This routine is called at every equilibrium iteration for every integration point of the unidirectional composite material for which you requested a user damage evolution routine. Here is a template for the interface to UDMGEVO2.

SUBROUTINE UDMGEVO2(HMAT, HPROP, NPROPS, PROPS, NSDV, SDV, GPDEL, STRAIN, STRESS, DFGRD, DELT, LE, &
                    EC, EF, EM, AC, AF, AM, IFAIL, MSTATE, REASON, CCREQD)
    USE HELIUS
    IMPLICIT NONE
    INTEGER(HANDLE), INTENT(IN) :: HMAT
    INTEGER(HANDLE), INTENT(IN) :: HPROP
    INTEGER, INTENT(IN) :: NPROPS
    INTEGER, INTENT(IN) :: NSDV
    INTEGER, INTENT(IN) :: IFAIL(3)
    INTEGER, INTENT(IN) :: MSTATE
    INTEGER, INTENT(IN) :: REASON
    INTEGER, INTENT(IN) :: CCREQD
    REAL(8), INTENT(IN) :: PROPS(NPROPS)
    REAL(8), INTENT(IN) :: STRAIN(6,8)
    REAL(8), INTENT(IN) :: STRESS(6,8)
    REAL(8), INTENT(IN) :: DFGRD(3,3)
    REAL(8), INTENT(IN) :: DELT
    REAL(8), INTENT(IN) :: LE
    REAL(8), INTENT(OUT) :: EC(6,6)
    REAL(8), INTENT(OUT) :: EF(6,6)
    REAL(8), INTENT(OUT) :: EM(6,6)
    REAL(8), INTENT(OUT) :: AC(6)
    REAL(8), INTENT(OUT) :: AF(6)
    REAL(8), INTENT(OUT) :: AM(6)
    REAL(8), INTENT(INOUT) :: SDV(NSDV)
    LOGICAL, INTENT(OUT) :: GPDEL
    
    ... user coding to update EC, EF, EM, AC, AF, AM, SDV, and GPDEL here ...

RETURN
ENDSUBROUTINE

Variables Provided for Information

HMAT
A handle to the current material. This is passed to informational routines (Informational Routines) to access information about the material.
HPROP
A handle to the current material properties. This is passed to informational routines (Informational Routines) to access information about the material properties.
NPROPS
The number of user properties specified by the *USER PROPERTIES keyword in the HIN file.
NSDV
The number of user state variables requested by *DEPVAR, NUM=<NSDV> in the HIN file.
IFAIL
The current state of failure for the composite, the matrix, and the fiber. Refer to the description of IFAIL on the UDMGINI2 page to understand the damage state each value represents.
MSTATE
The current overall state of the material. This encompasses all forms of nonlinearity present in the current material model. This value should only be used to pass to informational routines to obtain more information about the material such as the current material properties.
REASON
A qualifier that determines whether the UDMGEVO2 subroutine is called at the beginning of the iteration or after the stresses have been calculated.
  • If REASON = 0 : UDMGEVO2 is called at the beginning of the iteration. The stiffnesses should be updated so the stress can be calculated for further damage calculations. The STRESS and STRAIN variables should not be used when REASON = 0.
  • If REASON = 1 : UDMGEVO2 is called after the stresses (and constituent stresses/strains if applicable) have been calculated so the damage can be updated.
CCREQD
A flag indicating whether constituent stiffnesses and constituent thermal expansion coefficients are required. Once fiber failure has occurred at a given integration point, CCREQD will revert to zero and the constituent stiffnesses will no longer be updated.
  • If CCREQD = 0 : the constituent stiffness and CTE vectors are not needed. Any constituent stresses and strains will be zero. Variables EF, EM, AF, and AM should not be used when CCREQD = 0.
  • If CCREQD = 1 : the constituent stiffness and CTE vectors are required. These vectors should be updated using the EF, EM, AF, and AM variables.
PROPS
The user properties specified by the * USER PROPERTIES keyword in the HIN file.
STRAIN
The current total strain (mechanical and thermal) of the composite, matrix, and fiber. The first column (STRAIN(:,1)) contains the composite strain, and the second and third columns contain the matrix and fiber strains respectively. Strains are ordered as such: ε11, ε22, ε33, γ12, γ13, γ23. The strains are oriented in the fiber coordinate system (1 - axis parallel to the length of the fiber). The fiber direction specified in the material definition does not affect the orientation of the strains (and stresses).
STRESS

The current total stress state of the composite, matrix, and fiber. The values of this two-dimensional array are ordered in the same manner as the STRAIN array.

DFGRD
The deformation gradient. This is only useful if nonlinear geometry effects are turned on. The terms are ordered as shown below.

DELT
The temperature difference between the stress free temperature and the current temperature. This includes a viscoelastic cool-down approximation if appropriate.
LE
The characteristic element length. This number is constant throughout the analysis, regardless of any deformation to the element. For ANSYS users, this number is always = 1.

Variables Updated by the User

EC
The composite secant stiffness matrix.
EF
The fiber secant stiffness matrix. Only needed if CCREQD = 1.
EM
The matrix secant stiffness matrix. Only needed if CCREQD = 1.
AC
The composite CTE vector.
AF
The fiber CTE vector. Only needed if CCREQD = 1.
AM
The matrix CTE vector. Only needed if CCREQD = 1.
SDV
The user state variable(s) requested by the *DEPVAR, NUM= keyword in the HIN file.
GPDEL
A flag to determine if the Gauss point should be deleted. If .TRUE., the Gauss point will be deleted. If .FALSE., the Gauss point will not be deleted. This variable is only used for Abaqus Explicit analyses. It is .FALSE. by default.