twoPhaseEulerFoam/interfacialModels/turbulentDispersionModels: Added Fprime function

to support improved discretisation in pEqn and implicit treatment in the phase-fraction equation
This commit is contained in:
Henry
2014-12-22 20:11:04 +00:00
parent a61f07451f
commit cd405fd369
12 changed files with 72 additions and 29 deletions

View File

@ -25,7 +25,6 @@ License
#include "Burns.H" #include "Burns.H"
#include "phasePair.H" #include "phasePair.H"
#include "fvc.H"
#include "PhaseCompressibleTurbulenceModel.H" #include "PhaseCompressibleTurbulenceModel.H"
#include "addToRunTimeSelectionTable.H" #include "addToRunTimeSelectionTable.H"
@ -70,8 +69,8 @@ Foam::turbulentDispersionModels::Burns::~Burns()
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
Foam::tmp<Foam::volVectorField> Foam::tmp<Foam::volScalarField>
Foam::turbulentDispersionModels::Burns::F() const Foam::turbulentDispersionModels::Burns::Fprime() const
{ {
const fvMesh& mesh(pair_.phase1().mesh()); const fvMesh& mesh(pair_.phase1().mesh());
const dragModel& const dragModel&
@ -93,7 +92,6 @@ Foam::turbulentDispersionModels::Burns::F() const
*sqr(pair_.dispersed().d()) *sqr(pair_.dispersed().d())
) )
*pair_.continuous().rho() *pair_.continuous().rho()
*fvc::grad(pair_.continuous())
*(1.0 + pair_.dispersed()/max(pair_.continuous(), residualAlpha_)); *(1.0 + pair_.dispersed()/max(pair_.continuous(), residualAlpha_));
} }

View File

@ -103,8 +103,9 @@ public:
// Member Functions // Member Functions
//- Turbulent dispersion force //- Turbulent dispersion force coefficient
virtual tmp<volVectorField> F() const; // multiplying the gradient of the phase-fraction
virtual tmp<volScalarField> Fprime() const;
}; };

View File

@ -25,7 +25,6 @@ License
#include "Gosman.H" #include "Gosman.H"
#include "phasePair.H" #include "phasePair.H"
#include "fvc.H"
#include "PhaseCompressibleTurbulenceModel.H" #include "PhaseCompressibleTurbulenceModel.H"
#include "addToRunTimeSelectionTable.H" #include "addToRunTimeSelectionTable.H"
@ -69,8 +68,8 @@ Foam::turbulentDispersionModels::Gosman::~Gosman()
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
Foam::tmp<Foam::volVectorField> Foam::tmp<Foam::volScalarField>
Foam::turbulentDispersionModels::Gosman::F() const Foam::turbulentDispersionModels::Gosman::Fprime() const
{ {
const fvMesh& mesh(pair_.phase1().mesh()); const fvMesh& mesh(pair_.phase1().mesh());
const dragModel& const dragModel&
@ -92,8 +91,7 @@ Foam::turbulentDispersionModels::Gosman::F() const
sigma_ sigma_
*sqr(pair_.dispersed().d()) *sqr(pair_.dispersed().d())
) )
*pair_.continuous().rho() *pair_.continuous().rho();
*fvc::grad(pair_.dispersed());
} }

View File

@ -92,8 +92,9 @@ public:
// Member Functions // Member Functions
//- Turbulent dispersion force //- Turbulent dispersion force coefficient
virtual tmp<volVectorField> F() const; // multiplying the gradient of the phase-fraction
virtual tmp<volScalarField> Fprime() const;
}; };

View File

@ -25,7 +25,6 @@ License
#include "LopezDeBertodano.H" #include "LopezDeBertodano.H"
#include "phasePair.H" #include "phasePair.H"
#include "fvc.H"
#include "PhaseCompressibleTurbulenceModel.H" #include "PhaseCompressibleTurbulenceModel.H"
#include "addToRunTimeSelectionTable.H" #include "addToRunTimeSelectionTable.H"
@ -67,14 +66,13 @@ Foam::turbulentDispersionModels::LopezDeBertodano::~LopezDeBertodano()
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
Foam::tmp<Foam::volVectorField> Foam::tmp<Foam::volScalarField>
Foam::turbulentDispersionModels::LopezDeBertodano::F() const Foam::turbulentDispersionModels::LopezDeBertodano::Fprime() const
{ {
return return
Ctd_ Ctd_
*pair_.continuous().rho() *pair_.continuous().rho()
*pair_.continuous().turbulence().k() *pair_.continuous().turbulence().k();
*fvc::grad(pair_.dispersed());
} }
// ************************************************************************* // // ************************************************************************* //

