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
\\ / 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
);
}

View File

@ -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
);
}

View File

@ -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
);
}

View File

@ -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

View File

@ -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