seriesProfile Class Reference

Profile model where polar lift and drag coefficients are computed as sum of trigonometric series by using an input angle of attack. More...

Inheritance diagram for seriesProfile:
[legend]
Collaboration diagram for seriesProfile:
[legend]

Public Member Functions

 TypeName ("series")
 Runtime type information. More...
 
 seriesProfile (const dictionary &dict, const word &modelName)
 Constructor from dictionary and model name. More...
 
 seriesProfile (const seriesProfile &)=delete
 No copy construct. More...
 
void operator= (const seriesProfile &)=delete
 No copy assignment. More...
 
 ~seriesProfile ()=default
 Destructor. More...
 
virtual void Cdl (const scalar alpha, scalar &Cd, scalar &Cl) const
 Return the Cd and Cl for a given angle-of-attack. More...
 
- Public Member Functions inherited from profileModel
 TypeName ("profileModel")
 Runtime type information. More...
 
 declareRunTimeSelectionTable (autoPtr, profileModel, dictionary,(const dictionary &dict, const word &modelName),(dict, modelName))
 
 profileModel (const dictionary &dict, const word &modelName)
 Constructor. More...
 
virtual ~profileModel ()=default
 Destructor. More...
 
const wordname () const
 Return const access to the source name. More...
 
virtual void Cdl (const scalar alpha, scalar &Cd, scalar &Cl) const =0
 Return the Cd and Cl for a given angle-of-attack. More...
 

Protected Member Functions

scalar evaluateDrag (const scalar &xIn, const List< scalar > &values) const
 Drag. More...
 
scalar evaluateLift (const scalar &xIn, const List< scalar > &values) const
 Lift. More...
 
- Protected Member Functions inherited from profileModel
bool readFromFile () const
 Return true if file name is set. More...
 

Protected Attributes

List< scalar > CdCoeffs_
 List of drag coefficient values. More...
 
List< scalar > ClCoeffs_
 List of lift coefficient values. More...
 
- Protected Attributes inherited from profileModel
const dictionary dict_
 Coefficients dictionary. More...
 
const word name_
 Name of profile model. More...
 
fileName fName_
 File name (optional) More...
 

Additional Inherited Members

- Static Public Member Functions inherited from profileModel
static autoPtr< profileModelNew (const dictionary &dict)
 Return a reference to the selected fvOption model. More...
 

Detailed Description

Profile model where polar lift and drag coefficients are computed as sum of trigonometric series by using an input angle of attack.

\[ C_d = \sum_i\left(C_{dCoeff} \cos(i \alpha) \right) \]

\[ C_l = \sum_i\left(C_{lCoeff} \sin(i \alpha) \right) \]

where

\( C_d \) = Drag coefficient
\( C_l \) = Lift coefficient
\( \alpha \) = Angle of attack [deg]
Usage
Minimal example by using constant/fvOptions: rotorDiskSource1 { Mandatory/Optional (inherited) entries ...

Mandatory entries (runtime modifiable) profiles { Mandatory entries (runtime modifiable) <profile1> { Mandatory entries (runtime modifiable) type series; CdCoeffs (coeff1 coeff2 ... coeffN); ClCoeffs (coeff1 coeff2 ... coeffN); }

Mandatory/Optional (inherited) entries ... } }

where the entries mean:

Property Description Type Reqd Dflt
CdCoeffs List of drag coefficients scalarList yes -
ClCoeffs List of lift coefficients scalarList yes -
Note
  • Angle of attack is internally converted from [deg] to [rad].
See also
Source files

Definition at line 137 of file seriesProfile.H.

Constructor & Destructor Documentation

◆ seriesProfile() [1/2]

seriesProfile ( const dictionary dict,
const word modelName 
)

Constructor from dictionary and model name.

Definition at line 82 of file seriesProfile.C.

References seriesProfile::CdCoeffs_, seriesProfile::ClCoeffs_, dict, UList< T >::empty(), Foam::exit(), Foam::FatalIOError, FatalIOErrorInFunction, profileModel::fName_, dictionary::readEntry(), and profileModel::readFromFile().

Here is the call graph for this function:

◆ seriesProfile() [2/2]

seriesProfile ( const seriesProfile )
delete

No copy construct.

◆ ~seriesProfile()

~seriesProfile ( )
default

Destructor.

Member Function Documentation

◆ evaluateDrag()

Foam::scalar evaluateDrag ( const scalar &  xIn,
const List< scalar > &  values 
) const
protected

Drag.

Definition at line 44 of file seriesProfile.C.

References Foam::cos(), and forAll.

Here is the call graph for this function:

◆ evaluateLift()

Foam::scalar evaluateLift ( const scalar &  xIn,
const List< scalar > &  values 
) const
protected

Lift.

Definition at line 61 of file seriesProfile.C.

References forAll, and Foam::sin().

Here is the call graph for this function:

◆ TypeName()

TypeName ( "series"  )

Runtime type information.

◆ operator=()

void operator= ( const seriesProfile )
delete

No copy assignment.

◆ Cdl()

void Cdl ( const scalar  alpha,
scalar &  Cd,
scalar &  Cl 
) const
virtual

Return the Cd and Cl for a given angle-of-attack.

Implements profileModel.

Definition at line 121 of file seriesProfile.C.

References alpha.

Member Data Documentation

◆ CdCoeffs_

List<scalar> CdCoeffs_
protected

List of drag coefficient values.

Definition at line 146 of file seriesProfile.H.

Referenced by seriesProfile::seriesProfile().

◆ ClCoeffs_

List<scalar> ClCoeffs_
protected

List of lift coefficient values.

Definition at line 149 of file seriesProfile.H.

Referenced by seriesProfile::seriesProfile().


The documentation for this class was generated from the following files: