Acoustic FDTD Solver
|
Assume the following analogy between the acoustic quantities and the electromagnetic quantities. More...
#include <AcousticProperty.hpp>
Public Member Functions | |
AcousticProperty () | |
Acoustic properties of water. | |
AcousticProperty (const std::string &name) | |
AcousticProperty (const double bulk_modulus, const double density, const double conductive_loss) | |
AcousticProperty (Material *m, const double phase_velocity, const double density, const double attn=0) | |
AcousticProperty (const AcousticProperty &the_property) | |
AcousticProperty & | operator= (const AcousticProperty &the_property) |
AcousticProperty * | clone () const |
void | print () const |
Print the parameters associated with the material. | |
~AcousticProperty () | |
virtual double | getBulkModulus () const |
Acoustic properties. | |
virtual double | getDensity () const |
Acoustic properties. | |
virtual double | getAcousticConductivity () const |
virtual double | getAcousticPhaseVelocity (const double freq) const |
Acoustic properties. | |
virtual double | getAcousticWavelength (const double freq) const |
Acoustic properties. | |
virtual double | getAbsorptionDepth (const double freq) const |
virtual std::complex< double > | getAcousticWaveNumber (const double freq) const |
Acoustic properties. | |
virtual std::complex< double > | getAcousticImpedance (const double freq) const |
Acoustic properties. | |
virtual double | getEquivalentBulkModulus (const double freq) const |
virtual double | getEquivalentConductivity (const double freq) const |
Public Member Functions inherited from MaterialDecorator | |
MaterialDecorator () | |
MaterialDecorator (Material *m) | |
MaterialDecorator (const MaterialDecorator &the_decorator) | |
MaterialDecorator & | operator= (const MaterialDecorator &the_decorator) |
bool | operator== (const Material &m) const |
The objects need to be equality-comparable to be used with the Flyweight pattern. | |
virtual | ~MaterialDecorator () |
virtual double | getYoungsModulus () const |
Elastic properties. | |
virtual double | getLameFirst () const |
Elastic properties, represented by . | |
virtual double | getShearModulus () const |
Elastic properties, represented by or . | |
virtual double | getThermalConductivity () const |
Thermal properties. | |
virtual double | getSpecificHeat () const |
Thermal properties. | |
virtual double | getThermalExpansion () const |
Thermal properties. | |
virtual double | getElectricConductivity () const |
Electromagnetic properties. | |
virtual double | getRelativePermittivity () const |
Electromagnetic properties. | |
virtual double | getMagneticConductivity () const |
Electromagnetic properties. | |
virtual double | getRelativePermeability () const |
Electromagnetic properties. | |
virtual double | getElectromagneticPhaseVelocity (const double frequency) const |
Electromagnetic properties. | |
virtual double | getElectromagneticWavelength (const double frequency) const |
Electromagnetic properties. | |
virtual std::complex< double > | getElectromagneticWaveNumber (const double frequency) const |
Electromagnetic properties. | |
virtual std::complex< double > | getElectromagneticImpedance (const double frequency) const |
Electromagnetic properties. | |
Public Member Functions inherited from Material | |
virtual | ~Material () |
Static Public Member Functions | |
static double | getConductivityFromAttenuation (const double freq, const double attn, const double bulk_modulus, const double density) |
The attenuation is frequently specified for acoustic medium. |
Protected Attributes | |
double | K |
phase velocity (m/s) | |
double | rho |
density (kg/m^3) | |
double | xi |
conductive loss | |
Protected Attributes inherited from MaterialDecorator | |
Material * | material |
Assume the following analogy between the acoustic quantities and the electromagnetic quantities.
corresponds to and corresponds to .
AcousticProperty::AcousticProperty | ( | ) |
Acoustic properties of water.
AcousticProperty::AcousticProperty | ( | const std::string & | name | ) |
AcousticProperty::AcousticProperty | ( | const double | bulk_modulus, |
const double | density, | ||
const double | conductive_loss | ||
) |
AcousticProperty::AcousticProperty | ( | Material * | m, |
const double | phase_velocity, | ||
const double | density, | ||
const double | attn = 0 |
||
) |
AcousticProperty::AcousticProperty | ( | const AcousticProperty & | the_property | ) |
AcousticProperty::~AcousticProperty | ( | ) |
|
virtual |
Reimplemented from MaterialDecorator.
Reimplemented in HNAcousticProperty.
|
virtual |
|
virtual |
Reimplemented from MaterialDecorator.
|
virtual |
|
virtual |
Acoustic properties.
Reimplemented from MaterialDecorator.
|
virtual |
Acoustic properties.
Reimplemented from MaterialDecorator.
|
virtual |
|
virtual |
Acoustic properties.
Reimplemented from MaterialDecorator.
|
static |
The attenuation is frequently specified for acoustic medium.
This function calculate the conductive loss from attenuation. Its returned value can be used to instantiate an AcousticProperty object.
freq | (Hz) |
attn | (dB/m) |
bulk_modulus | (Pa) |
density | (m/kg^{-3}) |
|
virtual |
Acoustic properties.
Reimplemented from MaterialDecorator.
|
virtual |
Reimplemented in HNAcousticProperty.
|
virtual |
Reimplemented in HNAcousticProperty.
AcousticProperty & AcousticProperty::operator= | ( | const AcousticProperty & | the_property | ) |
|
virtual |
Print the parameters associated with the material.
Reimplemented from MaterialDecorator.
Reimplemented in HNAcousticProperty.
|
protected |
phase velocity (m/s)
|
protected |
density (kg/m^3)
|
protected |
conductive loss