diff --git a/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/wallLubricationModels/Antal/Antal.C b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/wallLubricationModels/Antal/Antal.C index 0b2c7b501297aac7928846a492bca32024fb86b1..80cdae42c736e9b8705d745867f9fe571971fad1 100644 --- a/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/wallLubricationModels/Antal/Antal.C +++ b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/wallLubricationModels/Antal/Antal.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2014-2015 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2014-2016 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -72,7 +72,8 @@ Foam::tmp<Foam::volVectorField> Foam::wallLubricationModels::Antal::Fi() const const volVectorField& n(nWall()); - return + return zeroGradWalls + ( max ( dimensionedScalar("zero", dimless/dimLength, 0), @@ -80,7 +81,8 @@ Foam::tmp<Foam::volVectorField> Foam::wallLubricationModels::Antal::Fi() const ) *pair_.continuous().rho() *magSqr(Ur - (Ur & n)*n) - *n; + *n + ); } diff --git a/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/wallLubricationModels/Frank/Frank.C b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/wallLubricationModels/Frank/Frank.C index 0b9065a1a9dc49c6f2d2371e8769a86169cc9539..6fc194016583438ccf980da3613478f6ac28dc15 100644 --- a/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/wallLubricationModels/Frank/Frank.C +++ b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/wallLubricationModels/Frank/Frank.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2014-2015 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2014-2016 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -77,7 +77,8 @@ Foam::tmp<Foam::volVectorField> Foam::wallLubricationModels::Frank::Fi() const volScalarField Eo(pair_.Eo()); volScalarField yTilde(y/(Cwc_*pair_.dispersed().d())); - return + return zeroGradWalls + ( ( pos(Eo - 1.0)*neg(Eo - 5.0)*exp(-0.933*Eo + 0.179) + pos(Eo - 5.0)*neg(Eo - 33.0)*(0.00599*Eo - 0.0187) @@ -90,7 +91,8 @@ Foam::tmp<Foam::volVectorField> Foam::wallLubricationModels::Frank::Fi() const ) *pair_.continuous().rho() *magSqr(Ur - (Ur & n)*n) - *n; + *n + ); } diff --git a/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/wallLubricationModels/TomiyamaWallLubrication/TomiyamaWallLubrication.C b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/wallLubricationModels/TomiyamaWallLubrication/TomiyamaWallLubrication.C index 9209c5108cd3d71a0275bef4e2900ffe05509d47..f6a14929003e938a8321e5fb794c6c19f4d044e7 100644 --- a/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/wallLubricationModels/TomiyamaWallLubrication/TomiyamaWallLubrication.C +++ b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/wallLubricationModels/TomiyamaWallLubrication/TomiyamaWallLubrication.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2014-2015 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2014-2016 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -75,7 +75,8 @@ Foam::wallLubricationModels::TomiyamaWallLubrication::Fi() const volScalarField Eo(pair_.Eo()); - return + return zeroGradWalls + ( ( pos(Eo - 1.0)*neg(Eo - 5.0)*exp(-0.933*Eo + 0.179) + pos(Eo - 5.0)*neg(Eo - 33.0)*(0.00599*Eo - 0.0187) @@ -89,7 +90,8 @@ Foam::wallLubricationModels::TomiyamaWallLubrication::Fi() const ) *pair_.continuous().rho() *magSqr(Ur - (Ur & n)*n) - *n; + *n + ); } diff --git a/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/wallLubricationModels/wallLubricationModel/wallLubricationModel.C b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/wallLubricationModels/wallLubricationModel/wallLubricationModel.C index 2f3cb1aaa032019aba8a4278fe2e973e7f7b8c85..fb755c63471c55dbdf54197ccac15df79eb7c39d 100644 --- a/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/wallLubricationModels/wallLubricationModel/wallLubricationModel.C +++ b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/wallLubricationModels/wallLubricationModel/wallLubricationModel.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2014-2015 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2014-2016 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -26,6 +26,7 @@ License #include "wallLubricationModel.H" #include "phasePair.H" #include "surfaceInterpolate.H" +#include "wallFvPatch.H" // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // @@ -38,6 +39,29 @@ namespace Foam const Foam::dimensionSet Foam::wallLubricationModel::dimF(1, -2, -2, 0, 0); +// * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * // + +Foam::tmp<Foam::volVectorField> Foam::wallLubricationModel::zeroGradWalls +( + tmp<volVectorField> tFi +) const +{ + volVectorField& Fi = tFi(); + const fvPatchList& patches = Fi.mesh().boundary(); + + forAll(patches, patchi) + { + if (isA<wallFvPatch>(patches[patchi])) + { + fvPatchVectorField& Fiw = Fi.boundaryField()[patchi]; + Fiw = Fiw.patchInternalField(); + } + } + + return tFi; +} + + // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // Foam::wallLubricationModel::wallLubricationModel diff --git a/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/wallLubricationModels/wallLubricationModel/wallLubricationModel.H b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/wallLubricationModels/wallLubricationModel/wallLubricationModel.H index b55415aeb62e6f930ee95d31ce87b7f75d85427a..53e8a916b6096e702448e289f4962f7e5edc58c7 100644 --- a/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/wallLubricationModels/wallLubricationModel/wallLubricationModel.H +++ b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/wallLubricationModels/wallLubricationModel/wallLubricationModel.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2014-2015 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2014-2016 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -63,6 +63,12 @@ protected: const phasePair& pair_; + // Protected member functions + + //- Zero-gradient wall-lubrication force at walls + tmp<volVectorField> zeroGradWalls(tmp<volVectorField>) const; + + public: //- Runtime type information