specfem::point::stress_integrands

template<specfem::dimension::type DimensionTag, specfem::element::medium_tag MediumTag, bool UseSIMD>
struct stress_integrand : public specfem::data_access::Accessor<specfem::data_access::AccessorType::point, specfem::data_access::DataClassType::stress_integrand, DimensionTag, UseSIMD>

Store stress integrands for a quadrature point.

For elastic domains the stress integrand is given by: \( F_{ik} = \sum_{j=1}^{n} T_{ij} \partial_j \xi_{k} \) where \( T \) is the stress tensor. Equation (35) & (36) from Komatitsch and Tromp 2002 I. - Validation

For acoustic domains the stress integrand is given by: \( F_{ik} = \rho^{-1} \partial_i \xi_{k} \partial_k \chi_{k} \). Equation (44) & (45) from Komatitsch and Tromp 2002 I. - Validation

Template Parameters:
  • DimensionTag – The dimension of the element where the quadrature point is located

  • MediumTag – The medium of the element where the quadrature point is located

  • UseSIMD – Use SIMD instructions

Typedefs

using simd = typename base_type::template simd<type_real>

SIMD type.

using value_type = typename base_type::template tensor_type<type_real, components, dimension>

Underlying view type to store the stress integrand

Constructors

stress_integrand() = default

Default constructor.

inline stress_integrand(const value_type &F)

Constructor.

Parameters:

F – Stress integrands

Public Members

value_type F

View to store the stress integrand.