SpECTRE
v2023.01.13
|
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 |
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*}