.. _models-orthotropic_rate:

**********************
Orthotropic Rate Model
**********************

Theory
======

The orthotropic rate model is an improved version of the orthotropic crush
model [:footcite:`mat:ref:attaway`] that incorporates anisotropic elasticity, strain-rate dependence, and 
the ability to define the material coordinate system.  The specific form of this model 
is motivated by metallic honeycombs and the material coordinate system is usually given 
in terms of :math:`T,~L,` and :math:`W` directions.  These directions correspond to the strong (:math:`T`) and 
ribbon (:math:`L`) axes depicted in :numref:`fig-orientation`.  The third component of the coordinate 
system, :math:`W`, is the weak direction and is simply the cross-product of the other two directions.

.. _fig-orientation:

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

   Orientation of the T, L and W vectors for 38 pc aluminum honeycomb.

In terms of expected response, and similar to the orthotropic crush model, the deformation is 
split into two regimes -- uncompacted and compacted.  Unlike the 
crush model, the state of compaction is not determined by the determinant of the 
deformation gradient but is instead a function of the engineering (not logarithmic) 
volume strain, :math:`\varepsilon_{\text{V}}`.  The degree of compaction, :math:`\alpha`, is therefore defined as,

.. math::

   \alpha=\min_{t>0}\left(\frac{V_0-V\left(t\right)}{V_0}\right)=1-\frac{\min_{t>0}V\left(t\right)}{V_0}=-\min_{t>0}\varepsilon_{\text{V}}\left(t\right),

with :math:`V\left(t\right)` and :math:`V_0` being the current and original volume of the material.  Complete compaction occurs 
at a user specified value, :math:`\alpha_{\text{comp}}`.  

Prior to complete compaction, the elastic stiffness, :math:`\mathbb{C}_{ijkl}`, is taken to exhibit orthotropic symmetry 
and depends on the compaction state of the material, :math:`\mathbb{C}_{ijkl}=\mathbb{C}_{ijkl}\left(\alpha\right)`.  
In the material frame and in Voigt notation, this stiffness is represented as,

.. math::
   :label: eqn:oRate:stiff

   \left[\mathbb{C}\left(\alpha\right)\right] =
   \begin{bmatrix}
   E_{TTTT}\left(\alpha\right) & E_{TTLL}\left(\alpha\right) & E_{TTWW}\left(\alpha\right) & 0 & 0 & 0 \\ \\
   E_{TTLL}\left(\alpha\right) & E_{LLLL}\left(\alpha\right) & E_{LLWW}\left(\alpha\right) & 0 & 0 & 0 \\ \\
   E_{TTWW}\left(\alpha\right) & E_{LLWW}\left(\alpha\right) & E_{WWWW}\left(\alpha\right) & 0 & 0 & 0 \\ \\
   0 & 0 & 0 & G_{TLTL}\left(\alpha\right) & 0 & 0 \\ \\
   0 & 0 & 0 & 0 & G_{LWLW}\left(\alpha\right) & 0 \\ \\
   0 & 0 & 0 & 0 & 0 & G_{WTWT}\left(\alpha\right)
   \end{bmatrix}.

Once the material 
is completely compacted, the elastic stiffness is taken to be isotropic and the evolution of the 
initially orthotropic components (:math:`E_{TTTT}\left(\alpha=0\right)=E^0_{TTTT}`) to final 
isotropic, compacted coefficients (:math:`E_{TTTT}\left(\alpha=\alpha_{\text{comp}}\right)=\lambda+2\mu` with 
:math:`\lambda` and :math:`2\mu` being Lam\'{e}'s constant and the shear modulus) is given via a common 
user-defined scaling function, :math:`f_E\left(\alpha\right)`.  The mechanical stiffness coefficients then scale as,

.. math::
   :label: or:eqn:theory:EL

   E_{TTTT}\left(\alpha\right)=E_{TTTT}^0+\left(\lambda+2\mu-E_{TTTT}^0\right)f_E\left(\alpha\right),
  
