diff --git a/applications/utilities/preProcessing/wallFunctionTable/Allwclean b/applications/utilities/preProcessing/wallFunctionTable/Allwclean deleted file mode 100755 index bf93e1c06b..0000000000 --- a/applications/utilities/preProcessing/wallFunctionTable/Allwclean +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh - -wclean libso tabulatedWallFunction -wclean - diff --git a/applications/utilities/preProcessing/wallFunctionTable/Allwmake b/applications/utilities/preProcessing/wallFunctionTable/Allwmake deleted file mode 100755 index 06612a9c67..0000000000 --- a/applications/utilities/preProcessing/wallFunctionTable/Allwmake +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/sh -cd ${0%/*} || exit 1 # Run from this directory - -# Parse arguments for library compilation -. $WM_PROJECT_DIR/wmake/scripts/AllwmakeParseArguments - -wmake $targetType tabulatedWallFunction -wmake $targetType - -#------------------------------------------------------------------------------ diff --git a/applications/utilities/preProcessing/wallFunctionTable/Make/files b/applications/utilities/preProcessing/wallFunctionTable/Make/files deleted file mode 100644 index f0894037f3..0000000000 --- a/applications/utilities/preProcessing/wallFunctionTable/Make/files +++ /dev/null @@ -1,3 +0,0 @@ -wallFunctionTable.C - -EXE = $(FOAM_APPBIN)/wallFunctionTable diff --git a/applications/utilities/preProcessing/wallFunctionTable/Make/options b/applications/utilities/preProcessing/wallFunctionTable/Make/options deleted file mode 100644 index c26aa9aa42..0000000000 --- a/applications/utilities/preProcessing/wallFunctionTable/Make/options +++ /dev/null @@ -1,9 +0,0 @@ -EXE_INC = \ - -I./tabulatedWallFunction/lnInclude \ - -I$(LIB_SRC)/finiteVolume/lnInclude \ - -I$(LIB_SRC)/meshTools/lnInclude - -EXE_LIBS = \ - -ltabulatedWallFunctions \ - -lfiniteVolume \ - -lmeshTools diff --git a/applications/utilities/preProcessing/wallFunctionTable/tabulatedWallFunction/Make/files b/applications/utilities/preProcessing/wallFunctionTable/tabulatedWallFunction/Make/files deleted file mode 100644 index 96d2bb2a85..0000000000 --- a/applications/utilities/preProcessing/wallFunctionTable/tabulatedWallFunction/Make/files +++ /dev/null @@ -1,7 +0,0 @@ -tabulatedWallFunction/tabulatedWallFunction.C -tabulatedWallFunction/tabulatedWallFunctionNew.C - -SpaldingsLaw/SpaldingsLaw.C -general/general.C - -LIB = $(FOAM_LIBBIN)/libtabulatedWallFunctions diff --git a/applications/utilities/preProcessing/wallFunctionTable/tabulatedWallFunction/Make/options b/applications/utilities/preProcessing/wallFunctionTable/tabulatedWallFunction/Make/options deleted file mode 100644 index 6eddf45cb9..0000000000 --- a/applications/utilities/preProcessing/wallFunctionTable/tabulatedWallFunction/Make/options +++ /dev/null @@ -1,7 +0,0 @@ - -EXE_INC = \ - -I$(LIB_SRC)/finiteVolume/lnInclude \ - -I$(LIB_SRC)/transportModels - -LIB_LIBS = \ - -lfiniteVolume diff --git a/applications/utilities/preProcessing/wallFunctionTable/tabulatedWallFunction/SpaldingsLaw/SpaldingsLaw.C b/applications/utilities/preProcessing/wallFunctionTable/tabulatedWallFunction/SpaldingsLaw/SpaldingsLaw.C deleted file mode 100644 index 0c595191ba..0000000000 --- a/applications/utilities/preProcessing/wallFunctionTable/tabulatedWallFunction/SpaldingsLaw/SpaldingsLaw.C +++ /dev/null @@ -1,196 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2011-2019 OpenFOAM Foundation - \\/ M anipulation | -------------------------------------------------------------------------------- -License - This file is part of OpenFOAM. - - OpenFOAM is free software: you can redistribute it and/or modify it - under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - OpenFOAM is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - for more details. - - You should have received a copy of the GNU General Public License - along with OpenFOAM. If not, see . - -\*---------------------------------------------------------------------------*/ - -#include "SpaldingsLaw.H" -#include "addToRunTimeSelectionTable.H" - -// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // - -namespace Foam -{ - namespace tabulatedWallFunctions - { - defineTypeNameAndDebug(SpaldingsLaw, 0); - addToRunTimeSelectionTable - ( - tabulatedWallFunction, - SpaldingsLaw, - dictionary - ); - } -} - -const Foam::label Foam::tabulatedWallFunctions::SpaldingsLaw::maxIters_ = 1000; - -const Foam::scalar - Foam::tabulatedWallFunctions::SpaldingsLaw::tolerance_ = 1e-4; - - -// * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * * // - -void Foam::tabulatedWallFunctions::SpaldingsLaw::invertFunction() -{ - // Initialise u+ and R - scalar Re = 0.0; - scalar uPlus = 1; - - // Populate the table - forAll(invertedTable_, i) - { - if (invertedTable_.log10()) - { - Re = pow(10, (i*invertedTable_.dx() + invertedTable_.x0())); - } - else - { - Re = i*invertedTable_.dx() + invertedTable_.x0(); - } - - // Use latest available u+ estimate - if (i > 0) - { - uPlus = invertedTable_[i-1]; - } - - // Newton iterations to determine u+ - label iter = 0; - scalar error = great; - do - { - scalar kUPlus = min(kappa_*uPlus, 50); - scalar A = - E_*sqr(uPlus) - + uPlus - *(exp(kUPlus) - pow3(kUPlus)/6 - 0.5*sqr(kUPlus) - kUPlus - 1); - - scalar f = - Re + A/E_; - - scalar df = - ( - 2*E_*uPlus - + exp(kUPlus)*(kUPlus + 1) - - 2.0/3.0*pow3(kUPlus) - - 1.5*sqr(kUPlus) - - 2*kUPlus - - 1 - )/E_; - - scalar uPlusNew = uPlus - f/(df + rootVSmall); - error = mag((uPlus - uPlusNew)/uPlusNew); - uPlus = uPlusNew; - } while (error > tolerance_ && ++iter < maxIters_); - - if (iter == maxIters_) - { - WarningInFunction - << "Newton iterations not converged:" << nl - << " iters = " << iter << ", error = " << error << endl; - } - - // Set new values - constrain u+ >= 0 - invertedTable_[i] = max(0, uPlus); - } -} - - -// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // - -Foam::tabulatedWallFunctions::SpaldingsLaw::SpaldingsLaw -( - const dictionary& dict, - const polyMesh& mesh -) -: - tabulatedWallFunction(dict, mesh, typeName), - kappa_(coeffDict_.lookup("kappa")), - E_(coeffDict_.lookup("E")) -{ - invertFunction(); - - if (debug) - { - writeData(Info); - } -} - - -// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // - -Foam::tabulatedWallFunctions::SpaldingsLaw::~SpaldingsLaw() -{} - - -// * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * * // - -Foam::scalar Foam::tabulatedWallFunctions::SpaldingsLaw::yPlus -( - const scalar uPlus -) const -{ - scalar kUPlus = min(kappa_*uPlus, 50); - - return - uPlus - + 1/E_*(exp(kUPlus) - pow3(kUPlus)/6 - 0.5*sqr(kUPlus) - kUPlus - 1); -} - - -Foam::scalar Foam::tabulatedWallFunctions::SpaldingsLaw::Re -( - const scalar uPlus -) const -{ - return uPlus*yPlus(uPlus); -} - - -void Foam::tabulatedWallFunctions::SpaldingsLaw::writeData(Ostream& os) const -{ - if (invertedTable_.log10()) - { - os << "log10(Re), y+, u+:" << endl; - forAll(invertedTable_, i) - { - scalar uPlus = invertedTable_[i]; - scalar Re = ::log10(this->Re(uPlus)); - scalar yPlus = this->yPlus(uPlus); - os << Re << ", " << yPlus << ", " << uPlus << endl; - } - } - else - { - os << "Re, y+, u+:" << endl; - forAll(invertedTable_, i) - { - scalar uPlus = invertedTable_[i]; - scalar Re = this->Re(uPlus); - scalar yPlus = this->yPlus(uPlus); - os << Re << ", " << yPlus << ", " << uPlus << endl; - } - } -} - - -// ************************************************************************* // diff --git a/applications/utilities/preProcessing/wallFunctionTable/tabulatedWallFunction/SpaldingsLaw/SpaldingsLaw.H b/applications/utilities/preProcessing/wallFunctionTable/tabulatedWallFunction/SpaldingsLaw/SpaldingsLaw.H deleted file mode 100644 index 3c055ff40d..0000000000 --- a/applications/utilities/preProcessing/wallFunctionTable/tabulatedWallFunction/SpaldingsLaw/SpaldingsLaw.H +++ /dev/null @@ -1,139 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2011-2018 OpenFOAM Foundation - \\/ M anipulation | -------------------------------------------------------------------------------- -License - This file is part of OpenFOAM. - - OpenFOAM is free software: you can redistribute it and/or modify it - under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - OpenFOAM is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - for more details. - - You should have received a copy of the GNU General Public License - along with OpenFOAM. If not, see . - -Class - Foam::tabulatedWallFunctions::SpaldingsLaw - -Description - Computes U+ as a function of Reynolds number by inverting Spaldings law. - - Example dictionary specification: - - tabulatedWallFunction SpaldingsLaw; - - // Output table info - tableName uPlusWallFunctionData; // Output table name - log10 yes; // Rey interpreted as log10(Rey) - dx 0.2; // Interval log10(Rey) - x0 -3; // Minimum log10(Rey) - xMax 7; // Maximum log10(Rey) - - SpaldingsLawCoeffs - { - kappa 0.41; // Von Karman constant - E 9.8; // Law-of-the-wall E coefficient - } - - -SourceFiles - SpaldingsLaw.C - -\*---------------------------------------------------------------------------*/ - -#ifndef SpaldingsLaw_H -#define SpaldingsLaw_H - -#include "tabulatedWallFunction.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ -namespace tabulatedWallFunctions -{ - -/*---------------------------------------------------------------------------*\ - Class SpaldingsLaw Declaration -\*---------------------------------------------------------------------------*/ - -class SpaldingsLaw -: - public tabulatedWallFunction -{ -protected: - - // Protected data - - //- Von Karman constant - scalar kappa_; - - //- Law-of-the-wall E coefficient - scalar E_; - - - // Newton iteration solution properties - - //- Maximum number of iterations - static const label maxIters_; - - //- Tolerance - static const scalar tolerance_; - - - // Protected Member Functions - - //- Invert the function - virtual void invertFunction(); - - -public: - - //- Run-time type information - TypeName("SpaldingsLaw"); - - - // Constructors - SpaldingsLaw(const dictionary& dict, const polyMesh& mesh); - - //- Destructor - virtual ~SpaldingsLaw(); - - - // Member Functions - - // Access - - //- Return y+ as a function of u+ - virtual scalar yPlus(const scalar uPlus) const; - - //- Return Reynolds number as a function of u+ - virtual scalar Re(const scalar uPlus) const; - - - // I-O - - //- Write to Ostream - virtual void writeData(Ostream& os) const; -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace tabulatedWallFunctions -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/applications/utilities/preProcessing/wallFunctionTable/tabulatedWallFunction/general/general.C b/applications/utilities/preProcessing/wallFunctionTable/tabulatedWallFunction/general/general.C deleted file mode 100644 index 742da0bf55..0000000000 --- a/applications/utilities/preProcessing/wallFunctionTable/tabulatedWallFunction/general/general.C +++ /dev/null @@ -1,243 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2011-2018 OpenFOAM Foundation - \\/ M anipulation | -------------------------------------------------------------------------------- -License - This file is part of OpenFOAM. - - OpenFOAM is free software: you can redistribute it and/or modify it - under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - OpenFOAM is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - for more details. - - You should have received a copy of the GNU General Public License - along with OpenFOAM. If not, see . - -\*---------------------------------------------------------------------------*/ - -#include "general.H" -#include "addToRunTimeSelectionTable.H" -#include "Tuple2.H" - -// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // - -namespace Foam -{ - namespace tabulatedWallFunctions - { - defineTypeNameAndDebug(general, 0); - addToRunTimeSelectionTable - ( - tabulatedWallFunction, - general, - dictionary - ); - } - - template<> - const char* Foam::NamedEnum - < - Foam::tabulatedWallFunctions::general::interpolationType, - 1 - >::names[] = - { - "linear" - }; - -} - -const -Foam::NamedEnum - Foam::tabulatedWallFunctions::general::interpolationTypeNames_; - - -// * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * * // - -void Foam::tabulatedWallFunctions::general::invertTable() -{ - scalarList Rey(uPlus_.size(), 0.0); - - // Calculate Reynolds number - forAll(uPlus_, i) - { - Rey[i] = yPlus_[i]*uPlus_[i]; - if (invertedTable_.log10()) - { - Rey[i] = ::log10(max(rootVSmall, Rey[i])); - } - } - - // Populate the U+ vs Re table - forAll(invertedTable_, i) - { - scalar Re = i*invertedTable_.dx() + invertedTable_.x0(); - invertedTable_[i] = max(0, interpolate(Re, Rey, uPlus_)); - } -} - - -Foam::scalar Foam::tabulatedWallFunctions::general::interpolate -( - const scalar xi, - const scalarList& x, - const scalarList& fx -) const -{ - switch (interpType_) - { - case itLinear: - { - if (xi <= x[0]) - { - return fx[0]; - } - else if (xi >= x.last()) - { - return fx.last(); - } - else - { - label i2 = 0; - while (x[i2] < xi) - { - i2++; - } - label i1 = i2 - 1; - - return (xi - x[i1])/(x[i2] - x[i1])*(fx[i2] - fx[i1]) + fx[i1]; - } - - break; - } - default: - { - FatalErrorInFunction - << "Unknown interpolation method" << nl - << abort(FatalError); - } - } - - return 0.0; -} - - -// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // - -Foam::tabulatedWallFunctions::general::general -( - const dictionary& dict, - const polyMesh& mesh -) -: - tabulatedWallFunction(dict, mesh, typeName), - interpType_(interpolationTypeNames_[coeffDict_.lookup("interpType")]), - yPlus_(), - uPlus_(), - log10YPlus_(coeffDict_.lookup("log10YPlus")), - log10UPlus_(coeffDict_.lookup("log10UPlus")) -{ - List> inputTable = coeffDict_.lookup("inputTable"); - if (inputTable.size() < 2) - { - FatalErrorInFunction - << "Input table must have at least 2 values" << nl - << exit(FatalError); - } - - yPlus_.setSize(inputTable.size()); - uPlus_.setSize(inputTable.size()); - - forAll(inputTable, i) - { - if (log10YPlus_) - { - yPlus_[i] = pow(10, inputTable[i].first()); - } - else - { - yPlus_[i] = inputTable[i].first(); - } - - if (log10UPlus_) - { - uPlus_[i] = pow(10, inputTable[i].second()); - } - else - { - uPlus_[i] = inputTable[i].second(); - } - } - - invertTable(); - - if (debug) - { - writeData(Info); - } -} - - -// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // - -Foam::tabulatedWallFunctions::general::~general() -{} - - -// * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * * // - -Foam::scalar Foam::tabulatedWallFunctions::general::yPlus -( - const scalar uPlus -) const -{ - return interpolate(uPlus, uPlus_, yPlus_); -} - - -Foam::scalar Foam::tabulatedWallFunctions::general::Re -( - const scalar uPlus -) const -{ - return uPlus*yPlus(uPlus); -} - - -// * * * * * * * * * * * * * * Member Operators * * * * * * * * * * * * * * // - -void Foam::tabulatedWallFunctions::general::writeData(Ostream& os) const -{ - if (invertedTable_.log10()) - { - os << "log10(Re), y+, u+:" << endl; - forAll(invertedTable_, i) - { - scalar uPlus = invertedTable_[i]; - scalar Re = ::log10(this->Re(uPlus)); - scalar yPlus = this->yPlus(uPlus); - os << Re << ", " << yPlus << ", " << uPlus << endl; - } - } - else - { - os << "Re, y+, u+:" << endl; - forAll(invertedTable_, i) - { - scalar uPlus = invertedTable_[i]; - scalar Re = this->Re(uPlus); - scalar yPlus = this->yPlus(uPlus); - os << Re << ", " << yPlus << ", " << uPlus << endl; - } - } -} - - -// ************************************************************************* // diff --git a/applications/utilities/preProcessing/wallFunctionTable/tabulatedWallFunction/general/general.H b/applications/utilities/preProcessing/wallFunctionTable/tabulatedWallFunction/general/general.H deleted file mode 100644 index da0ef2869f..0000000000 --- a/applications/utilities/preProcessing/wallFunctionTable/tabulatedWallFunction/general/general.H +++ /dev/null @@ -1,171 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2011-2020 OpenFOAM Foundation - \\/ M anipulation | -------------------------------------------------------------------------------- -License - This file is part of OpenFOAM. - - OpenFOAM is free software: you can redistribute it and/or modify it - under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - OpenFOAM is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - for more details. - - You should have received a copy of the GNU General Public License - along with OpenFOAM. If not, see . - -Class - Foam::tabulatedWallFunctions::general - -Description - Computes U+ as a function of Reynolds number by inverting table of - y+ vs U+ - - Example dictionary specification: - - tabulatedWallFunction general; - - // Output table info - tableName uPlusWallFunctionData; // Output table name - log10 yes; // Re interpreted as log10(Rey) - dx 0.2; // Interval log10(Rey) - x0 -3; // Minimum log10(Rey) - xMax 7; // Maximum log10(Rey) - - generalCoeffs - { - interpType linear; // Interpolation method - log10YPlus true; // y+ values defined as log10(y+) - log10UPlus true; // U+ values defined as log10(y+) - inputTable - ( - (yPlusValue0 uPlusValue0) - ... - (yPlusValueN uPlusValueN) - ); - - } - - -SourceFiles - general.C - -\*---------------------------------------------------------------------------*/ - -#ifndef general_H -#define general_H - -#include "tabulatedWallFunction.H" -#include "NamedEnum.H" -#include "Switch.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ -namespace tabulatedWallFunctions -{ - -/*---------------------------------------------------------------------------*\ - Class general Declaration -\*---------------------------------------------------------------------------*/ - -class general -: - public tabulatedWallFunction -{ -public: - - // Public data types - - //- Enumeration listing available interpolation types - enum interpolationType - { - itLinear - }; - - static const NamedEnum interpolationTypeNames_; - - -protected: - - // Protected data - - //- Type of interpolation to apply when inverting the data set - interpolationType interpType_; - - //- Input y+ values - List yPlus_; - - //- Input U+ values - List uPlus_; - - //- Are y+ values entered as log10(y+)? - Switch log10YPlus_; - - //- Are U+ values entered as log10(U+)? - Switch log10UPlus_; - - - // Protected Member Functions - - //- Invert the table - virtual void invertTable(); - - //- Interpolate - virtual scalar interpolate - ( - const scalar xi, - const scalarList& x, - const scalarList& fx - ) const; - - -public: - - //- Run-time type information - TypeName("general"); - - - // Constructors - general(const dictionary& dict, const polyMesh& mesh); - - //- Destructor - virtual ~general(); - - - // Member Functions - - // Access - - //- Return y+ as a function of u+ - virtual scalar yPlus(const scalar uPlus) const; - - //- Return Reynolds number as a function of u+ - virtual scalar Re(const scalar uPlus) const; - - - // I-O - - //- Write to Ostream - virtual void writeData(Ostream& os) const; -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace tabulatedWallFunctions -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/applications/utilities/preProcessing/wallFunctionTable/tabulatedWallFunction/tabulatedWallFunction/tabulatedWallFunction.C b/applications/utilities/preProcessing/wallFunctionTable/tabulatedWallFunction/tabulatedWallFunction/tabulatedWallFunction.C deleted file mode 100644 index a40ee1bff9..0000000000 --- a/applications/utilities/preProcessing/wallFunctionTable/tabulatedWallFunction/tabulatedWallFunction/tabulatedWallFunction.C +++ /dev/null @@ -1,86 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2011-2020 OpenFOAM Foundation - \\/ M anipulation | -------------------------------------------------------------------------------- -License - This file is part of OpenFOAM. - - OpenFOAM is free software: you can redistribute it and/or modify it - under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - OpenFOAM is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - for more details. - - You should have received a copy of the GNU General Public License - along with OpenFOAM. If not, see . - -\*---------------------------------------------------------------------------*/ - -#include "tabulatedWallFunction.H" -#include "Time.H" - -// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // - -namespace Foam -{ - namespace tabulatedWallFunctions - { - defineTypeNameAndDebug(tabulatedWallFunction, 0); - defineRunTimeSelectionTable(tabulatedWallFunction, dictionary); - } -} - - -// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // - -Foam::tabulatedWallFunctions::tabulatedWallFunction::tabulatedWallFunction -( - const dictionary& dict, - const polyMesh& mesh, - const word& name -) -: - dict_(dict), - mesh_(mesh), - coeffDict_(dict.optionalSubDict(name + "Coeffs")), - invertedTableName_(dict.lookup("invertedTableName")), - invertedTable_(invertedTableName_, mesh_, dict, true) -{} - - -// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // - -Foam::tabulatedWallFunctions::tabulatedWallFunction::~tabulatedWallFunction() -{} - - -// * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * * // - -void Foam::tabulatedWallFunctions::tabulatedWallFunction::write() -{ - if (invertedTable_.log10()) - { - invertedTable_.note() = - "U+ as a function of log10(Re) computed using " + type(); - } - else - { - invertedTable_.note() = - "U+ as a function of Re computed using " + type(); - } - - Info<< "Writing inverted table to\n " - << invertedTable_.localObjectPath() << endl; - - invertedTable_.write(); -} - - -// ************************************************************************* // diff --git a/applications/utilities/preProcessing/wallFunctionTable/tabulatedWallFunction/tabulatedWallFunction/tabulatedWallFunction.H b/applications/utilities/preProcessing/wallFunctionTable/tabulatedWallFunction/tabulatedWallFunction/tabulatedWallFunction.H deleted file mode 100644 index 724285de33..0000000000 --- a/applications/utilities/preProcessing/wallFunctionTable/tabulatedWallFunction/tabulatedWallFunction/tabulatedWallFunction.H +++ /dev/null @@ -1,147 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2011-2020 OpenFOAM Foundation - \\/ M anipulation | -------------------------------------------------------------------------------- -License - This file is part of OpenFOAM. - - OpenFOAM is free software: you can redistribute it and/or modify it - under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - OpenFOAM is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - for more details. - - You should have received a copy of the GNU General Public License - along with OpenFOAM. If not, see . - -Class - Foam::tabulatedWallFunctions::tabulatedWallFunction - -Description - Base class for models that generate tabulated wall function data. - -SourceFiles - tabulatedWallFunction.C - -\*---------------------------------------------------------------------------*/ - -#ifndef tabulatedWallFunction_H -#define tabulatedWallFunction_H - -#include "dictionary.H" -#include "polyMesh.H" -#include "runTimeSelectionTables.H" -#include "Switch.H" -#include "uniformInterpolationTable.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ -namespace tabulatedWallFunctions -{ - -/*---------------------------------------------------------------------------*\ - Class tabulatedWallFunction Declaration -\*---------------------------------------------------------------------------*/ - -class tabulatedWallFunction -{ -protected: - - // Protected data - - //- Main dictionary - const dictionary dict_; - - //- Reference to the mesh database - const polyMesh& mesh_; - - //- Coefficients dictionary - const dictionary coeffDict_; - - //- Name of inverted table - word invertedTableName_; - - //- Inverted table - uniformInterpolationTable invertedTable_; - - -public: - - //- Run-time type information - TypeName("tabulatedWallFunction"); - - //- Declare runtime constructor selection table - declareRunTimeSelectionTable - ( - autoPtr, - tabulatedWallFunction, - dictionary, - ( - const dictionary& dict, - const polyMesh& mesh - ), - (dict, mesh) - ); - - //- Constructor - tabulatedWallFunction - ( - const dictionary& dict, - const polyMesh& mesh, - const word& name - ); - - //- Destructor - virtual ~tabulatedWallFunction(); - - - //- Selector - static autoPtr New - ( - const dictionary& dict, - const polyMesh& mesh - ); - - - // Member Functions - - // Access - - //- Return the inverted table name - inline const word& invertedTableName() const; - - //- Return the inverted table - inline const uniformInterpolationTable& - invertedTable() const; - - - // I-O - - //- Write - virtual void write(); -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace tabulatedWallFunctions -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#include "tabulatedWallFunctionI.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/applications/utilities/preProcessing/wallFunctionTable/tabulatedWallFunction/tabulatedWallFunction/tabulatedWallFunctionI.H b/applications/utilities/preProcessing/wallFunctionTable/tabulatedWallFunction/tabulatedWallFunction/tabulatedWallFunctionI.H deleted file mode 100644 index aea422473c..0000000000 --- a/applications/utilities/preProcessing/wallFunctionTable/tabulatedWallFunction/tabulatedWallFunction/tabulatedWallFunctionI.H +++ /dev/null @@ -1,44 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2011-2018 OpenFOAM Foundation - \\/ M anipulation | -------------------------------------------------------------------------------- -License - This file is part of OpenFOAM. - - OpenFOAM is free software: you can redistribute it and/or modify it - under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - OpenFOAM is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - for more details. - - You should have received a copy of the GNU General Public License - along with OpenFOAM. If not, see . - -\*---------------------------------------------------------------------------*/ - -#include "tabulatedWallFunction.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -inline const Foam::word& -Foam::tabulatedWallFunctions::tabulatedWallFunction::invertedTableName() const -{ - return invertedTableName_; -} - - -inline const Foam::uniformInterpolationTable& -Foam::tabulatedWallFunctions::tabulatedWallFunction::invertedTable() const -{ - return invertedTable_; -} - - -// ************************************************************************* // diff --git a/applications/utilities/preProcessing/wallFunctionTable/tabulatedWallFunction/tabulatedWallFunction/tabulatedWallFunctionNew.C b/applications/utilities/preProcessing/wallFunctionTable/tabulatedWallFunction/tabulatedWallFunction/tabulatedWallFunctionNew.C deleted file mode 100644 index 3a11b6568d..0000000000 --- a/applications/utilities/preProcessing/wallFunctionTable/tabulatedWallFunction/tabulatedWallFunction/tabulatedWallFunctionNew.C +++ /dev/null @@ -1,68 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2011-2018 OpenFOAM Foundation - \\/ M anipulation | -------------------------------------------------------------------------------- -License - This file is part of OpenFOAM. - - OpenFOAM is free software: you can redistribute it and/or modify it - under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - OpenFOAM is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - for more details. - - You should have received a copy of the GNU General Public License - along with OpenFOAM. If not, see . - -\*---------------------------------------------------------------------------*/ - -#include "tabulatedWallFunction.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ -namespace tabulatedWallFunctions -{ - -// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // - -autoPtr tabulatedWallFunction::New -( - const dictionary& dict, - const polyMesh& mesh -) -{ - word twfTypeName = dict.lookup("tabulatedWallFunction"); - - Info<< "Selecting tabulatedWallFunction " << twfTypeName << endl; - - dictionaryConstructorTable::iterator cstrIter = - dictionaryConstructorTablePtr_->find(twfTypeName); - - if (cstrIter == dictionaryConstructorTablePtr_->end()) - { - FatalErrorInFunction - << "Unknown tabulatedWallFunction type " << twfTypeName - << nl << nl << "Valid tabulatedWallFunction types are:" << nl - << dictionaryConstructorTablePtr_->toc() - << exit(FatalError); - } - - return autoPtr(cstrIter()(dict, mesh)); -} - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace tabulatedWallFunctions -} // End namespace Foam - -// ************************************************************************* // diff --git a/applications/utilities/preProcessing/wallFunctionTable/wallFunctionTable.C b/applications/utilities/preProcessing/wallFunctionTable/wallFunctionTable.C deleted file mode 100644 index 8137cd3e2a..0000000000 --- a/applications/utilities/preProcessing/wallFunctionTable/wallFunctionTable.C +++ /dev/null @@ -1,65 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2011-2019 OpenFOAM Foundation - \\/ M anipulation | -------------------------------------------------------------------------------- -License - This file is part of OpenFOAM. - - OpenFOAM is free software: you can redistribute it and/or modify it - under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - OpenFOAM is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - for more details. - - You should have received a copy of the GNU General Public License - along with OpenFOAM. If not, see . - -Application - wallFunctionTable - -Description - Generates a table suitable for use by tabulated wall functions. - -\*---------------------------------------------------------------------------*/ - -#include "fvCFD.H" -#include "tabulatedWallFunction.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -int main(int argc, char *argv[]) -{ - #include "setRootCase.H" - #include "createTime.H" - #include "createMesh.H" - - IOdictionary dict - ( - IOobject - ( - "wallFunctionDict", - runTime.constant(), - mesh, - IOobject::MUST_READ_IF_MODIFIED - ) - ); - - autoPtr - twf(tabulatedWallFunctions::tabulatedWallFunction::New(dict, mesh)); - - twf->write(); - - Info<< "End\n" << endl; - - return 0; -} - - -// ************************************************************************* // diff --git a/src/MomentumTransportModels/momentumTransportModels/Make/files b/src/MomentumTransportModels/momentumTransportModels/Make/files index 96220d9e5f..7791fc81c2 100644 --- a/src/MomentumTransportModels/momentumTransportModels/Make/files +++ b/src/MomentumTransportModels/momentumTransportModels/Make/files @@ -36,7 +36,6 @@ $(nutWallFunctions)/nutkRoughWallFunction/nutkRoughWallFunctionFvPatchScalarFiel $(nutWallFunctions)/nutUWallFunction/nutUWallFunctionFvPatchScalarField.C $(nutWallFunctions)/nutUSpaldingWallFunction/nutUSpaldingWallFunctionFvPatchScalarField.C -$(nutWallFunctions)/nutUTabulatedWallFunction/nutUTabulatedWallFunctionFvPatchScalarField.C $(nutWallFunctions)/nutLowReWallFunction/nutLowReWallFunctionFvPatchScalarField.C $(nutWallFunctions)/nutURoughWallFunction/nutURoughWallFunctionFvPatchScalarField.C diff --git a/src/MomentumTransportModels/momentumTransportModels/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutUTabulatedWallFunction/nutUTabulatedWallFunctionFvPatchScalarField.C b/src/MomentumTransportModels/momentumTransportModels/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutUTabulatedWallFunction/nutUTabulatedWallFunctionFvPatchScalarField.C deleted file mode 100644 index e333699292..0000000000 --- a/src/MomentumTransportModels/momentumTransportModels/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutUTabulatedWallFunction/nutUTabulatedWallFunctionFvPatchScalarField.C +++ /dev/null @@ -1,214 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2011-2020 OpenFOAM Foundation - \\/ M anipulation | -------------------------------------------------------------------------------- -License - This file is part of OpenFOAM. - - OpenFOAM is free software: you can redistribute it and/or modify it - under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - OpenFOAM is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - for more details. - - You should have received a copy of the GNU General Public License - along with OpenFOAM. If not, see . - -\*---------------------------------------------------------------------------*/ - -#include "nutUTabulatedWallFunctionFvPatchScalarField.H" -#include "momentumTransportModel.H" -#include "fvPatchFieldMapper.H" -#include "volFields.H" -#include "addToRunTimeSelectionTable.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ - -// * * * * * * * * * * * * Protected Member Functions * * * * * * * * * * * // - -tmp nutUTabulatedWallFunctionFvPatchScalarField::nut() const -{ - const label patchi = patch().index(); - - const momentumTransportModel& turbModel = - db().lookupObject - ( - IOobject::groupName - ( - momentumTransportModel::typeName, - internalField().group() - ) - ); - const scalarField& y = turbModel.y()[patchi]; - const fvPatchVectorField& Uw = turbModel.U().boundaryField()[patchi]; - const scalarField magUp(mag(Uw.patchInternalField() - Uw)); - const scalarField magGradU(mag(Uw.snGrad())); - const tmp tnuw = turbModel.nu(patchi); - const scalarField& nuw = tnuw(); - - return - max - ( - scalar(0), - sqr(magUp/(calcUPlus(magUp*y/nuw) + rootVSmall)) - /(magGradU + rootVSmall) - - nuw - ); -} - - -tmp nutUTabulatedWallFunctionFvPatchScalarField::calcUPlus -( - const scalarField& Rey -) const -{ - tmp tuPlus(new scalarField(patch().size(), 0.0)); - scalarField& uPlus = tuPlus.ref(); - - forAll(uPlus, facei) - { - uPlus[facei] = uPlusTable_.interpolateLog10(Rey[facei]); - } - - return tuPlus; -} - - -// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // - -nutUTabulatedWallFunctionFvPatchScalarField:: -nutUTabulatedWallFunctionFvPatchScalarField -( - const fvPatch& p, - const DimensionedField& iF -) -: - nutWallFunctionFvPatchScalarField(p, iF), - uPlusTableName_("undefined-uPlusTableName"), - uPlusTable_ - ( - IOobject - ( - uPlusTableName_, - patch().boundaryMesh().mesh().time().constant(), - patch().boundaryMesh().mesh(), - IOobject::NO_READ, - IOobject::NO_WRITE, - false - ), - false - ) -{} - - -nutUTabulatedWallFunctionFvPatchScalarField:: -nutUTabulatedWallFunctionFvPatchScalarField -( - const nutUTabulatedWallFunctionFvPatchScalarField& ptf, - const fvPatch& p, - const DimensionedField& iF, - const fvPatchFieldMapper& mapper -) -: - nutWallFunctionFvPatchScalarField(ptf, p, iF, mapper), - uPlusTableName_(ptf.uPlusTableName_), - uPlusTable_(ptf.uPlusTable_) -{} - - -nutUTabulatedWallFunctionFvPatchScalarField:: -nutUTabulatedWallFunctionFvPatchScalarField -( - const fvPatch& p, - const DimensionedField& iF, - const dictionary& dict -) -: - nutWallFunctionFvPatchScalarField(p, iF, dict), - uPlusTableName_(dict.lookup("uPlusTable")), - uPlusTable_ - ( - IOobject - ( - uPlusTableName_, - patch().boundaryMesh().mesh().time().constant(), - patch().boundaryMesh().mesh(), - IOobject::MUST_READ_IF_MODIFIED, - IOobject::NO_WRITE, - false - ), - true - ) -{} - - -nutUTabulatedWallFunctionFvPatchScalarField:: -nutUTabulatedWallFunctionFvPatchScalarField -( - const nutUTabulatedWallFunctionFvPatchScalarField& wfpsf, - const DimensionedField& iF -) -: - nutWallFunctionFvPatchScalarField(wfpsf, iF), - uPlusTableName_(wfpsf.uPlusTableName_), - uPlusTable_(wfpsf.uPlusTable_) -{} - - -// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // - -tmp nutUTabulatedWallFunctionFvPatchScalarField::yPlus() const -{ - const label patchi = patch().index(); - - const momentumTransportModel& turbModel = - db().lookupObject - ( - IOobject::groupName - ( - momentumTransportModel::typeName, - internalField().group() - ) - ); - const scalarField& y = turbModel.y()[patchi]; - const fvPatchVectorField& Uw = turbModel.U().boundaryField()[patchi]; - const scalarField magUp(mag(Uw.patchInternalField() - Uw)); - const tmp tnuw = turbModel.nu(patchi); - const scalarField& nuw = tnuw(); - const scalarField Rey(magUp*y/nuw); - - return Rey/(calcUPlus(Rey) + rootVSmall); -} - - -void nutUTabulatedWallFunctionFvPatchScalarField::write(Ostream& os) const -{ - fvPatchField::write(os); - writeEntry(os, "uPlusTable", uPlusTableName_); - writeEntry(os, "value", *this); -} - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -makePatchTypeField -( - fvPatchScalarField, - nutUTabulatedWallFunctionFvPatchScalarField -); - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace Foam - -// ************************************************************************* // diff --git a/src/MomentumTransportModels/momentumTransportModels/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutUTabulatedWallFunction/nutUTabulatedWallFunctionFvPatchScalarField.H b/src/MomentumTransportModels/momentumTransportModels/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutUTabulatedWallFunction/nutUTabulatedWallFunctionFvPatchScalarField.H deleted file mode 100644 index af0923752a..0000000000 --- a/src/MomentumTransportModels/momentumTransportModels/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutUTabulatedWallFunction/nutUTabulatedWallFunctionFvPatchScalarField.H +++ /dev/null @@ -1,183 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2011-2020 OpenFOAM Foundation - \\/ M anipulation | -------------------------------------------------------------------------------- -License - This file is part of OpenFOAM. - - OpenFOAM is free software: you can redistribute it and/or modify it - under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - OpenFOAM is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - for more details. - - You should have received a copy of the GNU General Public License - along with OpenFOAM. If not, see . - -Class - Foam::nutUTabulatedWallFunctionFvPatchScalarField - -Description - This boundary condition provides a turbulent kinematic viscosity condition - when using wall functions. As input, the user specifies a look-up table - of U+ as a function of near-wall Reynolds number. The table should be - located in the $FOAM_CASE/constant directory. - -Usage - \table - Property | Description | Required | Default value - uPlusTable | U+ as a function of Re table name | yes | - \endtable - - Example of the boundary condition specification: - \verbatim - - { - type nutTabulatedWallFunction; - uPlusTable myUPlusTable; - value uniform 0; - } - \endverbatim - -Note - The tables are not registered since the same table object may be used for - more than one patch. - -See also - Foam::nutWallFunctionFvPatchScalarField - -SourceFiles - nutUTabulatedWallFunctionFvPatchScalarField.C - -\*---------------------------------------------------------------------------*/ - -#ifndef nutUTabulatedWallFunctionFvPatchScalarField_H -#define nutUTabulatedWallFunctionFvPatchScalarField_H - -#include "nutWallFunctionFvPatchScalarField.H" -#include "uniformInterpolationTable.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ - -/*---------------------------------------------------------------------------*\ - Class nutUTabulatedWallFunctionFvPatchScalarField Declaration -\*---------------------------------------------------------------------------*/ - -class nutUTabulatedWallFunctionFvPatchScalarField -: - public nutWallFunctionFvPatchScalarField -{ -protected: - - // Protected data - - //- Name of u+ table - word uPlusTableName_; - - //- U+ table - uniformInterpolationTable uPlusTable_; - - - // Protected Member Functions - - //- Calculate the turbulence viscosity - virtual tmp nut() const; - - //- Calculate wall u+ from table - virtual tmp calcUPlus(const scalarField& Rey) const; - - -public: - - //- Runtime type information - TypeName("nutTabulatedWallFunction"); - - - // Constructors - - //- Construct from patch and internal field - nutUTabulatedWallFunctionFvPatchScalarField - ( - const fvPatch&, - const DimensionedField& - ); - - //- Construct from patch, internal field and dictionary - nutUTabulatedWallFunctionFvPatchScalarField - ( - const fvPatch&, - const DimensionedField&, - const dictionary& - ); - - //- Construct by mapping given - // nutUTabulatedWallFunctionFvPatchScalarField - // onto a new patch - nutUTabulatedWallFunctionFvPatchScalarField - ( - const nutUTabulatedWallFunctionFvPatchScalarField&, - const fvPatch&, - const DimensionedField&, - const fvPatchFieldMapper& - ); - - //- Disallow copy without setting internal field reference - nutUTabulatedWallFunctionFvPatchScalarField - ( - const nutUTabulatedWallFunctionFvPatchScalarField& - ) = delete; - - //- Copy constructor setting internal field reference - nutUTabulatedWallFunctionFvPatchScalarField - ( - const nutUTabulatedWallFunctionFvPatchScalarField&, - const DimensionedField& - ); - - //- Construct and return a clone setting internal field reference - virtual tmp clone - ( - const DimensionedField& iF - ) const - { - return tmp - ( - new nutUTabulatedWallFunctionFvPatchScalarField(*this, iF) - ); - } - - - // Member Functions - - // Evaluation functions - - //- Calculate and return the yPlus at the boundary - virtual tmp yPlus() const; - - - // I-O - - //- Write - virtual void write(Ostream& os) const; -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/src/OpenFOAM/interpolations/uniformInterpolationTable/uniformInterpolationTable.C b/src/OpenFOAM/interpolations/uniformInterpolationTable/uniformInterpolationTable.C deleted file mode 100644 index 86fae701d8..0000000000 --- a/src/OpenFOAM/interpolations/uniformInterpolationTable/uniformInterpolationTable.C +++ /dev/null @@ -1,236 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2011-2019 OpenFOAM Foundation - \\/ M anipulation | -------------------------------------------------------------------------------- -License - This file is part of OpenFOAM. - - OpenFOAM is free software: you can redistribute it and/or modify it - under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - OpenFOAM is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - for more details. - - You should have received a copy of the GNU General Public License - along with OpenFOAM. If not, see . - -\*---------------------------------------------------------------------------*/ - -#include "uniformInterpolationTable.H" -#include "Time.H" -#include "IOdictionary.H" - -// * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * * // - -template -void Foam::uniformInterpolationTable::checkTable() const -{ - if (size() < 2) - { - FatalErrorInFunction - << "Table " << name() << ": must have at least 2 values." << nl - << "Table size = " << size() << nl - << " min, interval width = " << x0_ << ", " << dx_ << nl - << exit(FatalError); - } -} - - -// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // - -template -Foam::uniformInterpolationTable::uniformInterpolationTable -( - const IOobject& io, - bool readFields -) -: - IOobject(io), - List(2, 0.0), - x0_(0.0), - dx_(1.0), - log10_(false), - bound_(false) -{ - if (readFields) - { - IOdictionary dict(io); - - dict.lookup("data") >> *this; - dict.lookup("x0") >> x0_; - dict.lookup("dx") >> dx_; - dict.readIfPresent("log10", log10_); - dict.readIfPresent("bound", bound_); - } - - checkTable(); -} - - -template -Foam::uniformInterpolationTable::uniformInterpolationTable -( - const word& tableName, - const objectRegistry& db, - const dictionary& dict, - const bool initialiseOnly -) -: - IOobject - ( - tableName, - db.time().constant(), - db, - IOobject::NO_READ, - IOobject::NO_WRITE, - false // if used in BCs, could be used by multiple patches - ), - List(2, 0.0), - x0_(dict.lookup("x0")), - dx_(dict.lookup("dx")), - log10_(dict.lookupOrDefault("log10", false)), - bound_(dict.lookupOrDefault("bound", false)) -{ - if (initialiseOnly) - { - const scalar xMax = dict.lookup("xMax"); - const label nIntervals = static_cast