Acoustic Research Tool (ART)  v0.10
DWGconeModule Class Reference

Implements a digital waveguide module for conical bores.

The module has two input and two output ports:

  • p1p Input port for the forwards traveling wave.
  • p2p Output port for the forwards traveling wave.
  • p1m Input port for the backwards traveling wave.
  • p2m Input port for the backwards traveling wave.

The user can specify the following local parameters:

  • type defines the type of the fractional delay filter and can either be "lagrange" or "thiran". Defaults to "lagrange".
  • length defines the length of the cone in m. Defaults to 0.05, i.e. 50 mm.
  • mode defines the interpretation of the parameters: "default" means that r1 and r2 are interpreted as cone apex distances, whereas for "boreprofile", the cone apex distances are calculated based on the given radii of the left (r1) and right (r2) cone opening and the specified length of the cone. Defaults to "default".
  • r1 Radius of the left wave sphere in m in default mode or radius of the left cone ending in boreprofile mode.
  • r2 Radius of the right wave sphere in m in default mode or radius of the right cone ending in boreprofile mode.
Inheritance diagram for DWGconeModule:
DWGcylinderModule genericDelayModule ARTItimeModule ARTobject ARTcell

Public Member Functions

 DWGconeModule (const string &name="DWGConeModule", const string &sds="", const string &lds="", const string &htm="")
 Constructor of the DWGconeModule class.
virtual ARTItimeModuleCreate (const string &name, const string &sds="", const string &lds="", const string &htm="")
 Factory function which creates a new DWG cone module object with the given input parameters.
virtual ~DWGconeModule ()
 Destructor of the DWGconeModule class.
- Public Member Functions inherited from DWGcylinderModule
 DWGcylinderModule (const string &name="DWGCylinderModule", const string &sds="", const string &lds="", const string &htm="")
 Constructor of the DWGcylinderModule class.
virtual void addIPort (const string &name, const ARTdataProp *refPort)
 Adds a new input port to the current time module.
virtual ARTdataPropgetPort (const string &name)
 Returns a pointer to the port object with the given name.
virtual void setCurrentIndex (int idx)
 Sets the current time module and all output ports to the given time index.
virtual void simulateCurrentIndex (int idx)
 Triggers the evaluation of all output ports of the time module for the given time index.
virtual ~DWGcylinderModule ()
 Destructor of the DWGcylinderModule class.
- Public Member Functions inherited from genericDelayModule
 genericDelayModule (const string &name, const string &sds="", const string &lds="", const string &htm="")
 Constructor of the genericDelayModule class.
 ~genericDelayModule ()
 Destructor of the genericDelayModule class.
- Public Member Functions inherited from ARTItimeModule
 ARTItimeModule (const string &name, const string &sds="", const string &lds="", const string &htm="")
 Constructor of the ARTItimeModule class.
 ARTItimeModule (const ARTItimeModule &orig)
 Copy constructor which creates a new time module based on the given time module.
virtual void setLocalParameter (const string &name, const string &expr)
 Sets the definition of the local parameter with the given name.
virtual void setLocalParameter (const string &name, const std::complex< double > &val)
 Sets the definition of the local parameter with the given name.
virtual void setLocalParameter (const string &name, const double val)
 Sets the definition of the local parameter with the given name.
virtual void addGlobalParameter (const ARTdataProp *parameter)
 Adds a global parameter to the current time module by registering it to all output ports and local parameters.
virtual void removeGlobalParameter (const string &name)
 Removes the definition of the given global parameter from all output ports and local parameters.
virtual void setSimulator (ARTsimulator *sim)
 Sets the simulator of the current time module and all its output ports.
virtual ~ARTItimeModule ()
 Destructor of the ARTItimeModule class.
- Public Member Functions inherited from ARTobject
 ARTobject (const string name, const string sds="", const string lds="", const string htm="")
 objects must have a name, the rest is optional
 ARTobject (const ARTobject &orig)
 copy constructor
virtual ARTcellclone ()
ARTpropertyGetProperties (ARTproperty *pos)
 iterate through property list (pass NULL to restart iteration, receive NULL after last element)
ARTpropertyFindProperty (const string nam)
 find and return named property (or return NULL if no match)
ARTpropertyAppendProperty (const string name, const string sds="", const string lds="", const string htm="")
 Append new property with given name to ARTobject.
