.. _models-wire_mesh:

***************
Wire Mesh Model
***************

Theory
======

The wire mesh model was developed at Sandia National Laboratories for use with layered sequences of metallic wire meshes and cloth fabric.  Model development was based on an extensive series of experiments performed on these materials (see [:footcite:`mat:ref:neilsen2`]) and used an existing model for rigid polyurethane foams as a starting point [:footcite:`mat:ref:neilsen`].

To be able to analyze the response of this material, the Cauchy stress tensor is first decomposed into its principal components, :math:`\sigma^i`.  Each principal stress is evaluated independently and two behaviors are considered depending on whether or not the material is in tension or compression.  Under a tensile load, the material is taken to be perfectly plastic above a yield stress, :math:`\tau`.  For compressive loads, it is assumed that the materials hardens functionally with the volumetric engineering strain, :math:`\varepsilon_{\text{V}}`.  In this formulation, an arbitrary form of this hardening function, :math:`\bar{\sigma}\left(\varepsilon_{\text{V}}\right)` is assumed although in the original work [:footcite:`mat:ref:neilsen2`],

.. math::
   :label: eq:wm:hard

   \bar{\sigma}\left(\varepsilon_{\text{V}}\right) = a e^{-b\varepsilon_{\text{V}}},

with :math:`a` and :math:`b` as material constants, was used.

With these assumptions, the yield function of the :math:`i^{\text{th}}` principal stress, :math:`f^i`, may be written as,

