SpECTRE Documentation Coverage Report
Current view: top level - Elliptic/Systems/Elasticity - Tags.hpp Coverage Total Hit
Commit: 0d1d717af84a81fb1284a20c4013708fe85cc2f0 Lines: 45.5 % 11 5
Test Date: 2026-10-22 17:29:42
Legend: Lines:     hit not hit

            Line data    Source code
       1            0 : // Distributed under the MIT License.
       2              : // See LICENSE.txt for details.
       3              : 
       4              : #pragma once
       5              : 
       6              : #include <string>
       7              : 
       8              : #include "DataStructures/DataBox/Tag.hpp"
       9              : #include "DataStructures/Tensor/TypeAliases.hpp"
      10              : 
      11              : /// \cond
      12              : class DataVector;
      13              : /// \endcond
      14              : 
      15              : /*!
      16              :  * \ingroup EllipticSystemsGroup
      17              :  * \brief Items related to solving elasticity problems
      18              :  *
      19              :  * \details In elasticity problems we solve for the displacement vector
      20              :  * field \f$\boldsymbol{\xi}\f$ in an elastic material that responds to external
      21              :  * forces, stresses or deformations. In this static approximation the
      22              :  * equations of motion reduce to the elliptic equations
      23              :  *
      24              :  * \f[
      25              :  * \nabla_i T^{ij} = f_\mathrm{ext}^j
      26              :  * \f]
      27              :  *
      28              :  * that describes a state of equilibrium between the stresses \f$T^{ij}\f$
      29              :  * within the material and the external body forces
      30              :  * \f$\boldsymbol{f}_\mathrm{ext}\f$ (Eqns. 11.13 and 11.14 in
      31              :  * \cite ThorneBlandford2017 with the counteracting internal forces
      32              :  * \f$\boldsymbol{f} = -\boldsymbol{f}_\mathrm{ext}\f$). For small
      33              :  * deformations (see e.g. \cite ThorneBlandford2017, Section 11.3.2 for a
      34              :  * discussion) the stress is related to the strain
      35              :  * \f$S_{ij}=\nabla_{(i}\xi_{j)}\f$ by a linear constitutive relation
      36              :  * \f$T^{ij}=-Y^{ijkl}S_{kl}\f$ (Eq. 11.17 in \cite ThorneBlandford2017) that
      37              :  * describes the elastic properties of the material (see
      38              :  * `Elasticity::ConstitutiveRelations::ConstitutiveRelation`).
      39              :  */
      40              : namespace Elasticity {
      41              : namespace Tags {
      42              : 
      43              : /*!
      44              :  * \brief The material displacement field \f$\boldsymbol{u}(x)\f$
      45              :  */
      46              : template <size_t Dim>
      47            1 : struct Displacement : db::SimpleTag {
      48            0 :   using type = tnsr::I<DataVector, Dim>;
      49              : };
      50              : 
      51              : /*!
      52              :  * \brief The symmetric strain \f$S_{ij}=\nabla_{(i}u_{j)}\f$, describing the
      53              :  * deformation of the elastic material.
      54              :  */
      55              : template <size_t Dim>
      56            1 : struct Strain : db::SimpleTag {
      57            0 :   using type = tnsr::ii<DataVector, Dim>;
      58              : };
      59              : 
      60              : /*!
      61              :  * \brief The symmetric stress, i.e. $T^{ij}$, describing pressure within the
      62              :  * elastic material.
      63              :  */
      64              : template <size_t Dim>
      65            1 : struct Stress : db::SimpleTag {
      66            0 :   using type = tnsr::II<DataVector, Dim>;
      67              : };
      68              : 
      69              : /*!
      70              :  * \brief Minus the `Stress`, i.e. $-T^{ij}$. This tag can be used for the flux
      71              :  * in a first-order formulation of the elasticity system.
      72              :  */
      73              : template <size_t Dim>
      74            1 : struct MinusStress : db::SimpleTag {
      75            0 :   using type = tnsr::II<DataVector, Dim>;
      76              : };
      77              : 
      78              : /*!
      79              :  * \brief The energy density \f$U=-\frac{1}{2}S_{ij}T^{ij}\f$ stored in the
      80              :  * deformation of the elastic material.
      81              :  */
      82              : template <size_t Dim>
      83            1 : struct PotentialEnergyDensity : db::SimpleTag {
      84            0 :   using type = Scalar<DataVector>;
      85              : };
      86              : 
      87              : }  // namespace Tags
      88              : }  // namespace Elasticity
        

Generated by: LCOV version 2.0-1