diff --git a/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/Make/files b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/Make/files index 4658a49896..1293886cde 100644 --- a/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/Make/files +++ b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/Make/files @@ -65,6 +65,7 @@ wallDependentModel/wallDependentModel.C wallDampingModels/wallDampingModel/wallDampingModel.C wallDampingModels/wallDampingModel/newWallDampingModel.C wallDampingModels/noWallDamping/noWallDamping.C +wallDampingModels/interpolated/interpolatedWallDamping.C wallDampingModels/linear/linearWallDamping.C wallDampingModels/cosine/cosineWallDamping.C wallDampingModels/sine/sineWallDamping.C diff --git a/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/wallDampingModels/cosine/cosineWallDamping.C b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/wallDampingModels/cosine/cosineWallDamping.C index 241ad54529..c204cf32f6 100644 --- a/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/wallDampingModels/cosine/cosineWallDamping.C +++ b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/wallDampingModels/cosine/cosineWallDamping.C @@ -25,7 +25,6 @@ License #include "cosineWallDamping.H" #include "phasePair.H" -#include "surfaceInterpolate.H" #include "addToRunTimeSelectionTable.H" // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // @@ -45,7 +44,7 @@ namespace wallDampingModels } -// * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * * // +// * * * * * * * * * * * * Protected Member Functions * * * * * * * * * * * // Foam::tmp Foam::wallDampingModels::cosine::limiter() const @@ -73,7 +72,7 @@ Foam::wallDampingModels::cosine::cosine const phasePair& pair ) : - wallDampingModel(dict, pair), + interpolated(dict, pair), Cd_("Cd", dimless, dict) {} @@ -84,36 +83,4 @@ Foam::wallDampingModels::cosine::~cosine() {} -// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // - -Foam::tmp -Foam::wallDampingModels::cosine::damp -( - const tmp& F -) const -{ - return limiter()*F; -} - - -Foam::tmp -Foam::wallDampingModels::cosine::damp -( - const tmp& F -) const -{ - return limiter()*F; -} - - -Foam::tmp -Foam::wallDampingModels::cosine::damp -( - const tmp& Ff -) const -{ - return fvc::interpolate(limiter())*Ff; -} - - // ************************************************************************* // diff --git a/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/wallDampingModels/cosine/cosineWallDamping.H b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/wallDampingModels/cosine/cosineWallDamping.H index 5c48fe32dd..0042c4e97a 100644 --- a/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/wallDampingModels/cosine/cosineWallDamping.H +++ b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/wallDampingModels/cosine/cosineWallDamping.H @@ -34,7 +34,7 @@ SourceFiles #ifndef cosineWallDamping_H #define cosineWallDamping_H -#include "wallDampingModel.H" +#include "interpolatedWallDamping.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -52,7 +52,7 @@ namespace wallDampingModels class cosine : - public wallDampingModel + public interpolated { // Private data @@ -60,10 +60,12 @@ class cosine const dimensionedScalar Cd_; - // Private member functions +protected: + + // Protected member functions //- Return the force limiter field - tmp limiter() const; + virtual tmp limiter() const; public: @@ -84,27 +86,6 @@ public: //- Destructor virtual ~cosine(); - - - // Member Functions - - //- Return damped coefficient - virtual tmp damp - ( - const tmp& - ) const; - - //- Return damped force - virtual tmp damp - ( - const tmp& - ) const; - - //- Return damped face force - virtual tmp damp - ( - const tmp& - ) const; }; diff --git a/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/wallDampingModels/interpolated/interpolatedWallDamping.C b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/wallDampingModels/interpolated/interpolatedWallDamping.C new file mode 100644 index 0000000000..b1a9522636 --- /dev/null +++ b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/wallDampingModels/interpolated/interpolatedWallDamping.C @@ -0,0 +1,91 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | Copyright (C) 2015 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 "interpolatedWallDamping.H" +#include "phasePair.H" +#include "surfaceInterpolate.H" + +// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // + +namespace Foam +{ +namespace wallDampingModels +{ + defineTypeNameAndDebug(interpolated, 0); +} +} + + +// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // + +Foam::wallDampingModels::interpolated::interpolated +( + const dictionary& dict, + const phasePair& pair +) +: + wallDampingModel(dict, pair) +{} + + +// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // + +Foam::wallDampingModels::interpolated::~interpolated() +{} + + +// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // + +Foam::tmp +Foam::wallDampingModels::interpolated::damp +( + const tmp& F +) const +{ + return limiter()*F; +} + + +Foam::tmp +Foam::wallDampingModels::interpolated::damp +( + const tmp& F +) const +{ + return limiter()*F; +} + + +Foam::tmp +Foam::wallDampingModels::interpolated::damp +( + const tmp& Ff +) const +{ + return fvc::interpolate(limiter())*Ff; +} + + +// ************************************************************************* // diff --git a/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/wallDampingModels/interpolated/interpolatedWallDamping.H b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/wallDampingModels/interpolated/interpolatedWallDamping.H new file mode 100644 index 0000000000..d9eeef2609 --- /dev/null +++ b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/wallDampingModels/interpolated/interpolatedWallDamping.H @@ -0,0 +1,116 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | Copyright (C) 2015 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::wallDampingModels::interpolated + +Description + +SourceFiles + interpolatedWallDamping.C + +\*---------------------------------------------------------------------------*/ + +#ifndef interpolatedWallDamping_H +#define interpolatedWallDamping_H + +#include "wallDampingModel.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +namespace Foam +{ + +class phasePair; + +namespace wallDampingModels +{ + +/*---------------------------------------------------------------------------*\ + Class interpolated Declaration +\*---------------------------------------------------------------------------*/ + +class interpolated +: + public wallDampingModel +{ +protected: + + // Protected member functions + + //- Return the force limiter field + virtual tmp limiter() const = 0; + + +public: + + //- Runtime type information + TypeName("interpolated"); + + + // Constructors + + //- Construct from components + interpolated + ( + const dictionary& dict, + const phasePair& pair + ); + + + //- Destructor + virtual ~interpolated(); + + + // Member Functions + + //- Return damped coefficient + virtual tmp damp + ( + const tmp& + ) const; + + //- Return damped force + virtual tmp damp + ( + const tmp& + ) const; + + //- Return damped face force + virtual tmp damp + ( + const tmp& + ) const; +}; + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +} // End namespace wallDampingModels +} // End namespace Foam + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#endif + +// ************************************************************************* // diff --git a/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/wallDampingModels/linear/linearWallDamping.C b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/wallDampingModels/linear/linearWallDamping.C index 9004cda365..bdb34973f2 100644 --- a/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/wallDampingModels/linear/linearWallDamping.C +++ b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/wallDampingModels/linear/linearWallDamping.C @@ -25,7 +25,6 @@ License #include "linearWallDamping.H" #include "phasePair.H" -#include "surfaceInterpolate.H" #include "addToRunTimeSelectionTable.H" // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // @@ -45,7 +44,7 @@ namespace wallDampingModels } -// * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * * // +// * * * * * * * * * * * * Protected Member Functions * * * * * * * * * * * // Foam::tmp Foam::wallDampingModels::linear::limiter() const @@ -62,7 +61,7 @@ Foam::wallDampingModels::linear::linear const phasePair& pair ) : - wallDampingModel(dict, pair), + interpolated(dict, pair), Cd_("Cd", dimless, dict) {} @@ -73,36 +72,4 @@ Foam::wallDampingModels::linear::~linear() {} -// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // - -Foam::tmp -Foam::wallDampingModels::linear::damp -( - const tmp& F -) const -{ - return limiter()*F; -} - - -Foam::tmp -Foam::wallDampingModels::linear::damp -( - const tmp& F -) const -{ - return limiter()*F; -} - - -Foam::tmp -Foam::wallDampingModels::linear::damp -( - const tmp& Ff -) const -{ - return fvc::interpolate(limiter())*Ff; -} - - // ************************************************************************* // diff --git a/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/wallDampingModels/linear/linearWallDamping.H b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/wallDampingModels/linear/linearWallDamping.H index 28f32a3ca2..582baa3bdd 100644 --- a/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/wallDampingModels/linear/linearWallDamping.H +++ b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/wallDampingModels/linear/linearWallDamping.H @@ -34,7 +34,7 @@ SourceFiles #ifndef linearWallDamping_H #define linearWallDamping_H -#include "wallDampingModel.H" +#include "interpolatedWallDamping.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -52,7 +52,7 @@ namespace wallDampingModels class linear : - public wallDampingModel + public interpolated { // Private data @@ -60,10 +60,12 @@ class linear const dimensionedScalar Cd_; - // Private member functions +protected: + + // Protected member functions //- Return the force limiter field - tmp limiter() const; + virtual tmp limiter() const; public: @@ -84,27 +86,6 @@ public: //- Destructor virtual ~linear(); - - - // Member Functions - - //- Return damped coefficient - virtual tmp damp - ( - const tmp& - ) const; - - //- Return damped force - virtual tmp damp - ( - const tmp& - ) const; - - //- Return damped face force - virtual tmp damp - ( - const tmp& - ) const; }; diff --git a/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/wallDampingModels/sine/sineWallDamping.C b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/wallDampingModels/sine/sineWallDamping.C index d287f9175c..eb975aa85f 100644 --- a/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/wallDampingModels/sine/sineWallDamping.C +++ b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/wallDampingModels/sine/sineWallDamping.C @@ -25,7 +25,6 @@ License #include "sineWallDamping.H" #include "phasePair.H" -#include "surfaceInterpolate.H" #include "addToRunTimeSelectionTable.H" // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // @@ -45,7 +44,7 @@ namespace wallDampingModels } -// * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * * // +// * * * * * * * * * * * * Protected Member Functions * * * * * * * * * * * // Foam::tmp Foam::wallDampingModels::sine::limiter() const @@ -66,7 +65,7 @@ Foam::wallDampingModels::sine::sine const phasePair& pair ) : - wallDampingModel(dict, pair), + interpolated(dict, pair), Cd_("Cd", dimless, dict) {} @@ -77,36 +76,4 @@ Foam::wallDampingModels::sine::~sine() {} -// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // - -Foam::tmp -Foam::wallDampingModels::sine::damp -( - const tmp& F -) const -{ - return limiter()*F; -} - - -Foam::tmp -Foam::wallDampingModels::sine::damp -( - const tmp& F -) const -{ - return limiter()*F; -} - - -Foam::tmp -Foam::wallDampingModels::sine::damp -( - const tmp& Ff -) const -{ - return fvc::interpolate(limiter())*Ff; -} - - // ************************************************************************* // diff --git a/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/wallDampingModels/sine/sineWallDamping.H b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/wallDampingModels/sine/sineWallDamping.H index 1bd50feb5f..7a87afe14e 100644 --- a/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/wallDampingModels/sine/sineWallDamping.H +++ b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/wallDampingModels/sine/sineWallDamping.H @@ -34,7 +34,7 @@ SourceFiles #ifndef sineWallDamping_H #define sineWallDamping_H -#include "wallDampingModel.H" +#include "interpolatedWallDamping.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -52,7 +52,7 @@ namespace wallDampingModels class sine : - public wallDampingModel + public interpolated { // Private data @@ -60,10 +60,12 @@ class sine const dimensionedScalar Cd_; - // Private member functions +protected: + + // Protected member functions //- Return the force limiter field - tmp limiter() const; + virtual tmp limiter() const; public: @@ -84,27 +86,6 @@ public: //- Destructor virtual ~sine(); - - - // Member Functions - - //- Return damped coefficient - virtual tmp damp - ( - const tmp& - ) const; - - //- Return damped force - virtual tmp damp - ( - const tmp& - ) const; - - //- Return damped face force - virtual tmp damp - ( - const tmp& - ) const; };