.. math::

   f^i = \left\{\begin{array}{cc} \sigma^i-\tau, & \sigma^i \geq 0 \\ -\sigma^i-\bar{\sigma}\left(\varepsilon_{\text{V}}\right) & \sigma^i < 0 \end{array}\right. .

where :math:`\tau` is the isotropic tensile strength of the material.

Similar to the rigid polyurethane foam model [:footcite:`mat:ref:neilsen2`], the flow rule is defined as:

.. math::

   d^{\text{p}}_{ij} = \dot{\gamma}^{1}P^{1}_{ijkl} \sigma_{kl} + \dot{\gamma}^{2}P_{ijkl}^{2}\sigma_{kl} + \dot{\gamma}^{3}P^{3}_{ijkl}\sigma_{kl}

with :math:`\dot{\gamma}^{i}` being the magnitude of the :math:`i^{\text{th}}` plastic strain increment and :math:`P^{r}_{ijkl}` is the fourth-order principal projection operator defined as,

.. math::

   P^{r}_{ijkl} = n^{r}_i n^{r}_j n^{r}_k n^r_l

in which :math:`n^{r}_i` is the corresponding direction vector of principal stress, :math:`\sigma^r`. With this definition,

.. math::

   \sigma^r=\sigma_{ij}P^r_{ijkl}\sigma_{kl}.

Implementation
==============

The wire mesh model is implemented in a hypoelastic fashion similar to the previous elastic-plastic models. First, a trial (unrotated) stress is calculated assuming a purely elastic deformation increment,

.. math::

   T^{tr}_{ij}=T^n_{ij}+\Delta t\left(\lambda\delta_{ij}d_{kk}+2\mu d_{ij}\right).
 
Corresponding principal stresses and their complementary directions are then found using the robust, analytical algorithm put forth in [:footcite:`mat:ref:wmsch3`]. The principal stresses are denoted :math:`\sigma^{r}` and their eigenvectors are symbolically represented by :math:`\hat{e}^{r}_{i}`.  Here, :math:`r=~1,~2,` or :math:`3` refer to the respective eigenvalue/vector pair and are not summed unless explicitly indicated.  Before evaluating the respective yield functions, the current volumetric engineering strain, :math:`\varepsilon_{\text{V}}^{n+1}`, must be determined. To this end, the current strain tensor, :math:`\varepsilon_{ij}`, is determined via,

.. math::

   \varepsilon^{n+1}_{ij}=\varepsilon^n_{ij}+\Delta td_{ij},

and the volumetric engineering strain is,

.. math::

   \varepsilon_{\text{V}}^{n+1}=\exp{\left(\varepsilon^{n+1}_{kk}\right)}-1.

The yield function for each principal stress, :math:`f^{\gamma}`, may then be computed as,

.. math::

   f^{\gamma}=\left\{\begin{array}{cc} \sigma^{\gamma}-\tau, & \sigma^{\gamma} \geq 0 \\ -\sigma^{\gamma}-\bar{\sigma}\left(\varepsilon_{\text{V}}^{n+1}\right), & \sigma^{\gamma} < 0 \end{array}\right. .

Principal stresses at the current load increment, :math:`\sigma^{\gamma}_{n+1}`, are then determined via,

.. math::

   \sigma^{\gamma}_{n+1}=\left\{\begin{array}{cc} \sigma^{\gamma} & f^{\gamma}<0 \\ \tau & f^{\gamma} \geq 0 \end{array}\right. ,

for :math:`\sigma^{\gamma}>0` and,

.. math::

   \sigma^{\gamma}_{n+1}=\left\{\begin{array}{cc} \sigma^{\gamma} & f^{\gamma}<0 \\ -\bar{\sigma}\left(\varepsilon_{\text{V}}^{n+1}\right) & f^{\gamma} \geq 0 \end{array}\right. ,
 
for compressive principal stresses.  The final Cartesian stress tensor may be determined via,

.. math::

   T_{ij}^{n+1}=\sum_{\gamma=1}^3\sigma^{\gamma}_{n+1}\hat{e}^{\gamma}_i\hat{e}^{\gamma}_j.

Verification
============

To investigate the performance of the wire mesh model and verify its capabilities, a series analyses are performed considering both the tensile and compressive behavior. The material properties and model parameters come from [:footcite:`mat:ref:neilsen2`] and are listed in Table :numref:`tab-wm-verProps` with one difference. Specifically, :math:`\nu\neq 0` to better test the various code interactions.  For the numerical simulations the functional hardening form given in :eq:`eq:wm:hard` (with :math:`a` and :math:`b` given in Table :numref:`tab-wm-verProps`) is discretized and entered as a piecewise linear function. 

.. _tab-wm-verProps:

.. csv-table:: The material properties and model parameters of the wire mesh model used for verification testing
   :align: center
   :delim: &

   :math:`E` & 100,000 psi & :math:`\nu` & 0.3
   :math:`a` & 120 psi & :math:`b` & 8.68
   :math:`\tau` & 12,000 psi & &

Uniaxial Compression
--------------------

First, the case of uniaxial compression is treated to investigate the hardening behavior.  As a uniaxial compressive stress state is being explored, the principal stresses are simply :math:`\sigma^1=\sigma^2=0` and :math:`\sigma^3=\sigma_{11}` enabling the development of analytical solutions.  To this end, :math:`u_1=\lambda_1` and the remaining surfaces are left traction free. The corresponding strain state is then,

.. math::

   \varepsilon_{11} & = \ln\left(1+\lambda_1\right), \\
   \varepsilon_{22} = \varepsilon_{33} & = -\nu\ln\left(1+\lambda_1\right), \nonumber

producing a engineering volume strain of,

.. math::

   \varepsilon_{\text{V}}=\left(1+\lambda_1\right)^{\left(1-2\nu\right)}-1.

Noting the elastic uniaxial stress, :math:`\hat{\sigma}_{11}`, is simply,

.. math::

   \hat{\sigma}_{11}=\left[\lambda\left(1-2\nu\right)+2\mu\right]\ln\left(1+\lambda_1\right),
 
the final stress state is simply :math:`\sigma_{22}=\sigma_{33} = 0` and,

.. math::

    \sigma_{11} = \left\{\begin{array}{cc} \hat{\sigma}_{11} & \hat{\sigma}_{11} \leq -ae^{-b\varepsilon_{\text{V}}} \\ 
                                               -ae^{-b\varepsilon_{\text{V}}} & \hat{\sigma}_{11} > -ae^{-b\varepsilon_{\text{V}}} \end{array}\right. .

The analytical and numerical solution (from adagio) of this problem are presented in :numref:`fig-wm-uniCompStress` with the stress and strains given in :numref:`fig-wm-uniCompStress`\ (a) and :numref:`fig-wm-uniCompStress`\ (b), respectively.  Excellent agreement is observed verifying the compressive hardening performance.

.. _fig-wm-uniCompStress:

.. subfigure:: AB
   :subcaptions: below
   :align: center

   .. image:: ../../_static/figures/wmUniStressCompStress.png
      :alt: Linear, Johnson-Cook
      :scale: 25 %

   .. image:: ../../_static/figures/wmUniStressCompStrain.png
      :alt: Linear, Power-Law Breakdown
      :scale: 25 %

   Analytical and numerical results of the normal stress and strain components through a compressive uniaxial stress loading path as a function of the applied displacement, :math:`\lambda_1`

Uniaxial Tension
----------------

To consider the tensile behavior, the response of the model under a uniaxial tensile \emph{strain} loading is interrogated.  In this case the applied displacement is :math:`u_i = \lambda_1\delta_{i1}` with the remaining displacements fixed such that :math:`\varepsilon_{22}=\varepsilon_{33}=0` and the axial strain is again :math:`\varepsilon_{11}=\ln\left(1+\lambda_1\right)`.  Given that the model behavior is perfectly plastic after yield, the axial and off-axis responses both reduce to bilinear forms.  As such, the applied deformation necessary to induce the perfectly plastic response in the axial direction, :math:`\lambda_1^{\text{crit}}`, is simply

.. math::

   \lambda_1^{\text{crit}} = e^{\tau/\left(\lambda+2\mu\right)}-1,

leading to an expression for the axial stress as,

.. math::

   \sigma_{11} = \left\{\begin{array}{cc} \left(\lambda+2\mu\right)\ln\left(1+\lambda_1\right) & \lambda_1 < \lambda_1^{\text{crit}} \\ 
                                          \tau & \lambda_1 \geq \lambda_1^{\text{crit}}\end{array}\right. .

For the off-axis behavior, the critical displacement, :math:`\lambda_1^{\text{off-crit}}`, is 

.. math::

   \lambda_1^{\text{off-crit}} = e^{\tau/\lambda}-1,

producing stresses of the form,

.. math::

   \sigma_{22}=\sigma_{33}=\left\{\begin{array}{cc} \lambda\ln\left(1+\lambda_1\right) & \lambda_1 < \lambda_1^{\text{off-crit}} \\ 
                                                    \tau & \lambda_1 \geq \lambda_1^{\text{off-crit}} \end{array}\right. .

The stress and strain responses (both numerical and analytical) are presented below in :numref:`fig-wm-uniTenStrain`\ (a) and :numref:`fig-wm-uniTenStrain`\ (b), respectively, and excellent agreement is observed verifying this behavior in this deformation mode.

.. _fig-wm-uniTenStrain:

.. subfigure:: AB
   :subcaptions: below
   :align: center

   .. image:: ../../_static/figures/wmUniStrainTensionStress.png
      :alt: Linear, Johnson-Cook
      :scale: 25 %

   .. image:: ../../_static/figures/wmUniStrainTensionStrain.png
      :alt: Linear, Power-Law Breakdown
      :scale: 25 %

   Analytical and numerical results of the normal stress and strain components through a tension uniaxial strain loading path as a function of the applied displacement, :math:`\lambda_1`.

Hydrostatic Compression
-----------------------

To further explore the compressive response, the models behavior under a hydrostatic (compressive) loading is investigated.  In this instance, the corresponding stress state produces a single, repeated, principal stress associated with the pressure, :math:`p=-\left(1/3\right)\sigma_{kk}` (here defined positively in compression). Details of this loading may be found in :ref:`Appendix A <appendix-common-hydrostatic-compression>`, although in this instance it is important to point out that,

.. math::

   \varepsilon_{\text{V}}=\left(1+\lambda_1\right)^3-1,

and the stress state reduces to,

.. math::

   p = -3K\ln\left(1+\lambda_1\right)

in the elastic limit and 

.. math::

   p = ae^{-b\varepsilon_{\text{V}}},

during plastic loading. The numerical and analytical results are presented in :numref:`fig-wm-hydroCompression` and excellent agreement in noted.

.. _fig-wm-hydroCompression:

.. figure:: ../../_static/figures/wmHydroCompression.png
   :align: center
   :scale: 25 %

   Analytical and numerical pressure-volume strain response of the wire mesh model through a hydrostatic compression loading as a function of the applied displacement, :math:`\lambda_1`.

User Guide
==========

.. code-block:: sierrainput

   BEGIN PARAMETERS FOR MODEL WIRE_MESH
     #
     # Elastic constants
     #
     YOUNGS MODULUS = <real>
     POISSONS RATIO = <real>
     SHEAR MODULUS  = <real>
     BULK MODULUS   = <real>
     LAMBDA         = <real>
     TWO MU         = <real>
     #
     # Yield surface parameters
     #
     YIELD FUNCTION = <string>
     TENSION        = <real>
   END [PARAMETERS FOR MODEL WIRE_MESH]

.. - See Section :numref:`mat:elasticConstants` for more information on elastic constants input.

- The yield function in compression is defined with the ``YIELD FUNCTION`` command line.
- The tensile strength is give by the ``TENSION`` command line.

Output variables available for this model are listed in :numref:`out-tab-wiremeshstvar`.

More information on the model can be found in the report by Neilsen, et. al. [:footcite:`mat:ref:neilsen2`].

.. _out-tab-wiremeshstvar:

.. csv-table:: State Variables for WIRE MESH Model
   :align: center
   :delim: &
   :header: Name, Description

   ``EVOL``   & engineering volumetric strain        
   ``YIELD``  & current yield strength in compression

.. raw::
   html

   <hr>

.. footbibliography::
