Loading...
Searching...
No Matches
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...

#include <seriesProfile.H>

Inheritance diagram for seriesProfile:
Collaboration diagram for seriesProfile:

Public Member Functions

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

Protected Member Functions

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

Protected Attributes

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

Additional Inherited Members

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

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 )

Constructor from dictionary and model name.

Definition at line 75 of file seriesProfile.C.

References CdCoeffs_, ClCoeffs_, dict, profileModel::fName_, if(), profileModel::profileModel(), and profileModel::readFromFile().

Referenced by operator=(), and seriesProfile().

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

◆ seriesProfile() [2/2]

seriesProfile ( const seriesProfile & )
delete

No copy construct.

References seriesProfile().

Here is the call graph for this function:

◆ ~seriesProfile()

~seriesProfile ( )
default

Destructor.

References alpha.

Member Function Documentation

◆ evaluateDrag()

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

Drag.

Definition at line 37 of file seriesProfile.C.

References Foam::cos(), and forAll.

Referenced by 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

Lift.

Definition at line 54 of file seriesProfile.C.

References forAll, and Foam::sin().

Referenced by Cdl().

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

◆ TypeName()

TypeName ( "series" )

Runtime type information.

References dict.

◆ operator=()

void operator= ( const seriesProfile & )
delete

No copy assignment.

References seriesProfile().

Here is the call graph for this function:

◆ 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 114 of file seriesProfile.C.

References alpha, CdCoeffs_, ClCoeffs_, evaluateDrag(), and evaluateLift().

Here is the call graph for this function:

Member Data Documentation

◆ CdCoeffs_

List<scalar> CdCoeffs_
protected

List of drag coefficient values.

Definition at line 144 of file seriesProfile.H.

Referenced by Cdl(), and seriesProfile().

◆ ClCoeffs_

List<scalar> ClCoeffs_
protected

List of lift coefficient values.

Definition at line 149 of file seriesProfile.H.

Referenced by Cdl(), and seriesProfile().


The documentation for this class was generated from the following files:
  • src/fvOptions/sources/derived/rotorDiskSource/profileModel/series/seriesProfile.H
  • src/fvOptions/sources/derived/rotorDiskSource/profileModel/series/seriesProfile.C