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, 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)
... user coding to update EC, EF, EM, AC, AF, AM, and SDV here ...
RETURN
ENDSUBROUTINE
HMAT:
A handle to the current material. This is passed to informational routines to access information about the material.
HPROPR:
A handle to the current material properties. This is passed to 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.
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.
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.
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.