Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
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:
Inheritance graph
[legend]
Collaboration diagram for seriesProfile:
Collaboration graph
[legend]

Public Member Functions

 TypeName ("series")
 
 seriesProfile (const dictionary &dict, const word &modelName)
 
 seriesProfile (const seriesProfile &)=delete
 
void operator= (const seriesProfile &)=delete
 
 ~seriesProfile ()=default
 
virtual void Cdl (const scalar alpha, scalar &Cd, scalar &Cl) const
 
- Public Member Functions inherited from profileModel
 TypeName ("profileModel")
 
 declareRunTimeSelectionTable (autoPtr, profileModel, dictionary,(const dictionary &dict, const word &modelName),(dict, modelName))
 
 profileModel (const dictionary &dict, const word &modelName)
 
virtual ~profileModel ()=default
 
const wordname () const
 

Protected Member Functions

scalar evaluateDrag (const scalar &xIn, const List< scalar > &values) const
 
scalar evaluateLift (const scalar &xIn, const List< scalar > &values) const
 
- Protected Member Functions inherited from profileModel
bool readFromFile () const
 

Protected Attributes

List< scalar > CdCoeffs_
 
List< scalar > ClCoeffs_
 
- Protected Attributes inherited from profileModel
const dictionary dict_
 
const word name_
 
fileName fName_
 

Additional Inherited Members

- Static Public Member Functions inherited from profileModel
static autoPtr< profileModelNew (const dictionary &dict)
 

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 133 of file seriesProfile.H.

Constructor & Destructor Documentation

◆ seriesProfile() [1/2]

seriesProfile ( const dictionary dict,
const word modelName 
)

Definition at line 76 of file seriesProfile.C.

References dict, Foam::exit(), Foam::FatalIOError, and FatalIOErrorInFunction.

Here is the call graph for this function:

◆ seriesProfile() [2/2]

seriesProfile ( const seriesProfile )
delete

◆ ~seriesProfile()

~seriesProfile ( )
default

Member Function Documentation

◆ evaluateDrag()

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

Definition at line 38 of file seriesProfile.C.

References Foam::cos(), forAll, and Foam::HashTableOps::values().

Referenced by seriesProfile::Cdl().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ evaluateLift()

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

Definition at line 55 of file seriesProfile.C.

References forAll, Foam::sin(), and Foam::HashTableOps::values().

Referenced by seriesProfile::Cdl().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ TypeName()

TypeName ( "series"  )

◆ operator=()

void operator= ( const seriesProfile )
delete

◆ Cdl()

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

Implements profileModel.

Definition at line 114 of file seriesProfile.C.

References Foam::constant::atomic::alpha, seriesProfile::CdCoeffs_, seriesProfile::ClCoeffs_, seriesProfile::evaluateDrag(), and seriesProfile::evaluateLift().

Here is the call graph for this function:

Member Data Documentation

◆ CdCoeffs_

List<scalar> CdCoeffs_
protected

Definition at line 142 of file seriesProfile.H.

Referenced by seriesProfile::Cdl().

◆ ClCoeffs_

List<scalar> ClCoeffs_
protected

Definition at line 145 of file seriesProfile.H.

Referenced by seriesProfile::Cdl().


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