10 #define PI 3.141592653589793
11 #define EPS_0 8.854187817620389e-12
12 #define MU_0 1.256637061435917e-6
13 #define ETA_0 3.767303134617707e+2
14 #define C_0 2.99792458e8
30 virtual Material * clone()
const = 0;
34 virtual void print()
const = 0;
39 virtual bool operator==(
const Material &m)
const = 0;
46 virtual double getBulkModulus()
const = 0;
49 virtual double getDensity()
const = 0;
51 virtual double getAcousticConductivity()
const = 0;
54 virtual double getAcousticPhaseVelocity(
const double frequency)
const = 0;
57 virtual double getAcousticWavelength(
const double frequency)
const = 0;
60 virtual std::complex<double> getAcousticWaveNumber(
const double frequency)
const = 0;
63 virtual std::complex<double> getAcousticImpedance(
const double frequency)
const = 0;
68 virtual double getYoungsModulus()
const = 0;
71 virtual double getLameFirst()
const = 0;
74 virtual double getShearModulus()
const = 0;
79 virtual double getThermalConductivity()
const = 0;
82 virtual double getSpecificHeat()
const = 0;
85 virtual double getThermalExpansion()
const = 0;
90 virtual double getElectricConductivity()
const = 0;
93 virtual double getRelativePermittivity()
const = 0;
96 virtual double getRelativePermeability()
const = 0;
99 virtual double getMagneticConductivity()
const = 0;
102 virtual double getElectromagneticPhaseVelocity(
const double frequency)
const = 0;
105 virtual double getElectromagneticWavelength(
const double frequency)
const = 0;
108 virtual std::complex<double> getElectromagneticWaveNumber(
const double frequency)
const = 0;
111 virtual std::complex<double> getElectromagneticImpedance(
const double frequency)
const = 0;