specfem::medium::properties::data_container< dim3, elastic, isotropic >¶
-
template<specfem::dimension::type DimensionTag, specfem::element::medium_tag MediumTag>
struct data_container<DimensionTag, MediumTag, specfem::element::property_tag::isotropic, std::enable_if_t<specfem::element::is_elastic<MediumTag>::value>> - #include <properties_container.hpp>
Elastic isotropic material properties container.
Stores material properties for elastic wave propagation in isotropic solids. Supports both elastic and viscoelastic media types through template specialization with SFINAE (enable_if constraint).
Material parameters:
kappa: Bulk modulus (resistance to compression)mu: Shear modulus (resistance to shear deformation)rho: Density (mass per unit volume)
See also
DATA_CONTAINER macro for details on generated members and methods.
- Template Parameters:
DimensionTag – Spatial dimension (dim2/dim3)
MediumTag – Physical medium type (elastic, elastic_sh, elastic_psv)
specfem::medium::properties::data_container< dim3, elastic, anisotropic >¶
-
template<specfem::element::medium_tag MediumTag>
struct data_container<specfem::dimension::type::dim2, MediumTag, specfem::element::property_tag::anisotropic, std::enable_if_t<specfem::element::is_elastic<MediumTag>::value>> - #include <properties_container.hpp>
Elastic anisotropic material properties container (2D).
Stores material properties for elastic wave propagation in anisotropic solids. Uses full elastic stiffness tensor representation for 2D anisotropic media with SFINAE constraint for elastic medium types.
Material parameters:
c11,c13,c15: Elastic stiffness tensor components (row 1)c33,c35: Elastic stiffness tensor components (row 3)c55: Elastic stiffness tensor component (shear)c12,c23,c25: Additional stiffness tensor componentsrho: Density (mass per unit volume)
See also
DATA_CONTAINER macro for details on generated members and methods.
- Template Parameters:
MediumTag – Physical medium type (elastic, elastic_sh, elastic_psv)
specfem::medium::properties::data_container< dim3, elastic, isotropic_cosserat >¶
-
template<specfem::dimension::type DimensionTag, specfem::element::medium_tag MediumTag>
struct data_container<DimensionTag, MediumTag, specfem::element::property_tag::isotropic_cosserat, std::enable_if_t<specfem::element::is_elastic<MediumTag>::value>> - #include <properties_container.hpp>
Data container to hold properties of 2D elastic isotropic Cosserat media at a quadrature point.
Medium Properties for 2D Elastic Isotropic Cosserat Media
Parameters:
rho: Density \( \rho \)kappa: Bulk modulus \( \kappa \)mu: Shear modulus \( \mu \)nu: Symmetry breaking coupling modulus \( \nu \)j: Inertia density \( j \)lambda_c: Coupling bulk modulus \( \lambda_c \)mu_c: Coupling shear modulus \( \mu_c \)nu_c: Coupling symmetry breaking modulus \( \nu_c \)
See also
DATA_CONTAINER macro for details on generated members and methods.
- Template Parameters:
MediumTag – The type of the medium
UseSIMD – Boolean indicating whether to use SIMD intrinsics
Enable – SFINAE type to enable this specialization only for elastic media
Public Static Attributes
-
static constexpr auto dimension_tag = DimensionTag
Dimension of the material.
-
static constexpr auto medium_tag = MediumTag
Medium tag.
-
static constexpr auto property_tag = specfem::element::property_tag::isotropic_cosserat
Property tag.