for the volumetric diagonal terms (:math:`E_{TTTT},~E_{LLLL},~E_{WWWW}`), 

.. math::
   :label: or:eqn:theory:ET

   E_{TTLL}\left(\alpha\right)=E_{TTLL}^0+\left(\lambda-E_{TTLL}^0\right)f_E\left(\alpha\right),

for the off-diagonal terms (:math:`E_{TTLL},~E_{TTWW},~E_{LLWW}`) and

.. math::

   G_{TLTL}\left(\alpha\right)=G_{TLTL}^0+\left(2\mu-G_{TLTL}^0\right)f_E\left(\alpha\right)

for the shear terms.  From these relations, it is obvious that :math:`f_E\left(\alpha\right)` should 
be bounded such that :math:`0\leq f_E\left(\alpha\right)\leq 1` with :math:`f_E\left(0\right)=0` and 
:math:`f_E\left(\alpha_{\text{comp}}\right)=1`.

As was mentioned earlier, the deformation and model response may be readily split between 
two regimes -- the uncompacted and compacted.  The behavior during the latter regime is 
simpler and is assumed to be that of an isotropic elastic-perfectly plastic material characterized 
by the elastic coefficients (:math:`\lambda,~2\mu`) and yield stress (:math:`\sigma_y`).  During 
the uncompacted regime the deformation is more complex and typical responses may 
include elastic bending of cell structures, buckling of cell walls, or densification 
(see the text of Gibson and Ashby [:footcite:`mat:ref:gibson`] for a complete discussion of 
these and other mechanisms).  In this formulation, however, none of these 
deformation modes are explicitly modeled.  Instead, the response is defined 
via six independent yield functions (one for each stress component in the material 
coordinate system), :math:`\phi_{\beta\gamma}`, that are a function of the corresponding 
stress, the compaction state, and the current strain rate, 
:math:`\dot{\bar{\varepsilon}}=\sqrt{d_{ij}d_{ij}}`.  Here, :math:`d_{ij}` is the unrotated 
rate of deformation in the global (:math:`X,Y,Z`) coordinate system and 
:math:`\beta` and :math:`\gamma` are being used as subscripts to denote variables in the 
material coordinate system.   


The six yield functions are,

.. math::

   \begin{split}
   \phi_{LL} & = \sigma_{LL}-f_{LL}\left(\alpha\right) h\left(\dot{\bar{\varepsilon}}\right)\\
   \phi_{TT} & = \sigma_{TT}-f_{TT}\left(\alpha\right) h\left(\dot{\bar{\varepsilon}}\right)\\
   \phi_{WW} & = \sigma_{WW}-f_{WW}\left(\alpha\right) h\left(\dot{\bar{\varepsilon}}\right)\\
   \phi_{LT} & = \sigma_{LT}-f_{LT}\left(\alpha\right) h\left(\dot{\bar{\varepsilon}}\right)\\
   \phi_{TW} & = \sigma_{TW}-f_{TW}\left(\alpha\right) h\left(\dot{\bar{\varepsilon}}\right)\\
   \phi_{WL} & = \sigma_{WL}-f_{WL}\left(\alpha\right) h\left(\dot{\bar{\varepsilon}}\right)
   \end{split},

with :math:`\sigma_{\beta\gamma}` being the current symmetric Cauchy stresses in the material coordinate system, 
:math:`f_{\beta\gamma}` are user specified hardening functions defining the maximum stress in that direction for 
a given compaction state and :math:`h\left(\dot{\bar{\varepsilon}}\right)` is the strain rate sensitivity 
function that is common to all the yield functions.  With these forms, it is evident 
that the definition of the different hardening functions dictates the model response 
through the uncompacted regime.  All (or none) of the aforementioned deformation mechanisms 
may be captured by the appropriate definition of those functions.  As such, 
the response is dictated by the desire of the analyst and appropriate selection of the 
elastic scaling, hardening, and strain rate sensitivity function -- :math:`f_E\left(\alpha\right),~f_{\beta\gamma}\left(\alpha\right)`, and :math:`h\left(\dot{\bar{\varepsilon}}\right)`. 

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

