Command manual

Command list

MAT_FABRIC

Material properties
Attention: This command is in the beta stage and the format may change over time.
*MAT_FABRIC
"Optional title"
mid, $\rho$, $E$, $\nu$
$E_f$, $\epsilon_l$, $\epsilon_{f0}$, $\epsilon_{f1}$, $\epsilon_e$, $\sigma_y$, $K_n$, $n$
$\alpha_1$, $\alpha_2$, $\alpha_3$, $\alpha_4$, $\eta_1$, $\eta_2$, $\eta_3$, $\eta_4$
$\mu$, $\xi$, $c$, $\dot{\epsilon}_0$

Parameter definition

VariableDescription
mid Unique material identification number
$\rho$ Density
$E$ Young's modulus (matrix)
$\nu$ Poisson's (matrix)
$E_f$ Fiber stiffness
$\epsilon_l$ Fiber locking strain (woven fabrics)
$\epsilon_{f0}$ Strain where fibers begin to fail
$\epsilon_{f1}$ Strain where all fibers have failed
$\epsilon_e$ Element erosion strain
$\sigma_y$ Matrix yield stress
$K_n$ Optional non-linear bulk stiffness parameter
$n$ Optional non-linear bulk stiffness exponent
$\alpha_1$ Fiber angle 1
$\alpha_2$ Fiber angle 2
$\alpha_3$ Fiber angle 3
$\alpha_4$ Fiber angle 4
$\eta_1$ Fiber fill fraction 1
$\eta_2$ Fiber fill fraction 2
$\eta_3$ Fiber fill fraction 3
$\eta_4$ Fiber fill fraction 4
$\mu$ Dynamic viscosity
$\xi$ In-plane compressive stiffness (fraction of tensile stiffness)
$c$ Strain rate parameter
$\dot{\epsilon}_0$ Reference strain rate

Description

This is a model for fiber reinforced composites. Fibers can be defined in up to four different directions. Fiber stress, damage and failure is computed individually for each fiber direction.

A fiber stress, $\sigma_i$, is calculated as:

$\sigma_i = \left\{ \begin{array}{lcl} \displaystyle{ sf \cdot \xi \cdot \epsilon_i } & : & \epsilon_i \leq 0 \\ \displaystyle{ sf \cdot \frac{\epsilon_i^2}{\epsilon_l} } & : & 0 \lt \epsilon_i \leq \epsilon_l \\ \displaystyle{ sf \cdot (\epsilon_i -\epsilon_l/2) } & : & \epsilon_i \gt \epsilon_l \end{array} \right. $

where:

$sf = \left(1-D_i^2\right) \cdot \eta_i \cdot E_f$

$\xi$ is the ratio of compressive and tensile stiffness for the in-plane directions. $\epsilon_i$ is the fiber strain in the direction $i$ and $\epsilon_i$ is the locking strain. $\epsilon_l$ is used when modeling weaves, where initial straining of the material leads to realigning of the fibers rather than strething. $\eta_i$ is the volume fraction fibers and $D_i$ is the fiber damage level which grows irreversibly from 0 to 1:

$D_i = \left\{ \begin{array}{lcl} \displaystyle{ 0 } & : & \epsilon_i \leq 0 \\ \displaystyle{ \frac{\epsilon_i - \epsilon_{f0}}{\epsilon_{f1} - \epsilon_{f0}} } & : & \epsilon_{f0} \lt \epsilon_i \leq \epsilon_{f1} \\ \displaystyle{ 1 } & : & \epsilon \gt 0 \\ \end{array} \right. $

where $\epsilon_{f0}$ defines when fibers begin to fail and $\epsilon_{f1}$ defines when all fibers have failed. The failure strains can be defined to be strain rate dependent:

$\displaystyle{ \epsilon_{f0}^{sr} = \epsilon_{f0} \cdot \left(1 + \frac{\dot{\epsilon}_i}{\dot{\epsilon}_0} \right)^c }$
$\displaystyle{ \epsilon_{f1}^{sr} = \epsilon_{f1} \cdot \left(1 + \frac{\dot{\epsilon}_i}{\dot{\epsilon}_0} \right)^c }$

The pressure in the material is calculated as:

$P = \left\{ \begin{array}{lcl} \displaystyle{ -K \cdot \epsilon_v } & : & \epsilon_v \geq 0 \\ \displaystyle{ -K \cdot \epsilon_v + \sum_{i = 1}^4 \eta_i \cdot K_n \cdot \vert \epsilon_v \vert ^n } & : & \epsilon_v \lt 0 \\ \end{array} \right. $

where $K$ is the bulk modulus of the matrix and $K_n$ and $n$ are input parameters controlling the non-linear response in compression.

The total stress in the material is defined as:

$\displaystyle{ \mathbf{\sigma} = \left(1 - \sum_{i=1}^4 \eta_i \right) \cdot \left( 2 G \mathbf{\epsilon}_{dev}^e + p \mathbf{I} \right) + \sum_{i=1}^4 \eta_i \sigma_i \mathbf{v}_i \otimes \mathbf{v}_i + 2 \mu \dot{\mathbf{\epsilon}}_{dev} }$

where $\mathbf{\epsilon}_{dev}^e$ is the deviatoric elastic strain in the matrix material, $\dot{\mathbf{\epsilon}}_{dev}$ is the total deviatoric strain rate and $\mathbf{v}_i$ is a fiber direction.

The initial fabric orientation needs to be defined using either INITIAL_MATERIAL_DIRECTION, INITIAL_MATERIAL_DIRECTION_VECTOR or INITIAL_MATERIAL_DIRECTION_WRAP.

Example

Blast loaded Dyneema panel

Dyneema panel in a test rig exposed to blast loading.


*UNIT_SYSTEM
SI
*PARAMETER
s = 0.05, "stand-off distance"
d = 0.05, "charge diameter"
h = 0.01, "charge thickness, h=1cm is 36g for 5cm diameter"
tend = 0.01
*TIME
[%tend]
*OUTPUT_SENSOR
"Center"
1, 1, 0.0, 0.0, -0.024
*INCLUDE
mesh.k
*CHANGE_P-ORDER
ALL, 0, 3
*PART
"Dyneema"
1, 1
"Rig"
2, 2
*MAT_FABRIC
"Dyneema"
1, 980.0, 5.0e8, 0.45
115.0e9, 0.0, 0.037, 0.037, 1.0, 20.0e6, 400.0e9, 1.5
0, 90, 0, 0, 0.415, 0.415, 0, 0
250.0, 0.125, 0.05, 100.0
*INITIAL_MATERIAL_DIRECTION_VECTOR
1, P, 1
1, 0, 0, 0, 1, 0
*MAT_RIGID
"Rig"
2, 7850
*BC_MOTION
"Rig"
1
P, 2, XYZ, XYZ
*CONTACT
"All to all"
1
ALL, 0, ALL, 0, 0.4
*PARTICLE_DOMAIN
ALL, 0, 100000
-0.3, -0.3, -0.2, 0.3, 0.3, 0.2
*PARTICLE_AIR
1,
AIR, 1
*PARTICLE_HE
2,
PETN, 2
*GEOMETRY_BOX
"Air"
1
-0.3, -0.3, -0.2, 0.3, 0.3, 0.2
*GEOMETRY_PIPE
"Charge"
2
0.0, 0.0, [%s], 0.0, 0.0, [%s+%h], [%d/2]
*PARTICLE_DETONATION
"Booster"
1
0.0, 0.0, [%s+%h/2]
*END