UDMGEVO2 允许您指定单向复合材料的损坏演变。
可在成分级别(纤维和基体)或复合材料级别定义损坏演变。此例程将在每次平衡迭代时针对单向复合材料(您为其请求用户损坏演变例程)的积分点进行调用。下面是 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
用于提供信息的变量
-
HMAT
- 一个指向当前材料的句柄。这将传递到信息例程 (Informational Routines) 以便访问材料的相关信息。
-
HPROP
- 一个指向当前材料特性的句柄。这将传递到信息例程 (Informational Routines) 以便访问材料特性的相关信息。
-
NPROPS
- HIN 文件中的 *USER PROPERTIES 关键字指定的用户特性数。
-
NSDV
- HIN 文件中 *DEPVAR, NUM=<NSDV> 请求的用户状态变量数。
-
IFAIL
- 复合材料、基体和纤维失效的当前状态。请参见 UDMGINI2 页面上对 IFAIL 的描述,以了解每个值表示的损伤状态。
-
MSTATE
- 材料的当前总体状态。这包括当前材料模型中存在的所有非线性形式。此值应仅用于传递至信息例程,以便获取有关材料的详细信息,例如当前材料特性。
-
REASON
- 确定 UDMGEVO2 子例程是在迭代开始时调用还是在应力已计算后调用的限定符。
- 如果
REASON = 0
:UDMGEVO2 将在迭代开始时调用。刚度应当更新,以便针对将来的损坏计算来计算应力。当 REASON = 0 时,不应使用 STRESS 和 STRAIN 变量。
- 如果
REASON = 1
:UDMGEVO2 将在应力(以及成分应力/应变,如果适用)已计算之后调用,以使损坏进行更新。
-
CCREQD
- 指示是否需要成分刚度和成分热膨胀系数的标记。在某个给定积分点发生纤维失效后,CCREQD 将恢复为零并且成分刚度将不再更新。
- 如果
CCREQD = 0
:则不需要成分刚度和 CTE 矢量。任何成分应力和应变都将为零。当 CCREQD = 0 时,变量 EF、EM、AF 和 AM 都不应使用。
- 如果
CCREQD = 1
:则需要成分刚度和 CTE 矢量。这些矢量应使用 EF、EM、AF 和 AM 变量更新。
-
PROPS
- HIN 文件中 * USER PROPERTIES 关键字指定的用户特性。
-
STRAIN
- 复合材料、基体和纤维的当前总应变(力学和热应变)。第一列 (STRAIN(:,1)) 包含复合材料应变,第二列和第三列分别包含基体应变和纤维应变。应变的排列顺序如下:ε11、ε22、ε33、γ12、γ13、γ23。应变根据纤维坐标系进行定向(1 - 轴平行于纤维长度)。材料定义中指定的纤维方向不会影响应变(和应力)的方向。
-
STRESS
-
复合材料、基体和纤维的当前总应力。此二维阵列的值采用与 STRAIN 阵列相同的方式进行排列。
-
DFGRD
- 变形梯度。这仅在非线性几何效应处于启用状态时才有用。项的排列形式如下所示。
-
DELT
- 无应力温度和当前温度之间的温差。这包括粘弹性冷却近似值(如果适用)。
-
LE
- 特征单元长度。此数值在整个分析中保持不变,不考虑单元的任何变形。对于 ANSYS 用户,该数值始终为 1。
由用户更新的变量
-
EC
- 复合材料割线刚度矩阵。
-
EF
- 纤维割线刚度矩阵。仅当 CCREQD = 1 时需要。
-
EM
- 基体割线刚度矩阵。仅当 CCREQD = 1 时需要。
-
AC
- 复合材料 CTE 矢量。
-
AF
- 纤维 CTE 矢量。仅当 CCREQD = 1 时需要。
-
AM
- 基体 CTE 矢量。仅当 CCREQD = 1 时需要。
-
SDV
- HIN 文件中 *DEPVAR, NUM= 关键字请求的用户状态变量。
-
GPDEL
- 用于确定是否应删除高斯点的标记。如果为 .TRUE.,将删除高斯点。如果为 .FALSE.,则不会删除高斯点。此变量仅用于 Abaqus Explicit 分析。默认情况下为 .FALSE.。