9.5.4. Detailed Class Structure

9.5.4.1. xMsg Class

Header File

xMsg.h

Description

This class is used when an exception is thrown. It contains a string that can be used to describe the reason for the exception.

Data Members

char *m_pszMsg;

Member Functions

xMsg( const char *pszStr )

~xMsg()

xMsg( const xMsg &Msg )

xMsg& operator=( const xMsg &Msg )

void SetMsg( const char *pszStr )

const char *Why() const

9.5.4.2. BgArr Class

Header File

bgArr.h

Description

This template class acts as a resizeable array. All objects in the array are stored as pointers to objects. It is a simplified version of the basic BladeGen array.

Specializations

BgMLDatArr

BgMLDatArrArr

BgMLDatArrArrArr

BgBladeArr

Data Members

bool m_bOwnsObjs;

int m_nObj;

int m_nGrowBy;

int m_nObjMax;

PT *m_ppObj;

bool m_bDirty;

Member Functions

BgArr( int nMax=16, bool bOwns=true ) Description: Basic Constructor

BgArr( const BgArr& O ) Description: Constructor from another BgArr<T> object. WARNING: Does not copy data, only settings.

BgArr &operator=( const BgArr& O ) Description: Assignment operator from another BgArr<T> object. WARNING: Does not copy data, only settings.

virtual ~BgArr(); Description: Virtual Destructor.

virtual BgArr &Prepend( BgArr &A ); Description: Function prepends the specified values to this array.

virtual BgArr &Append( BgArr &A ); Description: Function appends the specified values to this array.

T* operator[]( int n ) Description: Operator returns a reference to the value at the specified index.

const T* operator[]( int n ) const Description: Operator returns a constant reference to the value at the specified index.

T* First() const Description: Function returns a reference to the first value of the array.

T* Last() const Description: Function returns a reference to the last value of the array.

bool Dirty() const Description: Function returns the status of the dirty value. This value is set whenever the array is modified (added or removing objects).

virtual void SetDirty( bool bVal = true ) Description: Function sets the status of the dirty value. This value is set whenever the array is modified (added or removing objects).

bool OwnsObjs() const Description: Function returns the status of the owns object value. This value indicates if the objects are destroyed when the array is destroyed.

void SetOwnsObjs( bool bOwns ) Description: Function sets the status of the owns object value. This value indicates if the objects are destroyed when the array is destroyed.

int Count() const Description: Function returns the number of objects contained in the array.

int GrowBy() const Description: Function returns the number of objects that the array will grow by when objects are added.

T* ItemAt( int n ) Description: Function returns a reference to the value at the specified index.

T* ItemAt( int n ) const

virtual bool Has( const T *pObj ) const Description: Function returns true if the array contains the object (by memory address).

virtual int Find( const T *pObj ) const; Description: Function returns index to the specified object (by memory address). Returns MAXINT if object was not found.

virtual bool Add( T *pObj ); Description: Function adds the object to the array.

virtual bool AddAt( int n, T *pObj ); Description: Function adds the object to the array at the position specified.

virtual bool Detach( int n ); Description: Function removed the object at the specified index from the array.

virtual bool Detach( T *pObj ) Description: Function removed the object from the array.

virtual bool Destroy( int n ) Description: Function removed the object at the specified index from the array and destroys it.

virtual bool Destroy( T *pObj ) Description: Function removed the object from the array and destroys it.

void Flush(); Description: Function removes all object from the array. If the bOwnsObjs flag is set, the objects are destroyed as well.

void ReverseOrder(); Description: Function reverses the order of the objects in the array.

9.5.4.3. BgEnum Class

Header File

BgMLDat.h

Description

This class contains the common enumerators and static variables for the UserIO classes.

Specializations

BgMLDatArr

BgMLDatArrArr

BgBlade

BgModel

Data Members

Member Functions

9.5.4.4. Bg3dPnt Class

Header File

BgMLDat.h

Description

This class describes a 3 Dimensional Cartesian point. Basic operators are provided to allow addition, subtraction, and scaling. Basic functions are provided.

