mirror of
https://github.com/OpenFOAM/OpenFOAM-6.git
synced 2025-12-08 06:57:46 +00:00
Merge branch 'master' of github.com-OpenFOAM:OpenFOAM/OpenFOAM-dev
This commit is contained in:
@ -2,7 +2,7 @@
|
|||||||
========= |
|
========= |
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
\\ / O peration |
|
\\ / O peration |
|
||||||
\\ / A nd | Copyright (C) 2015 OpenFOAM Foundation
|
\\ / A nd | Copyright (C) 2015-2018 OpenFOAM Foundation
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
@ -25,12 +25,14 @@ License
|
|||||||
|
|
||||||
#include "massTransferModel.H"
|
#include "massTransferModel.H"
|
||||||
#include "phasePair.H"
|
#include "phasePair.H"
|
||||||
|
#include "BlendedInterfacialModel.H"
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
|
||||||
|
|
||||||
namespace Foam
|
namespace Foam
|
||||||
{
|
{
|
||||||
defineTypeNameAndDebug(massTransferModel, 0);
|
defineTypeNameAndDebug(massTransferModel, 0);
|
||||||
|
defineBlendedInterfacialModelTypeNameAndDebug(massTransferModel, 0);
|
||||||
defineRunTimeSelectionTable(massTransferModel, dictionary);
|
defineRunTimeSelectionTable(massTransferModel, dictionary);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -15,6 +15,7 @@ dragModels/Tenneti/Tenneti.C
|
|||||||
dragModels/TomiyamaKataokaZunSakaguchi/TomiyamaKataokaZunSakaguchi.C
|
dragModels/TomiyamaKataokaZunSakaguchi/TomiyamaKataokaZunSakaguchi.C
|
||||||
dragModels/WenYu/WenYu.C
|
dragModels/WenYu/WenYu.C
|
||||||
dragModels/IshiiZuber/IshiiZuber.C
|
dragModels/IshiiZuber/IshiiZuber.C
|
||||||
|
dragModels/AttouFerschneider/AttouFerschneider.C
|
||||||
|
|
||||||
swarmCorrections/swarmCorrection/swarmCorrection.C
|
swarmCorrections/swarmCorrection/swarmCorrection.C
|
||||||
swarmCorrections/swarmCorrection/newSwarmCorrection.C
|
swarmCorrections/swarmCorrection/newSwarmCorrection.C
|
||||||
|
|||||||
@ -0,0 +1,179 @@
|
|||||||
|
/*---------------------------------------------------------------------------*\
|
||||||
|
========= |
|
||||||
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
|
\\ / O peration |
|
||||||
|
\\ / A nd | Copyright (C) 2018 OpenFOAM Foundation
|
||||||
|
\\/ M anipulation |
|
||||||
|
-------------------------------------------------------------------------------
|
||||||
|
License
|
||||||
|
This file is part of OpenFOAM.
|
||||||
|
|
||||||
|
OpenFOAM is free software: you can redistribute it and/or modify it
|
||||||
|
under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation, either version 3 of the License, or
|
||||||
|
(at your option) any later version.
|
||||||
|
|
||||||
|
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||||
|
for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
#include "AttouFerschneider.H"
|
||||||
|
#include "phasePair.H"
|
||||||
|
#include "phaseSystem.H"
|
||||||
|
#include "addToRunTimeSelectionTable.H"
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
namespace Foam
|
||||||
|
{
|
||||||
|
namespace dragModels
|
||||||
|
{
|
||||||
|
defineTypeNameAndDebug(AttouFerschneider, 0);
|
||||||
|
addToRunTimeSelectionTable(dragModel, AttouFerschneider, dictionary);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * //
|
||||||
|
|
||||||
|
Foam::tmp<Foam::volScalarField>
|
||||||
|
Foam::dragModels::AttouFerschneider::KGasLiquid
|
||||||
|
(
|
||||||
|
const phaseModel& gas,
|
||||||
|
const phaseModel& liquid
|
||||||
|
) const
|
||||||
|
{
|
||||||
|
const phaseModel& solid = gas.fluid().phases()[solidName_];
|
||||||
|
|
||||||
|
const volScalarField oneMinusGas(max(1 - gas, liquid.residualAlpha()));
|
||||||
|
const volScalarField cbrtR(solid/oneMinusGas);
|
||||||
|
const volScalarField magURel(mag(gas.U() - liquid.U()));
|
||||||
|
|
||||||
|
return
|
||||||
|
E2_*gas.mu()*sqr(oneMinusGas/solid.d())*sqr(cbrtR)
|
||||||
|
/max(gas, gas.residualAlpha())
|
||||||
|
+ E2_*gas.rho()*magURel*(1 - gas)/solid.d()*cbrtR;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Foam::tmp<Foam::volScalarField>
|
||||||
|
Foam::dragModels::AttouFerschneider::KGasSolid
|
||||||
|
(
|
||||||
|
const phaseModel& gas,
|
||||||
|
const phaseModel& solid
|
||||||
|
) const
|
||||||
|
{
|
||||||
|
const volScalarField oneMinusGas(max(1 - gas, solid.residualAlpha()));
|
||||||
|
const volScalarField cbrtR(solid/oneMinusGas);
|
||||||
|
|
||||||
|
return
|
||||||
|
E1_*gas.mu()*sqr(oneMinusGas/solid.d())*sqr(cbrtR)
|
||||||
|
/max(gas, gas.residualAlpha())
|
||||||
|
+ E2_*gas.rho()*mag(gas.U())*(1 - gas)/solid.d()*cbrtR;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Foam::tmp<Foam::volScalarField>
|
||||||
|
Foam::dragModels::AttouFerschneider::KLiquidSolid
|
||||||
|
(
|
||||||
|
const phaseModel& liquid,
|
||||||
|
const phaseModel& solid
|
||||||
|
) const
|
||||||
|
{
|
||||||
|
const phaseModel& gas = liquid.fluid().phases()[gasName_];
|
||||||
|
|
||||||
|
return
|
||||||
|
E1_*liquid.mu()*sqr(max(solid, solid.residualAlpha())/solid.d())
|
||||||
|
/max(liquid, liquid.residualAlpha())
|
||||||
|
+ E2_*liquid.rho()*mag(gas.U())*solid/solid.d();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
Foam::dragModels::AttouFerschneider::AttouFerschneider
|
||||||
|
(
|
||||||
|
const dictionary& dict,
|
||||||
|
const phasePair& pair,
|
||||||
|
const bool registerObject
|
||||||
|
)
|
||||||
|
:
|
||||||
|
dragModel(dict, pair, registerObject),
|
||||||
|
gasName_(dict.lookup("gas")),
|
||||||
|
liquidName_(dict.lookup("liquid")),
|
||||||
|
solidName_(dict.lookup("solid")),
|
||||||
|
E1_("E1", dimless, dict),
|
||||||
|
E2_("E1", dimless, dict)
|
||||||
|
{}
|
||||||
|
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
Foam::dragModels::AttouFerschneider::~AttouFerschneider()
|
||||||
|
{}
|
||||||
|
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
Foam::tmp<Foam::volScalarField>
|
||||||
|
Foam::dragModels::AttouFerschneider::CdRe() const
|
||||||
|
{
|
||||||
|
FatalErrorInFunction
|
||||||
|
<< "Not implemented."
|
||||||
|
<< "Drag coefficient is not defined for the AttouFerschneider model."
|
||||||
|
<< exit(FatalError);
|
||||||
|
|
||||||
|
return tmp<volScalarField>(nullptr);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Foam::tmp<Foam::volScalarField>
|
||||||
|
Foam::dragModels::AttouFerschneider::K() const
|
||||||
|
{
|
||||||
|
switch (Pair<word>::compare(pair_, phasePairKey(gasName_, liquidName_)))
|
||||||
|
{
|
||||||
|
case 1:
|
||||||
|
return KGasLiquid(pair_.phase1(), pair_.phase2());
|
||||||
|
case -1:
|
||||||
|
return KGasLiquid(pair_.phase2(), pair_.phase1());
|
||||||
|
}
|
||||||
|
|
||||||
|
switch (Pair<word>::compare(pair_, phasePairKey(gasName_, solidName_)))
|
||||||
|
{
|
||||||
|
case 1:
|
||||||
|
return KGasSolid(pair_.phase1(), pair_.phase2());
|
||||||
|
case -1:
|
||||||
|
return KGasSolid(pair_.phase2(), pair_.phase1());
|
||||||
|
}
|
||||||
|
|
||||||
|
switch (Pair<word>::compare(pair_, phasePairKey(liquidName_, solidName_)))
|
||||||
|
{
|
||||||
|
case 1:
|
||||||
|
return KLiquidSolid(pair_.phase1(), pair_.phase2());
|
||||||
|
case -1:
|
||||||
|
return KLiquidSolid(pair_.phase2(), pair_.phase1());
|
||||||
|
}
|
||||||
|
|
||||||
|
FatalErrorInFunction
|
||||||
|
<< "The pair does not contain two of out of the gas, liquid and solid "
|
||||||
|
<< "phase models."
|
||||||
|
<< exit(FatalError);
|
||||||
|
|
||||||
|
return tmp<volScalarField>(nullptr);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Foam::tmp<Foam::surfaceScalarField>
|
||||||
|
Foam::dragModels::AttouFerschneider::Kf() const
|
||||||
|
{
|
||||||
|
return fvc::interpolate(K());
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -0,0 +1,155 @@
|
|||||||
|
/*---------------------------------------------------------------------------*\
|
||||||
|
========= |
|
||||||
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
|
\\ / O peration |
|
||||||
|
\\ / A nd | Copyright (C) 2018 OpenFOAM Foundation
|
||||||
|
\\/ M anipulation |
|
||||||
|
-------------------------------------------------------------------------------
|
||||||
|
License
|
||||||
|
This file is part of OpenFOAM.
|
||||||
|
|
||||||
|
OpenFOAM is free software: you can redistribute it and/or modify it
|
||||||
|
under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation, either version 3 of the License, or
|
||||||
|
(at your option) any later version.
|
||||||
|
|
||||||
|
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||||
|
for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
Class
|
||||||
|
Foam::dragModels::AttouFerschneider
|
||||||
|
|
||||||
|
Description
|
||||||
|
Attou and Ferschneider's Drag model for film flow through packed beds. The
|
||||||
|
implementation follows the desciption of Gunjal and Ranade, who, in the
|
||||||
|
reference below, formulate the model in more convenient terms.
|
||||||
|
|
||||||
|
Reference:
|
||||||
|
\verbatim
|
||||||
|
"Modeling of laboratory and commercial scale hydro-processing reactors
|
||||||
|
using CFD"
|
||||||
|
Gunjal, P.R., Ranade, V.V.,
|
||||||
|
Chemical Engineering Science
|
||||||
|
Volume 62, Issues 18-20, September-October 2007, pp. 5512 - 5526
|
||||||
|
\endverbatim
|
||||||
|
|
||||||
|
SourceFiles
|
||||||
|
AttouFerschneider.C
|
||||||
|
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
#ifndef AttouFerschneider_H
|
||||||
|
#define AttouFerschneider_H
|
||||||
|
|
||||||
|
#include "dragModel.H"
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
namespace Foam
|
||||||
|
{
|
||||||
|
|
||||||
|
class phasePair;
|
||||||
|
class phaseModel;
|
||||||
|
|
||||||
|
namespace dragModels
|
||||||
|
{
|
||||||
|
|
||||||
|
/*---------------------------------------------------------------------------*\
|
||||||
|
Class AttouFerschneider Declaration
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
class AttouFerschneider
|
||||||
|
:
|
||||||
|
public dragModel
|
||||||
|
{
|
||||||
|
// Private data
|
||||||
|
|
||||||
|
//- Name of the gaseous phase
|
||||||
|
const word gasName_;
|
||||||
|
|
||||||
|
//- Name of the liquidphase
|
||||||
|
const word liquidName_;
|
||||||
|
|
||||||
|
//- Name of the solid phase
|
||||||
|
const word solidName_;
|
||||||
|
|
||||||
|
//- Ergun constant 1
|
||||||
|
const dimensionedScalar E1_;
|
||||||
|
|
||||||
|
//- Ergun constant 2
|
||||||
|
const dimensionedScalar E2_;
|
||||||
|
|
||||||
|
|
||||||
|
// Private member functions
|
||||||
|
|
||||||
|
//- Return the momentum transfer coefficient between gas and liquid
|
||||||
|
virtual tmp<volScalarField> KGasLiquid
|
||||||
|
(
|
||||||
|
const phaseModel& gas,
|
||||||
|
const phaseModel& liquid
|
||||||
|
) const;
|
||||||
|
|
||||||
|
//- Return the momentum transfer coefficient between gas and solid
|
||||||
|
virtual tmp<volScalarField> KGasSolid
|
||||||
|
(
|
||||||
|
const phaseModel& gas,
|
||||||
|
const phaseModel& solid
|
||||||
|
) const;
|
||||||
|
|
||||||
|
//- Return the momentum transfer coefficient between liquid and solid
|
||||||
|
virtual tmp<volScalarField> KLiquidSolid
|
||||||
|
(
|
||||||
|
const phaseModel& liquid,
|
||||||
|
const phaseModel& solid
|
||||||
|
) const;
|
||||||
|
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
//- Runtime type information
|
||||||
|
TypeName("AttouFerschneider");
|
||||||
|
|
||||||
|
|
||||||
|
// Constructors
|
||||||
|
|
||||||
|
//- Construct from a dictionary and a phase pair
|
||||||
|
AttouFerschneider
|
||||||
|
(
|
||||||
|
const dictionary& dict,
|
||||||
|
const phasePair& pair,
|
||||||
|
const bool registerObject
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
//- Destructor
|
||||||
|
virtual ~AttouFerschneider();
|
||||||
|
|
||||||
|
|
||||||
|
// Member Functions
|
||||||
|
|
||||||
|
//- Drag coefficient
|
||||||
|
virtual tmp<volScalarField> CdRe() const;
|
||||||
|
|
||||||
|
//- The drag coefficient used in the momentum equation
|
||||||
|
virtual tmp<volScalarField> K() const;
|
||||||
|
|
||||||
|
//- The drag coefficient used in the face-momentum equations
|
||||||
|
virtual tmp<surfaceScalarField> Kf() const;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
} // End namespace dragModels
|
||||||
|
} // End namespace Foam
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -2,7 +2,7 @@
|
|||||||
========= |
|
========= |
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
\\ / O peration |
|
\\ / O peration |
|
||||||
\\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation
|
\\ / A nd | Copyright (C) 2011-2018 OpenFOAM Foundation
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
@ -27,12 +27,14 @@ License
|
|||||||
#include "phasePair.H"
|
#include "phasePair.H"
|
||||||
#include "swarmCorrection.H"
|
#include "swarmCorrection.H"
|
||||||
#include "surfaceInterpolate.H"
|
#include "surfaceInterpolate.H"
|
||||||
|
#include "BlendedInterfacialModel.H"
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
|
||||||
|
|
||||||
namespace Foam
|
namespace Foam
|
||||||
{
|
{
|
||||||
defineTypeNameAndDebug(dragModel, 0);
|
defineTypeNameAndDebug(dragModel, 0);
|
||||||
|
defineBlendedInterfacialModelTypeNameAndDebug(dragModel, 0);
|
||||||
defineRunTimeSelectionTable(dragModel, dictionary);
|
defineRunTimeSelectionTable(dragModel, dictionary);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
========= |
|
========= |
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
\\ / O peration |
|
\\ / O peration |
|
||||||
\\ / A nd | Copyright (C) 2011-2017 OpenFOAM Foundation
|
\\ / A nd | Copyright (C) 2011-2018 OpenFOAM Foundation
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
@ -25,12 +25,14 @@ License
|
|||||||
|
|
||||||
#include "heatTransferModel.H"
|
#include "heatTransferModel.H"
|
||||||
#include "phasePair.H"
|
#include "phasePair.H"
|
||||||
|
#include "BlendedInterfacialModel.H"
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
|
||||||
|
|
||||||
namespace Foam
|
namespace Foam
|
||||||
{
|
{
|
||||||
defineTypeNameAndDebug(heatTransferModel, 0);
|
defineTypeNameAndDebug(heatTransferModel, 0);
|
||||||
|
defineBlendedInterfacialModelTypeNameAndDebug(heatTransferModel, 0);
|
||||||
defineRunTimeSelectionTable(heatTransferModel, dictionary);
|
defineRunTimeSelectionTable(heatTransferModel, dictionary);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
========= |
|
========= |
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
\\ / O peration |
|
\\ / O peration |
|
||||||
\\ / A nd | Copyright (C) 2014-2016 OpenFOAM Foundation
|
\\ / A nd | Copyright (C) 2014-2018 OpenFOAM Foundation
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
@ -28,12 +28,14 @@ License
|
|||||||
#include "fvcCurl.H"
|
#include "fvcCurl.H"
|
||||||
#include "fvcFlux.H"
|
#include "fvcFlux.H"
|
||||||
#include "surfaceInterpolate.H"
|
#include "surfaceInterpolate.H"
|
||||||
|
#include "BlendedInterfacialModel.H"
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
|
||||||
|
|
||||||
namespace Foam
|
namespace Foam
|
||||||
{
|
{
|
||||||
defineTypeNameAndDebug(liftModel, 0);
|
defineTypeNameAndDebug(liftModel, 0);
|
||||||
|
defineBlendedInterfacialModelTypeNameAndDebug(liftModel, 0);
|
||||||
defineRunTimeSelectionTable(liftModel, dictionary);
|
defineRunTimeSelectionTable(liftModel, dictionary);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -29,12 +29,14 @@ License
|
|||||||
#include "surfaceInterpolate.H"
|
#include "surfaceInterpolate.H"
|
||||||
#include "fvcSnGrad.H"
|
#include "fvcSnGrad.H"
|
||||||
#include "phaseCompressibleTurbulenceModel.H"
|
#include "phaseCompressibleTurbulenceModel.H"
|
||||||
|
#include "BlendedInterfacialModel.H"
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
|
||||||
|
|
||||||
namespace Foam
|
namespace Foam
|
||||||
{
|
{
|
||||||
defineTypeNameAndDebug(turbulentDispersionModel, 0);
|
defineTypeNameAndDebug(turbulentDispersionModel, 0);
|
||||||
|
defineBlendedInterfacialModelTypeNameAndDebug(turbulentDispersionModel, 0);
|
||||||
defineRunTimeSelectionTable(turbulentDispersionModel, dictionary);
|
defineRunTimeSelectionTable(turbulentDispersionModel, dictionary);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
========= |
|
========= |
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
\\ / O peration |
|
\\ / O peration |
|
||||||
\\ / A nd | Copyright (C) 2014-2015 OpenFOAM Foundation
|
\\ / A nd | Copyright (C) 2014-2018 OpenFOAM Foundation
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
@ -26,12 +26,14 @@ License
|
|||||||
#include "virtualMassModel.H"
|
#include "virtualMassModel.H"
|
||||||
#include "phasePair.H"
|
#include "phasePair.H"
|
||||||
#include "surfaceInterpolate.H"
|
#include "surfaceInterpolate.H"
|
||||||
|
#include "BlendedInterfacialModel.H"
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
|
||||||
|
|
||||||
namespace Foam
|
namespace Foam
|
||||||
{
|
{
|
||||||
defineTypeNameAndDebug(virtualMassModel, 0);
|
defineTypeNameAndDebug(virtualMassModel, 0);
|
||||||
|
defineBlendedInterfacialModelTypeNameAndDebug(virtualMassModel, 0);
|
||||||
defineRunTimeSelectionTable(virtualMassModel, dictionary);
|
defineRunTimeSelectionTable(virtualMassModel, dictionary);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
========= |
|
========= |
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
\\ / O peration |
|
\\ / O peration |
|
||||||
\\ / A nd | Copyright (C) 2014-2016 OpenFOAM Foundation
|
\\ / A nd | Copyright (C) 2014-2018 OpenFOAM Foundation
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
@ -28,12 +28,14 @@ License
|
|||||||
#include "fvcFlux.H"
|
#include "fvcFlux.H"
|
||||||
#include "surfaceInterpolate.H"
|
#include "surfaceInterpolate.H"
|
||||||
#include "wallFvPatch.H"
|
#include "wallFvPatch.H"
|
||||||
|
#include "BlendedInterfacialModel.H"
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
|
||||||
|
|
||||||
namespace Foam
|
namespace Foam
|
||||||
{
|
{
|
||||||
defineTypeNameAndDebug(wallLubricationModel, 0);
|
defineTypeNameAndDebug(wallLubricationModel, 0);
|
||||||
|
defineBlendedInterfacialModelTypeNameAndDebug(wallLubricationModel, 0);
|
||||||
defineRunTimeSelectionTable(wallLubricationModel, dictionary);
|
defineRunTimeSelectionTable(wallLubricationModel, dictionary);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -199,6 +199,15 @@ Foam::BlendedInterfacialModel<ModelType>::BlendedInterfacialModel
|
|||||||
const bool correctFixedFluxBCs
|
const bool correctFixedFluxBCs
|
||||||
)
|
)
|
||||||
:
|
:
|
||||||
|
regIOobject
|
||||||
|
(
|
||||||
|
IOobject
|
||||||
|
(
|
||||||
|
IOobject::groupName(typeName, phasePair(phase1, phase2).name()),
|
||||||
|
phase1.mesh().time().timeName(),
|
||||||
|
phase1.mesh()
|
||||||
|
)
|
||||||
|
),
|
||||||
phase1_(phase1),
|
phase1_(phase1),
|
||||||
phase2_(phase2),
|
phase2_(phase2),
|
||||||
blending_(blending),
|
blending_(blending),
|
||||||
@ -220,6 +229,15 @@ Foam::BlendedInterfacialModel<ModelType>::BlendedInterfacialModel
|
|||||||
const bool correctFixedFluxBCs
|
const bool correctFixedFluxBCs
|
||||||
)
|
)
|
||||||
:
|
:
|
||||||
|
regIOobject
|
||||||
|
(
|
||||||
|
IOobject
|
||||||
|
(
|
||||||
|
IOobject::groupName(typeName, pair.name()),
|
||||||
|
pair.phase1().mesh().time().timeName(),
|
||||||
|
pair.phase1().mesh()
|
||||||
|
)
|
||||||
|
),
|
||||||
phase1_(pair.phase1()),
|
phase1_(pair.phase1()),
|
||||||
phase2_(pair.phase2()),
|
phase2_(pair.phase2()),
|
||||||
blending_(blending),
|
blending_(blending),
|
||||||
@ -348,4 +366,11 @@ Foam::BlendedInterfacialModel<ModelType>::D() const
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
template<class ModelType>
|
||||||
|
bool Foam::BlendedInterfacialModel<ModelType>::writeData(Ostream& os) const
|
||||||
|
{
|
||||||
|
return os.good();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
// ************************************************************************* //
|
||||||
|
|||||||
@ -65,6 +65,8 @@ class blendedInterfacialModel
|
|||||||
|
|
||||||
template<class ModelType>
|
template<class ModelType>
|
||||||
class BlendedInterfacialModel
|
class BlendedInterfacialModel
|
||||||
|
:
|
||||||
|
public regIOobject
|
||||||
{
|
{
|
||||||
// Private data
|
// Private data
|
||||||
|
|
||||||
@ -123,6 +125,10 @@ class BlendedInterfacialModel
|
|||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
|
//- Runtime type information
|
||||||
|
TypeName("BlendedInterfacialModel");
|
||||||
|
|
||||||
|
|
||||||
// Constructors
|
// Constructors
|
||||||
|
|
||||||
//- Construct from two phases, blending method and three models
|
//- Construct from two phases, blending method and three models
|
||||||
@ -183,9 +189,26 @@ public:
|
|||||||
|
|
||||||
//- Return the blended diffusivity
|
//- Return the blended diffusivity
|
||||||
tmp<volScalarField> D() const;
|
tmp<volScalarField> D() const;
|
||||||
|
|
||||||
|
//- Dummy write for regIOobject
|
||||||
|
bool writeData(Ostream& os) const;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
#define defineBlendedInterfacialModelTypeNameAndDebug(ModelType, DebugSwitch) \
|
||||||
|
\
|
||||||
|
defineTemplateTypeNameAndDebugWithName \
|
||||||
|
( \
|
||||||
|
BlendedInterfacialModel<ModelType>, \
|
||||||
|
( \
|
||||||
|
word(BlendedInterfacialModel<ModelType>::typeName_()) + "<" \
|
||||||
|
+ ModelType::typeName_() + ">" \
|
||||||
|
).c_str(), \
|
||||||
|
DebugSwitch \
|
||||||
|
);
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
} // End namespace Foam
|
} // End namespace Foam
|
||||||
|
|||||||
@ -30,6 +30,9 @@ License
|
|||||||
#include "fvcDdt.H"
|
#include "fvcDdt.H"
|
||||||
#include "localEulerDdtScheme.H"
|
#include "localEulerDdtScheme.H"
|
||||||
|
|
||||||
|
#include "dragModel.H"
|
||||||
|
#include "BlendedInterfacialModel.H"
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
|
||||||
|
|
||||||
namespace Foam
|
namespace Foam
|
||||||
|
|||||||
@ -367,6 +367,11 @@ public:
|
|||||||
const phaseModel& continuous
|
const phaseModel& continuous
|
||||||
) const;
|
) const;
|
||||||
|
|
||||||
|
//- Return a blended sub model between a phase pair
|
||||||
|
template<class modelType>
|
||||||
|
const BlendedInterfacialModel<modelType>&
|
||||||
|
lookupBlendedSubModel(const phasePair& key) const;
|
||||||
|
|
||||||
|
|
||||||
// Field construction
|
// Field construction
|
||||||
|
|
||||||
|
|||||||
@ -377,4 +377,16 @@ const modelType& Foam::phaseSystem::lookupSubModel
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
template<class modelType>
|
||||||
|
const Foam::BlendedInterfacialModel<modelType>&
|
||||||
|
Foam::phaseSystem::lookupBlendedSubModel(const phasePair& key) const
|
||||||
|
{
|
||||||
|
return
|
||||||
|
mesh().lookupObject<BlendedInterfacialModel<modelType>>
|
||||||
|
(
|
||||||
|
IOobject::groupName(modelType::typeName, key.name())
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
// ************************************************************************* //
|
||||||
|
|||||||
@ -0,0 +1,29 @@
|
|||||||
|
/*--------------------------------*- C++ -*----------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: dev |
|
||||||
|
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
class volScalarField;
|
||||||
|
object T.air;
|
||||||
|
}
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
dimensions [0 0 0 1 0 0 0];
|
||||||
|
|
||||||
|
internalField uniform 300;
|
||||||
|
|
||||||
|
boundaryField
|
||||||
|
{
|
||||||
|
"(bottom|top|walls)"
|
||||||
|
{
|
||||||
|
type zeroGradient;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
@ -0,0 +1,29 @@
|
|||||||
|
/*--------------------------------*- C++ -*----------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: dev |
|
||||||
|
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
class volScalarField;
|
||||||
|
object T.air;
|
||||||
|
}
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
dimensions [0 0 0 1 0 0 0];
|
||||||
|
|
||||||
|
internalField uniform 300;
|
||||||
|
|
||||||
|
boundaryField
|
||||||
|
{
|
||||||
|
"(bottom|top|walls)"
|
||||||
|
{
|
||||||
|
type zeroGradient;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
@ -0,0 +1,29 @@
|
|||||||
|
/*--------------------------------*- C++ -*----------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: dev |
|
||||||
|
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
class volScalarField;
|
||||||
|
object T.water;
|
||||||
|
}
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
dimensions [0 0 0 1 0 0 0];
|
||||||
|
|
||||||
|
internalField uniform 300;
|
||||||
|
|
||||||
|
boundaryField
|
||||||
|
{
|
||||||
|
"(bottom|top|walls)"
|
||||||
|
{
|
||||||
|
type zeroGradient;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
@ -0,0 +1,29 @@
|
|||||||
|
/*--------------------------------*- C++ -*----------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: dev |
|
||||||
|
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format binary;
|
||||||
|
class volVectorField;
|
||||||
|
object U.air;
|
||||||
|
}
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
dimensions [0 1 -1 0 0 0 0];
|
||||||
|
|
||||||
|
internalField uniform (0 0 0);
|
||||||
|
|
||||||
|
boundaryField
|
||||||
|
{
|
||||||
|
"(bottom|top|walls)"
|
||||||
|
{
|
||||||
|
type noSlip;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -0,0 +1,29 @@
|
|||||||
|
/*--------------------------------*- C++ -*----------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: dev |
|
||||||
|
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format binary;
|
||||||
|
class volVectorField;
|
||||||
|
object U.water;
|
||||||
|
}
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
dimensions [0 1 -1 0 0 0 0];
|
||||||
|
|
||||||
|
internalField uniform (0 0 0);
|
||||||
|
|
||||||
|
boundaryField
|
||||||
|
{
|
||||||
|
"(bottom|top|walls)"
|
||||||
|
{
|
||||||
|
type noSlip;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -0,0 +1,29 @@
|
|||||||
|
/*--------------------------------*- C++ -*----------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: dev |
|
||||||
|
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
class volScalarField;
|
||||||
|
object alpha.air;
|
||||||
|
}
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
dimensions [0 0 0 0 0 0 0];
|
||||||
|
|
||||||
|
internalField uniform 0.5;
|
||||||
|
|
||||||
|
boundaryField
|
||||||
|
{
|
||||||
|
"(bottom|top|walls)"
|
||||||
|
{
|
||||||
|
type zeroGradient;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -0,0 +1,29 @@
|
|||||||
|
/*--------------------------------*- C++ -*----------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: dev |
|
||||||
|
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
class volScalarField;
|
||||||
|
object alpha.solid;
|
||||||
|
}
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
dimensions [0 0 0 0 0 0 0];
|
||||||
|
|
||||||
|
internalField uniform 0.5;
|
||||||
|
|
||||||
|
boundaryField
|
||||||
|
{
|
||||||
|
"(bottom|top|walls)"
|
||||||
|
{
|
||||||
|
type zeroGradient;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -0,0 +1,29 @@
|
|||||||
|
/*--------------------------------*- C++ -*----------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: dev |
|
||||||
|
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
class volScalarField;
|
||||||
|
object alpha.water;
|
||||||
|
}
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
dimensions [0 0 0 0 0 0 0];
|
||||||
|
|
||||||
|
internalField uniform 0;
|
||||||
|
|
||||||
|
boundaryField
|
||||||
|
{
|
||||||
|
"(bottom|top|walls)"
|
||||||
|
{
|
||||||
|
type zeroGradient;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -0,0 +1,30 @@
|
|||||||
|
/*--------------------------------*- C++ -*----------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: dev |
|
||||||
|
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
class volScalarField;
|
||||||
|
object p;
|
||||||
|
}
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
dimensions [1 -1 -2 0 0 0 0];
|
||||||
|
|
||||||
|
internalField uniform 1e5;
|
||||||
|
|
||||||
|
boundaryField
|
||||||
|
{
|
||||||
|
"(bottom|top|walls)"
|
||||||
|
{
|
||||||
|
type calculated;
|
||||||
|
value $internalField;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
@ -0,0 +1,30 @@
|
|||||||
|
/*--------------------------------*- C++ -*----------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: dev |
|
||||||
|
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
class volScalarField;
|
||||||
|
object p_rgh;
|
||||||
|
}
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
dimensions [1 -1 -2 0 0 0 0];
|
||||||
|
|
||||||
|
internalField uniform 1e5;
|
||||||
|
|
||||||
|
boundaryField
|
||||||
|
{
|
||||||
|
"(bottom|top|walls)"
|
||||||
|
{
|
||||||
|
type fixedFluxPressure;
|
||||||
|
value $internalField;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
11
tutorials/multiphase/reactingMultiphaseEulerFoam/laminar/trickleBed/Allrun
Executable file
11
tutorials/multiphase/reactingMultiphaseEulerFoam/laminar/trickleBed/Allrun
Executable file
@ -0,0 +1,11 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
cd ${0%/*} || exit 1 # Run from this directory
|
||||||
|
|
||||||
|
# Source tutorial run functions
|
||||||
|
. $WM_PROJECT_DIR/bin/tools/RunFunctions
|
||||||
|
|
||||||
|
runApplication blockMesh
|
||||||
|
runApplication setFields
|
||||||
|
runApplication $(getApplication)
|
||||||
|
|
||||||
|
#------------------------------------------------------------------------------
|
||||||
@ -0,0 +1,22 @@
|
|||||||
|
/*--------------------------------*- C++ -*----------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: dev |
|
||||||
|
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
class uniformDimensionedVectorField;
|
||||||
|
location "constant";
|
||||||
|
object g;
|
||||||
|
}
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
dimensions [0 1 -2 0 0 0 0];
|
||||||
|
value (0 -9.81 0);
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -0,0 +1,193 @@
|
|||||||
|
/*--------------------------------*- C++ -*----------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: dev |
|
||||||
|
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
class dictionary;
|
||||||
|
location "constant";
|
||||||
|
object phaseProperties;
|
||||||
|
}
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
type heatAndMomentumTransferMultiphaseSystem;
|
||||||
|
|
||||||
|
phases (air water solid);
|
||||||
|
|
||||||
|
air
|
||||||
|
{
|
||||||
|
type pureIsothermalPhaseModel;
|
||||||
|
diameterModel isothermal;
|
||||||
|
isothermalCoeffs
|
||||||
|
{
|
||||||
|
d0 3e-3;
|
||||||
|
p0 1e5;
|
||||||
|
}
|
||||||
|
|
||||||
|
residualAlpha 1e-6;
|
||||||
|
}
|
||||||
|
|
||||||
|
water
|
||||||
|
{
|
||||||
|
type pureIsothermalPhaseModel;
|
||||||
|
diameterModel constant;
|
||||||
|
constantCoeffs
|
||||||
|
{
|
||||||
|
d 1e-4;
|
||||||
|
}
|
||||||
|
|
||||||
|
residualAlpha 1e-6;
|
||||||
|
}
|
||||||
|
|
||||||
|
solid
|
||||||
|
{
|
||||||
|
type pureStationaryIsothermalPhaseModel;
|
||||||
|
diameterModel constant;
|
||||||
|
constantCoeffs
|
||||||
|
{
|
||||||
|
d 1e-3;
|
||||||
|
}
|
||||||
|
|
||||||
|
residualAlpha 1e-6;
|
||||||
|
}
|
||||||
|
|
||||||
|
blending
|
||||||
|
{
|
||||||
|
default
|
||||||
|
{
|
||||||
|
type none;
|
||||||
|
continuousPhase none;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
surfaceTension
|
||||||
|
(
|
||||||
|
(air and water)
|
||||||
|
{
|
||||||
|
type constant;
|
||||||
|
sigma 0.07;
|
||||||
|
}
|
||||||
|
|
||||||
|
(air and solid)
|
||||||
|
{
|
||||||
|
type constant;
|
||||||
|
sigma 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
(solid and water)
|
||||||
|
{
|
||||||
|
type constant;
|
||||||
|
sigma 0;
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
aspectRatio
|
||||||
|
(
|
||||||
|
(air in water)
|
||||||
|
{
|
||||||
|
type constant;
|
||||||
|
E0 1.0;
|
||||||
|
}
|
||||||
|
|
||||||
|
(water in air)
|
||||||
|
{
|
||||||
|
type constant;
|
||||||
|
E0 1.0;
|
||||||
|
}
|
||||||
|
|
||||||
|
(air in solid)
|
||||||
|
{
|
||||||
|
type constant;
|
||||||
|
E0 1.0;
|
||||||
|
}
|
||||||
|
|
||||||
|
(solid in air)
|
||||||
|
{
|
||||||
|
type constant;
|
||||||
|
E0 1.0;
|
||||||
|
}
|
||||||
|
|
||||||
|
(water in solid)
|
||||||
|
{
|
||||||
|
type constant;
|
||||||
|
E0 1.0;
|
||||||
|
}
|
||||||
|
|
||||||
|
(solid in water)
|
||||||
|
{
|
||||||
|
type constant;
|
||||||
|
E0 1.0;
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
drag
|
||||||
|
(
|
||||||
|
(air and water)
|
||||||
|
{
|
||||||
|
type AttouFerschneider;
|
||||||
|
gas air;
|
||||||
|
liquid water;
|
||||||
|
solid solid;
|
||||||
|
E1 280;
|
||||||
|
E2 4.8;
|
||||||
|
swarmCorrection
|
||||||
|
{
|
||||||
|
type none;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
(air and solid)
|
||||||
|
{
|
||||||
|
type AttouFerschneider;
|
||||||
|
gas air;
|
||||||
|
liquid water;
|
||||||
|
solid solid;
|
||||||
|
E1 280;
|
||||||
|
E2 4.8;
|
||||||
|
swarmCorrection
|
||||||
|
{
|
||||||
|
type none;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
(water and solid)
|
||||||
|
{
|
||||||
|
type AttouFerschneider;
|
||||||
|
gas air;
|
||||||
|
liquid water;
|
||||||
|
solid solid;
|
||||||
|
E1 280;
|
||||||
|
E2 4.8;
|
||||||
|
swarmCorrection
|
||||||
|
{
|
||||||
|
type none;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
virtualMass
|
||||||
|
();
|
||||||
|
|
||||||
|
heatTransfer
|
||||||
|
();
|
||||||
|
|
||||||
|
lift
|
||||||
|
();
|
||||||
|
|
||||||
|
wallLubrication
|
||||||
|
();
|
||||||
|
|
||||||
|
turbulentDispersion
|
||||||
|
();
|
||||||
|
|
||||||
|
interfaceCompression
|
||||||
|
();
|
||||||
|
|
||||||
|
pMin 10000;
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -0,0 +1,48 @@
|
|||||||
|
/*--------------------------------*- C++ -*----------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: dev |
|
||||||
|
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
class dictionary;
|
||||||
|
location "constant";
|
||||||
|
object thermophysicalProperties.air;
|
||||||
|
}
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
thermoType
|
||||||
|
{
|
||||||
|
type heRhoThermo;
|
||||||
|
mixture pureMixture;
|
||||||
|
transport const;
|
||||||
|
thermo hConst;
|
||||||
|
equationOfState perfectGas;
|
||||||
|
specie specie;
|
||||||
|
energy sensibleInternalEnergy;
|
||||||
|
}
|
||||||
|
|
||||||
|
mixture
|
||||||
|
{
|
||||||
|
specie
|
||||||
|
{
|
||||||
|
molWeight 28.9;
|
||||||
|
}
|
||||||
|
thermodynamics
|
||||||
|
{
|
||||||
|
Cp 1007;
|
||||||
|
Hf 0;
|
||||||
|
}
|
||||||
|
transport
|
||||||
|
{
|
||||||
|
mu 1.84e-05;
|
||||||
|
Pr 0.7;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -0,0 +1,52 @@
|
|||||||
|
/*--------------------------------*- C++ -*----------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: dev |
|
||||||
|
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
class dictionary;
|
||||||
|
location "constant";
|
||||||
|
object thermophysicalProperties.solid;
|
||||||
|
}
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
thermoType
|
||||||
|
{
|
||||||
|
type heRhoThermo;
|
||||||
|
mixture pureMixture;
|
||||||
|
transport const;
|
||||||
|
thermo hConst;
|
||||||
|
equationOfState rhoConst;
|
||||||
|
specie specie;
|
||||||
|
energy sensibleInternalEnergy;
|
||||||
|
}
|
||||||
|
|
||||||
|
mixture
|
||||||
|
{
|
||||||
|
specie
|
||||||
|
{
|
||||||
|
molWeight 100;
|
||||||
|
}
|
||||||
|
equationOfState
|
||||||
|
{
|
||||||
|
rho 2500;
|
||||||
|
}
|
||||||
|
thermodynamics
|
||||||
|
{
|
||||||
|
Cp 6000;
|
||||||
|
Hf 0;
|
||||||
|
}
|
||||||
|
transport
|
||||||
|
{
|
||||||
|
mu 0;
|
||||||
|
Pr 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -0,0 +1,53 @@
|
|||||||
|
/*--------------------------------*- C++ -*----------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: dev |
|
||||||
|
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
class dictionary;
|
||||||
|
location "constant";
|
||||||
|
object thermophysicalProperties.water;
|
||||||
|
}
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
thermoType
|
||||||
|
{
|
||||||
|
type heRhoThermo;
|
||||||
|
mixture pureMixture;
|
||||||
|
transport const;
|
||||||
|
thermo hConst;
|
||||||
|
equationOfState perfectFluid;
|
||||||
|
specie specie;
|
||||||
|
energy sensibleInternalEnergy;
|
||||||
|
}
|
||||||
|
|
||||||
|
mixture
|
||||||
|
{
|
||||||
|
specie
|
||||||
|
{
|
||||||
|
molWeight 18;
|
||||||
|
}
|
||||||
|
equationOfState
|
||||||
|
{
|
||||||
|
R 3000;
|
||||||
|
rho0 1027;
|
||||||
|
}
|
||||||
|
thermodynamics
|
||||||
|
{
|
||||||
|
Cp 4195;
|
||||||
|
Hf 0;
|
||||||
|
}
|
||||||
|
transport
|
||||||
|
{
|
||||||
|
mu 3.645e-4;
|
||||||
|
Pr 2.289;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -0,0 +1,20 @@
|
|||||||
|
/*--------------------------------*- C++ -*----------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: dev |
|
||||||
|
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
class dictionary;
|
||||||
|
location "constant";
|
||||||
|
object turbulenceProperties.air;
|
||||||
|
}
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
simulationType laminar;
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -0,0 +1,20 @@
|
|||||||
|
/*--------------------------------*- C++ -*----------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: dev |
|
||||||
|
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
class dictionary;
|
||||||
|
location "constant";
|
||||||
|
object turbulenceProperties.water;
|
||||||
|
}
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
simulationType laminar;
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -0,0 +1,61 @@
|
|||||||
|
/*--------------------------------*- C++ -*----------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: dev |
|
||||||
|
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
class dictionary;
|
||||||
|
object blockMeshDict;
|
||||||
|
}
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
convertToMeters 1;
|
||||||
|
|
||||||
|
vertices
|
||||||
|
(
|
||||||
|
(0 0 0)
|
||||||
|
(0.15 0 0)
|
||||||
|
(0.15 1 0)
|
||||||
|
(0 1 0)
|
||||||
|
(0 0 0.1)
|
||||||
|
(0.15 0 0.1)
|
||||||
|
(0.15 1 0.1)
|
||||||
|
(0 1 0.1)
|
||||||
|
);
|
||||||
|
|
||||||
|
blocks
|
||||||
|
(
|
||||||
|
hex (0 1 2 3 4 5 6 7) (25 75 1) simpleGrading (1 1 1)
|
||||||
|
);
|
||||||
|
|
||||||
|
edges
|
||||||
|
(
|
||||||
|
);
|
||||||
|
|
||||||
|
patches
|
||||||
|
(
|
||||||
|
patch top
|
||||||
|
(
|
||||||
|
(3 7 6 2)
|
||||||
|
)
|
||||||
|
patch bottom
|
||||||
|
(
|
||||||
|
(1 5 4 0)
|
||||||
|
)
|
||||||
|
wall walls
|
||||||
|
(
|
||||||
|
(0 4 7 3)
|
||||||
|
(2 6 5 1)
|
||||||
|
)
|
||||||
|
);
|
||||||
|
|
||||||
|
mergePatchPairs
|
||||||
|
(
|
||||||
|
);
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -0,0 +1,54 @@
|
|||||||
|
/*--------------------------------*- C++ -*----------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: dev |
|
||||||
|
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
class dictionary;
|
||||||
|
location "system";
|
||||||
|
object controlDict;
|
||||||
|
}
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
application reactingMultiphaseEulerFoam;
|
||||||
|
|
||||||
|
startFrom startTime;
|
||||||
|
|
||||||
|
startTime 0;
|
||||||
|
|
||||||
|
stopAt endTime;
|
||||||
|
|
||||||
|
endTime 100;
|
||||||
|
|
||||||
|
deltaT 0.5;
|
||||||
|
|
||||||
|
writeControl runTime;
|
||||||
|
|
||||||
|
writeInterval 1;
|
||||||
|
|
||||||
|
purgeWrite 0;
|
||||||
|
|
||||||
|
writeFormat ascii;
|
||||||
|
|
||||||
|
writePrecision 6;
|
||||||
|
|
||||||
|
writeCompression uncompressed;
|
||||||
|
|
||||||
|
timeFormat general;
|
||||||
|
|
||||||
|
timePrecision 6;
|
||||||
|
|
||||||
|
runTimeModifiable yes;
|
||||||
|
|
||||||
|
adjustTimeStep no;
|
||||||
|
|
||||||
|
maxCo 0.5;
|
||||||
|
|
||||||
|
maxDeltaT 1;
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -0,0 +1,61 @@
|
|||||||
|
/*--------------------------------*- C++ -*----------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: dev |
|
||||||
|
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
class dictionary;
|
||||||
|
location "system";
|
||||||
|
object fvSchemes;
|
||||||
|
}
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
ddtSchemes
|
||||||
|
{
|
||||||
|
default Euler;
|
||||||
|
}
|
||||||
|
|
||||||
|
gradSchemes
|
||||||
|
{
|
||||||
|
default Gauss linear;
|
||||||
|
}
|
||||||
|
|
||||||
|
divSchemes
|
||||||
|
{
|
||||||
|
default none;
|
||||||
|
|
||||||
|
"div\(phi,alpha.*\)" Gauss vanLeer;
|
||||||
|
"div\(phir,alpha.*,alpha.*\)" Gauss vanLeer;
|
||||||
|
|
||||||
|
"div\(alphaRhoPhi.*,U.*\)" Gauss limitedLinearV 1;
|
||||||
|
"div\(phi.*,U.*\)" Gauss limitedLinearV 1;
|
||||||
|
|
||||||
|
"div\(alphaRhoPhi.*,(h|e).*\)" Gauss limitedLinear 1;
|
||||||
|
"div\(alphaRhoPhi.*,K.*\)" Gauss limitedLinear 1;
|
||||||
|
"div\(alphaPhi.*,p\)" Gauss limitedLinear 1;
|
||||||
|
|
||||||
|
"div\(\(\(\(alpha.*\*thermo:rho.*\)*nuEff.*\)\*dev2\(T\(grad\(U.*\)\)\)\)\)" Gauss linear;
|
||||||
|
}
|
||||||
|
|
||||||
|
laplacianSchemes
|
||||||
|
{
|
||||||
|
default Gauss linear uncorrected;
|
||||||
|
}
|
||||||
|
|
||||||
|
interpolationSchemes
|
||||||
|
{
|
||||||
|
default linear;
|
||||||
|
}
|
||||||
|
|
||||||
|
snGradSchemes
|
||||||
|
{
|
||||||
|
default uncorrected;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -0,0 +1,78 @@
|
|||||||
|
/*--------------------------------*- C++ -*----------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: dev |
|
||||||
|
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
class dictionary;
|
||||||
|
location "system";
|
||||||
|
object fvSolution;
|
||||||
|
}
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
solvers
|
||||||
|
{
|
||||||
|
"alpha.*"
|
||||||
|
{
|
||||||
|
nAlphaCorr 1;
|
||||||
|
nAlphaSubCycles 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
p_rgh
|
||||||
|
{
|
||||||
|
solver GAMG;
|
||||||
|
smoother DIC;
|
||||||
|
tolerance 1e-8;
|
||||||
|
relTol 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
p_rghFinal
|
||||||
|
{
|
||||||
|
$p_rgh;
|
||||||
|
relTol 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
"U.*"
|
||||||
|
{
|
||||||
|
solver smoothSolver;
|
||||||
|
smoother symGaussSeidel;
|
||||||
|
tolerance 1e-5;
|
||||||
|
relTol 0;
|
||||||
|
minIter 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
"e.*"
|
||||||
|
{
|
||||||
|
solver smoothSolver;
|
||||||
|
smoother symGaussSeidel;
|
||||||
|
tolerance 1e-8;
|
||||||
|
relTol 0;
|
||||||
|
minIter 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
PIMPLE
|
||||||
|
{
|
||||||
|
nOuterCorrectors 3;
|
||||||
|
nCorrectors 1;
|
||||||
|
nNonOrthogonalCorrectors 0;
|
||||||
|
pRefCell 0;
|
||||||
|
pRefValue 1e5;
|
||||||
|
partialElimination true;
|
||||||
|
}
|
||||||
|
|
||||||
|
relaxationFactors
|
||||||
|
{
|
||||||
|
equations
|
||||||
|
{
|
||||||
|
".*" 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -0,0 +1,40 @@
|
|||||||
|
/*--------------------------------*- C++ -*----------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: dev |
|
||||||
|
| \\ / A nd | Web: www.OpenFOAM.org |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
class dictionary;
|
||||||
|
location "system";
|
||||||
|
object setFieldsDict;
|
||||||
|
}
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
defaultFieldValues
|
||||||
|
(
|
||||||
|
volScalarFieldValue alpha.air 0.5
|
||||||
|
volScalarFieldValue alpha.water 0.0
|
||||||
|
volScalarFieldValue alpha.solid 0.5
|
||||||
|
);
|
||||||
|
|
||||||
|
regions
|
||||||
|
(
|
||||||
|
boxToCell
|
||||||
|
{
|
||||||
|
box (0 0.5001 -0.1) (0.15 1.0 0.1);
|
||||||
|
fieldValues
|
||||||
|
(
|
||||||
|
volScalarFieldValue alpha.air 0.4
|
||||||
|
volScalarFieldValue alpha.water 0.1
|
||||||
|
volScalarFieldValue alpha.solid 0.5
|
||||||
|
);
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
Reference in New Issue
Block a user