Unlike the orthotropic crush model, the rate variant considered here has couplings between the different 
directional strains and cannot be evaluate numerically as easily.  Therefore, the orthotropic 
rate model is integrated using a hypoelastic formulation.  As was discussed 
in the preceding section, the model is formulated in the :math:`T,~L,~W` coordinate system and 
not the unrotated frame.  Therefore, the first step before proceeding 
is to map strain and stress values from the unrotated to the material frame.  To this end, an orthogonal 
rotation tensor :math:`\tilde{Q}_{ij}` is constructed from user input vectors :math:`\hat{t}_i` 
and :math:`\hat{l}_i` defining the strong and ribbon directions, respectively.  In this case, the :math:`~\tilde{\cdot}~`
is used to differentiate this tensor from that mapping between the rotated and unrotated configurations 
defined in :eq:`models-hypoelastic-rotation`.  The stress and deformation rates in the material coordinate 
system, :math:`\tilde{\sigma}_{ij}` and :math:`\tilde{d}_{ij}`, are determined via,

.. math::
   :label: eqn:oRate:imp:stressMap

   \tilde{\sigma}^n_{ij}=\tilde{Q}_{ki}T^n_{kl}\tilde{Q}_{lj}, \\ 
   \tilde{d}^{n+1}_{ij}=\tilde{Q}_{ki}d^{n+1}_{kl}\tilde{Q}_{lj},
 

where :math:`T^n_{ij}` and :math:`d^{n+1}_{ij}` are the unrotated stress and deformation rates, respectively.  For convenience, 
the remainder of this discuss will neglect the :math:`~\tilde{\cdot}~` notation and all operations 
will be assumed to be in the material coordinate system unless specifically noted.  Additionally, after 
a converged stress is achieved, the inverse mapping of :eq:`eqn:oRate:imp:stressMap` is 
used to determine :math:`T^{n+1}_{ij}`.

As the strain increment is fixed for a load step, kinematically defined variables such as :math:`\alpha^{n+1}` and 
the strain rate, :math:`\dot{\bar{\varepsilon}}^{n+1}`, may first be determined.  The latter term is defined as,

.. math::

   \dot{\bar{\varepsilon}}^{n+1}=\sqrt{d^{n+1}_{ij}d^{n+1}_{ij}},

with :math:`d^{n+1}_{ij}` being the strain rate in the global coordinate system.  For the former, it must first be noted 
that the engineering, :math:`\varepsilon_{\text{V}}`, and logarithmic, :math:`\varepsilon_{kk}`, volumetric strains are related via 
:math:`\varepsilon_{\text{V}}=\exp{\left(\varepsilon_{kk}\right)}-1`.  The current state of compaction is then given as,

.. math::

   \alpha^{n+1}=1-\hat{\varepsilon}^{n+1}_{V},

where :math:`\hat{\varepsilon}^{n+1}_{V}=\min\left[\hat{\varepsilon}^n_{V},\exp{\left(\varepsilon^{n+1}_{kk}\right)}\right]`.

The material response has two distinct regimes.  As discussed in the corresponding theory section, the compacted material 
behaves as an elastic-plastic material.  Such a response and the corresponding numerical analysis has been described in 
:numref:`models-elastic_plastic-implementation`.  As such, it will not be further presented here and instead the focus is on the behavior 
during the uncompacted stages.