Data Members

double dX;

double dY;

double dZ;

Member Functions

Bg3dPnt( const double &x=0.0, const double &y=0.0, const double &z=0.0 )

Bg3dPnt operator+ ( const Bg3dPnt& P ) const Description: Adds two Bg3dPnt objects together.

Bg3dPnt operator- ( const Bg3dPnt& P ) const Description: Subtracts a Bg3dPnt object from another.

Bg3dPnt operator* ( const double& dFac ) const Description: Multiplies a Bg3dPnt object by a factor.

Bg3dPnt operator/ ( const double& dFac ) const Description: Divides a Bg3dPnt object by a factor.

Bg3dPnt &operator+= ( const Bg3dPnt& P ) Description: Adds a Bg3dPnt object to this object.

Bg3dPnt &operator-= ( const Bg3dPnt& P ) Description: Subtracts a Bg3dPnt object from this object.

Bg3dPnt &operator*= ( const double& dFac ) Description: Multiplies this object by a factor.

Bg3dPnt &operator/= ( const double& dFac ) Description: Divides this object by a factor.

Bg3dPnt operator-() const Description: Unary negative, returns the negative of this object.

double Magnitude() const Description: Function to return the length of a line from the origin to this point.

Bg3dPnt &Normalized() Description: Function to scale the object to a unit vector.

Bg3dPnt RotatedAboutX( const double &dAng ) const Description: Function to return the result of rotating this object about the X axis by the specified angle (radians).

Bg3dPnt RotatedAboutY( const double &dAng ) const Description: Function to return the result of rotating this object about the Y axis by the specified angle (radians).

Bg3dPnt RotatedAboutZ( const double &dAng ) const Description: Function to return the result of rotating this object about the Z axis by the specified angle (radians).

Friend Functions

Bg3dPnt operator* ( const double &dFac, const Bg3dPnt &V );

Bg3dPnt operator/ ( const double &dFac, const Bg3dPnt &V );

double Magnitude( const Bg3dPnt& V );

double Magnitude2( const Bg3dPnt& V );

double Dist( const Bg3dPnt& V1, const Bg3dPnt& V2 );

Bg3dPnt UnitVector( const Bg3dPnt& V );

double AngleBetween( const Bg3dPnt &V1, const Bg3dPnt &V2 );

double DotProduct( const Bg3dPnt& v1, const Bg3dPnt& v2 );

Bg3dPnt CrossProduct( const Bg3dPnt& v1, const Bg3dPnt& v2 );

double B2BDist( const BgMLDat &mlD1, const BgMLDat &mlD2, bool bTrueB2B = false );

double MerDist( const BgMLDat &dD1, const BgMLDat &dD2 );

9.5.4.5. BgMLDat Class

Header File

BgMLDat.h

Description

This class describes a mean line data point. The location is stored in Cylindrical coordinates; meridional coordinates are also provided.

Data Members

double dR;

double dTheta;

double dZ;

double dNrmThk;

bool bSharp;

double dBeta;

double dS;

double dM;

double dMp;

double dC;

double dSec;

Member Functions

BgMLDat( const double &dZi=0.0, const double &dRi=0.0, const double &dThetai=0.0, const double &dNrmThki=0.0, const double &dBetai=0.0, const double &dSi=0.0, const double &dMi=0.0, const double &dMpi=0.0, const double &dCi=0.0, const double &dSeci=0.0, bool bSharpi=false ); Description: Basic constructor for BgMLDat object from individual values.

BgMLDat( const BgMLDat &mlDat ); Description: Basic constructor for BgMLDat object another object.

BgMLDat &operator=( const BgMLDat &mlDat ); Description: Assignment operator.

operator Bg3dPnt() Description: Conversion operator returns a Bg3dPnt from a BgMLDat.

double RT() const Description: Function returns R*Theta.

double RT( const double &dThetaRef ) const Description: Function returns R*(Theta-ThetaRef).

BgMLDat operator+( const BgMLDat &D ) const Description: Adds two BgMLDat objects together.

