2D Elastic Isotropic Cosserat Coupled Stress Computation¶
-
template<typename T, typename PointPropertiesType, typename PointStressType, typename PointAccelerationType>
void impl_compute_cosserat_couple_stress(const std::true_type, const std::integral_constant<specfem::element::dimension_tag, specfem::element::dimension_tag::dim2>, const std::integral_constant<specfem::element::medium_tag, specfem::element::medium_tag::elastic_psv_t>, const std::integral_constant<specfem::element::property_tag, specfem::element::property_tag::isotropic_cosserat>, const PointPropertiesType &point_properties, const T factor, const PointStressType &point_stress, PointAccelerationType &acceleration)¶ Compute couple stress contribution for 2D elastic isotropic Cosserat media.
Implements moment equilibrium equation for micropolar continuum with rotational degrees of freedom. Contributes to the spin component of the acceleration scratch view from stress tensor asymmetry.
Moment equilibrium equation: \( j\ddot{\phi}_y = (\sigma_{xz} - \sigma_{zx}) \cdot w_{iz} \cdot w_{ix} \cdot J \)
Note
The caller (epilogue) applies a global sign negation when reading from the scatter accumulator, so this function uses
+=(positive sign). The final contribution to the global acceleration field is-(sigma_xz - sigma_zx)*factor, matching the stiffness sign convention.- Parameters:
point_properties – Cosserat material properties
factor – Integration factor w(iz)*w(ix)*J for this GLL point
point_stress – Physical stress tensor at this GLL point
acceleration[in, out] – Acceleration delta (rotational component modified)