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

This commit is contained in:
mattijs 2014-03-19 10:04:42 +00:00
commit 4ef1b5eeb5
67 changed files with 2592 additions and 344 deletions

View file

@ -17,6 +17,8 @@ if (simple.transonic())
*(fvc::interpolate(HbyA) & mesh.Sf())
);
fvOptions.makeRelative(fvc::interpolate(psi), phid);
surfaceScalarField phic
(
"phic",
@ -61,6 +63,8 @@ else
fvc::interpolate(rho*HbyA) & mesh.Sf()
);
fvOptions.makeRelative(fvc::interpolate(rho), phiHbyA);
closedVolume = adjustPhi(phiHbyA, U, p);
phiHbyA += fvc::interpolate(rho*(rAtU - rAU))*fvc::snGrad(p)*mesh.magSf();

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
@ -571,7 +571,6 @@ void epsilonWallFunctionFvPatchScalarField::write(Ostream& os) const
{
fixedValueFvPatchField<scalar>::write(os);
writeLocalEntries(os);
writeEntry("value", os);
}

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
@ -587,7 +587,6 @@ void omegaWallFunctionFvPatchScalarField::write(Ostream& os) const
{
fixedValueFvPatchField<scalar>::write(os);
writeLocalEntries(os);
writeEntry("value", os);
}

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

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 2013 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -25,10 +25,10 @@ License
#include "pressureInletOutletVelocityFvPatchVectorField.H"
#include "addToRunTimeSelectionTable.H"
#include "fvPatchFieldMapper.H"
#include "volFields.H"
#include "surfaceFields.H"
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
Foam::pressureInletOutletVelocityFvPatchVectorField::
@ -38,14 +38,12 @@ pressureInletOutletVelocityFvPatchVectorField
const DimensionedField<vector, volMesh>& iF
)
:
mixedFvPatchVectorField(p, iF),
phiName_("phi"),
rhoName_("rho"),
applyTangentialVelocity_(false)
directionMixedFvPatchVectorField(p, iF),
phiName_("phi")
{
refValue() = *this;
refValue() = vector::zero;
refGrad() = vector::zero;
valueFraction() = 0.0;
valueFraction() = symmTensor::zero;
}
@ -58,12 +56,10 @@ pressureInletOutletVelocityFvPatchVectorField
const fvPatchFieldMapper& mapper
)
:
mixedFvPatchVectorField(ptf, p, iF, mapper),
phiName_(ptf.phiName_),
rhoName_(ptf.rhoName_),
applyTangentialVelocity_(ptf.applyTangentialVelocity_)
directionMixedFvPatchVectorField(ptf, p, iF, mapper),
phiName_(ptf.phiName_)
{
if (applyTangentialVelocity_)
if (ptf.tangentialVelocity_.size())
{
tangentialVelocity_ = mapper(ptf.tangentialVelocity_);
}
@ -78,26 +74,25 @@ pressureInletOutletVelocityFvPatchVectorField
const dictionary& dict
)
:
mixedFvPatchVectorField(p, iF),
phiName_(dict.lookupOrDefault<word>("phi", "phi")),
rhoName_(dict.lookupOrDefault<word>("rho", "rho")),
applyTangentialVelocity_(false)
directionMixedFvPatchVectorField(p, iF),
phiName_(dict.lookupOrDefault<word>("phi", "phi"))
{
fvPatchVectorField::operator=(vectorField("value", dict, p.size()));
if (dict.found("tangentialVelocity"))
{
applyTangentialVelocity_ = true;
setTangentialVelocity
(
vectorField("tangentialVelocity", dict, p.size())
);
}
else
{
refValue() = vector::zero;
}
refValue() = *this;
refGrad() = vector::zero;
valueFraction() = 0.0;
valueFraction() = symmTensor::zero;
}
@ -107,11 +102,9 @@ pressureInletOutletVelocityFvPatchVectorField
const pressureInletOutletVelocityFvPatchVectorField& pivpvf
)
:
mixedFvPatchVectorField(pivpvf),
directionMixedFvPatchVectorField(pivpvf),
phiName_(pivpvf.phiName_),
rhoName_(pivpvf.rhoName_),
tangentialVelocity_(pivpvf.tangentialVelocity_),
applyTangentialVelocity_(pivpvf.applyTangentialVelocity_)
tangentialVelocity_(pivpvf.tangentialVelocity_)
{}
@ -122,11 +115,9 @@ pressureInletOutletVelocityFvPatchVectorField
const DimensionedField<vector, volMesh>& iF
)
:
mixedFvPatchVectorField(pivpvf, iF),
directionMixedFvPatchVectorField(pivpvf, iF),
phiName_(pivpvf.phiName_),
rhoName_(pivpvf.rhoName_),
tangentialVelocity_(pivpvf.tangentialVelocity_),
applyTangentialVelocity_(pivpvf.applyTangentialVelocity_)
tangentialVelocity_(pivpvf.tangentialVelocity_)
{}
@ -135,10 +126,9 @@ pressureInletOutletVelocityFvPatchVectorField
void Foam::pressureInletOutletVelocityFvPatchVectorField::
setTangentialVelocity(const vectorField& tangentialVelocity)
{
applyTangentialVelocity_ = true;
tangentialVelocity_ = tangentialVelocity;
vectorField n(patch().nf());
tangentialVelocity_ -= n*(n & tangentialVelocity_);
const vectorField n(patch().nf());
refValue() = tangentialVelocity_ - n*(n & tangentialVelocity_);
}
@ -147,8 +137,8 @@ void Foam::pressureInletOutletVelocityFvPatchVectorField::autoMap
const fvPatchFieldMapper& m
)
{
mixedFvPatchVectorField::autoMap(m);
if (applyTangentialVelocity_)
directionMixedFvPatchVectorField::autoMap(m);
if (tangentialVelocity_.size())
{
tangentialVelocity_.autoMap(m);
}
@ -161,9 +151,9 @@ void Foam::pressureInletOutletVelocityFvPatchVectorField::rmap
const labelList& addr
)
{
mixedFvPatchVectorField::rmap(ptf, addr);
directionMixedFvPatchVectorField::rmap(ptf, addr);
if (applyTangentialVelocity_)
if (tangentialVelocity_.size())
{
const pressureInletOutletVelocityFvPatchVectorField& tiptf =
refCast<const pressureInletOutletVelocityFvPatchVectorField>(ptf);
@ -180,67 +170,25 @@ void Foam::pressureInletOutletVelocityFvPatchVectorField::updateCoeffs()
return;
}
const surfaceScalarField& phi =
db().lookupObject<surfaceScalarField>(phiName_);
const fvsPatchField<scalar>& phip =
patch().patchField<surfaceScalarField, scalar>(phi);
patch().lookupPatchField<surfaceScalarField, scalar>(phiName_);
vectorField n(patch().nf());
const Field<scalar>& magSf = patch().magSf();
valueFraction() = neg(phip)*(I - sqr(patch().nf()));
if (phi.dimensions() == dimVelocity*dimArea)
{
refValue() = n*phip/magSf;
}
else if (phi.dimensions() == dimDensity*dimVelocity*dimArea)
{
const fvPatchField<scalar>& rhop =
patch().lookupPatchField<volScalarField, scalar>(rhoName_);
refValue() = n*phip/(rhop*magSf);
}
else
{
FatalErrorIn
(
"pressureInletOutletVelocityFvPatchVectorField::"
"updateCoeffs()"
) << "dimensions of phi are not correct" << nl
<< " on patch " << this->patch().name()
<< " of field " << this->dimensionedInternalField().name()
<< " in file " << this->dimensionedInternalField().objectPath()
<< exit(FatalError);
}
if (applyTangentialVelocity_)
{
// Adjust the tangential velocity to conserve kinetic energy
// of the entrained fluid
// scalarField magSqrUt(magSqr(tangentialVelocity_));
// scalarField scale
// (
// sqrt(max(magSqrUt - magSqr(refValue()), scalar(0))/magSqrUt)
// );
// refValue() += scale*tangentialVelocity_;
refValue() += tangentialVelocity_;
}
valueFraction() = 1.0 - pos(phip);
mixedFvPatchVectorField::updateCoeffs();
directionMixedFvPatchVectorField::updateCoeffs();
directionMixedFvPatchVectorField::evaluate();
}
void Foam::pressureInletOutletVelocityFvPatchVectorField::write
(
Ostream& os
) const
)
const
{
fvPatchVectorField::write(os);
writeEntryIfDifferent<word>(os, "phi", "phi", phiName_);
writeEntryIfDifferent<word>(os, "rho", "rho", rhoName_);
if (applyTangentialVelocity_)
if (tangentialVelocity_.size())
{
tangentialVelocity_.writeEntry("tangentialVelocity", os);
}
@ -255,7 +203,9 @@ void Foam::pressureInletOutletVelocityFvPatchVectorField::operator=
const fvPatchField<vector>& pvf
)
{
fvPatchField<vector>::operator=(pvf);
tmp<vectorField> normalValue = transform(valueFraction(), refValue());
tmp<vectorField> transformGradValue = transform(I - valueFraction(), pvf);
fvPatchField<vector>::operator=(normalValue + transformGradValue);
}