BgMLDat operator-( const BgMLDat &D ) const Description: Subtracts a BgMLDat object from another.

BgMLDat operator*( const double &dFac ) const Description: Multiplies a BgMLDat object by a factor.

static int NumVar() Description: Function returns the number of variables available for interpolation.

void SetVar( int iVar, const double &dVal ) Description: Function sets a variable identified by the index to the specified value.

const double &Var( int iVar ) const Description: Function returns a variable identified by the index.

virtual void Read( istream &is ); Description: Function reads a BgMLDat object from the input stream.

virtual void Save( ostream &os ) const; Description: Function saves a BgMLDat object to the output stream.

Friend Functions

double B2BDist( const BgMLDat &mlD1, const BgMLDat &mlD2, bool bTrueB2B = false );

double MerDist( const BgMLDat &dD1, const BgMLDat &dD2 );

Friend Functions for BgMLDatArr::InterpUsing

const double &Sf( const BgMLDat &Dat );

const double &Mf( const BgMLDat &Dat );

const double &Mpf( const BgMLDat &Dat );

const double &Cf( const BgMLDat &Dat );

9.5.4.6. BgMLDatArr Class

Header File

BgMLDat.h

Base Classes

BgArr

BgEnum

Description

This class describes a layer of mean line data points.

Data Members

ThkDatType m_eThkDat;

uint m_uiFlags;

Member Functions

BgMLDatArr( ThkDatType eThkDat=NormMeanThk, uint uiFlag=AllData ); Description: Basic Constructor.

BgMLDatArr( const BgMLDatArr &Arr ); Description: Constructor from another object, copies the entire array.

virtual ~BgMLDatArr(); Description: Destructor.

BgMLDatArr &operator=( const BgMLDatArr &Arr ); Description: Assignment operator; copies entire array.

void CreateMeanLineFrom( const BgMLDatArr &Ref, const BgMLDatArr &Side1, const BgMLDatArr &Side2, int nPnt=30 ); Description: Function uses the Ref curve and generates this mean line curve the Side1 and Side2 curves, using the specified number of points.

uint Flags() const Description: Function returns the flag value.

void SetFlags( uint uiVal ) Description: Function sets the flag value.

BgMLDat DatNearestMer( const BgMLDat &mlDat ); Description: Function interpolates to the nearest point to the specified point, in the Meridional (Z,R) coordinate system.

BgMLDat DatNearestB2B( const BgMLDat &mlDat ); Description: Function interpolates to the nearest point to the specified point, in the Blade-To-Blade (Mp,Theta) coordinate system.

BgMLDat InterpUsing( ValueFunc Value, const double &dVal ); Description: Function interpolates to the value specified using the BgMLDat value functions (Sf, Mf, Mpf, Cf).

BgMLDat DatAt( const double &dS, SideType eSide ); Description: Function returns the value at the specified S position, at the SideType location.

BgMLDat DatAt( int i, SideType eSide ); Description: Function returns the value at the index, at the SideType location.

BgMLDat ML2Cyl( const BgMLDat &mlDat, SideType eSide ); Description: Function converts mean line data to the specified SideType location.

virtual void Read( istream &is );

virtual void Save( ostream &os ) const;

9.5.4.7. BgMLDatArrArr Class

Header File

BgMLDat.h

Base Classes

BgArr

BgEnum

Description

This class describes an array of mean line data arrays (layers), which can represent a blade.

Data Members

AngDatType m_eAngDat; Description: Specifies the angular value type that the arrays are describing (See BgEnum).

ThkDatType m_eThkDat; Description: Specifies the thickness value type that the arrays are describing (See BgEnum).

Member Functions

BgMLDatArrArr( AngDatType eAngDat=MeanLineAng, ThkDatType eThkDat=NormMeanThk ); Description: Basic Constructor.

BgMLDatArrArr( const BgMLDatArrArr &Arr ); Description: Constructor from another object, copies the entire array.

virtual ~BgMLDatArrArr(); Description: Destructor.

BgMLDatArrArr &operator=( const BgMLDatArrArr &Arr ); Description: Assignment operator, copies entire array.

