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