|
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
1.8.1.2