AngDatType AngDat() const Description: Function returns the AngDatType value.

void SetAngDat( AngDatType eType ) Description: Function sets the AngDatType value.

ThkDatType ThkDat() const Description: Function returns the ThkDatType value.

void SetThkDat( ThkDatType eType ) Description: Function sets the ThkDatType value.

void SetDatType( AngDatType eAngDat, ThkDatType eThkDat ) Description: Function sets the AngDatType and ThkDatType values.

9.5.4.8. BgMLDatArrArrArr Class

Header File

BgMLDat.h

Base Classes

BgArr

Description

This class describes an array of layer arrays (blades), which can represent a blade system.

Data Members

Member Functions

BgMLDatArrArrArr( int nGrow=4, bool bOwns=true ) : BgArr<BgMLDatArrArr>( nGrow, bOwns ) Description: Basic Constructor.

virtual ~BgMLDatArrArrArr() Description: Virtual Destructor.

9.5.4.9. BgBlade Class

Header File

BgBlade.h

Base Classes

BgEnum

Description

This class describes a blade through its variables and objects. The default constructor creates a default BladeGen blade, but without data arrays.

Data Members

BgMLDatArrArr m_Mean;

BgMLDatArrArr m_Side1;

BgMLDatArrArr m_Side2;

double m_dPitchFrac;

bool m_bSafeCurveTypes;

BgSpanDefAng m_AngDef;

BgSpanDefThk m_ThkDef;

LeTeEndType m_eLeEnd;

double m_dLeHubRatio;

double m_dLeShrRatio;

LeTeEndType m_eTeEnd;

double m_dTeHubRatio;

double m_dTeShrRatio;

bool m_bEllipseTang;

static const double s_dEllipseLimit;

BgFilingData m_LeSide1Filing;

BgFilingData m_LeSide2Filing;

BgFilingData m_TeSide1Filing;

BgFilingData m_TeSide2Filing;

HubShrEndType m_eHubType;

double m_dHubLeRad;

double m_dHubTeRad;

HubShrEndType m_eShrType;

double m_dShrLeRad;

double m_dShrTeRad;

Member Functions

BgBlade( const double dPitchFrac=0.0, bool bSafeCurveTypes=true ); Description: Basic Constructor. See the PitchFrac and SafeCurveTypes functions for a description of the parameters.

BgBlade( const BgBlade &B ); Description: Constructor from another BgBlade object.

virtual ~BgBlade(); Description: Virtual Destructor.

BgBlade &operator=( const BgBlade &B ); Description: Assignment operator from another BgBlade object.

BgMLDatArrArr &Mean(); Description: Function returns the Mean Line Array.

const BgMLDatArrArr &Mean() const; Description: Function returns the Mean Line Array.

BgMLDatArrArr &Side1(); Description: Function returns the Side1 Array (only used for Prs/Sct Mode).

const BgMLDatArrArr &Side1() const; Description: Function returns the Side1 Array (only used for Prs/Sct Mode).

BgMLDatArrArr &Side2(); Description: Function returns the Side2 Array (only used for Prs/Sct Mode).

const BgMLDatArrArr &Side2() const; Description: Function returns the Side2 Array (only used for Prs/Sct Mode).

const double &PitchFrac() const; Description: Function returns the location of the Blade as pitch fraction.

void SetPitchFrac( double &dVal ); Description: Function sets the location of the Blade as pitch fraction.

bool SafeCurveTypes() const; Description: Function returns the SaveCurveTypes bool, used to control the curve types during BladeGen blade construction. A value of true means that BestFitPoly and PiecewiseLinear curve types will be used for the angle and thickness curves, respectively. A value of false means that CubicSpline curves will be used for both the angle and thickness curves.

void SetSafeCurveTypes( bool bSaveCurveTypes ); Description: Function sets the SaveCurveTypes bool, used to control the curve types during BladeGen blade construction. A value of true means that BestFitPoly and PiecewiseLinear curve types will be used for the angle and thickness curves, respectively. A value of false means that CubicSpline curves will be used for both the angle and thickness curves.