Earlier, it was mentioned that the response during the compaction process is dictated by three functions -- the elastic 
scaling, hardening, and strain rate sensitivity.  These three expressions are dependent on the state of compaction and strain 
rate.  As those kinematic properties have already been calculated, the values of :math:`f_{E}^{n+1}=f_{E}\left(\alpha^{n+1}\right)`, 
:math:`f^{n+1}_{ij}=f_{ij}\left(\alpha^{n+1}\right)`, and :math:`h^{n+1}=h\left(\dot{\bar{\varepsilon}}^{n+1}\right)` may easily 
be calculated.  In the remainder of this section, the functional dependencies of these terms will not be explicitly presented 
for ease and brevity.  Similarly, the superscript :math:`n+1` will be dropped and it should be assumed that unless 
specifically denoted the variable is evaluated at the :math:`n+1` step.   With :math:`f_E` (and :math:`f_E^n`) defined, the elastic stiffness, :math:`\mathbb{C}_{ijkl}` and 
:math:`\mathbb{C}_{ijk}^n`, and compliance, :math:`\mathbb{S}_{ijkl}` and :math:`\mathbb{S}_{ijkl}^n`, tensors may also be calculated.

To determine the updated material state, the change in elastic stiffness (associated with the change in compaction) 
must be determined.  To this end, 

.. math::

   \hat{\sigma}_{ij}^n=\mathbb{C}_{ijkl}\varepsilon^{\text{e}-n}_{kl}

where 

.. math::

   \varepsilon^{\text{e}-n}_{ij}=\mathbb{S}^n_{ijkl}\sigma_{kl}^n.

In the previous two relations, it is noted that the respective mechanical tensors are determined at different load steps thus 
leading to the altered stress state.  The tensor :math:`\sigma_{ij}^n` refers to the stress determined and stored from the 
previous load step while :math:`\hat{\sigma}_{ij}^n` incorporates the change in mechanical stiffness.  A trial stress state 
may be calculated as,

.. math::
 
   \sigma^{tr}_{ij}=\hat{\sigma}^n_{ij}+\mathbb{C}_{ijkl}d\varepsilon^{\text{e}-tr}_{kl},

with the trial elastic strain increment, :math:`d\varepsilon^{\text{e}-tr}_{ij}` being that of the total strain increment, 
:math:`d_{ij}\Delta t`.  The flow (yield) functions, :math:`f_{ij}^{tr}`, are then calculated.  If all :math:`f_{ij}^{tr}<0`, the 
solution is elastic and the trial state is accepted.  On the other hand, if any :math:`f_{ij}^{tr}>0` a correction 
scheme is needed.  This poses a more complex problem than in the orthotropic crush model given the multiple (six) 
yield surfaces.

To perform the plastic correction, an approach similar in principle to the return-mapping schemes heavily used in 
metal plasticity (e.g. :numref:`models-elastic_plastic-implementation`).  Here, however, there is no internal state variable and associated 
evolution equations to evolve the state.  Instead, in this case the elastic strain is iterated over until all the yield 
conditions are satisfied.  Specifically, for the :math:`k`-th iteration, the stress is calculated as 

.. math::

   \sigma^k_{ij}=\hat{\sigma}_{ij}^n+\mathbb{C}_{ijkl}d\varepsilon_{kl}^{\text{e}-k}.

Updated yield functions, :math:`f_{ij}^k`, are then calculated and the active flow directions (those with :math:`f_{ij}>0`) determined.  A tangent modulus 
is then constructed (essentially by turning off components corresponding to inactive directions) and a plastic flow tensor is determined 
using the tangent compliance and the value of the yield functions.  The updated elastic strain increment, :math:`d\varepsilon_{ij}^{\text{e}-k+1}`, 
is then found by removing the calculated strain.  This process is repeated until satisfaction of all the yield functions.

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

