twoPhaseEulerFoam: Add partial-elimination to phase flux and velocity correction
Improves stability and convergence of systems in which drag dominates e.g. small particles in high-speed gas flow. Additionally a new ddtPhiCorr strategy is included in which correction is applied only where the phases are nearly pure. This reduces staggering patters near the free-surface of bubble-column simulations.
This commit is contained in:
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2012-2014 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2012-2015 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -218,6 +218,17 @@ void Foam::MRFZoneList::makeRelative(surfaceScalarField& phi) const
|
||||
}
|
||||
|
||||
|
||||
Foam::tmp<Foam::surfaceScalarField> Foam::MRFZoneList::relative
|
||||
(
|
||||
const tmp<surfaceScalarField>& phi
|
||||
) const
|
||||
{
|
||||
tmp<surfaceScalarField> rphi(phi.ptr());
|
||||
makeRelative(rphi());
|
||||
return rphi;
|
||||
}
|
||||
|
||||
|
||||
Foam::tmp<Foam::FieldField<Foam::fvsPatchField, Foam::scalar> >
|
||||
Foam::MRFZoneList::relative
|
||||
(
|
||||
@ -266,6 +277,17 @@ void Foam::MRFZoneList::makeAbsolute(surfaceScalarField& phi) const
|
||||
}
|
||||
|
||||
|
||||
Foam::tmp<Foam::surfaceScalarField> Foam::MRFZoneList::absolute
|
||||
(
|
||||
const tmp<surfaceScalarField>& phi
|
||||
) const
|
||||
{
|
||||
tmp<surfaceScalarField> rphi(phi.ptr());
|
||||
makeAbsolute(rphi());
|
||||
return rphi;
|
||||
}
|
||||
|
||||
|
||||
void Foam::MRFZoneList::makeAbsolute
|
||||
(
|
||||
const surfaceScalarField& rho,
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2012-2014 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2012-2015 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -118,12 +118,15 @@ public:
|
||||
//- Make the given absolute velocity relative within the MRF region
|
||||
void makeRelative(volVectorField& U) const;
|
||||
|
||||
//- Make the given relative velocity absolute within the MRF region
|
||||
void makeAbsolute(volVectorField& U) const;
|
||||
|
||||
//- Make the given absolute flux relative within the MRF region
|
||||
void makeRelative(surfaceScalarField& phi) const;
|
||||
|
||||
//- Return the given absolute flux relative within the MRF region
|
||||
tmp<surfaceScalarField> relative
|
||||
(
|
||||
const tmp<surfaceScalarField>& phi
|
||||
) const;
|
||||
|
||||
//- Return the given absolute boundary flux relative within
|
||||
// the MRF region
|
||||
tmp<FieldField<fvsPatchField, scalar> > relative
|
||||
@ -138,9 +141,18 @@ public:
|
||||
surfaceScalarField& phi
|
||||
) const;
|
||||
|
||||
//- Make the given relative velocity absolute within the MRF region
|
||||
void makeAbsolute(volVectorField& U) const;
|
||||
|
||||
//- Make the given relative flux absolute within the MRF region
|
||||
void makeAbsolute(surfaceScalarField& phi) const;
|
||||
|
||||
//- Return the given relative flux absolute within the MRF region
|
||||
tmp<surfaceScalarField> absolute
|
||||
(
|
||||
const tmp<surfaceScalarField>& phi
|
||||
) const;
|
||||
|
||||
//- Make the given relative mass-flux absolute within the MRF region
|
||||
void makeAbsolute
|
||||
(
|
||||
|
||||
Reference in New Issue
Block a user