BgSpanDefAng &AngSpanDef(); Description: Function returns a reference to the AngSpanDef object to allow modification.

const BgSpanDefAng &AngSpanDef() const; Description: Function returns a const reference to the AngSpanDef object for interrogation.

BgSpanDefThk &ThkSpanDef(); Description: Function returns a reference to the ThkSpanDef object to allow modification.

const BgSpanDefThk &ThkSpanDef() const; Description: Function returns a const reference to the ThkSpanDef object for interrogation.

LeTeEndType LeEnd() const; Description: Function returns the leading edge EndType value.

void SetLeEnd( LeTeEndType eVal ); Description: Function sets the leading edge EndType value.

double LeHubRatio() const; Description: Function returns the leading edge hub elliptical ratio, if applicable.

double LeShrRatio() const; Description: Function returns the leading edge shroud elliptical ratio, if applicable.

void SetLeEllipseRatios( const double &dHub, const double &dShr ); Description: Function sets the leading edge hub and shroud elliptical ratio.

LeTeEndType TeEnd() const; Description: Function returns the trailing edge EndType value.

void SetTeEnd( LeTeEndType eVal ); Description: Function sets the trailing edge EndType value.

double TeHubRatio() const; Description: Function returns the trailing edge hub elliptical ratio, if applicable.

double TeShrRatio() const; Description: Function returns the trailing edge shroud elliptical ratio, if applicable.

void SetTeEllipseRatios( const double &dHub, const double &dShr ); Description: Function sets the trailing edge hub and shroud elliptical ratio.

bool EllipseTang() const; Description: Function returns the bool flag for tangential ellipses.

void SetEllipseTang( bool bVal ); Description: Function sets the bool flag for tangential ellipses.

void SetLeSide1Filing( const BgFilingData &LeSide1Filing ); Description: Function sets the leading edge, side 1 over/under-filing data.

BgFilingData &LeSide1Filing(); Description: Function returns the leading edge, side 1 over/under-filing data for modification.

const BgFilingData &LeSide1Filing() const; Description: Function returns the leading edge, side 1 over/under-filing data for interrogation.

void SetLeSide2Filing( const BgFilingData &LeSide2Filing ); Description: Function sets the leading edge, side 2 over/under-filing data.

BgFilingData &LeSide2Filing(); Description: Function returns the leading edge, side 2 over/under-filing data for modification.

const BgFilingData &LeSide2Filing() const; Description: Function returns the leading edge, side 2 over/under-filing data for interrogation.

void SetTeSide1Filing( const BgFilingData &TeSide1Filing ); Description: Function sets the trailing edge, side 1 over/under-filing data.

BgFilingData &TeSide1Filing(); Description: Function returns the trailing edge, side 1 over/under-filing data for modification.

const BgFilingData &TeSide1Filing() const; Description: Function returns the trailing edge, side 1 over/under-filing data for interrogation.

void SetTeSide2Filing( const BgFilingData &TeSide2Filing ); Description: Function sets the trailing edge, side 2 over/under-filing data.

BgFilingData &TeSide2Filing(); Description: Function returns the trailing edge, side 2 over/under-filing data for modification.

const BgFilingData &TeSide2Filing() const; Description: Function returns the trailing edge, side 2 over/under-filing data for interrogation.

void SetHubEndType( HubShrEndType eType, const double &dLeRad=0.0, const double &dTeRad=0.0 ); Description: Function sets the hub edge configuration.

HubShrEndType HubEndType() const; Description: Function returns the hub edge type.

const double &HubLeRad() const; Description: Function returns the hub leading edge radius value.

const double &HubTeRad() const; Description: Function returns the hub trailing edge radius value.

void SetShrEndType( HubShrEndType eType, const double &dLeRad=0.0, const double &dTeRad=0.0 ); Description: Function sets the shroud edge configuration.

HubShrEndType ShrEndType() const; Description: Function returns the shroud edge type.

const double &ShrLeRad() const; Description: Function returns the shroud leading edge radius value.

const double &ShrTeRad() const; Description: Function returns the shroud trailing edge radius value.

