2D Elastic Isotropic Cosserat Stress Computation¶
-
template<typename PointPropertiesType, typename PointDisplacementType, typename PointStressType>
void impl_compute_cosserat_stress(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 &properties, const PointDisplacementType &u, PointStressType &point_stress)¶ Compute Cosserat stress contribution for 2D elastic isotropic micropolar media.
Implements asymmetric stress correction for a Cosserat continuum with rotational degrees of freedom. Adds coupling between the rotation field and the asymmetric Cosserat stress tensor to capture microstructural effects.
Stress corrections:
\( \sigma_{zx} = \sigma_{zx}^{classical} - 2\nu\phi_y \)
\( \sigma_{xz} = \sigma_{xz}^{classical} + 2\nu\phi_y \)
where:
\( \nu \): Cosserat coupling parameter
\( \phi_y \): rotation about y-axis (out-of-plane)
Asymmetric tensor: \( \sigma_{zx} \neq \sigma_{xz} \)
- Parameters:
properties – Cosserat material properties including the Cosserat coupling parameter \( \nu \) (nu)
u – Displacement field [u_x, u_z, φ_y]
point_stress[in, out] – Stress tensor (modified by Cosserat effects)