Acoustic Research Tool (ART)  v0.10
BesselSection Class Reference
Inheritance diagram for BesselSection:
HornElement

Public Member Functions

 BesselSection (const bool canModify=false, const bool canSplit=false, const double length=100.0, const double rIn=1.0, const double rOut=2.0, const double flare=2, const float tempC=21.0, const float lossF=1.0, const float humidity=80, const float xc=382, const string name=" ", Matrix MA=NULL, Matrix MB=NULL, double rr=0.0)
 BesselSection (const bool canModify, const bool canSplit, const double minLength, const double maxLength, const double minRin, const double maxRin, const double minRout, const double maxRout, const double minFlare, const double maxFlare)
 BesselSection (HornElement *c)
virtual ARTvariant * getPropertyPointer (const char *name)
double rIn () const
void rIn (const double rIn)
double rOut () const
void rOut (const double rOut)
double flare () const
void flare (const double flare)
double gradientIn () const
double gradientOut () const
double findRadius (const double x) const
double findPosition (const double r) const
double findExtremeRadius (const double x, const bool isMax) const
string getSaveString () const
bool nudgeFlare (const double target)
int mutate (const float pmut, const float mu, const double previousRout)
void elementCrossover (const HornElement &m, HornElement *s, HornElement *b, const float pcross)
bool split (list< HornElement * > &l, list< HornElement * >::iterator &iter)
void elementInitialise (const double previousRout)
HornElementclone ()
void print () const
int TlaAccumulate (const double w, int IndFreq, SimpleMatrix *a, const int Ind, vector< int > &mem, dcomp *zt, list< Matrix > *ImpedanceList, vector< int > &IndHole)
dcomp radiationImpedance (const double w) const
dcomp ZorumskiPlaneRadiation (const double w) const
void multimodeInputImpedance (const double w, const bool bends, Matrix *Zout)
void multimodeRadiationImpedance (const double w, const bool bends, const int IndFreq, Matrix *result) const
void multimodeRadiationImpedanceClosedEnd (const double w, const bool bends, Matrix *result) const
void multimodeRadiationImpedanceOpenEnd (const double w, const bool bends, Matrix *result) const
void multimodeRadiationImpedanceTerminated (const double w, const bool bends, Matrix *result, const dcomp z_trm) const
int MultimodeAccumulate (const double w, int IndFreq, const bool bends, Matrix *a, const int Ind, vector< int > &mem, Matrix *zt, list< Matrix > *ImpedanceList, vector< int > &IndHole)
- Public Member Functions inherited from HornElement
 HornElement (const float tempC=21.0, const float lossF=1.0, const float humidity=80, const float xc=382, const string name=" ", int type=-1, Matrix MA=NULL, Matrix MB=NULL, double rr=0.0, double length=0.0, const bool canSplit=false, const bool canModify=false)
virtual void setnModes (const int nModes)
virtual void FirstElement (const int val)
virtual int FirstElement () const
void settempC (float tempC)
float gettempC () const
void setlossF (float lossF)
float getlossF () const
void sethumidity (float humidity)
float gethumidity () const
void setxc (float xc)
float getxc () const
int type () const
void setName (string name)
string getName () const
virtual double length () const
virtual void length (const double length)
virtual dcomp zt (const double w) const
virtual string Name () const
virtual int NbHole () const
virtual int RadiationType () const
virtual string filename () const
virtual dcomp PlaneWaveRadiationImpedance_TermElt (const double w) const
virtual void radiationImpedanceLevine (const double w, double *InputRadius, dcomp *z_t) const
virtual void BranchImpedanceList (list< Matrix > *ImpListe)
virtual void PutHoleParam (const double length_Hole, const double radius_Hole)
virtual void PutRoutParam (const double rOut)
virtual void ImpLengthCorrection ()
virtual void ImpEltsAcoustic ()
virtual Matrix GetParallelImpedance (const double w, const int IndFreq)
virtual Matrix GetImpedance (const double w, const int IndFreq)

Protected Attributes

double rIn_
double rOut_
double flare_
double minLength_
double maxLength_
double minRin_
double maxRin_
double minRout_
double maxRout_
double maxFlare_
double minFlare_
- Protected Attributes inherited from HornElement
int type_
string name_
float tempC_
float humidity_
float xc_
float lossF_
int FirstElement_
double length_
bool canModify_
bool canSplit_
Matrix MA_
Matrix MB_
double rr_

Additional Inherited Members

- Static Public Member Functions inherited from HornElement
static int getnModes ()
static void setlossy (const bool lossy)
static bool getlossy ()
static void setfmin (const double fmin)
static double getfmin ()
static void setfmax (const double fmax)
static double getfmax ()
static void setdf (const double df)
static double getdf ()
static void setsimplified (const bool simplified)
static bool getsimplified ()
static void setboreresolution (const double boreresolution)
static double getboreresolution ()
static void SetImpedanceFile (const char filemame[], int RadHole, int Contrib, vector< Matrix > &Z)
- Static Public Attributes inherited from HornElement
static vector< double > Freq
- Static Protected Member Functions inherited from HornElement
static void cylTlaAccumulate (const double w, const double length, const double radius, const float T, const float F, const float H, const float XC, SimpleMatrix *a)
static dcomp radiationImpedanceLevineCyl (const double w, const double radius, const float T, const float H, const float XC)
static dcomp cylZorumskiPlaneRadiation (const double w, const double radius, const float T, const float H, const float XC)
static void coneTlaAccumulate (const double w, const double Xin, const double Xout, const double Rin, const double Rout, const float T, const float F, const float H, const float XC, SimpleMatrix *a)
static dcomp radiationImpedanceLevineCone (const double w, const double Xin, const double Xout, const double Rin, const double Rout, const float T, const float H, const float XC)
static void kn (const double w, const double radius, const bool lossy, const bool bends, const float T, const float L, const float H, const float XC, dcomp *kn)
static double Dn (const double tau, const int i, const double kR)
static double Dmn (const double tau, const int m, const int n, const double kR)
static void jumpMultimodeInputImpedance (const double w, double *rr, Matrix *A, Matrix *B, Matrix *Zout, const double rIn, const double rOut, const bool bends, const float T)
static void cylMultimodeInputImpedance (const double w, Matrix *Zout, const double length, const double radius, const bool lossy, const bool simplified, const bool bends, const float T, const float L, const float H, const float XC)
static void cylBendMultimodeInputImpedance (const double w, Matrix *Zout, const double length, const double radius, const double bendRadius, const bool lossy, const float T, const float L, const float Humidity, const float XC)
static int cylMultimodeAccumulate (const double w, const double length, const double radius, const bool lossy, const bool bends, const float T, const float F, const float H, const float XC, Matrix *a)
static void jumpMultimodeTransmMatrix (double zeta, const bool bends, Matrix *a)
static void cylBendMultimodeAccumulate (const double w, const double length, const double radius, const double bendRadius, const bool lossy, const float T, const float Humidity, const float XC, Matrix *a)
static void radiationImpedanceZorumski (const double w, Matrix *result, const double radius, const bool bends, const float T, const float H, const float XC)
static void radiationImpedanceInfiniteCylPipe (const double w, Matrix *result, const double radius, const float T, const float H, const float XC)
static void radiationImpedanceTerminated (const double w, Matrix *result, const double radius, const bool bends, const float T, const float H, const float XC, const dcomp z_trm)
static void initMatrices ()
static int mIndex (const int alpha, const bool bends)
static int nIndex (const int beta, const bool bends)
- Static Protected Attributes inherited from HornElement
static int nModes_ = 0
static bool LOSSY_ = true
static bool SIMPLIFIED_ = false
static double BORERESOLUTION_ = 0.2
static double F_MAX_ = 1800
static double F_MIN_ = 0
static double D_F_ = 10
static vector< MatrixMZ
static Matrix I_
static Matrix D_
static Matrix Zc_
static Matrix ZcInv_
static Matrix F_
static dcomp * ki_
static double * D1_
static double * D2_
static bool haveInitMatrices = false