virtual void Read( istream &is );

virtual void Save( ostream &os ) const;

9.5.4.10. BgBladeArr Class

Header File

BgBlade.h

Base Classes

BgArr

Description

This array holds BgBlade objects.

Data Members

 

Member Functions

BgBladeArr( int nGrow=4, bool bOwns=true ) : BgArr<BgBlade>( nGrow, bOwns ) Description: Basic Constructor.

virtual ~BgBladeArr() Description: Virtual Destructor.

9.5.4.11. BgSpanDef Class

Header File

BgSpanDef.h

Description

The class describes the properties of a generic spanwise distribution.

Specializations

BgSpanDefAng

BgSpanDefThk

Data Members

int m_nSpan;

int m_nStrm;

char *m_pszEquations;

bool m_bAutoFit;

double m_dInitStep;

double m_dFinalStep;

Member Functions

BgSpanDef( int nSpan=13, int nStrm=13, const char *pszEquations=NULL, bool bAutoFit=true, const double &dInitStep=0.1, const double &dFinalStep=1.0e-6 ); Description: Basic Constructor.

virtual ~BgSpanDef(); Description: Virtual Destructor.

int NumSpan() const; Description: Function returns the number of span-wise points to use when fitting data (User-Defined Mode).

int NumStrm() const; Description: Function returns the number of stream-wise points to use when fitting data (User-Defined Mode).

void SetNum( int nSpan, int nStrm ); Description: Function sets the number of span-wise and stream-wise points to use when fitting data (User-Defined Mode).

const char *Equations() const; Description: Function returns the equation string (User-Defined Mode).

void SetEquations( const char *pszEquations ); Description: Function sets the equation string (User-Defined Mode).

bool AutoFit() const; Description: Function returns the flag to indicate if fitting is to be performed (User-Defined Mode).

const double &InitStep() const; Description: Function returns the initial step size to use if fitting is to be performed (User-Defined Mode).

const double &FinalStep() const; Description: Function returns the final step size to use if fitting is to be performed (User-Defined Mode).

void SetFitParm( bool bAutoFit=true, const double &dInitStep=0.1, const double &dFinalStep=1.0e-6 ); Description: Function sets the initial and final step sizes to use if fitting is to be performed (User-Defined Mode).

virtual void Read( istream &is );

virtual void Save( ostream &os ) const;

9.5.4.12. BgSpanDefAng Class

Header File

BgSpanDef.h

Base Classes

BgSpanDef

Description

The class describes the properties of a angle definition spanwise distribution.

Data Members

DefType m_eDefType;

Member Functions

BgSpanDefAng( DefType eDefType=GenAngDef, int nSpan=13, int nStrm=13, const char *pszEquations=NULL, bool bAutoFit=true, const double &dInitStep=0.1, const double &dFinalStep=1.0e-6 ); Description: Basic Constructor.

DefType SpanDef() const; Description: Function returns the spanwise interpolation mode.

void SetSpanDef( DefType eDefType=GenAngDef ); Description: Function sets the spanwise interpolation mode.

virtual void Read( istream &is );

virtual void Save( ostream &os ) const;

9.5.4.13. BgSpanDefThk Class

Header File

BgSpanDef.h

Base Classes

BgSpanDef

Description

The class describes the properties of a thickness definition spanwise distribution.

Data Members

DefType m_eDefType;

Member Functions

BgSpanDefThk( DefType eDefType=GenThkDef, int nSpan=13, int nStrm=13, const char *pszEquations=NULL, bool bAutoFit=true, const double &dInitStep=0.1, const double &dFinalStep=1.0e-6 ); Description: Basic Constructor.

DefType SpanDef() const; Description: Function returns the spanwise interpolation mode.

void SetSpanDef( DefType eDefType=GenThkDef ); Description: Function sets the spanwise interpolation mode.

virtual void Read( istream &is );

virtual void Save( ostream &os ) const;

9.5.4.14. BgFilingData Class

Header File

bgFilingData.h

Description

