SpECTRE  v2022.06.14
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: