SpECTRE  v2022.09.02
Elasticity::FirstOrderSystem< Dim > Struct Template Reference

The linear elasticity equation formulated as a set of coupled first-order PDEs. More...

#include <FirstOrderSystem.hpp>

## Public Types

using primal_fields = tmpl::list< displacement >

using auxiliary_fields = tmpl::list< strain >

using primal_fluxes = tmpl::list< minus_stress >

using auxiliary_fluxes = tmpl::list<::Tags::Flux< strain, tmpl::size_t< Dim >, Frame::Inertial > >

using background_fields = tmpl::list<>

using inv_metric_tag = void

using fluxes_computer = Fluxes< Dim >

using sources_computer = Sources< Dim >

using boundary_conditions_base = elliptic::BoundaryConditions::BoundaryCondition< Dim >

## Static Public Attributes

static constexpr size_t volume_dim = Dim

## Detailed Description

template<size_t Dim>
struct Elasticity::FirstOrderSystem< Dim >

The linear elasticity equation formulated as a set of coupled first-order PDEs.

This system formulates the elasticity equation $$\nabla_i T^{ij} = f_\mathrm{ext}^j$$ (see Elasticity). It introduces the symmetric strain tensor $$S_{kl}$$ as an auxiliary variable which satisfies the Elasticity::ConstitutiveRelations $$T^{ij} = -Y^{ijkl} S_{kl}$$ with the material-specific elasticity tensor $$Y^{ijkl}$$. Written as a set of coupled first-order PDEs, we get

\begin{align*} -\nabla_i Y^{ijkl} S_{kl} = f_\mathrm{ext}^j \\ -\nabla_{(k} \xi_{l)} + S_{kl} = 0 \end{align*}

The system can be formulated in terms of these fluxes and sources (see elliptic::protocols::FirstOrderSystem):

\begin{align*} F^i_{\xi^j} &= Y^{ijkl}_{(\xi, S)} S_{kl} \\ S_{\xi^j} &= 0 \\ f_{\xi^j} &= f_\mathrm{ext}^j \\ F^i_{S_{kl}} &= \delta^{i}_{(k} \xi_{l)} \\ S_{S_{kl}} &= S_{kl} \\ f_{S_{kl}} &= 0 \text{.} \end{align*}

The documentation for this struct was generated from the following file:
• src/Elliptic/Systems/Elasticity/FirstOrderSystem.hpp