This class describes a Over/Under-Filing, on one ’corner’ of the blade. Four instances of this class are used to provide the full description.

Data Members

double m_dHubLen;

double m_dShrLen;

bool m_bSclLen;

double m_dHubDep;

double m_dShrDep;

bool m_bSclDep;

double m_dHubRad;

double m_dShrRad;

bool m_bSclRad;

Member Functions

BgFilingData(); Description: Basic Constructor.

BgFilingData( const BgFilingData &D ); Description: Constructor from another BgFilingData object.

virtual ~BgFilingData(); Description: Virtual Destructor.

BgFilingData &operator=( const BgFilingData &D ); Description: Assignment operator from another BgFilingData object.

void Remove(); Description: Function removes the filing.

void RemoveRadius(); Description: Function removes the radius from the filing.

bool Filed() const; Description: Function returns the filing status.

bool HasRadius() const; Description: Function returns the filing radius status.

void SetValues( const double &dHubLen, const double &dShrLen, bool bSclLen, const double &dHubDep, const double &dShrDep, bool bSclDep, const double &dHubRad, const double &dShrRad, bool bSclRad ); Description: Function sets the filing values.

const double &HubLen() const; Description: Function returns the filing hub length.

const double &ShrLen() const; Description: Function returns the filing shroud length.

bool SclLen() const; Description: Function returns the filing length scaling by thickness flag.

const double &HubDep() const; Description: Function returns the filing hub depth.

const double &ShrDep() const; Description: Function returns the filing shroud depth.

bool SclDep() const; Description: Function returns the filing depth scaling by thickness flag.

const double &HubRad() const; Description: Function returns the filing hub radius.

const double &ShrRad() const; Description: Function returns the filing shroud radius.

bool SclRad() const; Description: Function returns the filing radius scaling by thickness flag.

void Read( istream &is );

void Save( ostream &os ) const;

9.5.4.15. BgModel Class

Header File

BgModel.h

Base Classes

BgEnum

Description

This class describes a model and acts as the container of all model data. Access for input and output is provided through the member functions of this class.

Associations

CBladeGeom

CldModel

Data Members

CBladeGeom *m_pGeom; Description: Pointer to BladeGen object.

CldModel *m_pModel; Description: Pointer to Layer Model object, created for periodic output only.

Member Functions

BgModel(); Description: Basic Constructor.

virtual ~BgModel(); Description: Virtual Destructor.

void Clear(); Description: Clears all data from the model.

bool CreateDsgnMerDef( int nBladeSets, const BgBladeArr &BladeArr, bool bSafeCurveTypes=true, bool bBezierExtensions=false ); Description: Creates a Design Meridional Definition. Returns true if successful, false if unsuccessful. bSaveCurveTypes determines the curve type for the hub and shroud curves. A value of true indicates that a Piecewise Linear curve should be used. A value of false indicates that a Cubic Spline curve should be used. bBezerExtensions determines if the points outside the blade are Bezier control points. A value of true forces the segment type before and after the blade to be Bezier. A value of false means that the curve type is determined by the bSaveCurveType value.

bool CreateDsgnMerDef( int nBladeSets, const BgMLDatArrArrArr &MeanArrArrArr, bool bSafeCurveTypes=true, bool bBezierExtensions=false ); Description: Creates a Design Meridional Definition. Returns true if successful, false if unsuccessful. bSaveCurveTypes determines the curve type for the hub and shroud curves. A value of true indicates that a Piecewise Linear curve should be used. A value of false indicates that a Cubic Spline curve should be used. bBezerExtensions determines if the points outside the blade are Bezier control points. A value of true forces the segment type before and after the blade to be Bezier. A value of false means that the curve type is determined by the bSaveCurveType value.

bool CreateDsgnMerDef( int nBladeSets, const BgMLDatArrArr &MeanArrArr, bool bSafeCurveTypes=true, bool bBezierExtensions=false ); Description: Creates a Design Meridional Definition. Returns true if successful, false if unsuccessful. bSaveCurveTypes determines the curve type for the hub and shroud curves. A value of true indicates that a Piecewise Linear curve should be used. A value of false indicates that a Cubic Spline curve should be used. bBezerExtensions determines if the points outside the blade are Bezier control points. A value of true forces the segment type before and after the blade to be Bezier. A value of false means that the curve type is determined by the bSaveCurveType value.

