specfem::medium_physics::compute_strain

template<typename PointFieldDerivativesType>
auto specfem::medium_physics::compute_strain(const PointFieldDerivativesType &field_derivatives) -> decltype(specfem::medium_physics::impl_compute_strain(field_derivatives))

Compute strain tensor from field derivatives (kinematic, no material properties needed).

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

using FieldDerivatives = specfem::point::field_derivatives<dim2, elastic_psv, false>;
FieldDerivatives derivs = ...; // Initialize field derivatives
auto strain = specfem::medium_physics::compute_strain(derivs);

Template Parameters:

PointFieldDerivativesType – Point-wise displacement derivatives container

Parameters:

field_derivatives – Displacement field derivatives at point

Returns:

Strain tensor computed using medium-specific kinematics

Implementation Details