View file

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 2013 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -25,21 +25,21 @@ Class
Foam::pressureInletOutletVelocityFvPatchVectorField
Group
grpInletBoundaryConditions grpOutletBoundaryConditions
grpInletletBoundaryConditions grpOutletBoundaryConditions
Description
This velocity inlet/outlet boundary condition is applied to pressure
boundaries where the pressure is specified. A zero-gradient condition is
applied for outflow (as defined by the flux); for inflow, the velocity is
obtained from the patch-face normal component of the internal-cell value and
the tangential patch velocity can be optionally specified.
obtained from the patch-face normal component of the internal-cell value.
The tangential patch velocity can be optionally specified.
\heading Patch usage
\table
Property | Description | Required | Default value
phi | flux field name | no | phi
rho | density field name | no | rho
tangentialVelocity | tangential velocity field | no |
\endtable
@ -49,7 +49,6 @@ Description
{
type pressureInletOutletVelocity;
phi phi;
rho rho;
tangentialVelocity uniform (0 0 0);
value uniform 0;
}
@ -70,7 +69,7 @@ SourceFiles
#define pressureInletOutletVelocityFvPatchVectorField_H
#include "fvPatchFields.H"
#include "mixedFvPatchFields.H"
#include "directionMixedFvPatchFields.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
@ -78,29 +77,21 @@ namespace Foam
{
/*---------------------------------------------------------------------------*\
Class pressureInletOutletVelocityFvPatchVectorField Declaration
Class pressureInletOutletVelocityFvPatchVectorField Declaration
\*---------------------------------------------------------------------------*/
class pressureInletOutletVelocityFvPatchVectorField
:
public mixedFvPatchVectorField
public directionMixedFvPatchVectorField
{
// Private data
//- Flux field name
word phiName_;
//- Density field name
word rhoName_;
protected:
//- Optional tangential velocity component
vectorField tangentialVelocity_;
bool applyTangentialVelocity_;
public:
@ -117,17 +108,6 @@ public:
const DimensionedField<vector, volMesh>&
);
//- Construct by mapping given
// pressureInletOutletVelocityFvPatchVectorField
// onto a new patch
pressureInletOutletVelocityFvPatchVectorField
(
const pressureInletOutletVelocityFvPatchVectorField&,
const fvPatch&,
const DimensionedField<vector, volMesh>&,
const fvPatchFieldMapper&
);
//- Construct from patch, internal field and dictionary
pressureInletOutletVelocityFvPatchVectorField
(
@ -136,6 +116,16 @@ public:
const dictionary&
);
//- Construct by mapping given
// pressureInletOutletVelocityFvPatchVectorField onto a new patch
pressureInletOutletVelocityFvPatchVectorField
(
const pressureInletOutletVelocityFvPatchVectorField&,
const fvPatch&,
const DimensionedField<vector, volMesh>&,
const fvPatchFieldMapper&
);
//- Construct as copy
pressureInletOutletVelocityFvPatchVectorField
(
@ -147,10 +137,7 @@ public:
{
return tmp<fvPatchVectorField>
(
new pressureInletOutletVelocityFvPatchVectorField
(
*this
)
new pressureInletOutletVelocityFvPatchVectorField(*this)
);
}
@ -169,11 +156,7 @@ public:
{
return tmp<fvPatchVectorField>
(
new pressureInletOutletVelocityFvPatchVectorField
(
*this,
iF
)
new pressureInletOutletVelocityFvPatchVectorField(*this, iF)
);
}
@ -194,18 +177,6 @@ public:
return phiName_;
}
//- Return the name of rho
const word& rhoName() const
{
return rhoName_;
}
//- Return reference to the name of rho to allow adjustment
word& rhoName()
{
return rhoName_;
}
//- Return the tangential velocity
const vectorField& tangentialVelocity() const
{

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
@ -33,17 +33,17 @@ License
void Foam::rotatingPressureInletOutletVelocityFvPatchVectorField::
calcTangentialVelocity()
{
applyTangentialVelocity_ = true;
const scalar t = this->db().time().timeOutputValue();
vector om = omega_->value(t);
vector axisHat = om/mag(om);
tangentialVelocity_ =
(-om) ^ (patch().Cf() - axisHat*(axisHat & patch().Cf()));
const vectorField tangentialVelocity
(
(-om) ^ (patch().Cf() - axisHat*(axisHat & patch().Cf()))
);
const vectorField n(patch().nf());
tangentialVelocity_ -= n*(n & tangentialVelocity_);
refValue() = tangentialVelocity - n*(n & tangentialVelocity);
}
@ -72,7 +72,9 @@ rotatingPressureInletOutletVelocityFvPatchVectorField
:
pressureInletOutletVelocityFvPatchVectorField(ptf, p, iF, mapper),
omega_(ptf.omega_().clone().ptr())
{}
{
calcTangentialVelocity();
}
Foam::rotatingPressureInletOutletVelocityFvPatchVectorField::
@ -85,7 +87,9 @@ rotatingPressureInletOutletVelocityFvPatchVectorField
:
pressureInletOutletVelocityFvPatchVectorField(p, iF, dict),
omega_(DataEntry<vector>::New("omega", dict))
{}
{
calcTangentialVelocity();
}
Foam::rotatingPressureInletOutletVelocityFvPatchVectorField::
@ -96,7 +100,9 @@ rotatingPressureInletOutletVelocityFvPatchVectorField
:
pressureInletOutletVelocityFvPatchVectorField(rppvf),
omega_(rppvf.omega_().clone().ptr())
{}
{
calcTangentialVelocity();
}
Foam::rotatingPressureInletOutletVelocityFvPatchVectorField::
@ -108,24 +114,13 @@ rotatingPressureInletOutletVelocityFvPatchVectorField
:
pressureInletOutletVelocityFvPatchVectorField(rppvf, iF),
omega_(rppvf.omega_().clone().ptr())
{}
{
calcTangentialVelocity();
}
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
void Foam::rotatingPressureInletOutletVelocityFvPatchVectorField::updateCoeffs()
{
if (updated())
{
return;
}
calcTangentialVelocity();
pressureInletOutletVelocityFvPatchVectorField::updateCoeffs();
}
void Foam::rotatingPressureInletOutletVelocityFvPatchVectorField::write
(
Ostream& os

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
@ -177,9 +177,6 @@ public:
// Member functions
//- Update the coefficients associated with the patch field
virtual void updateCoeffs();
//- Write
virtual void write(Ostream&) const;
};

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
@ -146,6 +146,13 @@ public:
const label i
) = 0;
//- Return reaction rate of the specieI in reactionI
virtual tmp<DimensionedField<scalar, volMesh> > calculateRR
(
const label reactionI,
const label specieI
) const = 0;
// Chemistry solution

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
@ -626,6 +626,88 @@ Foam::label Foam::chemistryModel<CompType, ThermoType>::nEqns() const
}
template<class CompType, class ThermoType>
Foam::tmp<Foam::DimensionedField<Foam::scalar, Foam::volMesh> >
Foam::chemistryModel<CompType, ThermoType>::calculateRR
(
const label reactionI,
const label specieI
) const
{
scalar pf, cf, pr, cr;
label lRef, rRef;
const volScalarField rho
(
IOobject
(
"rho",
this->time().timeName(),
this->mesh(),
IOobject::NO_READ,
IOobject::NO_WRITE,
false
),
this->thermo().rho()
);
tmp<DimensionedField<scalar, volMesh> > tRR
(
new DimensionedField<scalar, volMesh>
(
IOobject
(
"RR",
this->mesh().time().timeName(),
this->mesh(),
IOobject::NO_READ,
IOobject::NO_WRITE
),
this->mesh(),
dimensionedScalar("zero", dimMass/dimVolume/dimTime, 0.0)
)
);
DimensionedField<scalar, volMesh>& RR = tRR();
const scalarField& T = this->thermo().T();
const scalarField& p = this->thermo().p();
forAll(rho, celli)
{
const scalar rhoi = rho[celli];
const scalar Ti = T[celli];
const scalar pi = p[celli];
scalarField c(nSpecie_, 0.0);
for (label i=0; i<nSpecie_; i++)
{
const scalar Yi = Y_[i][celli];
c[i] = rhoi*Yi/specieThermo_[i].W();
}
const scalar w = omegaI
(
reactionI,
c,
Ti,
pi,
pf,
cf,
lRef,
pr,
cr,
rRef
);
RR[celli] = w*specieThermo_[specieI].W();
}
return tRR;
}
template<class CompType, class ThermoType>
void Foam::chemistryModel<CompType, ThermoType>::calculate()
{

View file

@ -198,6 +198,13 @@ public:
const label i
);
//- Return reaction rate of the specieI in reactionI
virtual tmp<DimensionedField<scalar, volMesh> > calculateRR
(
const label reactionI,
const label specieI
) const;
//- Solve the reaction system for the given time step
// and return the characteristic time
virtual scalar solve(const scalar deltaT);

