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

This is the common interface for acoustic models.

Models are used by elements of a circuit to calculate acoustic properties like impedance. You can create custom models by implementing this interface.

Inheritance diagram for ARTmodelInterface:
ARTobject ARTcell ARTelement BranchModel HornElementPrototype_FD< HE > TerminationModel ToneHole ARTcircuit

Public Member Functions

 ARTmodelInterface (const string name, const string sds, const string lds, const string htm)
 Use this constructor to fill the fields of super classes and initialize other fields.
 ARTmodelInterface (const ARTmodelInterface &orig)
 The copy constructor.
virtual void RadiationImpedance (WaveObjectInterface *&out)=0
 This function should prepare the calculation for the radiation impedance of the model.
virtual void InputImpedance (WaveObjectInterface *in, WaveObjectInterface *&out)=0
 This function should prepare the calculation of the input impedance of the model by propagating the wave specified in the waveobject in.
virtual void Pressure (WaveObjectInterface *in, WaveObjectInterface *&out)=0
 This function should prepare the calculation of the pressure matrix of the model by propagating the wave specified in the waveobject in.
virtual void InputImpedance (vector< WaveObjectInterface * > &in, WaveObjectInterface *&oSignal)
virtual void Pressure (vector< WaveObjectInterface * > &in, WaveObjectInterface *&oSignal)
virtual ARTmodelInterfaceCloneModel ()=0
 A function creating exact copies must be provied.
void SetSimulator (ARTsimulator *sim)
 Sets the simulator of the model to sim.
void SetCircuit (ARTcircuit *cir)
 Sets the circuit of the model to cir.
- 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 Attributes

ARTcircuitcircuit
 This field must contain a pointer to the circuit which is being evaluated when.
ARTfreqSimulatorsimulator
 This field must contain a pointer to the simulator the element was created in.
- 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.

Member Function Documentation

virtual void ARTmodelInterface::InputImpedance ( WaveObjectInterface in,
WaveObjectInterface *&  out 
)
pure virtual

This function should prepare the calculation of the input impedance of the model by propagating the wave specified in the waveobject in.

Parameters
inThe wave to be propagated.
outA reference to a pointer pointing to the waveobject the function should use as output. If the value of the pointer is NULL, the function must allocate a waveobject to use as output and update the pointer.

Implemented in TerminationModel, BranchModel, ARTcircuit, ToneHole, ARTelement, and HornElementPrototype_FD< HE >.

virtual void ARTmodelInterface::Pressure ( WaveObjectInterface in,
WaveObjectInterface *&  out 
)
pure virtual

This function should prepare the calculation of the pressure matrix of the model by propagating the wave specified in the waveobject in.

Parameters
inThe wave to be propagated.
outA reference to a pointer pointing to the waveobject the function should use as output. If the value of the pointer is NULL, the function must allocate a waveobject to use as output and update the pointer.

Implemented in TerminationModel, BranchModel, ToneHole, ARTelement, and HornElementPrototype_FD< HE >.

virtual void ARTmodelInterface::RadiationImpedance ( WaveObjectInterface *&  out)
pure virtual

This function should prepare the calculation for the radiation impedance of the model.

Parameters
outA reference to a pointer pointing to the waveobject the function should use as output. If the value of the pointer is NULL, the function must allocate a waveobject to use as output and update the pointer.

Implemented in TerminationModel, BranchModel, ARTcircuit, ToneHole, ARTelement, and HornElementPrototype_FD< HE >.

void ARTmodelInterface::SetCircuit ( ARTcircuit cir)
inline

Sets the circuit of the model to cir.

The circuit must be set to the circuit which should be evaluated before evaluation. Prototypes need to write formulas for impedance calculation and must therefore have access to some properties of the simulator and circuit (which will in turn give access to some properties of the simulator)

void ARTmodelInterface::SetSimulator ( ARTsimulator sim)

Sets the simulator of the model to sim.

The simulator must be set before evaluation. Prototypes need to write formulas for impedance calculation and must therefore have access to some properties of the simulator and circuit (which will in turn give access to some properties of the simulator)

Member Data Documentation

ARTcircuit* ARTmodelInterface::circuit
protected

This field must contain a pointer to the circuit which is being evaluated when.

Prototypes need to write formulas for impedance calculation and must therefore have access to some properties of the simulator and circuit (which will in turn give access to some properties of the simulator)

ARTfreqSimulator* ARTmodelInterface::simulator
protected

This field must contain a pointer to the simulator the element was created in.

Prototypes need to write formulas for impedance calculation and must therefore have access to some properties of the simulator and circuit (which will in turn give access to some properties of the simulator)