specfem::medium::material< dim2, electromagnetic, isotropic >¶
-
template<specfem::dimension::type DimensionTag, specfem::element::medium_tag MediumTag>
class material<DimensionTag, MediumTag, specfem::element::property_tag::isotropic, std::enable_if_t<specfem::element::is_electromagnetic<MediumTag>::value>>¶ - #include <material.hpp>
Template specialization for electromagnetic isotropic (TE) material properties.
Constructors
-
inline material(type_real mu0, type_real e0, type_real e11_e0, type_real e33_e0, type_real sig11, type_real sig33, type_real Qe11, type_real Qe33, type_real Qs11, type_real Qs33)¶
Construct a new elastic isotropic material.
- Parameters:
mu0 – Magnetic permeability in henry per meter
e0 – \( \epsilon_{0} \) Effective permittivity in farad per meter
e11_e0 – \( \epsilon_{11}/\epsilon_{0} \) component of the permittivity tensor
e33_e0 – \( \epsilon_{33}/\epsilon_{0} \) component of the permittivity tensor
sig11 – \( \sigma_{11} \) component of the conductivity tensor
sig33 – \( \sigma_{33} \) component of the conductivity tensor
Qe11 – Quality factor of \( \epsilon_{11}/\epsilon_{0} \) for attenuation
Qe33 – Quality factor of \( \epsilon_{33}/\epsilon_{0} \) for attenuation
Qs11 – Quality factor of \( \sigma_{11} \) for attenuation
Qs33 – Quality factor of \( \sigma_{33} \) for attenuation
-
material() = default¶
Default constructor.
Public Functions
-
inline bool operator==(const material<dimension_tag, medium_tag, specfem::element::property_tag::isotropic> &other) const¶
Check if 2 materials have the same properties.
- Parameters:
other – Material to compare with
- Returns:
true If the materials have the same properties
-
inline bool operator!=(const material<dimension_tag, specfem::element::medium_tag::electromagnetic_te, specfem::element::property_tag::isotropic> &other) const¶
Check if 2 materials have different properties.
- Parameters:
other – Material to compare with
- Returns:
true If the materials have different properties
-
inline specfem::point::properties<dimension_tag, medium_tag, property_tag, false> get_properties() const¶
Get the material properties.
- Returns:
specfem::point::properties Material properties
-
inline std::string print() const¶
Print the material properties.
- Returns:
std::string Formatted material properties
Public Static Attributes
-
static constexpr auto dimension_tag = DimensionTag¶
Dimension of the material.
-
static constexpr auto property_tag = specfem::element::property_tag::isotropic¶
Property tag.
Private Members
-
type_real mu0¶
\( \mu_{0} \) Magnetic permeability in henry per meter
-
type_real e0¶
\( \epsilon_{0} \) Effective permittivity in farad per meter
-
type_real e11_e0¶
\( \epsilon_{11}/\epsilon_{0} \) component of the permittivity tensor
-
type_real e33_e0¶
\( \epsilon_{33}/\epsilon_{0} \) component of the permittivity tensor
-
type_real sig11¶
\( \sigma_{11} \) component of the conductivity tensor
-
type_real sig33¶
\( \sigma_{33} \) component of the conductivity tensor
-
type_real Qe11¶
Quality factor of \( \epsilon_{11}/\epsilon_{0} \) for attenuation
-
type_real Qe33¶
Quality factor of \( \epsilon_{33}/\epsilon_{0} \) for attenuation
-
type_real Qs11¶
Quality factor of \( \sigma_{11} \) for attenuation.
-
type_real Qs33¶
Quality factor of \( \sigma_{33} \) for attenuation.
-
inline material(type_real mu0, type_real e0, type_real e11_e0, type_real e33_e0, type_real sig11, type_real sig33, type_real Qe11, type_real Qe33, type_real Qs11, type_real Qs33)¶