Merge branch 'master' of github.com:OpenFOAM/OpenFOAM-2.3.x

This commit is contained in:
sergio 2014-03-20 11:28:19 +00:00
commit 709beb67f5
45 changed files with 97 additions and 152 deletions

View file

@ -17,6 +17,11 @@
phi,
upwind<scalar>(mesh, phi)
).fvmDiv(phi, alpha1)
);
solve
(
alpha1Eqn
- fv::gaussLaplacianScheme<scalar, scalar>
(
mesh,
@ -25,8 +30,6 @@
).fvmLaplacian(fvc::interpolate(mut/rho), alpha1)
);
alpha1Eqn.solve();
Info<< "Phase-1 volume fraction = "
<< alpha1.weightedAverage(mesh.Vsc()).value()
<< " Min(alpha1) = " << min(alpha1).value()

View file

@ -10,7 +10,7 @@ if (turbulence)
dimensionedScalar epsilon0("epsilon0", epsilon.dimensions(), 0);
dimensionedScalar epsilonMin("epsilonMin", epsilon.dimensions(), SMALL);
volScalarField divU(fvc::div(rhoPhi/fvc::interpolate(rho)));
volScalarField divU(fvc::div(phi));
tmp<volTensorField> tgradU = fvc::grad(U);
volScalarField G(mut*(tgradU() && dev(twoSymm(tgradU()))));

