51 result += values[i]*
cos(i*xIn);
70 result += values[i]*
sin(i*xIn);
92 is >> CdCoeffs_ >> ClCoeffs_;
96 dict.
lookup(
"CdCoeffs") >> CdCoeffs_;
97 dict.
lookup(
"ClCoeffs") >> ClCoeffs_;
101 if (CdCoeffs_.empty())
106 if (ClCoeffs_.empty())
118 Cd = evaluateDrag(alpha, CdCoeffs_);
119 Cl = evaluateLift(alpha, ClCoeffs_);
virtual void Cdl(const scalar alpha, scalar &Cd, scalar &Cl) const
Return the Cd and Cl for a given angle-of-attack.
#define forAll(list, i)
Loop across all elements in list.
errorManipArg< error, int > exit(error &err, const int errNo=1)
A list of keyword definitions, which are a keyword followed by any number of values (e...
scalar evaluateLift(const scalar &xIn, const List< scalar > &values) const
Lift.
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
seriesProfile(const dictionary &dict, const word &modelName)
Constructor.
volScalarField alpha(IOobject("alpha", runTime.timeName(), mesh, IOobject::READ_IF_PRESENT, IOobject::AUTO_WRITE), lambda *max(Ua &U, zeroSensitivity))
Macros for easy insertion into run-time selection tables.
dimensionedScalar cos(const dimensionedScalar &ds)
A class for handling words, derived from string.
Base class for profile models.
dimensionedScalar sin(const dimensionedScalar &ds)
addToRunTimeSelectionTable(ensightPart, ensightPartCells, istream)
defineTypeNameAndDebug(combustionModel, 0)
scalar evaluateDrag(const scalar &xIn, const List< scalar > &values) const
Drag.
ITstream & lookup(const word &, bool recursive=false, bool patternMatch=true) const
Find and return an entry data stream.