Acoustic FDTD Solver
Public Member Functions | Private Attributes | List of all members
ElasticProperty Class Reference

#include <ElasticProperty.hpp>

Inheritance diagram for ElasticProperty:
MaterialDecorator Material

Public Member Functions

 ElasticProperty ()
 ElasticProperty (const double density, const double bulk_modulus, const double youngs_modulus)
 ElasticProperty (Material *m, const double density, const double bulk_modulus, const double youngs_modulus)
 ElasticProperty (const ElasticProperty &the_property)
ElasticPropertyoperator= (const ElasticProperty &the_property)
ElasticPropertyclone () const
void print () const
 Print the parameters associated with the material.
 ~ElasticProperty ()
virtual double getBulkModulus () const
 This method is implemented in AcousticProperty and ElasticProperty.
virtual double getYoungsModulus () const
 Elastic properties.
virtual double getLameFirst () const
 Elastic properties, represented by $\lambda$.
virtual double getShearModulus () const
 Elastic properties, represented by $\mu$ or $G$.
double getCompressionalVelocity () const
double getShearVelocity () const
- Public Member Functions inherited from MaterialDecorator
 MaterialDecorator ()
 MaterialDecorator (Material *m)
 MaterialDecorator (const MaterialDecorator &the_decorator)
MaterialDecoratoroperator= (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 getDensity () const
 Acoustic properties.
virtual double getAcousticConductivity () const
virtual double getAcousticPhaseVelocity (const double frequency) const
 Acoustic properties.
virtual double getAcousticWavelength (const double frequency) const
 Acoustic properties.
virtual std::complex< double > getAcousticWaveNumber (const double frequency) const
 Acoustic properties.
virtual std::complex< double > getAcousticImpedance (const double frequency) const
 Acoustic properties.
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 ()

Private Attributes

double rho
 Density (kg/m^3)
double K
 Bulk modulus (Pa)
double E
 Young's modulus (Pa)
double lambda
 Lame's first parameter.
double mu
 Lame's second parameter.

Additional Inherited Members

- Protected Attributes inherited from MaterialDecorator
Materialmaterial

Constructor & Destructor Documentation

ElasticProperty::ElasticProperty ( )
ElasticProperty::ElasticProperty ( const double  density,
const double  bulk_modulus,
const double  youngs_modulus 
)
Parameters
density(kg/m^3)
bulk_modulus(Pa)
youngs_modulus(Pa)
ElasticProperty::ElasticProperty ( Material m,
const double  density,
const double  bulk_modulus,
const double  youngs_modulus 
)
ElasticProperty::ElasticProperty ( const ElasticProperty the_property)
ElasticProperty::~ElasticProperty ( )

Member Function Documentation

ElasticProperty * ElasticProperty::clone ( ) const
virtual

Reimplemented from MaterialDecorator.

double ElasticProperty::getBulkModulus ( ) const
virtual

This method is implemented in AcousticProperty and ElasticProperty.

Reimplemented from MaterialDecorator.

double ElasticProperty::getCompressionalVelocity ( ) const
double ElasticProperty::getLameFirst ( ) const
virtual

Elastic properties, represented by $\lambda$.

Reimplemented from MaterialDecorator.

double ElasticProperty::getShearModulus ( ) const
virtual

Elastic properties, represented by $\mu$ or $G$.

Reimplemented from MaterialDecorator.

double ElasticProperty::getShearVelocity ( ) const
double ElasticProperty::getYoungsModulus ( ) const
virtual

Elastic properties.

Reimplemented from MaterialDecorator.

ElasticProperty & ElasticProperty::operator= ( const ElasticProperty the_property)
void ElasticProperty::print ( ) const
virtual

Print the parameters associated with the material.

Reimplemented from MaterialDecorator.

Member Data Documentation

double ElasticProperty::E
private

Young's modulus (Pa)

double ElasticProperty::K
private

Bulk modulus (Pa)

double ElasticProperty::lambda
private

Lame's first parameter.

double ElasticProperty::mu
private

Lame's second parameter.

double ElasticProperty::rho
private

Density (kg/m^3)


The documentation for this class was generated from the following files: