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)