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 68ea75a37c
commit 59f17355cf
3 changed files with 20 additions and 10 deletions

View File

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

View File

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

View File

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