View file

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 2013 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2013-2014 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -84,4 +84,27 @@ Foam::basicSolidChemistryModel::RR(const label i)
}
Foam::tmp<Foam::DimensionedField<Foam::scalar, Foam::volMesh> >
Foam::basicSolidChemistryModel::calculateRR
(
const label reactionI,
const label specieI
) const
{
notImplemented
(
"Foam::DimensionedField<Foam::scalar, Foam::volMesh>&"
"basicSolidChemistryModel::calculateRR(const label)"
);
return dynamic_cast<tmp<DimensionedField<scalar, volMesh> >&>
(
const_cast<DimensionedField<scalar, volMesh>& >
(
DimensionedField<scalar, volMesh>::null()
)
);
}
// ************************************************************************* //

View file

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 2013-2013 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2013-2014 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -133,6 +133,13 @@ public:
const label i
) const = 0;
//- Returns the reaction rate of the specieI in reactionI
virtual tmp<DimensionedField<scalar, volMesh> > calculateRR
(
const label reactionI,
const label specieI
) const;
//- Return sensible enthalpy for gas i [J/Kg]
virtual tmp<volScalarField> gasHs
(

View file

@ -34,7 +34,7 @@ Description
The porous baffle introduces a pressure jump defined by:
\f[
\Delta p = -(I \mu U + 0.5 D \rho |U|^2 )L
\Delta p = -(D \mu U + 0.5 I \rho |U|^2 )L
\f]
where
@ -42,7 +42,7 @@ Description
\vartable
p | pressure [Pa]
\rho | density [kg/m3]
\mu | viscosity [Pa s]
\mu | laminar viscosity [Pa s]
I | inertial coefficient
D | Darcy coefficient
L | porous media length in the flow direction
@ -66,8 +66,8 @@ Description
type porousBafflePressure;
patchType cyclic;
jump uniform 0;
D 1000000;
I 0.001;
I 1000000;
D 0.001;
L 0.1;
value uniform 0;
}

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
@ -76,9 +76,9 @@ void Foam::porousBafflePressureFvPatchField<Foam::scalar>::updateCoeffs()
"turbulenceModel"
);
const scalarField nuEffw = turbModel.nuEff()().boundaryField()[patchI];
const scalarField nu = turbModel.nu()().boundaryField()[patchI];
jump_ = -sign(Un)*(I_*nuEffw + D_*0.5*magUn)*magUn*length_;
jump_ = -sign(Un)*(D_*nu + I_*0.5*magUn)*magUn*length_;
}
else
{
@ -88,14 +88,14 @@ void Foam::porousBafflePressureFvPatchField<Foam::scalar>::updateCoeffs()
"turbulenceModel"
);
const scalarField muEffw = turbModel.muEff()().boundaryField()[patchI];
const scalarField mu = turbModel.mu().boundaryField()[patchI];
const scalarField rhow =
patch().lookupPatchField<volScalarField, scalar>("rho");
Un /= rhow;
jump_ = -sign(Un)*(I_*muEffw + D_*0.5*rhow*magUn)*magUn*length_;
jump_ = -sign(Un)*(D_*mu + I_*0.5*rhow*magUn)*magUn*length_;
}
if (debug)

