ENH: rotor source: split series profile Cd and Cl coeff calculation

This commit is contained in:
andy
2012-05-02 12:57:49 +01:00
parent ba3286ff8b
commit 8d43b7842a
2 changed files with 36 additions and 10 deletions

View File

@ -38,7 +38,24 @@ namespace Foam
// * * * * * * * * * * * * Protected Member Functions * * * * * * * * * * * //
Foam::scalar Foam::seriesProfile::evaluate
Foam::scalar Foam::seriesProfile::evaluateDrag
(
const scalar& xIn,
const List<scalar>& values
) const
{
scalar result = 0.0;
forAll(values, i)
{
result += values[i]*cos((i + 1)*xIn);
}
return result;
}
Foam::scalar Foam::seriesProfile::evaluateLift
(
const scalar& xIn,
const List<scalar>& values
@ -108,8 +125,8 @@ Foam::seriesProfile::seriesProfile
void Foam::seriesProfile::Cdl(const scalar alpha, scalar& Cd, scalar& Cl) const
{
Cd = evaluate(alpha, CdCoeffs_);
Cl = evaluate(alpha, ClCoeffs_);
Cd = evaluateDrag(alpha, CdCoeffs_);
Cl = evaluateLift(alpha, ClCoeffs_);
}

View File

@ -28,7 +28,7 @@ Description
Series-up based profile data - drag and lift coefficients computed as
sum of cosine series
Cd = sum_i(CdCoeff)*sin(i*AOA)
Cd = sum_i(CdCoeff)*cos(i*AOA)
Cl = sum_i(ClCoeff)*sin(i*AOA)
where:
@ -79,12 +79,21 @@ protected:
// Protected Member Functions
//- Evaluate
scalar evaluate
(
const scalar& xIn,
const List<scalar>& values
) const;
// Evaluate
//- Drag
scalar evaluateDrag
(
const scalar& xIn,
const List<scalar>& values
) const;
//- Lift
scalar evaluateLift
(
const scalar& xIn,
const List<scalar>& values
) const;
public: