specfem::medium::compute_stress

template<typename PointPropertiesType, typename PointFieldDerivativesType>
auto specfem::medium::compute_stress(const PointPropertiesType &properties, const PointFieldDerivativesType &field_derivatives) -> decltype(specfem::medium::impl_compute_stress(properties, field_derivatives))

Compute stress tensor from material properties and field derivatives.

Generic stress computation interface that dispatches to medium-specific implementations based on dimension, medium type, and property tags. Provides compile-time type safety through static assertions.

// Example usage for 2D elastic isotropic medium
using Properties = specfem::point::properties<dim2, elastic, isotropic, false>;
using FieldDerivatives = specfem::point::field_derivatives<dim2, elastic, false>;
Properties props = ...; // Initialize material properties
FieldDerivatives derivs = ...; // Initialize field derivatives
auto stress = specfem::medium::compute_stress(props, derivs);

Template Parameters:
  • PointPropertiesType – Point-wise material properties container

  • PointFieldDerivativesType – Point-wise displacement derivatives container

Parameters:
  • properties – Material properties at quadrature point

  • field_derivatives – Displacement field derivatives at point

Returns:

Stress tensor computed using medium-specific constitutive relations

Implementation Details