rotorDiskSource: Debugged the duplicated interpolation functions

Needs rewriting to avoid unnecessary code duplication, preferably using
standard OpenFOAM interpolation functionality.
This commit is contained in:
Henry Weller
2015-07-03 12:41:25 +01:00
parent bb5bc559d4
commit 3c209a32e9
3 changed files with 20 additions and 10 deletions

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation \\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -29,7 +29,6 @@ License
#include "vector.H" #include "vector.H"
#include "IFstream.H" #include "IFstream.H"
// * * * * * * * * * * * * * Protected Member Functions * * * * * * * * * * // // * * * * * * * * * * * * * Protected Member Functions * * * * * * * * * * //
bool Foam::bladeModel::readFromFile() const bool Foam::bladeModel::readFromFile() const
@ -58,12 +57,18 @@ void Foam::bladeModel::interpolateWeights
} }
else else
{ {
while ((values[i2] < xIn) && (i2 < nElem)) while ((i2 < nElem) && (values[i2] < xIn))
{ {
i2++; i2++;
} }
if (i2 == nElem) if (i2 == 0)
{
i1 = i2;
ddx = 0.0;
return;
}
else if (i2 == nElem)
{ {
i2 = nElem - 1; i2 = nElem - 1;
i1 = i2; i1 = i2;
@ -101,7 +106,6 @@ Foam::bladeModel::bladeModel(const dictionary& dict)
dict.lookup("data") >> data; dict.lookup("data") >> data;
} }
if (data.size() > 0) if (data.size() > 0)
{ {
profileName_.setSize(data.size()); profileName_.setSize(data.size());

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation \\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -60,12 +60,18 @@ void Foam::lookupProfile::interpolateWeights
} }
else else
{ {
while ((values[i2] < xIn) && (i2 < nElem)) while ((i2 < nElem) && (values[i2] < xIn))
{ {
i2++; i2++;
} }
if (i2 == nElem) if (i2 == 0)
{
i1 = i2;
ddx = 0.0;
return;
}
else if (i2 == nElem)
{ {
i2 = nElem - 1; i2 = nElem - 1;
i1 = i2; i1 = i2;

View File

@ -64,8 +64,8 @@ disk
{ {
data data
( (
(profile1 (0.1 -6 0.1)) (profile1 (0.1 -6 0.02))
(profile1 (0.25 -6 0.1)) (profile1 (0.25 -6 0.02))
); );
} }