bool CreateDsgnCtrlCrv( const BgMLDatArr &Ctrl, const double &dEstS ); Description: Creates a Design Meridional Control Curve. Returns true if successful, false if unsuccessful.

bool CreateBlades( const BgBladeArr &BladeArr ); Description: Creates a set of blades from an array. Returns true if successful, false if unsuccessful.

bool CreateBlade( const BgBlade &Blade ); Description: Creates a blade. The first is the main blade, second is a splitter... Returns true if successful, false if unsuccessful.

bool CreateTrimMerDef( int nLayers, BgMLDatArr *pHub=NULL, BgMLDatArr *pShr=NULL ); Description: Creates a Trim Meridional Definition. Design Definition must already exist. Returns true if successful, false if unsuccessful.

bool CreateTrimCtrlCrv( const BgMLDatArr &Ctrl, const double &dEstS ); Description: Creates a Trim Meridional Control Curve. Returns true if successful, false if unsuccessful.

bool ExportBlades( BgBladeArr &BladeArr ); Description: Exports the blades (1 or more) for the model. Returns true if successful, false if unsuccessful.

int NumBladeSets();

int NumBlades(); Description: Returns the number of blades (1 or more). Equal to one plus the number of splitters.

int NumLayers(); Description: Returns the number of layers (2 or more). Equal to one plus the number of splitters.

bool PeriodicLayerData( int nLayer, BgMLDatArr &DatArr ); Description: Creates a mean line data array for the periodic surface at the specified layer.

bool BladeLayerData( int nBlade, int nLayer, uint uiFlags, BgMLDatArr &DatArr ); Description: Creates a mean line data array for the specified blade at the specified layer.

bool ExBladeLayerData( int nBlade, int nLayer, uint uiFlags, BgMLDatArr &DatArr ); Description: Creates a extended mean line data array for the specified blade at the specified layer. Data extends from inlet to outlet. Extensions have a thickness value of zero.

double MidLenSpanFraction( int nLayer ) const; Description: Returns the mid length span fraction for the specified layer.

bool AreaProps( int nBlade, int nLayer, BgMLDat &mldCentroid, double &dArea ); Description: Defines the centroid and airfoil area of the specified blade at the specified layer. Returns true if successful, false if unsuccessful.

double PitchFraction( int nBlade ) const; Description: Returns the pitch fraction for the specified blade.

EndType BladeLeEndType( int nBlade ) const; Description: Returns the type of end on the leading edge of the specified blade.

EndType BladeTeEndType( int nBlade ) const; Description: Returns the type of end on the trailing edge of the specified blade.

int NumLePoints( int nBlade, bool bExtended=false ) const; Description: Returns the number of points in the leading edge of the specified blade. If bExtended is set to true, the number reflects the effect of the extension (if it exists).

int NumTePoints( int nBlade, bool bExtended=false ) const; Description: Returns the number of points in the trailing edge of the specified blade. If bExtended is set to true, the number reflects the effect of the extension (if it exists).

bool PntAt( const double &dU, const double &dV, double &dZ, double &dR ); Description: Determines the meridional coordinate (Z,R) for the meridional position (U,V). Returns true if successful, false if unsuccessful. Input: const double &dZ, const double &dR. Output: double &dU, double &dV.

bool CoordAt( const double &dZ, const double &dR, double &dU, double &dV ); Description: Determines the meridional position (U,V) for the meridional coordinate (Z,R). Returns true if successful, false if unsuccessful. Input: const double &dZ, const double &dR. Output: double &dU, double &dV.

bool SaveBGI( const char *pszFileName );

bool ReadBGI( const char *pszFileName, ostream *pos=NULL, int nArg=0, char *pszArg[]=NULL );

bool SaveBGD( const char *pszFileName );

bool ReadBGD( const char *pszFileName );