From 256be2641f6959beea81f47d57febec2f6afe8a3 Mon Sep 17 00:00:00 2001 From: Henry Weller <http://cfd.direct> Date: Tue, 30 Jun 2015 19:13:16 +0100 Subject: [PATCH] Renamed pressureGradientExplicitSource to meanVelocityForce as it is the applied the force necessary to maintain the specified mean velocity --- src/fvOptions/Make/files | 4 +-- .../meanVelocityForce.C} | 29 +++++++++++-------- .../meanVelocityForce.H} | 26 ++++++++++------- .../meanVelocityForceIO.C} | 6 ++-- .../pimpleFoam/channel395/constant/fvOptions | 4 +-- 5 files changed, 39 insertions(+), 30 deletions(-) rename src/fvOptions/sources/derived/{pressureGradientExplicitSource/pressureGradientExplicitSource.C => meanVelocityForce/meanVelocityForce.C} (88%) rename src/fvOptions/sources/derived/{pressureGradientExplicitSource/pressureGradientExplicitSource.H => meanVelocityForce/meanVelocityForce.H} (88%) rename src/fvOptions/sources/derived/{pressureGradientExplicitSource/pressureGradientExplicitSourceIO.C => meanVelocityForce/meanVelocityForceIO.C} (88%) diff --git a/src/fvOptions/Make/files b/src/fvOptions/Make/files index f71573becee..52ce4a54287 100644 --- a/src/fvOptions/Make/files +++ b/src/fvOptions/Make/files @@ -20,8 +20,8 @@ derivedSources=sources/derived $(derivedSources)/actuationDiskSource/actuationDiskSource.C $(derivedSources)/effectivenessHeatExchangerSource/effectivenessHeatExchangerSource.C $(derivedSources)/explicitPorositySource/explicitPorositySource.C -$(derivedSources)/pressureGradientExplicitSource/pressureGradientExplicitSource.C -$(derivedSources)/pressureGradientExplicitSource/pressureGradientExplicitSourceIO.C +$(derivedSources)/meanVelocityForce/meanVelocityForce.C +$(derivedSources)/meanVelocityForce/meanVelocityForceIO.C $(derivedSources)/radialActuationDiskSource/radialActuationDiskSource.C $(derivedSources)/rotorDiskSource/rotorDiskSource.C $(derivedSources)/rotorDiskSource/bladeModel/bladeModel.C diff --git a/src/fvOptions/sources/derived/pressureGradientExplicitSource/pressureGradientExplicitSource.C b/src/fvOptions/sources/derived/meanVelocityForce/meanVelocityForce.C similarity index 88% rename from src/fvOptions/sources/derived/pressureGradientExplicitSource/pressureGradientExplicitSource.C rename to src/fvOptions/sources/derived/meanVelocityForce/meanVelocityForce.C index 1ea7f1c71b2..bacb31b69de 100644 --- a/src/fvOptions/sources/derived/pressureGradientExplicitSource/pressureGradientExplicitSource.C +++ b/src/fvOptions/sources/derived/meanVelocityForce/meanVelocityForce.C @@ -23,7 +23,7 @@ License \*---------------------------------------------------------------------------*/ -#include "pressureGradientExplicitSource.H" +#include "meanVelocityForce.H" #include "fvMatrices.H" #include "DimensionedField.H" #include "IFstream.H" @@ -35,12 +35,12 @@ namespace Foam { namespace fv { - defineTypeNameAndDebug(pressureGradientExplicitSource, 0); + defineTypeNameAndDebug(meanVelocityForce, 0); addToRunTimeSelectionTable ( option, - pressureGradientExplicitSource, + meanVelocityForce, dictionary ); } @@ -49,7 +49,7 @@ namespace fv // * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * // -void Foam::fv::pressureGradientExplicitSource::writeProps +void Foam::fv::meanVelocityForce::writeProps ( const scalar gradP ) const @@ -77,7 +77,7 @@ void Foam::fv::pressureGradientExplicitSource::writeProps // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // -Foam::fv::pressureGradientExplicitSource::pressureGradientExplicitSource +Foam::fv::meanVelocityForce::meanVelocityForce ( const word& sourceName, const word& modelType, @@ -90,6 +90,7 @@ Foam::fv::pressureGradientExplicitSource::pressureGradientExplicitSource gradP0_(0.0), dGradP_(0.0), flowDir_(Ubar_/mag(Ubar_)), + relaxation_(coeffs_.lookupOrDefault<scalar>("relaxation", 1.0)), invAPtr_(NULL) { coeffs_.lookup("fieldNames") >> fieldNames_; @@ -98,8 +99,8 @@ Foam::fv::pressureGradientExplicitSource::pressureGradientExplicitSource { FatalErrorIn ( - "Foam::fv::pressureGradientExplicitSource::" - "pressureGradientExplicitSource" + "Foam::fv::meanVelocityForce::" + "meanVelocityForce" "(" "const word&, " "const word&, " @@ -131,7 +132,7 @@ Foam::fv::pressureGradientExplicitSource::pressureGradientExplicitSource // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // -void Foam::fv::pressureGradientExplicitSource::correct(volVectorField& U) +void Foam::fv::meanVelocityForce::correct(volVectorField& U) { const scalarField& rAU = invAPtr_().internalField(); @@ -155,9 +156,13 @@ void Foam::fv::pressureGradientExplicitSource::correct(volVectorField& U) magUbarAve /= V_; rAUave /= V_; + // magUbarAve = + // gSum((flowDir_ & U.boundaryField()[0])*mesh_.boundary()[0].magSf()) + // /gSum(mesh_.boundary()[0].magSf()); + // Calculate the pressure gradient increment needed to adjust the average // flow-rate to the desired value - dGradP_ = (mag(Ubar_) - magUbarAve)/rAUave; + dGradP_ = relaxation_*(mag(Ubar_) - magUbarAve)/rAUave; // Apply correction to velocity field forAll(cells_, i) @@ -175,7 +180,7 @@ void Foam::fv::pressureGradientExplicitSource::correct(volVectorField& U) } -void Foam::fv::pressureGradientExplicitSource::addSup +void Foam::fv::meanVelocityForce::addSup ( fvMatrix<vector>& eqn, const label fieldI @@ -203,7 +208,7 @@ void Foam::fv::pressureGradientExplicitSource::addSup } -void Foam::fv::pressureGradientExplicitSource::addSup +void Foam::fv::meanVelocityForce::addSup ( const volScalarField& rho, fvMatrix<vector>& eqn, @@ -214,7 +219,7 @@ void Foam::fv::pressureGradientExplicitSource::addSup } -void Foam::fv::pressureGradientExplicitSource::constrain +void Foam::fv::meanVelocityForce::constrain ( fvMatrix<vector>& eqn, const label diff --git a/src/fvOptions/sources/derived/pressureGradientExplicitSource/pressureGradientExplicitSource.H b/src/fvOptions/sources/derived/meanVelocityForce/meanVelocityForce.H similarity index 88% rename from src/fvOptions/sources/derived/pressureGradientExplicitSource/pressureGradientExplicitSource.H rename to src/fvOptions/sources/derived/meanVelocityForce/meanVelocityForce.H index fd94e4f0996..c0ac2f51970 100644 --- a/src/fvOptions/sources/derived/pressureGradientExplicitSource/pressureGradientExplicitSource.H +++ b/src/fvOptions/sources/derived/meanVelocityForce/meanVelocityForce.H @@ -22,7 +22,7 @@ License along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. Class - Foam::fv::pressureGradientExplicitSource + Foam::fv::meanVelocityForce Description Creates a pressure gradient source @@ -32,23 +32,24 @@ Description \heading Source usage Example usage: \verbatim - pressureGradientExplicitSourceCoeffs + meanVelocityForceCoeffs { fieldNames (U); // name of velocity field Ubar (10.0 0 0); // desired average velocity gradPini gradPini [0 2 -2 0 0] 0; // initial pressure gradient flowDir (1 0 0); // flow direction + relaxation 0.2; // Optional relaxation factor } \endverbatim SourceFiles - pressureGradientExplicitSource.C + meanVelocityForce.C \*---------------------------------------------------------------------------*/ -#ifndef pressureGradientExplicitSource_H -#define pressureGradientExplicitSource_H +#ifndef meanVelocityForce_H +#define meanVelocityForce_H #include "autoPtr.H" #include "topoSetSource.H" @@ -65,10 +66,10 @@ namespace fv { /*---------------------------------------------------------------------------*\ - Class pressureGradientExplicitSource Declaration + Class meanVelocityForce Declaration \*---------------------------------------------------------------------------*/ -class pressureGradientExplicitSource +class meanVelocityForce : public cellSetOption { @@ -86,6 +87,9 @@ class pressureGradientExplicitSource //- Flow direction vector flowDir_; + //- Relaxation factor + scalar relaxation_; + //- Matrix 1/A coefficients field pointer autoPtr<volScalarField> invAPtr_; @@ -99,22 +103,22 @@ class pressureGradientExplicitSource void update(fvMatrix<vector>& eqn); //- Disallow default bitwise copy construct - pressureGradientExplicitSource(const pressureGradientExplicitSource&); + meanVelocityForce(const meanVelocityForce&); //- Disallow default bitwise assignment - void operator=(const pressureGradientExplicitSource&); + void operator=(const meanVelocityForce&); public: //- Runtime type information - TypeName("pressureGradientExplicitSource"); + TypeName("meanVelocityForce"); // Constructors //- Construct from explicit source name and mesh - pressureGradientExplicitSource + meanVelocityForce ( const word& sourceName, const word& modelType, diff --git a/src/fvOptions/sources/derived/pressureGradientExplicitSource/pressureGradientExplicitSourceIO.C b/src/fvOptions/sources/derived/meanVelocityForce/meanVelocityForceIO.C similarity index 88% rename from src/fvOptions/sources/derived/pressureGradientExplicitSource/pressureGradientExplicitSourceIO.C rename to src/fvOptions/sources/derived/meanVelocityForce/meanVelocityForceIO.C index c9f3ab345d1..9a74a48e285 100644 --- a/src/fvOptions/sources/derived/pressureGradientExplicitSource/pressureGradientExplicitSourceIO.C +++ b/src/fvOptions/sources/derived/meanVelocityForce/meanVelocityForceIO.C @@ -23,15 +23,15 @@ License \*---------------------------------------------------------------------------*/ -#include "pressureGradientExplicitSource.H" +#include "meanVelocityForce.H" // * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * // -bool Foam::fv::pressureGradientExplicitSource::read(const dictionary& dict) +bool Foam::fv::meanVelocityForce::read(const dictionary& dict) { notImplemented ( - "bool Foam::fv::pressureGradientExplicitSource::read" + "bool Foam::fv::meanVelocityForce::read" "(" "const dictionary&" ") const" diff --git a/tutorials/incompressible/pimpleFoam/channel395/constant/fvOptions b/tutorials/incompressible/pimpleFoam/channel395/constant/fvOptions index 6c758e90f49..99535be64b8 100644 --- a/tutorials/incompressible/pimpleFoam/channel395/constant/fvOptions +++ b/tutorials/incompressible/pimpleFoam/channel395/constant/fvOptions @@ -17,10 +17,10 @@ FoamFile momentumSource { - type pressureGradientExplicitSource; + type meanVelocityForce; active yes; - pressureGradientExplicitSourceCoeffs + meanVelocityForceCoeffs { selectionMode all; -- GitLab