ARTdataPropAppendDataProp (const string name, ARTvariant *val, const string sds="", const string lds="", const string htm="")
 append new data property with given name to ARTobject
ARTdataPropAppendDataProp (const string name, const double val, const string sds="", const string lds="", const string htm="")
ARTdataPropAppendDataProp (const string name, const float val, const string sds="", const string lds="", const string htm="")
ARTdataPropAppendDataProp (const string name, const string val, const string sds="", const string lds="", const string htm="")
ARTdataPropAppendDataProp (const string name, const int val, const string sds="", const string lds="", const string htm="")
ARTdataPropAppendDataProp (const string name, const string *val, const string sds="", const string lds="", const string htm="")
ARTdataPropAppendDataProp (ARTdataProp *dataProp)
ARTlistPropAppendListProp (const string name, const string sds="", const string lds="", const string htm="")
 append new listableProperty with given name
bool DeleteProperty (ARTproperty *prp)
 delete current property (which was recently accessed by GetProperties, FindProperty or AppendProperty)
ARTmethodGetMethods (ARTmethod *pos)
 iterate through method list (pass NULL to restart iteration, receive NULL after last element)
ARTmethodFindMethod (const string nam)
 find and return named method (or return NULL if no match)
ARTmethodAppendMethod (const string name, const string sds="", const string lds="", const string htm="")
 append new method with given name
bool DeleteMethod (ARTmethod *mtd)
 delete current method (which was recently accessed by GetProperties, FindProperty or AppendProperty)
void SetPropertyList (list< ARTproperty * > &l)
void CopyPropertyListEntries (ARTobject *obj)
 copies properties from other objects (also copying the objects of all list-entries). OVERWRITES list own list!
void CopyMethodListEntries (ARTobject *obj)
 copies methods from other objects (also copying the objects of all list-entries). OVERWRITES list own list!
list< ARTproperty * > GetPropertyList ()
list< ARTmethod * > GetMethodList ()
- Public Member Functions inherited from ARTcell
 ARTcell (const string name="", const string sds="", const string lds="", const string htm="")
 ARTcell (const ARTcell &orig)
const string & GetName () const
const string & GetShortDescription () const
const string & GetLongDescription () const
const string & GetHelpFilename () const
void SetName (const string name)

Protected Member Functions

virtual void initLocalParams ()
 Internal method which creates and initializes all needed local parameters.
virtual void initSimulation ()
 Internal method which prepares the cone function based on the given filter type and delay by referring to the global sampling period parameter "T".
virtual void calculateConeApex ()
 Calculates the cone apex radii and surface values if the parameter values are given as a bore list.

Additional Inherited Members

- Protected Attributes inherited from DWGcylinderModule
IPortType * p1p_
 Forwards traveling wave left input port.
OPortTypep2p_
 Forwards traveling wave right output port.
OPortTypep1m_
 Backwards traveling wave left output port.
IPortType * p2m_
 Backwards traveling wave right input port.
OPortTypep1pbuf_
 Internal buffer for time delays - forwards traveling wave.
OPortTypep2mbuf_
 Internal buffer for time delays - backwards traveling wave.

Constructor & Destructor Documentation

DWGconeModule::DWGconeModule ( const string &  name = "DWGConeModule",
const string &  sds = "",
const string &  lds = "",
const string &  htm = "" 
)
explicit

Constructor of the DWGconeModule class.

Parameters
[in]nameRepresents the unique identifier of the DWG cone module.
[in]sdsShort description (single line) of the DWG cone module.
[in]ldsLong description of the DWG cone module.
[in]htmPath to help file in HTML format.

Member Function Documentation

ARTItimeModule * DWGconeModule::Create ( const string &  name,
const string &  sds = "",
const string &  lds = "",
const string &  htm = "" 
)
virtual

Factory function which creates a new DWG cone module object with the given input parameters.

Parameters
[in]nameRepresents the unique identifier of the DWG cone module.
[in]sdsShort description (single line) of the DWG cone module.
[in]ldsLong description of the DWG cone module.
[in]htmPath to help file in HTML format.

Reimplemented from DWGcylinderModule.

void DWGconeModule::initSimulation ( )
protectedvirtual

Internal method which prepares the cone function based on the given filter type and delay by referring to the global sampling period parameter "T".

Exceptions
ARTerrorIf the global parameter "c" for sound velocity cannot be found and the method was neither "lagrange" nor "thiran".

Reimplemented from DWGcylinderModule.