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

Implements a digital waveguide module for conical junctions.

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:

  • method defines the method for calculating the internal filter parameters. May be either "IIM", "BT" or "TICM". Defaults to "IIM".
  • mode defines the interpretation of the parameters: "default" means that r1 and r2 are interpreted as cone apex distances, whereas for "boreprofile", other parameters can be specified. Defaults to "default".
  • r1 Radius of the left wave sphere in m (used in default mode).
  • r2 Radius of the right wave sphere in m (used in default mode).
  • S1 Area of the left wave sphere in m (used in default mode).
  • S2 Area of the right wave sphere in m (used in default mode).
  • lr1 Radius of the left end of the left cone in m (used in boreprofile mode).
  • lr2 Radius of the right end of the left cone in m (used in boreprofile mode).
  • llength Length of the left cone in m (used in boreprofile mode).
  • rr1 Radius of the left end of the right cone in m (used in boreprofile mode).
  • rr2 Radius of the right end of the right cone in m (used in boreprofile mode)
  • rlength Length of the right cone in m (used in boreprofile mode).
Inheritance diagram for DWGconeJunctionModule:
ARTItimeModule ARTobject ARTcell

Public Member Functions

 DWGconeJunctionModule (const string &name="DWGConeJunctionModule", const string &sds="", const string &lds="", const string &htm="")
 Constructor of the DWGconeJunctionModule class.
virtual ARTItimeModuleCreate (const string &name, const string &sds="", const string &lds="", const string &htm="")
 Factory function which creates a new DWG cone junction module object with the given input parameters.
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 ~DWGconeJunctionModule ()
 Destructor of the DWGconeJunctionModule 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 junction function based on the calculated filter parameters.
virtual void calculateConeApex ()
 Calculates the cone apex radii and surface values if the parameter values are given as a bore list.
virtual double getB0 (const string &method)
 Calculates the b0 parameter of the filter function needed by the cone junction.
virtual double getB1 (const string &method)
 Calculates the b1 parameter of the filter function needed by the cone junction.
virtual double getA1 (const string &method)
 Calculates the a1 parameter of the filter function needed by the cone junction.

Protected Attributes

IPortTypep1p_
 Forwards traveling wave left input port.
OPortType * p2p_
 Forwards traveling wave right output port.
OPortType * p1m_
 Backwards traveling wave left output port.
IPortTypep2m_
 Backwards traveling wave right input port.
OPortType * rz_
 Pointer to internal signal responsible for the output calculation.
localParameterTyper1_
 Pointer to the left cone apex radius parameter.
localParameterTyper2_
 Pointer to the right cone apex radius parameter.
localParameterTypeS1_
 Pointer to the left sphere surface parameter.
localParameterTypeS2_
 Pointer to the right sphere surface parameter.
- Protected Attributes inherited from ARTItimeModule
ARTtimeSimulator_simulator
 Simulator object to which the current time module belongs.
- Protected Attributes inherited from ARTobject
list< ARTproperty * > propertyList_
list< ARTproperty * >::iterator piter_
list< ARTmethod * > methodList_
list< ARTmethod * >::iterator miter_
- Protected Attributes inherited from ARTcell
string name_
 Identifier of ARTObject.
string shortDesc_
 Short Description of ARTObject (single line hint)
string longDesc_
 Long Description of ARTObject (multi line text)
string helpFile_
 File name of HTML help file for ARTObject.

Constructor & Destructor Documentation

DWGconeJunctionModule::DWGconeJunctionModule ( const string &  name = "DWGConeJunctionModule",
const string &  sds = "",
const string &  lds = "",
const string &  htm = "" 
)
explicit

Constructor of the DWGconeJunctionModule class.

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

Member Function Documentation

void DWGconeJunctionModule::addIPort ( const string &  name,
const ARTdataProp refPort 
)
virtual

Adds a new input port to the current time module.

Parameters
[in]nameLocally unique identifier of the new input port. Either has to be "p1p" or "p2m" for the DWG cone junction module.
[in]refPortPointer to an existing output port which will be associated with the new input port.
Exceptions
ARTerrorIf the given name is different to "p1p" or "p2m" or the provided port is no valid output port object.

Implements ARTItimeModule.

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

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

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

Implements ARTItimeModule.

double DWGconeJunctionModule::getA1 ( const string &  method)
protectedvirtual

Calculates the a1 parameter of the filter function needed by the cone junction.

Parameters
[in]methoddefines the method for calculating the filter parameter. May either be "IIM", "TICM" or "BT". ARTerror If no global parameter "c" for the sound velocity was defined in the current simulator or the given method cannot be found.
double DWGconeJunctionModule::getB0 ( const string &  method)
protectedvirtual

Calculates the b0 parameter of the filter function needed by the cone junction.

Parameters
[in]methoddefines the method for calculating the filter parameter. May either be "IIM", "TICM" or "BT". ARTerror If no global parameter "c" for the sound velocity was defined in the current simulator or the given method cannot be found.
double DWGconeJunctionModule::getB1 ( const string &  method)
protectedvirtual

Calculates the b1 parameter of the filter function needed by the cone junction.

Parameters
[in]methoddefines the method for calculating the filter parameter. May either be "IIM", "TICM" or "BT". ARTerror If no global parameter "c" for the sound velocity was defined in the current simulator or the given method cannot be found.
ARTdataProp * DWGconeJunctionModule::getPort ( const string &  name)
virtual

Returns a pointer to the port object with the given name.

The DWG cone junction module only has a valid names for output ports which are called "p2p" or "p1m". Trying to get any other property with another name will trigger an exception.

Exceptions
ARTerrorIf no port with the given name could be found in the current module.

Reimplemented from ARTItimeModule.

void DWGconeJunctionModule::setCurrentIndex ( int  idx)
virtual

Sets the current time module and all output ports to the given time index.

Parameters
[in]idxThe time index which will be set.

Implements ARTItimeModule.

void DWGconeJunctionModule::simulateCurrentIndex ( int  idx)
virtual

Triggers the evaluation of all output ports of the time module for the given time index.

Parameters
[in]idxThe time index which will be simulated.

Implements ARTItimeModule.

Member Data Documentation

OPortType* DWGconeJunctionModule::p1m_
protected

Backwards traveling wave left output port.

IPortType* DWGconeJunctionModule::p1p_
protected

Forwards traveling wave left input port.

IPortType* DWGconeJunctionModule::p2m_
protected

Backwards traveling wave right input port.

OPortType* DWGconeJunctionModule::p2p_
protected

Forwards traveling wave right output port.

localParameterType* DWGconeJunctionModule::r1_
protected

Pointer to the left cone apex radius parameter.

localParameterType* DWGconeJunctionModule::r2_
protected

Pointer to the right cone apex radius parameter.

OPortType* DWGconeJunctionModule::rz_
protected

Pointer to internal signal responsible for the output calculation.

localParameterType* DWGconeJunctionModule::S1_
protected

Pointer to the left sphere surface parameter.

localParameterType* DWGconeJunctionModule::S2_
protected

Pointer to the right sphere surface parameter.