Adds a 3D micropolar (Cosserat) elastic medium with 6 DOFs (3 displacement + 3 rotation) throughout the mesher, mesh reader, solver infrastructure, and physics kernels. Uses medium_tag::elastic_spin + property_tag::isotropic_cosserat as the tag pair. No absorbing boundary conditions in this initial implementation.
Decisions
-
Medium tag:
elastic_spin (existing enum, new macro)
-
DOFs: 6 — 3 displacement $(u_x, u_y, u_z)$ + 3 rotation $(\varphi_x, \varphi_y, \varphi_z)$
-
Mesher domain ID:
IDOMAIN_COSSERAT = 4
-
Stacey absorbing boundaries: deferred to a follow-up PR
-
Material parameters: identical to 2D — $(\rho, \kappa, \mu, \nu, j, \lambda_c, \mu_c, \nu_c)$
Adds a 3D micropolar (Cosserat) elastic medium with 6 DOFs (3 displacement + 3 rotation) throughout the mesher, mesh reader, solver infrastructure, and physics kernels. Uses
medium_tag::elastic_spin+property_tag::isotropic_cosseratas the tag pair. No absorbing boundary conditions in this initial implementation.Decisions
elastic_spin(existing enum, new macro)IDOMAIN_COSSERAT = 4