Acoustic Research Tool (ART)
v0.10
|
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). Public Member Functions | |
DWGconeJunctionModule (const string &name="DWGConeJunctionModule", const string &sds="", const string &lds="", const string &htm="") | |
Constructor of the DWGconeJunctionModule class. | |
virtual ARTItimeModule * | Create (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 ARTdataProp * | getPort (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. | |
![]() | |
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. | |
![]() | |
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 ARTcell * | clone () |
ARTproperty * | GetProperties (ARTproperty *pos) |
iterate through property list (pass NULL to restart iteration, receive NULL after last element) | |
ARTproperty * | FindProperty (const string nam) |
find and return named property (or return NULL if no match) | |
ARTproperty * | AppendProperty (const string name, const string sds="", const string lds="", const string htm="") |
Append new property with given name to ARTobject. | |
ARTdataProp * | AppendDataProp (const string name, ARTvariant *val, const string sds="", const string lds="", const string htm="") |
append new data property with given name to ARTobject | |
ARTdataProp * | AppendDataProp (const string name, const double val, const string sds="", const string lds="", const string htm="") |
ARTdataProp * | AppendDataProp (const string name, const float val, const string sds="", const string lds="", const string htm="") |
ARTdataProp * | AppendDataProp (const string name, const string val, const string sds="", const string lds="", const string htm="") |
ARTdataProp * | AppendDataProp (const string name, const int val, const string sds="", const string lds="", const string htm="") |
ARTdataProp * | AppendDataProp (const string name, const string *val, const string sds="", const string lds="", const string htm="") |
ARTdataProp * | AppendDataProp (ARTdataProp *dataProp) |
ARTlistProp * | AppendListProp (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) | |
ARTmethod * | GetMethods (ARTmethod *pos) |
iterate through method list (pass NULL to restart iteration, receive NULL after last element) | |
ARTmethod * | FindMethod (const string nam) |
find and return named method (or return NULL if no match) | |
ARTmethod * | AppendMethod (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 () |
![]() | |
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 | |
IPortType * | p1p_ |
Forwards traveling wave left input port. | |
OPortType * | p2p_ |
Forwards traveling wave right output port. | |
OPortType * | p1m_ |
Backwards traveling wave left output port. | |
IPortType * | p2m_ |
Backwards traveling wave right input port. | |
OPortType * | rz_ |
Pointer to internal signal responsible for the output calculation. | |
localParameterType * | r1_ |
Pointer to the left cone apex radius parameter. | |
localParameterType * | r2_ |
Pointer to the right cone apex radius parameter. | |
localParameterType * | S1_ |
Pointer to the left sphere surface parameter. | |
localParameterType * | S2_ |
Pointer to the right sphere surface parameter. | |
![]() | |
ARTtimeSimulator * | _simulator |
Simulator object to which the current time module belongs. | |
![]() | |
list< ARTproperty * > | propertyList_ |
list< ARTproperty * >::iterator | piter_ |
list< ARTmethod * > | methodList_ |
list< ARTmethod * >::iterator | miter_ |
![]() | |
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. |
|
explicit |
Constructor of the DWGconeJunctionModule class.
[in] | name | Represents the unique identifier of the DWG cone junction module. |
[in] | sds | Short description (single line) of the DWG cone junction module. |
[in] | lds | Long description of the DWG cone junction module. |
[in] | htm | Path to help file in HTML format. |
|
virtual |
Adds a new input port to the current time module.
[in] | name | Locally unique identifier of the new input port. Either has to be "p1p" or "p2m" for the DWG cone junction module. |
[in] | refPort | Pointer to an existing output port which will be associated with the new input port. |
ARTerror | If the given name is different to "p1p" or "p2m" or the provided port is no valid output port object. |
Implements ARTItimeModule.
|
virtual |
Factory function which creates a new DWG cone junction module object with the given input parameters.
[in] | name | Represents the unique identifier of the DWG cone junction module. |
[in] | sds | Short description (single line) of the DWG cone junction module. |
[in] | lds | Long description of the DWG cone junction module. |
[in] | htm | Path to help file in HTML format. |
Implements ARTItimeModule.
|
protectedvirtual |
Calculates the a1 parameter of the filter function needed by the cone junction.
[in] | method | defines 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. |
|
protectedvirtual |
Calculates the b0 parameter of the filter function needed by the cone junction.
[in] | method | defines 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. |
|
protectedvirtual |
Calculates the b1 parameter of the filter function needed by the cone junction.
[in] | method | defines 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. |
|
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.
ARTerror | If no port with the given name could be found in the current module. |
Reimplemented from ARTItimeModule.
|
virtual |
Sets the current time module and all output ports to the given time index.
[in] | idx | The time index which will be set. |
Implements ARTItimeModule.
|
virtual |
Triggers the evaluation of all output ports of the time module for the given time index.
[in] | idx | The time index which will be simulated. |
Implements ARTItimeModule.
|
protected |
Backwards traveling wave left output port.
|
protected |
Forwards traveling wave left input port.
|
protected |
Backwards traveling wave right input port.
|
protected |
Forwards traveling wave right output port.
|
protected |
Pointer to the left cone apex radius parameter.
|
protected |
Pointer to the right cone apex radius parameter.
|
protected |
Pointer to internal signal responsible for the output calculation.
|
protected |
Pointer to the left sphere surface parameter.
|
protected |
Pointer to the right sphere surface parameter.