View file

@ -44,6 +44,7 @@ boundaryField
atmosphere
{
type pressureInletOutletVelocity;
tangentialVelocity $internalField;
value uniform (0 0 0);
}

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

@ -1,7 +1,7 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 2.3.0 |
| \\ / O peration | Version: 2.3.x |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/

View file

@ -1,7 +1,7 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 2.3.0 |
| \\ / O peration | Version: 2.3.x |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/

View file

@ -1,7 +1,7 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 2.3.0 |
| \\ / O peration | Version: 2.3.x |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
@ -28,7 +28,6 @@ boundaryField
Cmu 0.09;
kappa 0.41;
E 9.8;
value uniform 0.1;
}
rightWall
{
@ -37,7 +36,6 @@ boundaryField
Cmu 0.09;
kappa 0.41;
E 9.8;
value uniform 0.1;
}
lowerWall
{
@ -46,7 +44,6 @@ boundaryField
Cmu 0.09;
kappa 0.41;
E 9.8;
value uniform 0.1;
}
atmosphere
{

View file

@ -1,7 +1,7 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 2.3.0 |
| \\ / O peration | Version: 2.3.x |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/

View file

@ -1,7 +1,7 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 2.3.0 |
| \\ / O peration | Version: 2.3.x |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/

View file

@ -1,7 +1,7 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 2.3.0 |
| \\ / O peration | Version: 2.3.x |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/

View file

@ -1,7 +1,7 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 2.3.0 |
| \\ / O peration | Version: 2.3.x |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
@ -59,7 +59,7 @@ boundaryField
jump uniform 0;
value uniform 0;
D 1000;
I 500;
I 1000;
length 0.15;
}
porous_half1
@ -68,7 +68,7 @@ boundaryField
patchType cyclic;
value uniform 0;
D 1000;
I 500;
I 1000;
length 0.15;
}
}

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