View file

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -82,14 +82,11 @@ int main(int argc, char *argv[])
{
#include "alphaControls.H"
if (pimple.firstIter() || alphaOuterCorrectors)
{
twoPhaseProperties.correct();
twoPhaseProperties.correct();
#define LTSSOLVE
#include "alphaEqnSubCycle.H"
#undef LTSSOLVE
}
#define LTSSOLVE
#include "alphaEqnSubCycle.H"
#undef LTSSOLVE
turbulence->correct();

View file

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -86,14 +86,11 @@ int main(int argc, char *argv[])
{
#include "alphaControls.H"
if (pimple.firstIter() || alphaOuterCorrectors)
{
twoPhaseProperties.correct();
twoPhaseProperties.correct();
#include "alphaEqnSubCycle.H"
interface.correct();
#include "zonePhaseVolumes.H"
}
#include "alphaEqnSubCycle.H"
interface.correct();
#include "zonePhaseVolumes.H"
#include "UEqn.H"

View file

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -132,13 +132,10 @@ int main(int argc, char *argv[])
#include "alphaControls.H"
if (pimple.firstIter() || alphaOuterCorrectors)
{
twoPhaseProperties.correct();
twoPhaseProperties.correct();
#include "alphaEqnSubCycle.H"
interface.correct();
}
#include "alphaEqnSubCycle.H"
interface.correct();
#include "UEqn.H"

View file

@ -85,13 +85,10 @@ int main(int argc, char *argv[])
{
#include "alphaControls.H"
if (pimple.firstIter() || alphaOuterCorrectors)
{
twoPhaseProperties.correct();
twoPhaseProperties.correct();
#include "alphaEqnSubCycle.H"
interface.correct();
}
#include "alphaEqnSubCycle.H"
interface.correct();
#include "UEqn.H"

View file

@ -1,5 +1,3 @@
#include "alphaControls.H"
if (nAlphaSubCycles > 1)
{
dimensionedScalar totalDeltaT = runTime.deltaT();

View file

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -79,15 +79,12 @@ int main(int argc, char *argv[])
{
#include "alphaControls.H"
if (pimple.firstIter() || alphaOuterCorrectors)
{
threePhaseProperties.correct();
threePhaseProperties.correct();
#include "alphaEqnsSubCycle.H"
interface.correct();
#include "alphaEqnsSubCycle.H"
interface.correct();
#define twoPhaseProperties threePhaseProperties
}
#define twoPhaseProperties threePhaseProperties
#include "UEqn.H"

View file

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -88,13 +88,10 @@ int main(int argc, char *argv[])
{
#include "alphaControls.H"
if (pimple.firstIter() || alphaOuterCorrectors)
{
twoPhaseProperties.correct();
twoPhaseProperties.correct();
#include "alphaEqnSubCycle.H"
interface.correct();
}
#include "alphaEqnSubCycle.H"
interface.correct();
#include "UEqn.H"

View file

@ -154,13 +154,10 @@ int main(int argc, char *argv[])
dimensionedScalar("0", dimMass/dimTime, 0)
);
if (pimple.firstIter() || alphaOuterCorrectors)
{
twoPhaseProperties->correct();
twoPhaseProperties->correct();
#include "alphaEqnSubCycle.H"
interface.correct();
}
#include "alphaEqnSubCycle.H"
interface.correct();
#include "UEqn.H"

View file

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -100,13 +100,10 @@ int main(int argc, char *argv[])
dimensionedScalar("0", dimMass/dimTime, 0)
);
if (pimple.firstIter() || alphaOuterCorrectors)
{
twoPhaseProperties->correct();
twoPhaseProperties->correct();
#include "alphaEqnSubCycle.H"
interface.correct();
}
#include "alphaEqnSubCycle.H"
interface.correct();
#include "UEqn.H"

View file

@ -23,12 +23,11 @@ volScalarField dragCoeff(fluid.dragCoeff());
+ phase1.turbulence().divDevReff(U1)
==
- fvm::Sp(dragCoeff/rho1, U1)
- alpha1*alpha2/rho1
*(
- (
liftForce
+ wallLubricationForce
+ turbulentDispersionForce
)
)/rho1
- virtualMassCoeff/rho1
*(
fvm::ddt(U1)
@ -50,12 +49,11 @@ volScalarField dragCoeff(fluid.dragCoeff());
+ phase2.turbulence().divDevReff(U2)
==
- fvm::Sp(dragCoeff/rho2, U2)
+ alpha1*alpha2/rho2
*(
+ (
liftForce
+ wallLubricationForce
+ turbulentDispersionForce
)
)/rho2
- virtualMassCoeff/rho2
*(
fvm::ddt(U2)

View file

@ -107,13 +107,11 @@ Foam::tmp<Foam::volScalarField> Foam::dragModel::K() const
return
0.75
*CdRe()
*max(pair_.dispersed(), residualAlpha_)
*swarmCorrection_->Cs()
*pair_.continuous().rho()
*pair_.continuous().nu()
/(
max(pair_.continuous(), residualAlpha_)
*sqr(pair_.dispersed().d())
);
/sqr(pair_.dispersed().d());
}

View file

@ -134,13 +134,8 @@ public:
virtual tmp<volScalarField> CdRe() const = 0;
//- The drag function K used in the momentum equation
// ddt(alpha1*rho1*U1) + ... = ... alpha1*alpha2*K*(U1-U2)
// ddt(alpha2*rho2*U2) + ... = ... alpha1*alpha2*K*(U2-U1)
// ********************************** NB! *****************************
// for numerical reasons alpha1 and alpha2 has been extracted from the
// drag function K, so you MUST divide K by alpha1*alpha2 when
// implemnting the drag function
// ********************************** NB! *****************************
// ddt(alpha1*rho1*U1) + ... = ... K*(U1-U2)
// ddt(alpha2*rho2*U2) + ... = ... K*(U2-U1)
virtual tmp<volScalarField> K() const;
//- Dummy write for regIOobject

View file

@ -64,7 +64,12 @@ Foam::heatTransferModels::RanzMarshall::K() const
{
volScalarField Nu(scalar(2) + 0.6*pair_.Re()*cbrt(pair_.Pr()));
return 6.0*pair_.continuous().kappa()*Nu/sqr(pair_.dispersed().d());
return
6.0
*max(pair_.dispersed(), residualAlpha_)
*pair_.continuous().kappa()
*Nu
/sqr(pair_.dispersed().d());
}

View file

@ -47,7 +47,7 @@ namespace heatTransferModels
{
/*---------------------------------------------------------------------------*\
Class RanzMarshall Declaration
Class RanzMarshall Declaration
\*---------------------------------------------------------------------------*/
class RanzMarshall

View file

@ -45,7 +45,8 @@ Foam::heatTransferModel::heatTransferModel
const phasePair& pair
)
:
pair_(pair)
pair_(pair),
residualAlpha_("residualAlpha", dimless, dict.lookup("residualAlpha"))
{}

View file

@ -46,7 +46,7 @@ namespace Foam
class phasePair;
/*---------------------------------------------------------------------------*\
Class heatTransferModel Declaration
Class heatTransferModel Declaration
\*---------------------------------------------------------------------------*/
class heatTransferModel
@ -58,6 +58,9 @@ protected:
//- Phase pair
const phasePair& pair_;
//- Residual phase fraction
const dimensionedScalar residualAlpha_;
public:
@ -112,13 +115,8 @@ public:
// Member Functions
//- The heat transfer function K used in the enthalpy equation
// ddt(alpha1*rho1*ha) + ... = ... alpha1*alpha2*K*(Ta - Tb)
// ddt(alpha2*rho2*hb) + ... = ... alpha1*alpha2*K*(Tb - Ta)
// ********************************** NB!*****************************
// for numerical reasons alpha1 and alpha2 has been extracted from the
// heat transfer function K, so you MUST divide K by alpha1*alpha2 when
// implementing the heat transfer function
// ********************************** NB!*****************************
// ddt(alpha1*rho1*ha) + ... = ... K*(Ta - Tb)
// ddt(alpha2*rho2*hb) + ... = ... K*(Tb - Ta)
virtual tmp<volScalarField> K() const = 0;
};

View file

@ -62,6 +62,7 @@ Foam::tmp<Foam::volVectorField> Foam::liftModel::F() const
{
return
Cl()
*pair_.dispersed()
*pair_.continuous().rho()
*(
pair_.Ur() ^ fvc::curl(pair_.continuous().U())

View file

@ -85,6 +85,7 @@ Foam::turbulentDispersionModels::Gosman::F() const
return
- 0.75
*drag.CdRe()
*pair_.dispersed()
*pair_.continuous().nu()
*pair_.continuous().turbulence().nut()
/(

View file

@ -75,6 +75,7 @@ F() const
{
return
- Ctd_
*pair_.dispersed()
*pair_.continuous().rho()
*pair_.continuous().turbulence().k()
*fvc::grad(pair_.dispersed());

View file

@ -47,7 +47,7 @@ namespace turbulentDispersionModels
{
/*---------------------------------------------------------------------------*\
Class noTurbulentDispersion Declaration
Class noTurbulentDispersion Declaration
\*---------------------------------------------------------------------------*/
class noTurbulentDispersion

View file

@ -48,7 +48,7 @@ namespace virtualMassModels
{
/*---------------------------------------------------------------------------*\
Class constantVirtualMassCoefficient Declaration
Class constantVirtualMassCoefficient Declaration
\*---------------------------------------------------------------------------*/
class constantVirtualMassCoefficient

View file

@ -47,7 +47,7 @@ namespace virtualMassModels
{
/*---------------------------------------------------------------------------*\
Class noVirtualMass Declaration
Class noVirtualMass Declaration
\*---------------------------------------------------------------------------*/
class noVirtualMass
@ -80,6 +80,7 @@ public:
//- Virtual mass coefficient
virtual tmp<volScalarField> Cvm() const;
//- The virtual mass function K used in the momentum equation
virtual tmp<volScalarField> K() const;
};

View file

@ -72,7 +72,7 @@ Foam::virtualMassModel::~virtualMassModel()
Foam::tmp<Foam::volScalarField> Foam::virtualMassModel::K() const
{
return Cvm()*pair_.continuous().rho();
return Cvm()*pair_.dispersed()*pair_.continuous().rho();
}

View file

@ -47,7 +47,7 @@ namespace Foam
class phasePair;
/*---------------------------------------------------------------------------*\
Class virtualMassModel Declaration
Class virtualMassModel Declaration
\*---------------------------------------------------------------------------*/
class virtualMassModel
@ -120,13 +120,8 @@ public:
virtual tmp<volScalarField> Cvm() const = 0;
//- The virtual mass function K used in the momentum equation
// ddt(alpha1*rho1*U1) + ... = ... alpha1*alpha2*K*(DU1_Dt - DU2_Dt)
// ddt(alpha2*rho2*U2) + ... = ... alpha1*alpha2*K*(DU1_Dt - DU2_Dt)
// ********************************** NB! *****************************
// for numerical reasons alpha1 and alpha2 has been extracted from the
// virtual mass function K, so you MUST divide K by alpha1*alpha2 when
// implemnting the virtual mass function
// ********************************** NB! *****************************
// ddt(alpha1*rho1*U1) + ... = ... K*(DU1_Dt - DU2_Dt)
// ddt(alpha2*rho2*U2) + ... = ... K*(DU1_Dt - DU2_Dt)
virtual tmp<volScalarField> K() const;
// Dummy write for regIOobject

View file

@ -79,6 +79,7 @@ Foam::tmp<Foam::volVectorField> Foam::wallLubricationModels::Antal::F() const
dimensionedScalar("zero", dimless/dimLength, 0),
Cw1_/pair_.dispersed().d() + Cw2_/yWall_
)
*pair_.dispersed()
*pair_.continuous().rho()
*magSqr(Ur - (Ur & nWall)*nWall)
*nWall;

View file

@ -47,7 +47,7 @@ namespace Foam
class phasePair;
/*---------------------------------------------------------------------------*\
Class wallLubricationModel Declaration
Class wallLubricationModel Declaration
\*---------------------------------------------------------------------------*/
class wallLubricationModel

View file

@ -163,8 +163,6 @@ Foam::BlendedInterfacialModel<modelType>::K() const
if (model_.valid() || model1In2_.valid() || model2In1_.valid())
{
x() *= max(pair_.phase1()*pair_.phase2(), blending_.residualAlpha());
correctFixedFluxBCs(x());
}

View file

@ -40,8 +40,6 @@ Foam::blendingMethod::blendingMethod
(
const dictionary& dict
)
:
residualAlpha_("residualAlpha", dimless, dict.lookup("residualAlpha"))
{}
@ -51,12 +49,4 @@ Foam::blendingMethod::~blendingMethod()
{}
// * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * * //
const Foam::dimensionedScalar& Foam::blendingMethod::residualAlpha() const
{
return residualAlpha_;
}
// ************************************************************************* //

View file

@ -49,14 +49,6 @@ namespace Foam
class blendingMethod
{
protected:
// Protected data
//- Residual phase fraction
const dimensionedScalar residualAlpha_;
public:
//- Runtime type information
@ -101,9 +93,6 @@ public:
// Member Functions
//- Residual phase fraction
const dimensionedScalar& residualAlpha() const;
//- Factor for first phase
virtual tmp<volScalarField> f1
(

View file

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -55,6 +55,12 @@ int main(int argc, char *argv[])
{
# include "addOverwriteOption.H"
argList::validArgs.append("cellSet");
argList::addBoolOption
(
"minSet",
"remove cells from input cellSet to keep to 2:1 ratio"
" (default is to extend set)"
);
# include "setRootCase.H"
# include "createTime.H"
@ -65,6 +71,8 @@ int main(int argc, char *argv[])
word cellSetName(args.args()[1]);
const bool overwrite = args.optionFound("overwrite");
const bool minSet = args.optionFound("minSet");
Info<< "Reading cells to refine from cellSet " << cellSetName
<< nl << endl;
@ -143,7 +151,7 @@ int main(int argc, char *argv[])
meshCutter.consistentRefinement
(
cellsToRefine.toc(),
true // extend set
!minSet // extend set
)
);

View file

@ -6,11 +6,6 @@ label nAlphaSubCycles(readLabel(alphaControls.lookup("nAlphaSubCycles")));
bool MULESCorr(alphaControls.lookupOrDefault<Switch>("MULESCorr", false));
bool alphaOuterCorrectors
(
alphaControls.lookupOrDefault<Switch>("alphaOuterCorrectors", false)
);
// Apply the compression correction from the previous iteration
// Improves efficiency for steady-simulations but can only be applied
// once the alpha field is reasonably steady, i.e. fully developed

View file

@ -24,8 +24,6 @@ solvers
cAlpha 1;
icAlpha 0;
alphaOuterCorrectors yes;
MULESCorr yes;
nLimiterIter 10;
alphaApplyPrevCorr yes;

View file

@ -23,8 +23,6 @@ solvers
nAlphaSubCycles 1;
cAlpha 1;
alphaOuterCorrectors yes;
MULESCorr yes;
nLimiterIter 5;
alphaApplyPrevCorr true;

View file

@ -21,7 +21,6 @@ solvers
{
nAlphaCorr 2;
nAlphaSubCycles 1;
alphaOuterCorrectors yes;
cAlpha 1;
MULESCorr yes;

View file

@ -21,7 +21,6 @@ solvers
{
nAlphaCorr 2;
nAlphaSubCycles 1;
alphaOuterCorrectors yes;
cAlpha 1;
MULESCorr yes;

View file

@ -21,7 +21,6 @@ solvers
{
nAlphaCorr 2;
nAlphaSubCycles 1;
alphaOuterCorrectors yes;
cAlpha 1;
MULESCorr yes;

View file

@ -41,7 +41,6 @@ blending
default
{
type linear;
residualAlpha 1e-6;
maxFullyDispersedAlpha.air 0.3;
maxPartlyDispersedAlpha.air 0.5;
maxFullyDispersedAlpha.water 0.3;
@ -126,11 +125,13 @@ heatTransfer
(air in water)
{
type RanzMarshall;
residualAlpha 1e-6;
}
(water in air)
{
type RanzMarshall;
residualAlpha 1e-6;
}
);

View file

@ -41,7 +41,6 @@ blending
default
{
type linear;
residualAlpha 1e-6;
maxFullyDispersedAlpha.air 0.3;
maxPartlyDispersedAlpha.air 0.5;
maxFullyDispersedAlpha.water 0.3;
@ -126,11 +125,13 @@ heatTransfer
(air in water)
{
type RanzMarshall;
residualAlpha 1e-6;
}
(water in air)
{
type RanzMarshall;
residualAlpha 1e-6;
}
);

View file

@ -42,7 +42,6 @@ blending
default
{
type none;
residualAlpha 1e-3;
continuousPhase air;
}
}
@ -72,11 +71,6 @@ drag
virtualMass
(
(particles in air)
{
type constantCoefficient;
Cvm 0;
}
);
heatTransfer
@ -84,6 +78,7 @@ heatTransfer
(particles in air)
{
type RanzMarshall;
residualAlpha 1e-3;
}
);

View file

@ -41,7 +41,6 @@ blending
default
{
type linear;
residualAlpha 1e-6;
maxFullyDispersedAlpha.air 0.3;
maxPartlyDispersedAlpha.air 0.5;
maxFullyDispersedAlpha.water 0.3;
@ -126,11 +125,13 @@ heatTransfer
(air in water)
{
type RanzMarshall;
residualAlpha 1e-6;
}
(water in air)
{
type RanzMarshall;
residualAlpha 1e-6;
}
);

View file

@ -62,7 +62,6 @@ blending
default
{
type linear;
residualAlpha 1e-6;
maxFullyDispersedAlpha.air 0.3;
maxPartlyDispersedAlpha.air 0.5;
maxFullyDispersedAlpha.water 0.3;
@ -147,11 +146,13 @@ heatTransfer
(air in water)
{
type RanzMarshall;
residualAlpha 1e-6;
}
(water in air)
{
type RanzMarshall;
residualAlpha 1e-6;
}
);

View file

@ -42,7 +42,6 @@ blending
default
{
type none;
residualAlpha 1e-3;
continuousPhase air;
}
}
@ -84,6 +83,7 @@ heatTransfer
(particles in air)
{
type RanzMarshall;
residualAlpha 1e-3;
}
);

View file

@ -41,7 +41,6 @@ blending
default
{
type linear;
residualAlpha 1e-6;
maxFullyDispersedAlpha.air 0.3;
maxPartlyDispersedAlpha.air 0.5;
maxFullyDispersedAlpha.water 0.3;
@ -126,11 +125,13 @@ heatTransfer
(air in water)
{
type RanzMarshall;
residualAlpha 1e-6;
}
(water in air)
{
type RanzMarshall;
residualAlpha 1e-6;
}
);