To verify the orthotropic crush model, a series of uniaxial compression tests are performed.  Given the multiple 
salient features in this model (e.g. strain rate dependence, user-defined coordinate system), the test sequence 
is constructed to investigate and probe each of the different features to gain confidence in all of the anticipated capabilities.  
Additionally, the analyzed loading paths correspond to those in which the kinematics are fully prescribed.  This is done so that 
analytical expressions may be found due to the strong coupling between the kinematics and constitutive response through the 
compaction state, :math:`\alpha`.  The common model parameters used for these tests are given in :numref:`tab-or-verProps1` and the functional forms 
of the input strength/hardening curves, :math:`f_{\beta\gamma}`, are presented in :numref:`fig-or-strengthCurves`.  It is noted, however, 
that these properties will take various values during the verification tests to activate and deactivate different responses.  Additionally, 
in :numref:`fig-or-strengthCurves`, two sets of curves are given -- the full, complex set of six distinct functions (:numref:`fig-or-strengthCurves`\ a) 
and a simpler set (:numref:`fig-or-strengthCurves`\ b).  In the latter, only one curve common to the three diagonal strengths are shown.  The other three 
strength functions are all set artificially high to enable the study of a simpler case.

.. raw:: latex

   \noindent\begin{minipage}{\textwidth}

.. _tab-or-verProps1:

.. csv-table:: Material and model parameters for the orthotropic rate model used for verification
   :align: center
   :delim: &

   :math:`E^0_{TTTT}`    & 2,322.0 ksi & :math:`E`        & 4000.0 ksi
   :math:`E^0_{TTLL}`    & 485.8 ksi   & :math:`\nu`        & 0.3
   :math:`E^0_{TTWW}`    & 68.8 ksi    & :math:`\sigma_y`   & 15.0 ksi
   :math:`E^0_{LLLL}`    & 1,348.0 ksi & :math:`\hat{t}_x` & 1.0
   :math:`E^0_{LLWW}`    & 121.8 ksi   & :math:`\hat{t}_y` & 0.0
   :math:`E^0_{WWWW}`    & 85.0 ksi    & :math:`\hat{t}_z` & 0.0
   :math:`G^0_{TLTL}`    & 1,345.0 ksi & :math:`\hat{l}_x` & 0.0
   :math:`G^0_{LWLW}`    & 67.0 ksi    & :math:`\hat{l}_y` & 1.0
   :math:`G^0_{WTWT}`    & 260.0 ksi &  :math:`\hat{l}_z` & 0.0
   :math:`h\left(\dot{\bar{\varepsilon}}\right)` & 1.0 & :math:`f_{E}\left(\alpha\right)` & :math:`\alpha`

.. raw:: latex

   \end{minipage}

.. _fig-or-strengthCurves:

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

   .. image:: ../../_static/figures/strength.png
      :alt: Complex case
      :scale: 25 %

   .. image:: ../../_static/figures/crushCurveSimple.png
      :alt: Simple case
      :scale: 25 %

   Input strength/hardening curves, :math:`f_{\beta\gamma}`, for use in verification tests of the orthotropic rate model.

Uniaxial Strain - Isotropic
---------------------------

First, the response of the model with through a uniaxial strain loading is explored.  In this case, 
the prescribed displacement is :math:`u_i=\hat{\lambda}\delta_{i1}`.  For this initial study, isotropic elastic constants are assumed leading to 
:math:`E^0_L=E^0_{LLLL}=E^0_{TTTT}=E^0_{WWWW}=5,384.6` ksi and :math:`E^0_T=E^0_{TTLL}=E^0_{TTWW}=E^0_{LLWW}=2,307.7` ksi.  These properties are chosen to 
match the compacted state and :math:`f_E\left(\alpha\right)` is set to zero.  In this way, the elastic properties are constant throughout loading.  The shear moduli 
are scaled accordingly and the remaining properties are left unchanged from :numref:`tab-or-verProps1`.  In this case, the model response simplifies to

.. math::

   \alpha=-\hat{\lambda},

and 