View File

@ -98,8 +98,9 @@ public:
// Member Functions // Member Functions
//- Turbulent dispersion force //- Turbulent dispersion force coefficient
virtual tmp<volVectorField> F() const; // multiplying the gradient of the phase-fraction
virtual tmp<volScalarField> Fprime() const;
}; };

View File

@ -25,7 +25,6 @@ License
#include "constantTurbulentDispersionCoefficient.H" #include "constantTurbulentDispersionCoefficient.H"
#include "phasePair.H" #include "phasePair.H"
#include "fvc.H"
#include "PhaseCompressibleTurbulenceModel.H" #include "PhaseCompressibleTurbulenceModel.H"
#include "addToRunTimeSelectionTable.H" #include "addToRunTimeSelectionTable.H"
@ -69,16 +68,15 @@ Foam::turbulentDispersionModels::constantTurbulentDispersionCoefficient::
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
Foam::tmp<Foam::volVectorField> Foam::tmp<Foam::volScalarField>
Foam::turbulentDispersionModels::constantTurbulentDispersionCoefficient:: Foam::turbulentDispersionModels::constantTurbulentDispersionCoefficient::
F() const Fprime() const
{ {
return return
Ctd_ Ctd_
*pair_.dispersed() *pair_.dispersed()
*pair_.continuous().rho() *pair_.continuous().rho()
*pair_.continuous().turbulence().k() *pair_.continuous().turbulence().k();
*fvc::grad(pair_.dispersed());
} }

View File

@ -83,8 +83,9 @@ public:
// Member Functions // Member Functions
//- Turbulent dispersion force //- Turbulent dispersion force coefficient
virtual tmp<volVectorField> F() const; // multiplying the gradient of the phase-fraction
virtual tmp<volScalarField> Fprime() const;
}; };

View File

@ -93,4 +93,32 @@ Foam::turbulentDispersionModels::noTurbulentDispersion::F() const
} }
Foam::tmp<Foam::volScalarField>
Foam::turbulentDispersionModels::noTurbulentDispersion::Fprime() const
{
const fvMesh& mesh(this->pair_.phase1().mesh());
return
tmp<volScalarField>
(
new volScalarField
(
IOobject
(
"zero",
mesh.time().timeName(),
mesh
),
mesh,
dimensionedScalar
(
"zero",
dimensionSet(1, -2, 1, 0, 0),
0
)
)
);
}
// ************************************************************************* // // ************************************************************************* //

View File

@ -78,6 +78,10 @@ public:
//- Turbulent dispersion force //- Turbulent dispersion force
virtual tmp<volVectorField> F() const; virtual tmp<volVectorField> F() const;
//- Turbulent dispersion force coefficient
// multiplying the gradient of the phase-fraction
virtual tmp<volScalarField> Fprime() const;
}; };

View File

@ -25,6 +25,7 @@ License
#include "turbulentDispersionModel.H" #include "turbulentDispersionModel.H"
#include "phasePair.H" #include "phasePair.H"
#include "fvcGrad.H"
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
@ -55,4 +56,14 @@ Foam::turbulentDispersionModel::~turbulentDispersionModel()
{} {}
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
Foam::tmp<Foam::volVectorField>
Foam::turbulentDispersionModel::F() const
{
return Fprime()*fvc::grad(pair_.dispersed());
}
// ************************************************************************* // // ************************************************************************* //

View File

@ -82,7 +82,7 @@ public:
// Static data members // Static data members
//- Force dimensions //- Force dimensions
static const dimensionSet dimF; static const dimensionSet dimF;
@ -112,7 +112,11 @@ public:
// Member Functions // Member Functions
//- Turbulent dispersion force //- Turbulent dispersion force
virtual tmp<volVectorField> F() const = 0; virtual tmp<volVectorField> F() const;
//- Turbulent dispersion force coefficient
// multiplying the gradient of the phase-fraction
virtual tmp<volScalarField> Fprime() const = 0;
}; };