specfem::medium_physics::compute_stress¶
-
template<typename Tags, std::enable_if_t<Tags::dimension_tag == specfem::element::dimension_tag::dim2 && Tags::medium_tag == specfem::element::medium_tag::acoustic && Tags::property_tag == specfem::element::property_tag::isotropic, int> = 0>
specfem::point::stress<Tags> specfem::medium_physics::compute_stress(const specfem::point::properties<Tags> &properties, const specfem::point::field_derivatives<Tags> &field_derivatives)¶ Compute stress tensor for 2D acoustic isotropic media.
Compute stress tensor for 3D elastic isotropic media.
Compute stress components for 3D acoustic isotropic media.
Compute stress tensor for 2D poroelastic isotropic media.
Compute stress tensor for 2D elastic isotropic Cosserat media.
Compute stress tensor for 2D elastic SH waves.
Compute stress tensor for 2D elastic isotropic P-SV waves.
Compute stress tensor for 2D elastic anisotropic SH waves.
Compute stress tensor for 2D elastic anisotropic P-SV waves.
Implements constitutive relation for 2D acoustic wave propagation in isotropic fluids. Computes stress (pressure) from displacement gradients and bulk modulus, assuming no shear wave propagation.
Stress components:
\(\sigma_{xx} = \rho^{-1} \frac{\partial u_x}{\partial x}\)
\(\sigma_{zz} = \rho^{-1} \frac{\partial u_z}{\partial z}\)
Implements constitutive relation for 2D elastic P-SV wave propagation in anisotropic media using full elastic stiffness tensor. Accounts for directionally-dependent wave velocities and coupling between normal and shear components.
Stress components:
\(\sigma_{xx} = c_{11}\frac{\partial u_x}{\partial x} + c_{13}\frac{\partial u_z}{\partial z} + c_{15}\left(\frac{\partial u_x}{\partial z} + \frac{\partial u_z}{\partial x}\right)\)
\(\sigma_{zz} = c_{13}\frac{\partial u_x}{\partial x} + c_{33}\frac{\partial u_z}{\partial z} + c_{35}\left(\frac{\partial u_x}{\partial z} + \frac{\partial u_z}{\partial x}\right)\)
\(\sigma_{xz} = c_{15}\frac{\partial u_x}{\partial x} + c_{35}\frac{\partial u_z}{\partial z} + c_{55}\left(\frac{\partial u_x}{\partial z} + \frac{\partial u_z}{\partial x}\right)\)
Implements constitutive relation for 2D elastic SH wave propagation in anisotropic media. For SH waves, only the c55 stiffness component is relevant, simplifying the anisotropic case to isotropic behavior.
Stress components:
\(\sigma_{xy} = c_{55} \frac{\partial u_y}{\partial x}\) (stored as T(0,0))
\(\sigma_{zy} = c_{55} \frac{\partial u_y}{\partial z}\) (stored as T(0,1))
Implements constitutive relation for 2D elastic P-SV (pressure-shear vertical) wave propagation in isotropic media. Computes full stress tensor from displacement gradients and Lamé parameters.
Stress components:
\( \sigma_{xx} = (\lambda + 2\mu) \frac{\partial u_x}{\partial x} + \lambda \frac{\partial u_z}{\partial z} \)
\( \sigma_{zz} = (\lambda + 2\mu) \frac{\partial u_z}{\partial z} + \lambda \frac{\partial u_x}{\partial x} \)
\( \sigma_{xz} = \mu \left( \frac{\partial u_x}{\partial z} + \frac{\partial u_z}{\partial x} \right) \)
Implements constitutive relation for 2D elastic SH (shear horizontal) wave propagation in isotropic media. Computes shear stress components from displacement gradients and shear modulus.
Stress components:
\( \sigma_{xy} = \mu \frac{\partial u_y}{\partial x} \)
\( \sigma_{zy} = \mu \frac{\partial u_y}{\partial z} \)
Implements constitutive relations for Cosserat (micropolar) elastic media with rotational degrees of freedom. Extends classical elasticity by including couple stresses and asymmetric force stress tensor to capture size effects and microstructural behavior.
Stress components:
Classical: \(\sigma_{xx}\), \(\sigma_{zz}\) (normal), \(\sigma_{xz}\), \(\sigma_{zx}\) (shear - asymmetric)
Couple stress: \(\sigma_{c,xy}\), \(\sigma_{c,zy}\) (related to rotation gradients)
Material parameters:
\(\lambda, \mu\): Classical Lamé parameters
\(\nu\): Cosserat coupling parameter (asymmetry)
\(\mu_c, \nu_c\): Couple stress parameters (microstructural length scale)
Constitutive relations:
\[\begin{split}\begin{align} \sigma_{xx} &= \lambda(\nabla \cdot \mathbf{u}) + 2\mu \frac{\partial u_x}{\partial x} \\ \sigma_{zz} &= \lambda(\nabla \cdot \mathbf{u}) + 2\mu \frac{\partial u_z}{\partial z} \\ \sigma_{xz} &= \mu\left(\frac{\partial u_z}{\partial x} + \frac{\partial u_x}{\partial z}\right) + \nu\left(\frac{\partial u_z}{\partial x} - \frac{\partial u_x}{\partial z}\right) \\ \sigma_{zx} &= \mu\left(\frac{\partial u_x}{\partial z} + \frac{\partial u_z}{\partial x}\right) + \nu\left(\frac{\partial u_x}{\partial z} - \frac{\partial u_z}{\partial x}\right) \\ \sigma_{c,xy} &= (\mu_c + \nu_c)\frac{\partial \phi}{\partial x} \\ \sigma_{c,zy} &= (\mu_c + \nu_c)\frac{\partial \phi}{\partial z} \end{align}\end{split}\]where \(\phi\) is the microrotation field and \(\nabla \cdot \mathbf{u} = \frac{\partial u_x}{\partial x} + \frac{\partial u_z}{\partial z}\).
Implements Biot’s constitutive relations for fluid-saturated porous media with solid-fluid coupling. Computes both solid stress tensor and fluid pressure from solid and fluid displacement gradients.
Stress components:
Solid stress: \(\sigma_{xx}\), \(\sigma_{zz}\), \(\sigma_{xz}\) (modified by fluid pressure coupling)
Fluid pressure: \(\sigma_p\) (coupled to solid deformation)
Key physics:
Biot coupling: \(C_{Biot}\) links solid deformation to fluid pressure
Fluid modulus: \(M_{Biot}\) governs fluid compressibility
Porosity effects: \(\phi/\alpha\) coupling between fluid and solid phases
Constitutive relations:
\[\begin{split}\begin{eqnarray} \sigma_{xx} &=& (\lambda + 2\mu)_G \frac{\partial u_x}{\partial x} + \lambda_G \frac{\partial u_z}{\partial z} + C_{Biot}\left(\frac{\partial w_x}{\partial x} + \frac{\partial w_z}{\partial z}\right) \\ \sigma_{zz} &=& (\lambda + 2\mu)_G \frac{\partial u_z}{\partial z} + \lambda_G \frac{\partial u_x}{\partial x} + C_{Biot}\left(\frac{\partial w_x}{\partial x} + \frac{\partial w_z}{\partial z}\right) \\ \sigma_{xz} &=& \mu_G \left(\frac{\partial u_z}{\partial x} + \frac{\partial u_x}{\partial z}\right) \\ \sigma_p &=& C_{Biot}\left(\frac{\partial u_x}{\partial x} + \frac{\partial u_z}{\partial z}\right) + M_{Biot}\left(\frac{\partial w_x}{\partial x} + \frac{\partial w_z}{\partial z}\right) \end{eqnarray}\end{split}\]Variables:
\(u_x, u_z\): Solid displacements
\(w_x, w_z\): Fluid displacements relative to solid
Computes diagonal stress components for acoustic wave propagation. In acoustic media, stress relates to field gradients through density:
Stress components:
\(\sigma_{xx} = \frac{1}{\rho} \frac{\partial u}{\partial x}\)
\(\sigma_{yy} = \frac{1}{\rho} \frac{\partial u}{\partial y}\)
\(\sigma_{zz} = \frac{1}{\rho} \frac{\partial u}{\partial z}\)
Implements constitutive relation for 3D elastic wave propagation in isotropic solids using Hooke’s law. Computes full 3x3 symmetric stress tensor from displacement gradients and Lamé parameters.
Stress components:
Normal: \(\sigma_{xx}\), \(\sigma_{yy}\), \(\sigma_{zz}\) (diagonal terms with volumetric coupling)
Shear: \(\sigma_{xy}\), \(\sigma_{xz}\), \(\sigma_{yz}\) (off-diagonal terms, symmetric tensor)
Constitutive relations:
\(\sigma_{ii} = (\lambda + 2\mu) \frac{\partial u_i}{\partial x_i} + \lambda \left(\frac{\partial u_j}{\partial x_j} + \frac{\partial u_k}{\partial x_k}\right)\)
\(\sigma_{ij} = \mu \left(\frac{\partial u_i}{\partial x_j} + \frac{\partial u_j}{\partial x_i}\right)\) for \(i \neq j\)
Supports both P and S wave propagation with isotropic velocities: \(V_p = \sqrt{\frac{\lambda + 2\mu}{\rho}}\), \(V_s = \sqrt{\frac{\mu}{\rho}}\).
- Template Parameters:
UseSIMD – Enable SIMD vectorization for performance
UseSIMD – Enable SIMD vectorization for performance
UseSIMD – Enable SIMD vectorization for performance
UseSIMD – Enable SIMD vectorization for performance
UseSIMD – Enable SIMD vectorization for performance
UseSIMD – Enable SIMD vectorization for performance
UseSIMD – Enable SIMD vectorization for performance
UseSIMD – Enable SIMD vectorization for performance
UseSIMD – Enable SIMD vectorization for performance
- Parameters:
properties – Material properties ( \(\rho^{-1}\), \(\kappa\))
field_derivatives – Displacement gradients ( \(\frac{\partial u_i}{\partial x_j}\))
properties – Anisotropic material properties ( \(c_{11}, c_{13}, c_{15}, c_{33}, c_{35}, c_{55}\))
field_derivatives – Displacement gradients ( \(\frac{\partial u_i}{\partial x_j}\))
properties – Anisotropic material properties (c55 used only)
field_derivatives – Displacement gradients ( \(\frac{\partial u_y}{\partial x_j}\))
properties – Material properties ( \(\lambda\), \(\mu\), \(\rho\))
field_derivatives – Displacement gradients ( \(\frac{\partial u_i}{\partial x_j}\))
properties – Material properties ( \(\mu\), \(\rho\))
field_derivatives – Displacement gradients ( \(\frac{\partial u_y}{\partial x_j}\))
properties – Cosserat material properties ( \(\lambda, \mu, \nu, \mu_c, \nu_c\))
field_derivatives – Displacement and rotation gradients
properties – Poroelastic material properties (Biot parameters)
field_derivatives – Solid and fluid displacement gradients
properties – Material properties (density \(\rho\))
field_derivatives – Field gradients ( \(\frac{\partial u}{\partial x_i}\))
properties – Material properties ( \(\lambda\), \(\mu\), \(\rho\))
field_derivatives – Displacement gradients ( \(\frac{\partial u_i}{\partial x_j}\))
- Returns:
1x2 stress tensor [ \(\sigma_{xx}\), \(\sigma_{zz}\)]
- Returns:
2x2 symmetric stress tensor [ \(\sigma_{xx}, \sigma_{xz}; \sigma_{xz}, \sigma_{zz}\)]
- Returns:
1x2 shear stress tensor [ \(\sigma_{xy}\), \(\sigma_{zy}\)]
- Returns:
2x2 symmetric stress tensor [ \(\sigma_{xx}\), \(\sigma_{xz}\); \(\sigma_{xz}\), \(\sigma_{zz}\)]
- Returns:
1x2 shear stress tensor [ \(\sigma_{xy}\), \(\sigma_{zy}\)]
- Returns:
3x2 extended stress tensor (force + couple stresses)
- Returns:
4x2 coupled stress tensor (solid + fluid)
- Returns:
1x3 stress tensor with diagonal components
- Returns:
3x3 symmetric stress tensor