Introduction
This report discusses the setup of the elasticity matrix and its relation to the material properties used in the UMAT subroutine. The analysis focuses on the components of the elasticity matrix, which includes the stress-strain relationship in the material, and the calculations for stress increments and their updates in the material model.
Elasticity Matrix Setup
The general form of the stress-strain relationship is given by:
where:
- σxx, σyy, σzz are the normal stresses.
- σyz, σzx, σxy are the shear stresses.
- εxx, εyy, εzz are the normal strains.
- εyz, εzx, εxy are the shear strains.
- E is Young’s Modulus, and ν is Poisson’s ratio
The above equation represents the generalized form of the material’s stress-strain relationship in the linear elasticity regime for isotropic materials.
Stress-Strain Matrix DDSDDE
The matrix DDSDDE represents the derivative of the stress with respect to strain, and it is used for calculating the stress increment. The matrix elements are defined as follows:
This matrix is essential for calculating the relationship between the stress and strain increments. The term:
is a scaling factor that incorporates both the Young’s Modulus E and Poisson’s ratio ν.
Material with Variable Properties:
In some cases, the material properties vary with position or over time. For such cases, the elasticity matrix is modified as follows:
In this case, E(z) and ν(z) represent the position-dependent (or time-dependent) Young’s Modulus and Poisson’s ratio, respectively.
Fortran Code for Elasticity Matrix Update.
In the subroutine, the matrix DDSDDE is initialized and updated based on the material properties. The code section below outlines the setup of the matrix:
DO K1 = 1 , 6
DO K2 = 1,6
DDSDDE(K2,K1) = 0
END DO END DO
DO K1 = 1, 6
IF (K1.LT.4) THEN
DDSDDE(K1,K1) = Term1
ELSE
DDSDDE(K1,K1) = Term3
END IF
END DO
In this code, the matrix DDSDDE is initialized with zeros. Then, depending on the index K1, the diagonal elements are updated with Term1 for the first three components (corresponding to the normal stresses) and Term3 for the last three components (corresponding to the shear stresses). The off-diagonal elements are updated as follows:
DDSDDE(1,2) = Term2
DDSDDE(1,3) = Term2
DDSDDE(2,1) = Term2
DDSDDE(3,1) = Term2
The value of Term2 is related to the shear modulus of the material, which can be calculated as:
where E is the Young’s Modulus and ν is the Poisson’s ratio. This term is crucial for calculating the shear stress components in the material.
Stress Update in the Material Model
Once the elasticity matrix is established, the next step is to update the stresses based on the strain increments. The stress increment is calculated as follows:
DSTRESS(1) = DSTRAN(1)×T erm1+T erm2×(DSTRAN(2)+DSTRAN(3))
DSTRESS(2) = DSTRAN(2)×T erm1+T erm2×(DSTRAN(1)+DSTRAN(3))
DSTRESS(3) = DSTRAN(3)×T erm1+T erm2×(DSTRAN(2)+DSTRAN(1))
DSTRESS(4) = DSTRAN(4) × T erm3
DSTRESS(5) = DSTRAN(5) × T erm3
DSTRESS(6) = DSTRAN(6) × T erm3
In these equations, DSTRAN represents the increments in strain, and DSTRESS represents the resulting increments in stress.
=========================================
Visualization of State-Dependent Variables (SDVs) for Young's Modulus in FGM
C Initialize the elasticity matrix DDSDDE to zero
DO K1 = 1, 6
DO K2 = 1, 6
DDSDDE(K2, K1) = 0.0
END DO
END DO
C Populate the elasticity matrix based on the material properties
DO K1 = 1, 6
IF (K1 .LT. 4) THEN
DDSDDE(K1, K1) = Term1
ELSE
DDSDDE(K1, K1) = Term3
END IF
END DO
DDSDDE(1, 2) = Term2
DDSDDE(1, 3) = Term2
DDSDDE(2, 1) = Term2
DDSDDE(3, 1) = Term2
C Calculate stress increments (DSTRESS) based on strain increments (DSTRAN)
DSTRESS(1) = DSTRAN(1) * Term1 + Term2 * (DSTRAN(2) + DSTRAN(3))
DSTRESS(2) = DSTRAN(2) * Term1 + Term2 * (DSTRAN(1) + DSTRAN(3))
DSTRESS(3) = DSTRAN(3) * Term1 + Term2 * (DSTRAN(2) + DSTRAN(1))
DSTRESS(4) = DSTRAN(4) * Term3
DSTRESS(5) = DSTRAN(5) * Term3
DSTRESS(6) = DSTRAN(6) * Term3
C Update the stress tensor with the calculated stress increments
DO K = 1, NTENS
STRESS(K) = STRESS(K) + DSTRESS(K)
END DO
=========================================