|
SpECTRE
2021.08.02
|
Items related to solving elasticity problems. More...
Namespaces | |
| namespace | AnalyticData |
| Analytic data for the Elasticity system. | |
| namespace | ConstitutiveRelations |
| Constitutive (stress-strain) relations that characterize the elastic properties of a material. | |
| namespace | Solutions |
| Analytic solutions of the linear Elasticity equations. | |
Classes | |
| struct | FirstOrderSystem |
| The linear elasticity equation formulated as a set of coupled first-order PDEs. More... | |
| struct | Fluxes |
| Compute the fluxes \(F^i_A\) for the Elasticity equation on a flat metric in Cartesian coordinates. More... | |
| struct | Sources |
| Add the sources \(S_A\) for the Elasticity equation. More... | |
Functions | |
| template<size_t Dim> | |
| void | primal_fluxes (gsl::not_null< tnsr::II< DataVector, Dim > * > flux_for_displacement, const tnsr::ii< DataVector, Dim > &strain, const ConstitutiveRelations::ConstitutiveRelation< Dim > &constitutive_relation, const tnsr::I< DataVector, Dim > &coordinates) noexcept |
| Compute the fluxes \(F^{ij}=Y^{ijkl}(x) S_{kl}(x)=-T^{ij}\) for the Elasticity equation. | |
| template<size_t Dim> | |
| void | add_curved_sources (gsl::not_null< tnsr::I< DataVector, Dim > * > source_for_displacement, const tnsr::Ijj< DataVector, Dim > &christoffel_second_kind, const tnsr::i< DataVector, Dim > &christoffel_contracted, const tnsr::II< DataVector, Dim > &stress) noexcept |
| Add the contribution \(-\Gamma^i_{ik}T^{kj} - \Gamma^j_{ik}T^{ik}\) to the displacement source for the curved-space elasticity equations on a metric \(\gamma_{ij}\). More... | |
| template<size_t Dim> | |
| void | auxiliary_fluxes (gsl::not_null< tnsr::Ijj< DataVector, Dim > * > flux_for_strain, const tnsr::I< DataVector, Dim > &displacement) noexcept |
| Compute the fluxes \(F^i_{jk}=\delta^{i}_{(j} \xi_{k)}\) for the auxiliary (strain) field in the first-order formulation of the Elasticity equation. More... | |
| template<size_t Dim> | |
| void | curved_auxiliary_fluxes (gsl::not_null< tnsr::Ijj< DataVector, Dim > * > flux_for_strain, const tnsr::ii< DataVector, Dim > &metric, const tnsr::I< DataVector, Dim > &displacement) noexcept |
| Compute the fluxes \(F^i_{jk}=\delta^{i}_{(j}\gamma_{k)l}\xi^l\) for the auxiliary (strain) field in the first-order formulation of the curved-space elasticity equations on a metric \(\gamma_{ij}\). More... | |
| template<size_t Dim> | |
| void | add_curved_auxiliary_sources (gsl::not_null< tnsr::ii< DataVector, Dim > * > source_for_strain, const tnsr::ijj< DataVector, Dim > &christoffel_first_kind, const tnsr::I< DataVector, Dim > &displacement) noexcept |
| Add the contribution \(\Gamma_{ijk}\xi^i\) to the strain source for the curved-space elasticity equations on a metric \(\gamma_{ij}\). More... | |
| template<typename DataType , size_t Dim> | |
| void | strain (gsl::not_null< tnsr::ii< DataType, Dim > * > strain, const tnsr::iJ< DataType, Dim > &deriv_displacement) noexcept |
| The symmetric strain \(S_{ij} = \partial_{(i} \xi_{j)}\) on a flat background in Cartesian coordinates. | |
| template<typename DataType , size_t Dim> | |
| void | strain (gsl::not_null< tnsr::ii< DataType, Dim > * > strain, const tnsr::iJ< DataType, Dim > &deriv_displacement, const tnsr::ii< DataType, Dim > &metric, const tnsr::ijj< DataType, Dim > &deriv_metric, const tnsr::ijj< DataType, Dim > &christoffel_first_kind, const tnsr::I< DataType, Dim > &displacement) noexcept |
| The symmetric strain \(S_{ij} = \nabla_{(i} \gamma_{j)k} \xi^k = \partial_{(i} \gamma_{j)k} \xi^k - \Gamma_{kij} \xi^k\) on a background metric \(\gamma_{ij}\). | |
| template<size_t Dim> | |
| void | strain (gsl::not_null< tnsr::ii< DataVector, Dim > * > strain, const tnsr::I< DataVector, Dim > &displacement, const Mesh< Dim > &mesh, const InverseJacobian< DataVector, Dim, Frame::Logical, Frame::Inertial > &inv_jacobian) noexcept |
| The symmetric strain \(S_{ij} = \partial_{(i} \xi_{j)}\) on a flat background in Cartesian coordinates. More... | |
| template<size_t Dim> | |
| void | potential_energy_density (gsl::not_null< Scalar< DataVector > * > potential_energy_density, const tnsr::ii< DataVector, Dim > &strain, const tnsr::I< DataVector, Dim > &coordinates, const ConstitutiveRelations::ConstitutiveRelation< Dim > &constitutive_relation) noexcept |
| The potential energy density \(U=-\frac{1}{2}S_{ij}T^{ij}\) stored in the deformation of the elastic material (see Eq. (11.25) in [106]) More... | |
| template<size_t Dim> | |
| Scalar< DataVector > | potential_energy_density (const tnsr::ii< DataVector, Dim > &strain, const tnsr::I< DataVector, Dim > &coordinates, const ConstitutiveRelations::ConstitutiveRelation< Dim > &constitutive_relation) noexcept |
| The potential energy density \(U=-\frac{1}{2}S_{ij}T^{ij}\) stored in the deformation of the elastic material (see Eq. (11.25) in [106]) More... | |
Items related to solving elasticity problems.
In elasticity problems we solve for the displacement vector field \(\boldsymbol{\xi}\) in an elastic material that responds to external forces, stresses or deformations. In this static approximation the equations of motion reduce to the elliptic equations
\[ \nabla_i T^{ij} = f_\mathrm{ext}^j \]
that describes a state of equilibrium between the stresses \(T^{ij}\) within the material and the external body forces \(\boldsymbol{f}_\mathrm{ext}\) (Eqns. 11.13 and 11.14 in [106] with the counteracting internal forces \(\boldsymbol{f} = -\boldsymbol{f}_\mathrm{ext}\)). For small deformations (see e.g. [106], Section 11.3.2 for a discussion) the stress is related to the strain \(S_{ij}=\nabla_{(i}\xi_{j)}\) by a linear constitutive relation \(T^{ij}=-Y^{ijkl}S_{kl}\) (Eq. 11.17 in [106]) that describes the elastic properties of the material (see Elasticity::ConstitutiveRelations::ConstitutiveRelation).
|
noexcept |
Add the contribution \(\Gamma_{ijk}\xi^i\) to the strain source for the curved-space elasticity equations on a metric \(\gamma_{ij}\).
These sources arise from the non-principal part of the divergence on a curved background.
|
noexcept |
Add the contribution \(-\Gamma^i_{ik}T^{kj} - \Gamma^j_{ik}T^{ik}\) to the displacement source for the curved-space elasticity equations on a metric \(\gamma_{ij}\).
These sources arise from the non-principal part of the divergence on a curved background.
|
noexcept |
Compute the fluxes \(F^i_{jk}=\delta^{i}_{(j} \xi_{k)}\) for the auxiliary (strain) field in the first-order formulation of the Elasticity equation.
|
noexcept |
Compute the fluxes \(F^i_{jk}=\delta^{i}_{(j}\gamma_{k)l}\xi^l\) for the auxiliary (strain) field in the first-order formulation of the curved-space elasticity equations on a metric \(\gamma_{ij}\).
|
noexcept |
The potential energy density \(U=-\frac{1}{2}S_{ij}T^{ij}\) stored in the deformation of the elastic material (see Eq. (11.25) in [106])
Note that the two-dimensional instantiation of this function assumes that only the terms of \(S_{ij}T^{ij}\) where both \(i\) and \(j\) correspond to one of the computational dimensions contribute to the sum. This is the case for the plane-stress approximation employed in the two-dimensional Elasticity::ConstitutiveRelations::IsotropicHomogeneous, for example, where \(T^{i3}=0=T^{3i}\).
|
noexcept |
The potential energy density \(U=-\frac{1}{2}S_{ij}T^{ij}\) stored in the deformation of the elastic material (see Eq. (11.25) in [106])
Note that the two-dimensional instantiation of this function assumes that only the terms of \(S_{ij}T^{ij}\) where both \(i\) and \(j\) correspond to one of the computational dimensions contribute to the sum. This is the case for the plane-stress approximation employed in the two-dimensional Elasticity::ConstitutiveRelations::IsotropicHomogeneous, for example, where \(T^{i3}=0=T^{3i}\).
|
noexcept |
The symmetric strain \(S_{ij} = \partial_{(i} \xi_{j)}\) on a flat background in Cartesian coordinates.
Note that this function involves a numeric differentiation of the displacement vector.