reactingEulerFoam/interfacialModels/wallLubricationModels: Apply zero-gradient condition at walls

This commit is contained in:
Henry Weller
2016-01-19 15:26:42 +00:00
parent 1896599d8b
commit bbb5a8086a
5 changed files with 47 additions and 11 deletions

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2014-2015 OpenFOAM Foundation \\ / A nd | Copyright (C) 2014-2016 OpenFOAM Foundation
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -72,7 +72,8 @@ Foam::tmp<Foam::volVectorField> Foam::wallLubricationModels::Antal::Fi() const
const volVectorField& n(nWall()); const volVectorField& n(nWall());
return return zeroGradWalls
(
max max
( (
dimensionedScalar("zero", dimless/dimLength, 0), dimensionedScalar("zero", dimless/dimLength, 0),
@ -80,7 +81,8 @@ Foam::tmp<Foam::volVectorField> Foam::wallLubricationModels::Antal::Fi() const
) )
*pair_.continuous().rho() *pair_.continuous().rho()
*magSqr(Ur - (Ur & n)*n) *magSqr(Ur - (Ur & n)*n)
*n; *n
);
} }

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2014-2015 OpenFOAM Foundation \\ / A nd | Copyright (C) 2014-2016 OpenFOAM Foundation
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -77,7 +77,8 @@ Foam::tmp<Foam::volVectorField> Foam::wallLubricationModels::Frank::Fi() const
volScalarField Eo(pair_.Eo()); volScalarField Eo(pair_.Eo());
volScalarField yTilde(y/(Cwc_*pair_.dispersed().d())); 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 - 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) + 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() *pair_.continuous().rho()
*magSqr(Ur - (Ur & n)*n) *magSqr(Ur - (Ur & n)*n)
*n; *n
);
} }

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2014-2015 OpenFOAM Foundation \\ / A nd | Copyright (C) 2014-2016 OpenFOAM Foundation
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -75,7 +75,8 @@ Foam::wallLubricationModels::TomiyamaWallLubrication::Fi() const
volScalarField Eo(pair_.Eo()); volScalarField Eo(pair_.Eo());
return return zeroGradWalls
(
( (
pos(Eo - 1.0)*neg(Eo - 5.0)*exp(-0.933*Eo + 0.179) 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) + 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() *pair_.continuous().rho()
*magSqr(Ur - (Ur & n)*n) *magSqr(Ur - (Ur & n)*n)
*n; *n
);
} }

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2014-2015 OpenFOAM Foundation \\ / A nd | Copyright (C) 2014-2016 OpenFOAM Foundation
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -26,6 +26,7 @@ License
#include "wallLubricationModel.H" #include "wallLubricationModel.H"
#include "phasePair.H" #include "phasePair.H"
#include "surfaceInterpolate.H" #include "surfaceInterpolate.H"
#include "wallFvPatch.H"
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
@ -38,6 +39,29 @@ namespace Foam
const Foam::dimensionSet Foam::wallLubricationModel::dimF(1, -2, -2, 0, 0); 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 * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
Foam::wallLubricationModel::wallLubricationModel Foam::wallLubricationModel::wallLubricationModel

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2014-2015 OpenFOAM Foundation \\ / A nd | Copyright (C) 2014-2016 OpenFOAM Foundation
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -63,6 +63,12 @@ protected:
const phasePair& pair_; const phasePair& pair_;
// Protected member functions
//- Zero-gradient wall-lubrication force at walls
tmp<volVectorField> zeroGradWalls(tmp<volVectorField>) const;
public: public:
//- Runtime type information //- Runtime type information