.. math::
   :label: eqn:or:isoStrainStress

   \sigma_{11} = \left\{\begin{array}{cc} \hat{\sigma} & \hat{\sigma}\leq f_{TT}\left(\alpha\right) \\
                                        f_{TT} & \hat{\sigma} > f_{TT}\left(\alpha\right) \end{array}\right. 

.. math::

   \sigma_{22} =  \sigma_{33} = \left\{\begin{array}{cc} \lambda\ln\left(1+\hat{\lambda}\right) & \hat{\sigma}\leq f_{TT}\left(\alpha\right) \\
                                        \frac{\lambda}{\lambda+2\mu}\sigma_{11} & \hat{\sigma} > f_{TT}\left(\alpha\right) \end{array}\right. ,

where

.. math::

   \hat{\sigma}=\left(\lambda+2\mu\right)\ln\left(1+\hat{\lambda}\right).

The single linear hardening crush curve given in :numref:`fig-or-strengthCurves`\ (b) is used for this analysis.  The resulting stresses as a 
function of applied displacement, :math:`\hat{\lambda}`, are given in :numref:`fig-or-isoSimpleStresses` and good agreement is noted.

.. _fig-or-isoSimpleStresses:

.. figure:: ../../_static/figures/isoSimpleIsoStrain.png
   :align: center
   :scale: 15 %

   Axial and off-axis stresses determined analytically and numerically via the orthotropic rate model with constant, isotropic elastic properties.

Uniaxial Strain - Orthotropic
-----------------------------

The uniaxial problem described in the previous section is again studied -- although this time using the orthotropic elastic 
properties listed in :numref:`tab-or-verProps1`.  To test the material coordinate system capabilities two cases are considered -- 
essentially with the :math:`x_1` axis aligned with the :math:`T` and :math:`L` axes.  The first 
case corresponds to the definition of the :math:`\hat{t}_i` and :math:`\hat{l}_i` vectors in :numref:`tab-or-verProps1`.  Alternatively, the second case is defined 
by setting the :math:`L` direction aligned with the :math:`x_1` axis (:math:`\hat{l}_x=1.0,~\hat{l}_y=0.0,~\hat{l}_z=0.0` and :math:`\hat{t}_x=0.0,~\hat{t}_y=0.0,~\hat{t}_z=1.0`).  
The stress state evolutions determined via adagio and analytically for the two considered orientations are shown in 
:numref:`fig-or-orthoSimple`\ (a) and :numref:`fig-or-orthoSimple`\ (b), respectively.  The analytical solutions are found in the same fashion as :eq:`eqn:or:isoStrainStress` with the moduli 
changed for the orthotropic case.  Good agreement is observed.

.. _fig-or-orthoSimple:

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

   .. image:: ../../_static/figures/orthoSimpleIsoStrain_X.png
      :alt: Loading aligned with the T direction
      :scale: 25 %

   .. image:: ../../_static/figures/orthoSimpleIsoStrain_Y.png
      :alt: Loading aligned with the W direction
      :scale: 25 %

   Axial and off-axis stresses determined analytically and numerically via the orthotropic rate model with constant, orthotropic elastic constants.  The material coordinate systems is rotated in two different directions with the loading direction always aligned with :math:`x_1`

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

.. code-block:: sierrainput

   BEGIN PARAMETERS FOR MODEL ORTHOTROPIC_RATE
     #
     # Elastic constants
     #
     YOUNGS MODULUS = <real>
     POISSONS RATIO = <real>
     SHEAR MODULUS  = <real>
     BULK MODULUS   = <real>
     LAMBDA         = <real>
     TWO MU         = <real>
     #
     YIELD STRESS = <real>
     #
     MODULUS TTTT = <real>
     MODULUS TTLL = <real>
     MODULUS TTWW = <real>
     MODULUS LLLL = <real>
     MODULUS LLWW = <real>
     MODULUS WWWW = <real>
     MODULUS TLTL = <real>
     MODULUS LWLW = <real>
     MODULUS WTWT = <real>
     #
     TX = <real>
     TY = <real>
     TZ = <real>
     LX = <real>
     LY = <real>
     LZ = <real>
     #
     MODULUS FUNCTION = <string>
     RATE FUNCTION    = <string>
     #
     T FUNCTION  = <string>
     L FUNCTION  = <string>
     W FUNCTION  = <string>
     TL FUNCTION = <string>
     LW FUNCTION = <string>
     WT FUNCTION = <string>
   END [PARAMETERS FOR MODEL ORTHOTROPIC_RATE]

The orthotropic rate model extends the functionality of the orthotropic crush constitutive
model described in :numref:`models-orthotropic_crush`.  The orthotropic rate model
has been developed to describe the behavior of an aluminum honeycomb subjected to large
deformation.  The orthotropic rate model, like the original orthotropic crush model, has six
independent yield functions that evolve with volume strain.  Unlike the orthotropic crush
model, the orthotropic rate model has yield functions that also depend on strain rate.  The
orthotropic rate model also uses an orthotropic elasticity tensor with nine elastic moduli in
place of the orthotropic elasticity tensor with six elastic moduli used in the orthotropic
crush model.

A honeycomb orientation capability is included with the orthotropic rate model, allowing users
to prescribe initial honeycomb orientations that are not aligned with the original global
coordinate system.  The three material directions are defined as follows: The T-direction is
usually associated with the generator axis for the honeycomb, the L-direction is in the ribbon
plane (defined by flat sheets used in reinforced honeycomb) orthogonal to the generator axis,
and the W-direction is orthogonal to the ribbon plane.

In the above command blocks:

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

- For the ``ORTHOTROPIC_RATE`` model, only ``YOUNGS MODULUS`` needs to be defined; this is the Young's modulus in the fully compacted state.  If two other elastic constants are provided, they will be used to define the fully compacted Young's modulus.
- The ``YIELD STRESS`` command line defines the yield stress of the fully compacted honeycomb.
- The nine elastic moduli for the orthotropic, uncompacted honeycomb are defined with respect to each material direction using the ``MODULUS TTTT``, ``MODULUS TTLL``, ``MODULUS TTWW``, ``MODULUS LLLL``, ``MODULUS LLWW``, ``MODULUS WWWW``, ``MODULUS TLTL``, ``MODULUS LWLW``, and ``MODULUS WTWT`` command lines.
- The components of vectors defining the T- and L-directions of the honeycomb are specified using the ``TX``, ``TY``, and ``TZ``, and ``LX``, ``LY``, and ``LZ`` command lines, respectively. The vector component values ``tx``, ``ty``, and ``tz`` define the orientation of the honeycomb's T-direction (generator axis), while ``lx``, ``ly``, and ``lz`` define the orientation of the L-direction.  The vectors T and L are defined in the global coordinate system and *must* be orthogonal.
- The function describing the variation in moduli with compaction is given by the ``MODULUS FUNCTION`` command line. The moduli vary continuously from their initial orthotropic values to isotropic values when full compaction is obtained.
- The function describing the change in strength with strain rate is given by the ``RATE FUNCTION`` command line. Note that all strengths are scaled with the multiplier obtained from this function.
- The function describing the T-normal strength of the honeycomb as a function of compressive volumetric strain is given by the ``T FUNCTION`` command line.
- The function describing the L-normal strength of the honeycomb as a function of compressive volumetric strain is given by the ``L FUNCTION`` command line.
- The function describing the W-normal strength of the honeycomb as a function of compressive volumetric strain is given by the ``W FUNCTION`` command line.
- The function describing the TL-normal strength of the honeycomb as a function of compressive volumetric strain is given by the ``TL FUNCTION`` command line.
- The function describing the LW-normal strength of the honeycomb as a function of compressive volumetric strain is given by the ``LW FUNCTION`` command line.
- The function describing the WT-normal strength of the honeycomb as a function of compressive volumetric strain is given by the ``WT FUNCTION`` command line.

Note that several of the command lines in this command block reference functions. These functions must be defined in the SIERRA scope.

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

.. _out-tab-orthratestvar:

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

   1 & ``CRUSH`` & minimum volume ratio, crush is unrecoverable :math:`\left(\hat{\varepsilon}_{V}\right)`

.. raw::
   html

   <hr>

.. footbibliography::
