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

Simulators belong to a simulation domain (frequency, time) and simulate waves of a certain type (plain, spherical, multimodal).

Objects of this class represent acoustic elements. They are created in a simulator and must match the calculation domain and wavetype of the simulator. (They are saved in the simulator->userElements list)

ARTelements are derived from an ARTprototype. In fact they are copies with added properties like impedance and propagation matrix.
Inheritance diagram for ARTelement:
ARTmodelInterface ARTobject ARTcell ARTcircuit

Public Member Functions

 ARTelement (const string name, const string sds="", const string lds="", const string htm="", ARTmodelInterface *prototype=NULL, ARTsimulator *sim=NULL)
virtual void Rename (const string newname)
virtual void PrepareCalculation ()
virtual void RadiationImpedance (WaveObjectInterface *&out)
 This function should prepare the calculation for the radiation impedance of the model.
virtual void InputImpedance (WaveObjectInterface *in, WaveObjectInterface *&out)
 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 *, WaveObjectInterface *&)
 This function should prepare the calculation of the pressure matrix of the model by propagating the wave specified in the waveobject in.
void SetScope (ARTsimulator *sim)
virtual ARTmodelInterfaceCloneModel ()
 A function creating exact copies must be provied.
bool IsPrototypeProperty (ARTproperty *p)
virtual bool HasBends ()
- Public Member Functions inherited from ARTmodelInterface
 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 InputImpedance (vector< WaveObjectInterface * > &in, WaveObjectInterface *&oSignal)
virtual void Pressure (vector< WaveObjectInterface * > &in, WaveObjectInterface *&oSignal)
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)

Public Attributes

ARTdataContainerz_rad
ARTdataContainerz_inp
ARTmodelInterfacemodel
WaveObjectInterfacewavefrontOut
WaveObjectInterfacewavefrontIn

Additional Inherited Members

- Protected Attributes inherited from ARTmodelInterface
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.

Member Function Documentation

virtual void ARTelement::InputImpedance ( WaveObjectInterface in,
WaveObjectInterface *&  out 
)
inlinevirtual

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.

Implements ARTmodelInterface.

Reimplemented in ARTcircuit.

virtual void ARTelement::Pressure ( WaveObjectInterface in,
WaveObjectInterface *&  out 
)
inlinevirtual

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.

Implements ARTmodelInterface.

virtual void ARTelement::RadiationImpedance ( WaveObjectInterface *&  out)
inlinevirtual

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.

Implements ARTmodelInterface.

Reimplemented in ARTcircuit.