ENH: phaseSystemModels: new namespaces for various submodels

Co-authored-by: Kutalmis Bercin <kutalmis.bercin@esi-group.com>
This commit is contained in:
sergio
2022-06-14 13:49:20 +01:00
committed by Kutalmis Bercin
parent 9a80d0d5ef
commit 45c3ba0e8e
83 changed files with 860 additions and 455 deletions

View File

@ -1,5 +1,5 @@
{ {
for (phaseModel& phase : fluid.phases()) for (multiphaseInter::phaseModel& phase : fluid.phases())
{ {
PtrList<volScalarField>& Y = phase.Y(); PtrList<volScalarField>& Y = phase.Y();

View File

@ -63,9 +63,10 @@
Info<< "Creating multiphaseSystem\n" << endl; Info<< "Creating multiphaseSystem\n" << endl;
autoPtr<multiphaseSystem> fluidPtr = multiphaseSystem::New(mesh); autoPtr<multiphaseInter::multiphaseSystem> fluidPtr =
multiphaseInter::multiphaseSystem::New(mesh);
multiphaseSystem& fluid = fluidPtr(); multiphaseInter::multiphaseSystem& fluid = fluidPtr();
if (!fluid.incompressible()) if (!fluid.incompressible())
{ {
@ -118,9 +119,12 @@
surfaceScalarField& rhoPhi = fluid.rhoPhi(); surfaceScalarField& rhoPhi = fluid.rhoPhi();
// Construct incompressible turbulence model // Construct incompressible turbulence model
autoPtr<CompressibleTurbulenceModel<multiphaseSystem>> turbulence autoPtr
<
CompressibleTurbulenceModel<multiphaseInter::multiphaseSystem>
> turbulence
( (
CompressibleTurbulenceModel<multiphaseSystem>::New CompressibleTurbulenceModel<multiphaseInter::multiphaseSystem>::New
( (
rho, rho,
U, U,
@ -129,6 +133,8 @@
) )
); );
fluid.setTurbulence(turbulence());
// Creating radiation model // Creating radiation model
autoPtr<radiation::radiationModel> radiation autoPtr<radiation::radiationModel> radiation
( (

View File

@ -6,7 +6,7 @@
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
Copyright (C) 2016-2017 OpenFOAM Foundation Copyright (C) 2016-2017 OpenFOAM Foundation
Copyright (C) 2016-2020 OpenCFD Ltd. Copyright (C) 2016-2022 OpenCFD Ltd.
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
This file is part of OpenFOAM. This file is part of OpenFOAM.
@ -34,6 +34,7 @@ License
#include "wallPolyPatch.H" #include "wallPolyPatch.H"
#include "turbulentFluidThermoModel.H" #include "turbulentFluidThermoModel.H"
#include "addToRunTimeSelectionTable.H" #include "addToRunTimeSelectionTable.H"
#include "multiphaseInterSystem.H"
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
@ -236,6 +237,19 @@ bool Foam::functionObjects::wallHeatFlux::execute()
calcHeatFlux(thermo.alpha(), thermo.he(), wallHeatFlux); calcHeatFlux(thermo.alpha(), thermo.he(), wallHeatFlux);
} }
else if
(
foundObject<multiphaseInterSystem>
(multiphaseInterSystem::phasePropertiesName)
)
{
const auto& thermo = lookupObject<multiphaseInterSystem>
(
multiphaseInterSystem::phasePropertiesName
);
calcHeatFlux(thermo.kappaEff()(), thermo.T(), wallHeatFlux);
}
else else
{ {
FatalErrorInFunction FatalErrorInFunction

View File

@ -7,7 +7,6 @@ $(diameter)/diameterModel/diameterModel.C
$(diameter)/constantDiameter/constantDiameter.C $(diameter)/constantDiameter/constantDiameter.C
$(diameter)/isothermalDiameter/isothermalDiameter.C $(diameter)/isothermalDiameter/isothermalDiameter.C
drag = interfacialModels/dragModels drag = interfacialModels/dragModels
$(drag)/dragModel/dragModel.C $(drag)/dragModel/dragModel.C
$(drag)/Ergun/Ergun.C $(drag)/Ergun/Ergun.C
@ -24,7 +23,7 @@ heatTransfer = interfacialModels/heatTransferModels
$(heatTransfer)/heatTransferModel/heatTransferModel.C $(heatTransfer)/heatTransferModel/heatTransferModel.C
$(heatTransfer)/RanzMarshall/RanzMarshall.C $(heatTransfer)/RanzMarshall/RanzMarshall.C
derivedFvPatchFields/alphaContactAngle/alphaContactAngleFvPatchScalarField.C
alphaContactAngle/alphaContactAngleFvPatchScalarField.C
LIB = $(FOAM_LIBBIN)/libmultiphaseSystem LIB = $(FOAM_LIBBIN)/libmultiphaseSystem

View File

@ -6,6 +6,7 @@
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
Copyright (C) 2011 OpenFOAM Foundation Copyright (C) 2011 OpenFOAM Foundation
Copyright (C) 2022 OpenCFD Ltd.
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
This file is part of OpenFOAM. This file is part of OpenFOAM.
@ -33,6 +34,8 @@ License
namespace Foam namespace Foam
{ {
namespace multiphaseEuler
{
alphaContactAngleFvPatchScalarField::interfaceThetaProps::interfaceThetaProps alphaContactAngleFvPatchScalarField::interfaceThetaProps::interfaceThetaProps
( (
@ -142,6 +145,7 @@ makePatchTypeField
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
} // End namespace multiphaseEuler
} // End namespace Foam } // End namespace Foam
// ************************************************************************* // // ************************************************************************* //

View File

@ -6,6 +6,7 @@
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
Copyright (C) 2011-2012 OpenFOAM Foundation Copyright (C) 2011-2012 OpenFOAM Foundation
Copyright (C) 2022 OpenCFD Ltd.
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
This file is part of OpenFOAM. This file is part of OpenFOAM.
@ -35,8 +36,8 @@ SourceFiles
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/
#ifndef alphaContactAngleFvPatchScalarField_H #ifndef Foam_multiphaseEuler_alphaContactAngleFvPatchScalarField_H
#define alphaContactAngleFvPatchScalarField_H #define Foam_multiphaseEuler_alphaContactAngleFvPatchScalarField_H
#include "zeroGradientFvPatchFields.H" #include "zeroGradientFvPatchFields.H"
#include "multiphaseSystem.H" #include "multiphaseSystem.H"
@ -45,6 +46,8 @@ SourceFiles
namespace Foam namespace Foam
{ {
namespace multiphaseEuler
{
/*---------------------------------------------------------------------------*\ /*---------------------------------------------------------------------------*\
Class alphaContactAngleFvPatch Declaration Class alphaContactAngleFvPatch Declaration
@ -208,6 +211,7 @@ public:
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
} // End namespace multiphaseEuler
} // End namespace Foam } // End namespace Foam
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

View File

@ -6,6 +6,7 @@
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
Copyright (C) 2011-2015 OpenFOAM Foundation Copyright (C) 2011-2015 OpenFOAM Foundation
Copyright (C) 2022 OpenCFD Ltd.
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
This file is part of OpenFOAM. This file is part of OpenFOAM.
@ -32,6 +33,8 @@ License
namespace Foam namespace Foam
{ {
namespace multiphaseEuler
{
namespace diameterModels namespace diameterModels
{ {
defineTypeNameAndDebug(constant, 0); defineTypeNameAndDebug(constant, 0);
@ -44,11 +47,12 @@ namespace diameterModels
); );
} }
} }
}
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
Foam::diameterModels::constant::constant Foam::multiphaseEuler::diameterModels::constant::constant
( (
const dictionary& dict, const dictionary& dict,
const phaseModel& phase const phaseModel& phase
@ -61,7 +65,8 @@ Foam::diameterModels::constant::constant
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
Foam::tmp<Foam::volScalarField> Foam::diameterModels::constant::d() const Foam::tmp<Foam::volScalarField>
Foam::multiphaseEuler::diameterModels::constant::d() const
{ {
return tmp<Foam::volScalarField> return tmp<Foam::volScalarField>
( (

View File

@ -6,7 +6,7 @@
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
Copyright (C) 2011-2013 OpenFOAM Foundation Copyright (C) 2011-2013 OpenFOAM Foundation
Copyright (C) 2020 OpenCFD Ltd. Copyright (C) 2020-2022 OpenCFD Ltd.
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
This file is part of OpenFOAM. This file is part of OpenFOAM.
@ -25,7 +25,7 @@ License
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
Class Class
Foam::diameterModels::constant Foam::multiphaseEuler::diameterModels::constant
Description Description
Constant dispersed-phase particle diameter model. Constant dispersed-phase particle diameter model.
@ -35,8 +35,8 @@ SourceFiles
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/
#ifndef diameterModels_constant_H #ifndef Foam_multiphaseEuler_diameterModels_constant_H
#define diameterModels_constant_H #define Foam_multiphaseEuler_diameterModels_constant_H
#include "diameterModel.H" #include "diameterModel.H"
@ -44,6 +44,8 @@ SourceFiles
namespace Foam namespace Foam
{ {
namespace multiphaseEuler
{
namespace diameterModels namespace diameterModels
{ {
@ -90,6 +92,7 @@ public:
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
} // End namespace diameterModels } // End namespace diameterModels
} // End namespace multiphaseEuler
} // End namespace Foam } // End namespace Foam
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

View File

@ -6,7 +6,7 @@
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
Copyright (C) 2011-2013 OpenFOAM Foundation Copyright (C) 2011-2013 OpenFOAM Foundation
Copyright (C) 2019-2021 OpenCFD Ltd. Copyright (C) 2019-2022 OpenCFD Ltd.
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
This file is part of OpenFOAM. This file is part of OpenFOAM.
@ -31,15 +31,18 @@ License
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
namespace Foam namespace Foam
{
namespace multiphaseEuler
{ {
defineTypeNameAndDebug(diameterModel, 0); defineTypeNameAndDebug(diameterModel, 0);
defineRunTimeSelectionTable(diameterModel, dictionary); defineRunTimeSelectionTable(diameterModel, dictionary);
} }
}
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
Foam::diameterModel::diameterModel Foam::multiphaseEuler::diameterModel::diameterModel
( (
const dictionary& dict, const dictionary& dict,
const phaseModel& phase const phaseModel& phase
@ -52,7 +55,8 @@ Foam::diameterModel::diameterModel
// * * * * * * * * * * * * * * * * Selectors * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * Selectors * * * * * * * * * * * * * * * * //
Foam::autoPtr<Foam::diameterModel> Foam::diameterModel::New Foam::autoPtr<Foam::multiphaseEuler::diameterModel>
Foam::multiphaseEuler::diameterModel::New
( (
const dictionary& dict, const dictionary& dict,
const phaseModel& phase const phaseModel& phase

View File

@ -6,7 +6,7 @@
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
Copyright (C) 2011-2013 OpenFOAM Foundation Copyright (C) 2011-2013 OpenFOAM Foundation
Copyright (C) 2020 OpenCFD Ltd. Copyright (C) 2020-2022 OpenCFD Ltd.
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
This file is part of OpenFOAM. This file is part of OpenFOAM.
@ -25,7 +25,7 @@ License
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
Class Class
Foam::diameterModel Foam::multiphaseEuler::diameterModel
Description Description
Abstract base-class for dispersed-phase particle diameter models. Abstract base-class for dispersed-phase particle diameter models.
@ -35,8 +35,8 @@ SourceFiles
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/
#ifndef diameterModel_H #ifndef Foam_multiphaseEuler_diameterModel_H
#define diameterModel_H #define Foam_multiphaseEuler_diameterModel_H
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
@ -46,6 +46,8 @@ SourceFiles
namespace Foam namespace Foam
{ {
namespace multiphaseEuler
{
/*---------------------------------------------------------------------------*\ /*---------------------------------------------------------------------------*\
Class diameterModel Declaration Class diameterModel Declaration
@ -115,6 +117,7 @@ public:
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
} // End namespace Foam } // End namespace Foam
} // End namespace multiphaseEuler
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

View File

@ -6,6 +6,7 @@
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
Copyright (C) 2011-2015 OpenFOAM Foundation Copyright (C) 2011-2015 OpenFOAM Foundation
Copyright (C) 2022 OpenCFD Ltd.
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
This file is part of OpenFOAM. This file is part of OpenFOAM.
@ -32,6 +33,8 @@ License
namespace Foam namespace Foam
{ {
namespace multiphaseEuler
{
namespace diameterModels namespace diameterModels
{ {
defineTypeNameAndDebug(isothermal, 0); defineTypeNameAndDebug(isothermal, 0);
@ -44,11 +47,12 @@ namespace diameterModels
); );
} }
} }
}
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
Foam::diameterModels::isothermal::isothermal Foam::multiphaseEuler::diameterModels::isothermal::isothermal
( (
const dictionary& dict, const dictionary& dict,
const phaseModel& phase const phaseModel& phase
@ -62,7 +66,8 @@ Foam::diameterModels::isothermal::isothermal
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
Foam::tmp<Foam::volScalarField> Foam::diameterModels::isothermal::d() const Foam::tmp<Foam::volScalarField>
Foam::multiphaseEuler::diameterModels::isothermal::d() const
{ {
const volScalarField& p = phase_.U().db().lookupObject<volScalarField> const volScalarField& p = phase_.U().db().lookupObject<volScalarField>
( (

View File

@ -6,7 +6,7 @@
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
Copyright (C) 2011-2013 OpenFOAM Foundation Copyright (C) 2011-2013 OpenFOAM Foundation
Copyright (C) 2020 OpenCFD Ltd. Copyright (C) 2020-2022 OpenCFD Ltd.
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
This file is part of OpenFOAM. This file is part of OpenFOAM.
@ -25,7 +25,7 @@ License
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
Class Class
Foam::diameterModels::isothermal Foam::multiphaseEuler::diameterModels::isothermal
Description Description
Isothermal dispersed-phase particle diameter model. Isothermal dispersed-phase particle diameter model.
@ -35,8 +35,8 @@ SourceFiles
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/
#ifndef diameterModels_isothermal_H #ifndef Foam_multiphaseEuler_diameterModels_isothermal_H
#define diameterModels_isothermal_H #define Foam_multiphaseEuler_diameterModels_isothermal_H
#include "diameterModel.H" #include "diameterModel.H"
@ -44,6 +44,8 @@ SourceFiles
namespace Foam namespace Foam
{ {
namespace multiphaseEuler
{
namespace diameterModels namespace diameterModels
{ {
@ -93,6 +95,7 @@ public:
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
} // End namespace diameterModels } // End namespace diameterModels
} // End namespace multiphaseEuler
} // End namespace Foam } // End namespace Foam
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

View File

@ -6,6 +6,7 @@
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
Copyright (C) 2011-2012 OpenFOAM Foundation Copyright (C) 2011-2012 OpenFOAM Foundation
Copyright (C) 2022 OpenCFD Ltd.
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
This file is part of OpenFOAM. This file is part of OpenFOAM.
@ -32,6 +33,8 @@ License
namespace Foam namespace Foam
{ {
namespace multiphaseEuler
{
namespace dragModels namespace dragModels
{ {
defineTypeNameAndDebug(Ergun, 0); defineTypeNameAndDebug(Ergun, 0);
@ -44,11 +47,12 @@ namespace dragModels
); );
} }
} }
}
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
Foam::dragModels::Ergun::Ergun Foam::multiphaseEuler::dragModels::Ergun::Ergun
( (
const dictionary& interfaceDict, const dictionary& interfaceDict,
const phaseModel& phase1, const phaseModel& phase1,
@ -61,13 +65,13 @@ Foam::dragModels::Ergun::Ergun
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
Foam::dragModels::Ergun::~Ergun() Foam::multiphaseEuler::dragModels::Ergun::~Ergun()
{} {}
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
Foam::tmp<Foam::volScalarField> Foam::dragModels::Ergun::K Foam::tmp<Foam::volScalarField> Foam::multiphaseEuler::dragModels::Ergun::K
( (
const volScalarField& Ur const volScalarField& Ur
) const ) const

View File

@ -6,6 +6,7 @@
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
Copyright (C) 2011 OpenFOAM Foundation Copyright (C) 2011 OpenFOAM Foundation
Copyright (C) 2022 OpenCFD Ltd.
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
This file is part of OpenFOAM. This file is part of OpenFOAM.
@ -24,7 +25,7 @@ License
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
Class Class
Foam::dragModels::Ergun Foam::multiphaseEuler::dragModels::Ergun
Description Description
H, Enwald, E. Peirano, A-E Almstedt H, Enwald, E. Peirano, A-E Almstedt
@ -37,8 +38,8 @@ SourceFiles
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/
#ifndef Ergun_H #ifndef Foam_multiphaseEuler_dragModels_Ergun_H
#define Ergun_H #define Foam_multiphaseEuler_dragModels_Ergun_H
#include "dragModel.H" #include "dragModel.H"
@ -46,6 +47,8 @@ SourceFiles
namespace Foam namespace Foam
{ {
namespace multiphaseEuler
{
namespace dragModels namespace dragModels
{ {
@ -88,6 +91,7 @@ public:
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
} // End namespace dragModels } // End namespace dragModels
} // End namespace multiphaseEuler
} // End namespace Foam } // End namespace Foam
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

View File

@ -6,6 +6,7 @@
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
Copyright (C) 2011-2012 OpenFOAM Foundation Copyright (C) 2011-2012 OpenFOAM Foundation
Copyright (C) 2022 OpenCFD Ltd.
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
This file is part of OpenFOAM. This file is part of OpenFOAM.
@ -32,6 +33,8 @@ License
namespace Foam namespace Foam
{ {
namespace multiphaseEuler
{
namespace dragModels namespace dragModels
{ {
defineTypeNameAndDebug(Gibilaro, 0); defineTypeNameAndDebug(Gibilaro, 0);
@ -44,11 +47,12 @@ namespace dragModels
); );
} }
} }
}
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
Foam::dragModels::Gibilaro::Gibilaro Foam::multiphaseEuler::dragModels::Gibilaro::Gibilaro
( (
const dictionary& interfaceDict, const dictionary& interfaceDict,
const phaseModel& phase1, const phaseModel& phase1,
@ -61,13 +65,13 @@ Foam::dragModels::Gibilaro::Gibilaro
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
Foam::dragModels::Gibilaro::~Gibilaro() Foam::multiphaseEuler::dragModels::Gibilaro::~Gibilaro()
{} {}
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
Foam::tmp<Foam::volScalarField> Foam::dragModels::Gibilaro::K Foam::tmp<Foam::volScalarField> Foam::multiphaseEuler::dragModels::Gibilaro::K
( (
const volScalarField& Ur const volScalarField& Ur
) const ) const

View File

@ -6,6 +6,7 @@
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
Copyright (C) 2011 OpenFOAM Foundation Copyright (C) 2011 OpenFOAM Foundation
Copyright (C) 2022 OpenCFD Ltd.
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
This file is part of OpenFOAM. This file is part of OpenFOAM.
@ -24,7 +25,7 @@ License
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
Class Class
Foam::dragModels::Gibilaro Foam::multiphaseEuler::dragModels::Gibilaro
Description Description
H, Enwald, E. Peirano, A-E Almstedt H, Enwald, E. Peirano, A-E Almstedt
@ -37,8 +38,8 @@ SourceFiles
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/
#ifndef Gibilaro_H #ifndef Foam_multiphaseEuler_dragModels_Gibilaro_H
#define Gibilaro_H #define Foam_multiphaseEuler_dragModels_Gibilaro_H
#include "dragModel.H" #include "dragModel.H"
@ -46,6 +47,8 @@ SourceFiles
namespace Foam namespace Foam
{ {
namespace multiphaseEuler
{
namespace dragModels namespace dragModels
{ {
@ -88,6 +91,7 @@ public:
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
} // End namespace dragModels } // End namespace dragModels
} // End namespace multiphaseEuler
} // End namespace Foam } // End namespace Foam
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

View File

@ -6,6 +6,7 @@
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
Copyright (C) 2011-2017 OpenFOAM Foundation Copyright (C) 2011-2017 OpenFOAM Foundation
Copyright (C) 2022 OpenCFD Ltd.
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
This file is part of OpenFOAM. This file is part of OpenFOAM.
@ -32,6 +33,8 @@ License
namespace Foam namespace Foam
{ {
namespace multiphaseEuler
{
namespace dragModels namespace dragModels
{ {
defineTypeNameAndDebug(GidaspowErgunWenYu, 0); defineTypeNameAndDebug(GidaspowErgunWenYu, 0);
@ -44,11 +47,12 @@ namespace dragModels
); );
} }
} }
}
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
Foam::dragModels::GidaspowErgunWenYu::GidaspowErgunWenYu Foam::multiphaseEuler::dragModels::GidaspowErgunWenYu::GidaspowErgunWenYu
( (
const dictionary& interfaceDict, const dictionary& interfaceDict,
const phaseModel& phase1, const phaseModel& phase1,
@ -61,13 +65,14 @@ Foam::dragModels::GidaspowErgunWenYu::GidaspowErgunWenYu
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
Foam::dragModels::GidaspowErgunWenYu::~GidaspowErgunWenYu() Foam::multiphaseEuler::dragModels::GidaspowErgunWenYu::~GidaspowErgunWenYu()
{} {}
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
Foam::tmp<Foam::volScalarField> Foam::dragModels::GidaspowErgunWenYu::K Foam::tmp<Foam::volScalarField>
Foam::multiphaseEuler::dragModels::GidaspowErgunWenYu::K
( (
const volScalarField& Ur const volScalarField& Ur
) const ) const

View File

@ -6,6 +6,7 @@
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
Copyright (C) 2011 OpenFOAM Foundation Copyright (C) 2011 OpenFOAM Foundation
Copyright (C) 2022 OpenCFD Ltd.
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
This file is part of OpenFOAM. This file is part of OpenFOAM.
@ -24,7 +25,7 @@ License
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
Class Class
Foam::dragModels::GidaspowErgunWenYu Foam::multiphaseEuler::dragModels::GidaspowErgunWenYu
Description Description
D. Gidaspow, Multiphase flow and fluidization, D. Gidaspow, Multiphase flow and fluidization,
@ -35,8 +36,8 @@ SourceFiles
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/
#ifndef GidaspowErgunWenYu_H #ifndef Foam_multiphaseEuler_dragModels_GidaspowErgunWenYu_H
#define GidaspowErgunWenYu_H #define Foam_multiphaseEuler_dragModels_GidaspowErgunWenYu_H
#include "dragModel.H" #include "dragModel.H"
@ -44,6 +45,8 @@ SourceFiles
namespace Foam namespace Foam
{ {
namespace multiphaseEuler
{
namespace dragModels namespace dragModels
{ {
@ -86,6 +89,7 @@ public:
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
} // End namespace dragModels } // End namespace dragModels
} // End namespace multiphaseEuler
} // End namespace Foam } // End namespace Foam
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

View File

@ -6,6 +6,7 @@
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
Copyright (C) 2011-2017 OpenFOAM Foundation Copyright (C) 2011-2017 OpenFOAM Foundation
Copyright (C) 2022 OpenCFD Ltd.
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
This file is part of OpenFOAM. This file is part of OpenFOAM.
@ -32,6 +33,8 @@ License
namespace Foam namespace Foam
{ {
namespace multiphaseEuler
{
namespace dragModels namespace dragModels
{ {
defineTypeNameAndDebug(GidaspowSchillerNaumann, 0); defineTypeNameAndDebug(GidaspowSchillerNaumann, 0);
@ -44,11 +47,13 @@ namespace dragModels
); );
} }
} }
}
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
Foam::dragModels::GidaspowSchillerNaumann::GidaspowSchillerNaumann Foam::multiphaseEuler::dragModels::GidaspowSchillerNaumann::
GidaspowSchillerNaumann
( (
const dictionary& interfaceDict, const dictionary& interfaceDict,
const phaseModel& phase1, const phaseModel& phase1,
@ -61,13 +66,15 @@ Foam::dragModels::GidaspowSchillerNaumann::GidaspowSchillerNaumann
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
Foam::dragModels::GidaspowSchillerNaumann::~GidaspowSchillerNaumann() Foam::multiphaseEuler::dragModels::GidaspowSchillerNaumann::
~GidaspowSchillerNaumann()
{} {}
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
Foam::tmp<Foam::volScalarField> Foam::dragModels::GidaspowSchillerNaumann::K Foam::tmp<Foam::volScalarField>
Foam::multiphaseEuler::dragModels::GidaspowSchillerNaumann::K
( (
const volScalarField& Ur const volScalarField& Ur
) const ) const

View File

@ -6,6 +6,7 @@
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
Copyright (C) 2011 OpenFOAM Foundation Copyright (C) 2011 OpenFOAM Foundation
Copyright (C) 2022 OpenCFD Ltd.
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
This file is part of OpenFOAM. This file is part of OpenFOAM.
@ -24,7 +25,7 @@ License
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
Class Class
Foam::dragModels::GidaspowSchillerNaumann Foam::multiphaseEuler::dragModels::GidaspowSchillerNaumann
Description Description
H, Enwald, E. Peirano, A-E Almstedt H, Enwald, E. Peirano, A-E Almstedt
@ -44,8 +45,8 @@ SourceFiles
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/
#ifndef GidaspowSchillerNaumann_H #ifndef Foam_multiphaseEuler_dragModels_GidaspowSchillerNaumann_H
#define GidaspowSchillerNaumann_H #define Foam_multiphaseEuler_dragModels_GidaspowSchillerNaumann_H
#include "dragModel.H" #include "dragModel.H"
@ -53,6 +54,8 @@ SourceFiles
namespace Foam namespace Foam
{ {
namespace multiphaseEuler
{
namespace dragModels namespace dragModels
{ {
@ -95,6 +98,7 @@ public:
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
} // End namespace dragModels } // End namespace dragModels
} // End namespace multiphaseEuler
} // End namespace Foam } // End namespace Foam
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

View File

@ -6,6 +6,7 @@
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
Copyright (C) 2011-2017 OpenFOAM Foundation Copyright (C) 2011-2017 OpenFOAM Foundation
Copyright (C) 2022 OpenCFD Ltd.
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
This file is part of OpenFOAM. This file is part of OpenFOAM.
@ -32,6 +33,8 @@ License
namespace Foam namespace Foam
{ {
namespace multiphaseEuler
{
namespace dragModels namespace dragModels
{ {
defineTypeNameAndDebug(SchillerNaumann, 0); defineTypeNameAndDebug(SchillerNaumann, 0);
@ -44,11 +47,12 @@ namespace dragModels
); );
} }
} }
}
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
Foam::dragModels::SchillerNaumann::SchillerNaumann Foam::multiphaseEuler::dragModels::SchillerNaumann::SchillerNaumann
( (
const dictionary& interfaceDict, const dictionary& interfaceDict,
const phaseModel& phase1, const phaseModel& phase1,
@ -61,13 +65,14 @@ Foam::dragModels::SchillerNaumann::SchillerNaumann
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
Foam::dragModels::SchillerNaumann::~SchillerNaumann() Foam::multiphaseEuler::dragModels::SchillerNaumann::~SchillerNaumann()
{} {}
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
Foam::tmp<Foam::volScalarField> Foam::dragModels::SchillerNaumann::K Foam::tmp<Foam::volScalarField>
Foam::multiphaseEuler::dragModels::SchillerNaumann::K
( (
const volScalarField& Ur const volScalarField& Ur
) const ) const

View File

@ -6,6 +6,7 @@
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
Copyright (C) 2011 OpenFOAM Foundation Copyright (C) 2011 OpenFOAM Foundation
Copyright (C) 2022 OpenCFD Ltd.
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
This file is part of OpenFOAM. This file is part of OpenFOAM.
@ -24,7 +25,7 @@ License
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
Class Class
Foam::dragModels::SchillerNaumann Foam::multiphaseEuler::dragModels::SchillerNaumann
Description Description
@ -33,8 +34,8 @@ SourceFiles
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/
#ifndef SchillerNaumann_H #ifndef Foam_multiphaseEuler_dragModels_SchillerNaumann_H
#define SchillerNaumann_H #define Foam_multiphaseEuler_dragModels_SchillerNaumann_H
#include "dragModel.H" #include "dragModel.H"
@ -42,6 +43,8 @@ SourceFiles
namespace Foam namespace Foam
{ {
namespace multiphaseEuler
{
namespace dragModels namespace dragModels
{ {
@ -84,6 +87,7 @@ public:
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
} // End namespace dragModels } // End namespace dragModels
} // End namespace multiphaseEuler
} // End namespace Foam } // End namespace Foam
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

View File

@ -6,6 +6,7 @@
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
Copyright (C) 2011-2017 OpenFOAM Foundation Copyright (C) 2011-2017 OpenFOAM Foundation
Copyright (C) 2022 OpenCFD Ltd.
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
This file is part of OpenFOAM. This file is part of OpenFOAM.
@ -32,6 +33,8 @@ License
namespace Foam namespace Foam
{ {
namespace multiphaseEuler
{
namespace dragModels namespace dragModels
{ {
defineTypeNameAndDebug(SyamlalOBrien, 0); defineTypeNameAndDebug(SyamlalOBrien, 0);
@ -44,11 +47,12 @@ namespace dragModels
); );
} }
} }
}
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
Foam::dragModels::SyamlalOBrien::SyamlalOBrien Foam::multiphaseEuler::dragModels::SyamlalOBrien::SyamlalOBrien
( (
const dictionary& interfaceDict, const dictionary& interfaceDict,
const phaseModel& phase1, const phaseModel& phase1,
@ -61,13 +65,14 @@ Foam::dragModels::SyamlalOBrien::SyamlalOBrien
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
Foam::dragModels::SyamlalOBrien::~SyamlalOBrien() Foam::multiphaseEuler::dragModels::SyamlalOBrien::~SyamlalOBrien()
{} {}
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
Foam::tmp<Foam::volScalarField> Foam::dragModels::SyamlalOBrien::K Foam::tmp<Foam::volScalarField>
Foam::multiphaseEuler::dragModels::SyamlalOBrien::K
( (
const volScalarField& Ur const volScalarField& Ur
) const ) const

View File

@ -6,6 +6,7 @@
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
Copyright (C) 2011 OpenFOAM Foundation Copyright (C) 2011 OpenFOAM Foundation
Copyright (C) 2022 OpenCFD Ltd.
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
This file is part of OpenFOAM. This file is part of OpenFOAM.
@ -24,7 +25,7 @@ License
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
Class Class
Foam::dragModels::SyamlalOBrien Foam::multiphaseEuler::dragModels::SyamlalOBrien
Description Description
Syamlal, M., Rogers, W. and O'Brien, T. J. (1993) MFIX documentation, Syamlal, M., Rogers, W. and O'Brien, T. J. (1993) MFIX documentation,
@ -36,8 +37,8 @@ SourceFiles
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/
#ifndef SyamlalOBrien_H #ifndef Foam_multiphaseEuler_dragModels_SyamlalOBrien_H
#define SyamlalOBrien_H #define Foam_multiphaseEuler_dragModels_SyamlalOBrien_H
#include "dragModel.H" #include "dragModel.H"
@ -45,6 +46,8 @@ SourceFiles
namespace Foam namespace Foam
{ {
namespace multiphaseEuler
{
namespace dragModels namespace dragModels
{ {
@ -87,6 +90,7 @@ public:
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
} // End namespace dragModels } // End namespace dragModels
} // End namespace multiphaseEuler
} // End namespace Foam } // End namespace Foam
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

View File

@ -6,6 +6,7 @@
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
Copyright (C) 2011-2017 OpenFOAM Foundation Copyright (C) 2011-2017 OpenFOAM Foundation
Copyright (C) 2022 OpenCFD Ltd.
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
This file is part of OpenFOAM. This file is part of OpenFOAM.
@ -32,6 +33,8 @@ License
namespace Foam namespace Foam
{ {
namespace multiphaseEuler
{
namespace dragModels namespace dragModels
{ {
defineTypeNameAndDebug(WenYu, 0); defineTypeNameAndDebug(WenYu, 0);
@ -44,11 +47,12 @@ namespace dragModels
); );
} }
} }
}
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
Foam::dragModels::WenYu::WenYu Foam::multiphaseEuler::dragModels::WenYu::WenYu
( (
const dictionary& interfaceDict, const dictionary& interfaceDict,
const phaseModel& phase1, const phaseModel& phase1,
@ -61,13 +65,13 @@ Foam::dragModels::WenYu::WenYu
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
Foam::dragModels::WenYu::~WenYu() Foam::multiphaseEuler::dragModels::WenYu::~WenYu()
{} {}
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
Foam::tmp<Foam::volScalarField> Foam::dragModels::WenYu::K Foam::tmp<Foam::volScalarField> Foam::multiphaseEuler::dragModels::WenYu::K
( (
const volScalarField& Ur const volScalarField& Ur
) const ) const

View File

@ -6,6 +6,7 @@
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
Copyright (C) 2011 OpenFOAM Foundation Copyright (C) 2011 OpenFOAM Foundation
Copyright (C) 2022 OpenCFD Ltd.
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
This file is part of OpenFOAM. This file is part of OpenFOAM.
@ -24,7 +25,7 @@ License
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
Class Class
Foam::dragModels::WenYu Foam::multiphaseEuler::dragModels::WenYu
Description Description
H, Enwald, E. Peirano, A-E Almstedt H, Enwald, E. Peirano, A-E Almstedt
@ -47,8 +48,8 @@ SourceFiles
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/
#ifndef WenYu_H #ifndef Foam_multiphaseEuler_dragModels_WenYu_H
#define WenYu_H #define Foam_multiphaseEuler_dragModels_WenYu_H
#include "dragModel.H" #include "dragModel.H"
@ -56,6 +57,8 @@ SourceFiles
namespace Foam namespace Foam
{ {
namespace multiphaseEuler
{
namespace dragModels namespace dragModels
{ {
@ -98,6 +101,7 @@ public:
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
} // End namespace dragModels } // End namespace dragModels
} // End namespace multiphaseEuler
} // End namespace Foam } // End namespace Foam
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

View File

@ -6,7 +6,7 @@
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
Copyright (C) 2011 OpenFOAM Foundation Copyright (C) 2011 OpenFOAM Foundation
Copyright (C) 2020 OpenCFD Ltd. Copyright (C) 2020-2022 OpenCFD Ltd.
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
This file is part of OpenFOAM. This file is part of OpenFOAM.
@ -33,6 +33,8 @@ License
namespace Foam namespace Foam
{ {
namespace multiphaseEuler
{
namespace dragModels namespace dragModels
{ {
defineTypeNameAndDebug(blended, 0); defineTypeNameAndDebug(blended, 0);
@ -45,11 +47,12 @@ namespace dragModels
); );
} }
} }
}
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
Foam::dragModels::blended::blended Foam::multiphaseEuler::dragModels::blended::blended
( (
const dictionary& interfaceDict, const dictionary& interfaceDict,
const phaseModel& phase1, const phaseModel& phase1,
@ -64,7 +67,7 @@ Foam::dragModels::blended::blended
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
Foam::tmp<Foam::volScalarField> Foam::dragModels::blended::K Foam::tmp<Foam::volScalarField> Foam::multiphaseEuler::dragModels::blended::K
( (
const volScalarField& Ur const volScalarField& Ur
) const ) const

View File

@ -6,7 +6,7 @@
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
Copyright (C) 2011 OpenFOAM Foundation Copyright (C) 2011 OpenFOAM Foundation
Copyright (C) 2020 OpenCFD Ltd. Copyright (C) 2020-2022 OpenCFD Ltd.
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
This file is part of OpenFOAM. This file is part of OpenFOAM.
@ -25,7 +25,7 @@ License
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
Class Class
Foam::dragModels::blended Foam::multiphaseEuler::dragModels::blended
Description Description
Blends two drag models based on the phase fractions to handle Blends two drag models based on the phase fractions to handle
@ -36,8 +36,8 @@ SourceFiles
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/
#ifndef blended_H #ifndef Foam_multiphaseEuler_dragModels_blended_H
#define blended_H #define Foam_multiphaseEuler_dragModels_blended_H
#include "dragModel.H" #include "dragModel.H"
@ -45,6 +45,8 @@ SourceFiles
namespace Foam namespace Foam
{ {
namespace multiphaseEuler
{
namespace dragModels namespace dragModels
{ {
@ -93,6 +95,7 @@ public:
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
} // End namespace dragModels } // End namespace dragModels
} // End namespace multiphaseEuler
} // End namespace Foam } // End namespace Foam
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

View File

@ -6,7 +6,7 @@
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
Copyright (C) 2011 OpenFOAM Foundation Copyright (C) 2011 OpenFOAM Foundation
Copyright (C) 2019-2021 OpenCFD Ltd. Copyright (C) 2019-2022 OpenCFD Ltd.
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
This file is part of OpenFOAM. This file is part of OpenFOAM.
@ -31,15 +31,18 @@ License
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
namespace Foam namespace Foam
{
namespace multiphaseEuler
{ {
defineTypeNameAndDebug(dragModel, 0); defineTypeNameAndDebug(dragModel, 0);
defineRunTimeSelectionTable(dragModel, dictionary); defineRunTimeSelectionTable(dragModel, dictionary);
} }
}
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
Foam::dragModel::dragModel Foam::multiphaseEuler::dragModel::dragModel
( (
const dictionary& dict, const dictionary& dict,
const phaseModel& phase1, const phaseModel& phase1,
@ -56,7 +59,8 @@ Foam::dragModel::dragModel
// * * * * * * * * * * * * * * * * Selectors * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * Selectors * * * * * * * * * * * * * * * * //
Foam::autoPtr<Foam::dragModel> Foam::dragModel::New Foam::autoPtr<Foam::multiphaseEuler::dragModel>
Foam::multiphaseEuler::dragModel::New
( (
const dictionary& dict, const dictionary& dict,
const phaseModel& phase1, const phaseModel& phase1,

View File

@ -6,6 +6,7 @@
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
Copyright (C) 2011-2015 OpenFOAM Foundation Copyright (C) 2011-2015 OpenFOAM Foundation
Copyright (C) 2022 OpenCFD Ltd.
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
This file is part of OpenFOAM. This file is part of OpenFOAM.
@ -24,7 +25,7 @@ License
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
Class Class
Foam::dragModel Foam::multiphaseEuler::dragModel
Description Description
@ -33,8 +34,8 @@ SourceFiles
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/
#ifndef dragModel_H #ifndef Foam_multiphaseEuler_dragModel_H
#define dragModel_H #define Foam_multiphaseEuler_dragModel_H
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
@ -44,6 +45,8 @@ SourceFiles
namespace Foam namespace Foam
{ {
namespace multiphaseEuler
{
/*---------------------------------------------------------------------------*\ /*---------------------------------------------------------------------------*\
Class dragModel Declaration Class dragModel Declaration
@ -144,6 +147,7 @@ public:
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
} // End namespace multiphaseEuler
} // End namespace Foam } // End namespace Foam
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

View File

@ -6,7 +6,7 @@
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
Copyright (C) 2011 OpenFOAM Foundation Copyright (C) 2011 OpenFOAM Foundation
Copyright (C) 2020 OpenCFD Ltd. Copyright (C) 2020-2022 OpenCFD Ltd.
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
This file is part of OpenFOAM. This file is part of OpenFOAM.
@ -33,6 +33,8 @@ License
namespace Foam namespace Foam
{ {
namespace multiphaseEuler
{
namespace dragModels namespace dragModels
{ {
defineTypeNameAndDebug(interface, 0); defineTypeNameAndDebug(interface, 0);
@ -45,11 +47,12 @@ namespace dragModels
); );
} }
} }
}
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
Foam::dragModels::interface::interface Foam::multiphaseEuler::dragModels::interface::interface
( (
const dictionary& interfaceDict, const dictionary& interfaceDict,
const phaseModel& phase1, const phaseModel& phase1,
@ -62,7 +65,7 @@ Foam::dragModels::interface::interface
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
Foam::tmp<Foam::volScalarField> Foam::dragModels::interface::K Foam::tmp<Foam::volScalarField> Foam::multiphaseEuler::dragModels::interface::K
( (
const volScalarField& Ur const volScalarField& Ur
) const ) const

View File

@ -6,6 +6,7 @@
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
Copyright (C) 2011 OpenFOAM Foundation Copyright (C) 2011 OpenFOAM Foundation
Copyright (C) 2022 OpenCFD Ltd.
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
This file is part of OpenFOAM. This file is part of OpenFOAM.
@ -24,7 +25,7 @@ License
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
Class Class
Foam::dragModels::interface Foam::multiphaseEuler::dragModels::interface
Description Description
Drag between phase separated by a VoF resolved interface. Drag between phase separated by a VoF resolved interface.
@ -34,8 +35,8 @@ SourceFiles
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/
#ifndef interface_H #ifndef Foam_multiphaseEuler_dragModels_interface_H
#define interface_H #define Foam_multiphaseEuler_dragModels_interface_H
#include "dragModel.H" #include "dragModel.H"
@ -43,6 +44,8 @@ SourceFiles
namespace Foam namespace Foam
{ {
namespace multiphaseEuler
{
namespace dragModels namespace dragModels
{ {
@ -85,6 +88,7 @@ public:
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
} // End namespace dragModels } // End namespace dragModels
} // End namespace multiphaseEuler
} // End namespace Foam } // End namespace Foam
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

View File

@ -6,6 +6,7 @@
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
Copyright (C) 2011-2012 OpenFOAM Foundation Copyright (C) 2011-2012 OpenFOAM Foundation
Copyright (C) 2022 OpenCFD Ltd.
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
This file is part of OpenFOAM. This file is part of OpenFOAM.
@ -32,6 +33,8 @@ License
namespace Foam namespace Foam
{ {
namespace multiphaseEuler
{
namespace heatTransferModels namespace heatTransferModels
{ {
defineTypeNameAndDebug(RanzMarshall, 0); defineTypeNameAndDebug(RanzMarshall, 0);
@ -44,11 +47,12 @@ namespace heatTransferModels
); );
} }
} }
}
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
Foam::heatTransferModels::RanzMarshall::RanzMarshall Foam::multiphaseEuler::heatTransferModels::RanzMarshall::RanzMarshall
( (
const dictionary& interfaceDict, const dictionary& interfaceDict,
const volScalarField& alpha1, const volScalarField& alpha1,
@ -62,13 +66,14 @@ Foam::heatTransferModels::RanzMarshall::RanzMarshall
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
Foam::heatTransferModels::RanzMarshall::~RanzMarshall() Foam::multiphaseEuler::heatTransferModels::RanzMarshall::~RanzMarshall()
{} {}
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
Foam::tmp<Foam::volScalarField> Foam::heatTransferModels::RanzMarshall::K Foam::tmp<Foam::volScalarField>
Foam::multiphaseEuler::heatTransferModels::RanzMarshall::K
( (
const volScalarField& Ur const volScalarField& Ur
) const ) const

View File

@ -6,6 +6,7 @@
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
Copyright (C) 2011-2012 OpenFOAM Foundation Copyright (C) 2011-2012 OpenFOAM Foundation
Copyright (C) 2022 OpenCFD Ltd.
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
This file is part of OpenFOAM. This file is part of OpenFOAM.
@ -24,7 +25,7 @@ License
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
Class Class
Foam::heatTransferModels::RanzMarshall Foam::multiphaseEuler::heatTransferModels::RanzMarshall
Description Description
@ -33,8 +34,8 @@ SourceFiles
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/
#ifndef RanzMarshall_H #ifndef Foam_multiphaseEuler_heatTransferModels_RanzMarshall_H
#define RanzMarshall_H #define Foam_multiphaseEuler_heatTransferModels_RanzMarshall_H
#include "heatTransferModel.H" #include "heatTransferModel.H"
@ -42,6 +43,8 @@ SourceFiles
namespace Foam namespace Foam
{ {
namespace multiphaseEuler
{
namespace heatTransferModels namespace heatTransferModels
{ {
@ -85,6 +88,7 @@ public:
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
} // End namespace heatTransferModels } // End namespace heatTransferModels
} // End namespace multiphaseEuler
} // End namespace Foam } // End namespace Foam
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

View File

@ -6,7 +6,7 @@
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
Copyright (C) 2011-2012 OpenFOAM Foundation Copyright (C) 2011-2012 OpenFOAM Foundation
Copyright (C) 2019-2021 OpenCFD Ltd. Copyright (C) 2019-2022 OpenCFD Ltd.
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
This file is part of OpenFOAM. This file is part of OpenFOAM.
@ -31,15 +31,18 @@ License
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
namespace Foam namespace Foam
{
namespace multiphaseEuler
{ {
defineTypeNameAndDebug(heatTransferModel, 0); defineTypeNameAndDebug(heatTransferModel, 0);
defineRunTimeSelectionTable(heatTransferModel, dictionary); defineRunTimeSelectionTable(heatTransferModel, dictionary);
} }
}
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
Foam::heatTransferModel::heatTransferModel Foam::multiphaseEuler::heatTransferModel::heatTransferModel
( (
const dictionary& dict, const dictionary& dict,
const volScalarField& alpha1, const volScalarField& alpha1,
@ -56,7 +59,8 @@ Foam::heatTransferModel::heatTransferModel
// * * * * * * * * * * * * * * * * Selectors * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * Selectors * * * * * * * * * * * * * * * * //
Foam::autoPtr<Foam::heatTransferModel> Foam::heatTransferModel::New Foam::autoPtr<Foam::multiphaseEuler::heatTransferModel>
Foam::multiphaseEuler::heatTransferModel::New
( (
const dictionary& dict, const dictionary& dict,
const volScalarField& alpha1, const volScalarField& alpha1,

View File

@ -6,7 +6,7 @@
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
Copyright (C) 2011-2015 OpenFOAM Foundation Copyright (C) 2011-2015 OpenFOAM Foundation
Copyright (C) 2020 OpenCFD Ltd. Copyright (C) 2020-2022 OpenCFD Ltd.
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
This file is part of OpenFOAM. This file is part of OpenFOAM.
@ -25,7 +25,7 @@ License
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
Class Class
Foam::heatTransferModel Foam::multiphaseEuler::heatTransferModel
Description Description
@ -35,8 +35,8 @@ SourceFiles
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/
#ifndef heatTransferModel_H #ifndef Foam_multiphaseEuler_heatTransferModel_H
#define heatTransferModel_H #define Foam_multiphaseEuler_heatTransferModel_H
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
@ -46,6 +46,8 @@ SourceFiles
namespace Foam namespace Foam
{ {
namespace multiphaseEuler
{
/*---------------------------------------------------------------------------*\ /*---------------------------------------------------------------------------*\
Class heatTransferModel Declaration Class heatTransferModel Declaration
@ -129,6 +131,7 @@ public:
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
} // End namespace multiphaseEuler
} // End namespace Foam } // End namespace Foam
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

View File

@ -6,7 +6,7 @@
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
Copyright (C) 2011-2018 OpenFOAM Foundation Copyright (C) 2011-2018 OpenFOAM Foundation
Copyright (C) 2020 OpenCFD Ltd. Copyright (C) 2020-2022 OpenCFD Ltd.
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
This file is part of OpenFOAM. This file is part of OpenFOAM.
@ -251,10 +251,22 @@ void Foam::multiphaseSystem::correctContactAngle
forAll(boundary, patchi) forAll(boundary, patchi)
{ {
if (isA<alphaContactAngleFvPatchScalarField>(gbf[patchi])) if
(
isA<multiphaseEuler::alphaContactAngleFvPatchScalarField>
(
gbf[patchi]
)
)
{ {
const alphaContactAngleFvPatchScalarField& acap = const auto& acap =
refCast<const alphaContactAngleFvPatchScalarField>(gbf[patchi]); refCast
<
const multiphaseEuler::alphaContactAngleFvPatchScalarField
>
(
gbf[patchi]
);
vectorField& nHatPatch = nHatb[patchi]; vectorField& nHatPatch = nHatb[patchi];
@ -414,7 +426,7 @@ Foam::multiphaseSystem::multiphaseSystem
dragModels_.set dragModels_.set
( (
iter.key(), iter.key(),
dragModel::New multiphaseEuler::dragModel::New
( (
iter(), iter(),
*phases_.lookup(iter.key().first()), *phases_.lookup(iter.key().first()),
@ -645,7 +657,7 @@ Foam::multiphaseSystem::dragCoeffs() const
forAllConstIters(dragModels_, iter) forAllConstIters(dragModels_, iter)
{ {
const dragModel& dm = *iter(); const multiphaseEuler::dragModel& dm = *iter();
volScalarField* Kptr = volScalarField* Kptr =
( (

View File

@ -6,7 +6,7 @@
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
Copyright (C) 2011-2016 OpenFOAM Foundation Copyright (C) 2011-2016 OpenFOAM Foundation
Copyright (C) 2019-2021 OpenCFD Ltd. Copyright (C) 2019-2022 OpenCFD Ltd.
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
This file is part of OpenFOAM. This file is part of OpenFOAM.
@ -42,8 +42,8 @@ SourceFiles
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/
#ifndef multiphaseSystem_H #ifndef Foam_multiphaseEuler_multiphaseSystem_H
#define multiphaseSystem_H #define Foam_multiphaseEuler_multiphaseSystem_H
#include "incompressible/transportModel/transportModel.H" #include "incompressible/transportModel/transportModel.H"
#include "IOdictionary.H" #include "IOdictionary.H"
@ -121,8 +121,11 @@ public:
}; };
typedef HashPtrTable<dragModel, interfacePair, interfacePair::symmHash> typedef
dragModelTable; HashPtrTable
<
multiphaseEuler::dragModel, interfacePair, interfacePair::symmHash
> dragModelTable;
typedef HashPtrTable<volScalarField, interfacePair, interfacePair::symmHash> typedef HashPtrTable<volScalarField, interfacePair, interfacePair::symmHash>
dragCoeffFields; dragCoeffFields;

View File

@ -6,6 +6,7 @@
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
Copyright (C) 2011-2017 OpenFOAM Foundation Copyright (C) 2011-2017 OpenFOAM Foundation
Copyright (C) 2022 OpenCFD Ltd.
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
This file is part of OpenFOAM. This file is part of OpenFOAM.
@ -188,7 +189,7 @@ Foam::phaseModel::phaseModel
); );
} }
dPtr_ = diameterModel::New dPtr_ = multiphaseEuler::diameterModel::New
( (
phaseDict_, phaseDict_,
*this *this

View File

@ -6,6 +6,7 @@
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
Copyright (C) 2011-2017 OpenFOAM Foundation Copyright (C) 2011-2017 OpenFOAM Foundation
Copyright (C) 2022 OpenCFD Ltd.
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
This file is part of OpenFOAM. This file is part of OpenFOAM.
@ -31,8 +32,8 @@ SourceFiles
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/
#ifndef phaseModel_H #ifndef Foam_multiphaseEuler_phaseModel_H
#define phaseModel_H #define Foam_multiphaseEuler_phaseModel_H
#include "dictionary.H" #include "dictionary.H"
#include "dictionaryEntry.H" #include "dictionaryEntry.H"
@ -45,8 +46,11 @@ SourceFiles
namespace Foam namespace Foam
{ {
namespace multiphaseEuler
{
// Forward declarations // Forward declarations
class diameterModel; class diameterModel;
}
/*---------------------------------------------------------------------------*\ /*---------------------------------------------------------------------------*\
Class phaseModel Declaration Class phaseModel Declaration
@ -88,7 +92,7 @@ class phaseModel
autoPtr<surfaceScalarField> phiPtr_; autoPtr<surfaceScalarField> phiPtr_;
//- Diameter model //- Diameter model
autoPtr<diameterModel> dPtr_; autoPtr<multiphaseEuler::diameterModel> dPtr_;
public: public:

View File

@ -5,7 +5,7 @@
\\ / A nd | www.openfoam.com \\ / A nd | www.openfoam.com
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
Copyright (C) 2017 OpenCFD Ltd Copyright (C) 2017-2022 OpenCFD Ltd
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
This file is part of OpenFOAM. This file is part of OpenFOAM.
@ -37,6 +37,8 @@ License
#include "RASModel.H" #include "RASModel.H"
#include "LESModel.H" #include "LESModel.H"
using namespace Foam::multiphaseInter;
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
defineTurbulenceModelTypes defineTurbulenceModelTypes

View File

@ -5,7 +5,7 @@
\\ / A nd | www.openfoam.com \\ / A nd | www.openfoam.com
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
Copyright (C) 2017 OpenCFD Ltd. Copyright (C) 2017-2022 OpenCFD Ltd.
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
This file is part of OpenFOAM. This file is part of OpenFOAM.
@ -33,6 +33,8 @@ License
#include "rhoThermo.H" #include "rhoThermo.H"
#include "zeroGradientFvPatchFields.H" #include "zeroGradientFvPatchFields.H"
using namespace Foam::multiphaseInter;
// * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * // // * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * //
template<class Thermo, class OtherThermo> template<class Thermo, class OtherThermo>

View File

@ -5,7 +5,7 @@
\\ / A nd | www.openfoam.com \\ / A nd | www.openfoam.com
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
Copyright (C) 2017 OpenCFD Ltd. Copyright (C) 2017-2022 OpenCFD Ltd.
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
This file is part of OpenFOAM. This file is part of OpenFOAM.
@ -45,6 +45,8 @@ SourceFiles
namespace Foam namespace Foam
{ {
using namespace multiphaseInter;
// Forward Declarations // Forward Declarations
class phaseModel; class phaseModel;
class phasePair; class phasePair;
@ -132,7 +134,7 @@ public:
InterfaceCompositionModel(const dictionary& dict, const phasePair& pair); InterfaceCompositionModel(const dictionary& dict, const phasePair& pair);
//- Destructor //- Destructor
~InterfaceCompositionModel() = default; virtual ~InterfaceCompositionModel() = default;
// Member Functions // Member Functions

View File

@ -5,7 +5,7 @@ phasePair/phasePair.C
phasePair/phasePairKey.C phasePair/phasePairKey.C
phasePair/orderedPhasePair.C phasePair/orderedPhasePair.C
phaseSystem/phaseSystem.C multiphaseInterSystem/multiphaseInterSystem.C
multiphaseSystem/multiphaseSystem.C multiphaseSystem/multiphaseSystem.C
multiphaseSystem/multiphaseSystemNew.C multiphaseSystem/multiphaseSystemNew.C

View File

@ -5,7 +5,7 @@
\\ / A nd | www.openfoam.com \\ / A nd | www.openfoam.com
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
Copyright (C) 2017-2020 OpenCFD Ltd. Copyright (C) 2017-2022 OpenCFD Ltd.
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
This file is part of OpenFOAM. This file is part of OpenFOAM.
@ -33,6 +33,8 @@ License
#include "volFields.H" #include "volFields.H"
#include "fundamentalConstants.H" #include "fundamentalConstants.H"
using namespace Foam::multiphaseInter;
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
template<class BasePhaseSystem> template<class BasePhaseSystem>

View File

@ -5,7 +5,7 @@
\\ / A nd | www.openfoam.com \\ / A nd | www.openfoam.com
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
Copyright (C) 2017-2020 OpenCFD Ltd. Copyright (C) 2017-2022 OpenCFD Ltd.
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
This file is part of OpenFOAM. This file is part of OpenFOAM.
@ -34,10 +34,10 @@ SourceFiles
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/
#ifndef MassTransferPhaseSystem_H #ifndef Foam_multiphaseInter_MassTransferPhaseSystem_H
#define MassTransferPhaseSystem_H #define Foam_multiphaseInter_MassTransferPhaseSystem_H
#include "phaseSystem.H" #include "multiphaseInterSystem.H"
#include "HashPtrTable.H" #include "HashPtrTable.H"
#include "interfaceCompositionModel.H" #include "interfaceCompositionModel.H"
@ -46,6 +46,8 @@ SourceFiles
namespace Foam namespace Foam
{ {
using namespace multiphaseInter;
/*---------------------------------------------------------------------------*\ /*---------------------------------------------------------------------------*\
Class MassTransferPhaseSystem Declaration Class MassTransferPhaseSystem Declaration
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/
@ -144,7 +146,7 @@ public:
//- Calculate mass transfer for species //- Calculate mass transfer for species
virtual void massSpeciesTransfer virtual void massSpeciesTransfer
( (
const phaseModel& phase, const Foam::phaseModel& phase,
volScalarField::Internal& Su, volScalarField::Internal& Su,
volScalarField::Internal& Sp, volScalarField::Internal& Sp,
const word speciesName const word speciesName

View File

@ -5,7 +5,7 @@
\\ / A nd | www.openfoam.com \\ / A nd | www.openfoam.com
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
Copyright (C) 2017-2021 OpenCFD Ltd. Copyright (C) 2017-2022 OpenCFD Ltd.
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
This file is part of OpenFOAM. This file is part of OpenFOAM.
@ -32,14 +32,19 @@ License
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
namespace Foam namespace Foam
{
namespace multiphaseInter
{ {
defineTypeNameAndDebug(interfaceCompositionModel, 0); defineTypeNameAndDebug(interfaceCompositionModel, 0);
defineRunTimeSelectionTable(interfaceCompositionModel, dictionary); defineRunTimeSelectionTable(interfaceCompositionModel, dictionary);
} }
}
const Foam::Enum
const Foam::Enum<Foam::interfaceCompositionModel::modelVariable> <
Foam::interfaceCompositionModel::modelVariableNames_ Foam::multiphaseInter::interfaceCompositionModel::modelVariable
>
Foam::multiphaseInter::interfaceCompositionModel::modelVariableNames_
{ {
{ modelVariable::T, "temperature" }, { modelVariable::T, "temperature" },
{ modelVariable::P, "pressure" }, { modelVariable::P, "pressure" },
@ -50,7 +55,7 @@ Foam::interfaceCompositionModel::modelVariableNames_
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
Foam::interfaceCompositionModel::interfaceCompositionModel Foam::multiphaseInter::interfaceCompositionModel::interfaceCompositionModel
( (
const dictionary& dict, const dictionary& dict,
const phasePair& pair const phasePair& pair
@ -74,8 +79,8 @@ Foam::interfaceCompositionModel::interfaceCompositionModel
// * * * * * * * * * * * * * * * * Selectors * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * Selectors * * * * * * * * * * * * * * * * //
Foam::autoPtr<Foam::interfaceCompositionModel> Foam::autoPtr<Foam::multiphaseInter::interfaceCompositionModel>
Foam::interfaceCompositionModel::New Foam::multiphaseInter::interfaceCompositionModel::New
( (
const dictionary& dict, const dictionary& dict,
const phasePair& pair const phasePair& pair
@ -113,31 +118,42 @@ Foam::interfaceCompositionModel::New
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
const Foam::word Foam::interfaceCompositionModel::transferSpecie() const const Foam::word Foam::multiphaseInter::interfaceCompositionModel
::transferSpecie() const
{ {
return speciesName_; return speciesName_;
} }
const Foam::phasePair& Foam::interfaceCompositionModel::pair() const const Foam::phasePair& Foam::multiphaseInter::interfaceCompositionModel
::pair() const
{ {
return pair_; return pair_;
} }
const Foam::word& Foam::interfaceCompositionModel::variable() const const Foam::multiphaseInterSystem& Foam::multiphaseInter
::interfaceCompositionModel::fluid() const
{
return pair().to().fluid();
}
const Foam::word& Foam::multiphaseInter::interfaceCompositionModel
::variable() const
{ {
return modelVariableNames_[modelVariable_]; return modelVariableNames_[modelVariable_];
} }
bool Foam::interfaceCompositionModel::includeDivU() const noexcept bool Foam::multiphaseInter::interfaceCompositionModel::includeDivU()
const noexcept
{ {
return true; return true;
} }
bool Foam::interfaceCompositionModel::includeVolChange() bool Foam::multiphaseInter::interfaceCompositionModel::includeVolChange()
{ {
return includeVolChange_; return includeVolChange_;
} }

View File

@ -5,7 +5,7 @@
\\ / A nd | www.openfoam.com \\ / A nd | www.openfoam.com
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
Copyright (C) 2017-2021 OpenCFD Ltd. Copyright (C) 2017-2022 OpenCFD Ltd.
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
This file is part of OpenFOAM. This file is part of OpenFOAM.
@ -50,9 +50,14 @@ namespace Foam
{ {
// Forward Declarations // Forward Declarations
class phaseModel;
class phasePair; class phasePair;
namespace multiphaseInter
{
// Forward Declarations
class phaseModel;
/*---------------------------------------------------------------------------*\ /*---------------------------------------------------------------------------*\
Class interfaceCompositionModel Declaration Class interfaceCompositionModel Declaration
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/
@ -212,6 +217,7 @@ public:
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
} // End namespace Foam } // End namespace Foam
} // End multiphaseInter
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

View File

@ -5,7 +5,7 @@
\\ / A nd | www.openfoam.com \\ / A nd | www.openfoam.com
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
Copyright (C) 2017-2021 OpenCFD Ltd. Copyright (C) 2017-2022 OpenCFD Ltd.
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
This file is part of OpenFOAM. This file is part of OpenFOAM.
@ -25,7 +25,7 @@ License
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/
#include "phaseSystem.H" #include "multiphaseInterSystem.H"
#include "surfaceTensionModel.H" #include "surfaceTensionModel.H"
#include "porousModel.H" #include "porousModel.H"
@ -46,23 +46,27 @@ License
namespace Foam namespace Foam
{ {
defineTypeNameAndDebug(phaseSystem, 0); defineTypeNameAndDebug(multiphaseInterSystem, 0);
} }
/* * * * * * * * * * * * * * * private static data * * * * * * * * * * * * * */ /* * * * * * * * * * * * * * * private static data * * * * * * * * * * * * * */
const Foam::word Foam::phaseSystem::phasePropertiesName("phaseProperties"); const Foam::word
Foam::multiphaseInterSystem::phasePropertiesName("phaseProperties");
// * * * * * * * * * * * * Protected Member Functions * * * * * * * * * * * // // * * * * * * * * * * * * Protected Member Functions * * * * * * * * * * * //
void Foam::phaseSystem::calcMu() void Foam::multiphaseInterSystem::calcMu()
{ {
mu_ = mu()(); mu_ = mu()();
} }
Foam::phaseSystem::phaseModelTable Foam::multiphaseInterSystem::phaseModelTable
Foam::phaseSystem::generatePhaseModels(const wordList& phaseNames) const Foam::multiphaseInterSystem::generatePhaseModels
(
const wordList& phaseNames
) const
{ {
phaseModelTable phaseModels; phaseModelTable phaseModels;
@ -71,7 +75,7 @@ Foam::phaseSystem::generatePhaseModels(const wordList& phaseNames) const
phaseModels.insert phaseModels.insert
( (
phaseName, phaseName,
phaseModel::New multiphaseInter::phaseModel::New
( (
*this, *this,
phaseName phaseName
@ -83,7 +87,7 @@ Foam::phaseSystem::generatePhaseModels(const wordList& phaseNames) const
} }
Foam::tmp<Foam::surfaceScalarField> Foam::phaseSystem::generatePhi Foam::tmp<Foam::surfaceScalarField> Foam::multiphaseInterSystem::generatePhi
( (
const phaseModelTable& phaseModels const phaseModelTable& phaseModels
) const ) const
@ -105,7 +109,7 @@ Foam::tmp<Foam::surfaceScalarField> Foam::phaseSystem::generatePhi
} }
void Foam::phaseSystem::generatePairs(const dictTable& modelDicts) void Foam::multiphaseInterSystem::generatePairs(const dictTable& modelDicts)
{ {
forAllConstIters(modelDicts, iter) forAllConstIters(modelDicts, iter)
{ {
@ -152,7 +156,7 @@ void Foam::phaseSystem::generatePairs(const dictTable& modelDicts)
} }
void Foam::phaseSystem::generatePairsTable() void Foam::multiphaseInterSystem::generatePairsTable()
{ {
forAllConstIters(phaseModels_, phaseIter1) forAllConstIters(phaseModels_, phaseIter1)
{ {
@ -201,7 +205,7 @@ void Foam::phaseSystem::generatePairsTable()
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
Foam::phaseSystem::phaseSystem Foam::multiphaseInterSystem::multiphaseInterSystem
( (
const fvMesh& mesh const fvMesh& mesh
) )
@ -288,13 +292,13 @@ Foam::phaseSystem::phaseSystem
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
Foam::phaseSystem::~phaseSystem() Foam::multiphaseInterSystem::~multiphaseInterSystem()
{} {}
// * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * * //
Foam::tmp<Foam::volScalarField> Foam::phaseSystem::he Foam::tmp<Foam::volScalarField> Foam::multiphaseInterSystem::he
( (
const volScalarField& p, const volScalarField& p,
const volScalarField& T const volScalarField& T
@ -305,7 +309,7 @@ Foam::tmp<Foam::volScalarField> Foam::phaseSystem::he
} }
Foam::tmp<Foam::scalarField> Foam::phaseSystem::he Foam::tmp<Foam::scalarField> Foam::multiphaseInterSystem::he
( (
const scalarField& p, const scalarField& p,
const scalarField& T, const scalarField& T,
@ -317,7 +321,7 @@ Foam::tmp<Foam::scalarField> Foam::phaseSystem::he
} }
Foam::tmp<Foam::scalarField> Foam::phaseSystem::he Foam::tmp<Foam::scalarField> Foam::multiphaseInterSystem::he
( (
const scalarField& p, const scalarField& p,
const scalarField& T, const scalarField& T,
@ -329,7 +333,7 @@ Foam::tmp<Foam::scalarField> Foam::phaseSystem::he
} }
Foam::tmp<Foam::volScalarField> Foam::phaseSystem::hc() const Foam::tmp<Foam::volScalarField> Foam::multiphaseInterSystem::hc() const
{ {
auto iter = phaseModels_.cbegin(); auto iter = phaseModels_.cbegin();
@ -347,7 +351,7 @@ Foam::tmp<Foam::volScalarField> Foam::phaseSystem::hc() const
} }
Foam::tmp<Foam::scalarField> Foam::phaseSystem::THE Foam::tmp<Foam::scalarField> Foam::multiphaseInterSystem::THE
( (
const scalarField& e, const scalarField& e,
const scalarField& p, const scalarField& p,
@ -360,7 +364,7 @@ Foam::tmp<Foam::scalarField> Foam::phaseSystem::THE
} }
Foam::tmp<Foam::scalarField> Foam::phaseSystem::THE Foam::tmp<Foam::scalarField> Foam::multiphaseInterSystem::THE
( (
const scalarField& e, const scalarField& e,
const scalarField& p, const scalarField& p,
@ -373,7 +377,7 @@ Foam::tmp<Foam::scalarField> Foam::phaseSystem::THE
} }
Foam::tmp<Foam::volScalarField> Foam::phaseSystem::rho() const Foam::tmp<Foam::volScalarField> Foam::multiphaseInterSystem::rho() const
{ {
auto iter = phaseModels_.cbegin(); auto iter = phaseModels_.cbegin();
@ -391,7 +395,10 @@ Foam::tmp<Foam::volScalarField> Foam::phaseSystem::rho() const
} }
Foam::tmp<Foam::scalarField> Foam::phaseSystem::rho(const label patchI) const Foam::tmp<Foam::scalarField> Foam::multiphaseInterSystem::rho
(
const label patchI
) const
{ {
auto iter = phaseModels_.cbegin(); auto iter = phaseModels_.cbegin();
@ -414,7 +421,7 @@ Foam::tmp<Foam::scalarField> Foam::phaseSystem::rho(const label patchI) const
} }
Foam::tmp<Foam::volScalarField> Foam::phaseSystem::Cp() const Foam::tmp<Foam::volScalarField> Foam::multiphaseInterSystem::Cp() const
{ {
auto iter = phaseModels_.cbegin(); auto iter = phaseModels_.cbegin();
@ -432,7 +439,7 @@ Foam::tmp<Foam::volScalarField> Foam::phaseSystem::Cp() const
} }
Foam::tmp<Foam::scalarField> Foam::phaseSystem::Cp Foam::tmp<Foam::scalarField> Foam::multiphaseInterSystem::Cp
( (
const scalarField& p, const scalarField& p,
const scalarField& T, const scalarField& T,
@ -455,7 +462,7 @@ Foam::tmp<Foam::scalarField> Foam::phaseSystem::Cp
} }
Foam::tmp<Foam::volScalarField> Foam::phaseSystem::Cv() const Foam::tmp<Foam::volScalarField> Foam::multiphaseInterSystem::Cv() const
{ {
auto iter = phaseModels_.cbegin(); auto iter = phaseModels_.cbegin();
@ -473,7 +480,7 @@ Foam::tmp<Foam::volScalarField> Foam::phaseSystem::Cv() const
} }
Foam::tmp<Foam::scalarField> Foam::phaseSystem::Cv Foam::tmp<Foam::scalarField> Foam::multiphaseInterSystem::Cv
( (
const scalarField& p, const scalarField& p,
const scalarField& T, const scalarField& T,
@ -496,7 +503,7 @@ Foam::tmp<Foam::scalarField> Foam::phaseSystem::Cv
} }
Foam::tmp<Foam::scalarField> Foam::phaseSystem::rhoEoS Foam::tmp<Foam::scalarField> Foam::multiphaseInterSystem::rhoEoS
( (
const scalarField& p, const scalarField& p,
const scalarField& T, const scalarField& T,
@ -508,7 +515,7 @@ Foam::tmp<Foam::scalarField> Foam::phaseSystem::rhoEoS
} }
Foam::tmp<Foam::volScalarField> Foam::phaseSystem::gamma() const Foam::tmp<Foam::volScalarField> Foam::multiphaseInterSystem::gamma() const
{ {
auto iter = phaseModels_.cbegin(); auto iter = phaseModels_.cbegin();
@ -532,7 +539,7 @@ Foam::tmp<Foam::volScalarField> Foam::phaseSystem::gamma() const
} }
Foam::tmp<Foam::scalarField> Foam::phaseSystem::gamma Foam::tmp<Foam::scalarField> Foam::multiphaseInterSystem::gamma
( (
const scalarField& p, const scalarField& p,
const scalarField& T, const scalarField& T,
@ -546,7 +553,7 @@ Foam::tmp<Foam::scalarField> Foam::phaseSystem::gamma
} }
Foam::tmp<Foam::volScalarField> Foam::phaseSystem::Cpv() const Foam::tmp<Foam::volScalarField> Foam::multiphaseInterSystem::Cpv() const
{ {
auto iter = phaseModels_.cbegin(); auto iter = phaseModels_.cbegin();
@ -564,7 +571,7 @@ Foam::tmp<Foam::volScalarField> Foam::phaseSystem::Cpv() const
} }
Foam::tmp<Foam::scalarField> Foam::phaseSystem::Cpv Foam::tmp<Foam::scalarField> Foam::multiphaseInterSystem::Cpv
( (
const scalarField& p, const scalarField& p,
const scalarField& T, const scalarField& T,
@ -587,7 +594,7 @@ Foam::tmp<Foam::scalarField> Foam::phaseSystem::Cpv
} }
Foam::tmp<Foam::volScalarField> Foam::phaseSystem::CpByCpv() const Foam::tmp<Foam::volScalarField> Foam::multiphaseInterSystem::CpByCpv() const
{ {
auto iter = phaseModels_.cbegin(); auto iter = phaseModels_.cbegin();
@ -605,7 +612,7 @@ Foam::tmp<Foam::volScalarField> Foam::phaseSystem::CpByCpv() const
} }
Foam::tmp<Foam::scalarField> Foam::phaseSystem::CpByCpv Foam::tmp<Foam::scalarField> Foam::multiphaseInterSystem::CpByCpv
( (
const scalarField& p, const scalarField& p,
const scalarField& T, const scalarField& T,
@ -633,14 +640,14 @@ Foam::tmp<Foam::scalarField> Foam::phaseSystem::CpByCpv
} }
Foam::tmp<Foam::volScalarField> Foam::phaseSystem::W() const Foam::tmp<Foam::volScalarField> Foam::multiphaseInterSystem::W() const
{ {
NotImplemented; NotImplemented;
return nullptr; return nullptr;
} }
Foam::tmp<Foam::volScalarField> Foam::phaseSystem::kappa() const Foam::tmp<Foam::volScalarField> Foam::multiphaseInterSystem::kappa() const
{ {
auto iter = phaseModels_.cbegin(); auto iter = phaseModels_.cbegin();
@ -658,7 +665,10 @@ Foam::tmp<Foam::volScalarField> Foam::phaseSystem::kappa() const
} }
Foam::tmp<Foam::scalarField> Foam::phaseSystem::kappa(const label patchI) const Foam::tmp<Foam::scalarField> Foam::multiphaseInterSystem::kappa
(
const label patchI
) const
{ {
auto iter = phaseModels_.cbegin(); auto iter = phaseModels_.cbegin();
@ -681,7 +691,7 @@ Foam::tmp<Foam::scalarField> Foam::phaseSystem::kappa(const label patchI) const
} }
Foam::tmp<Foam::volScalarField> Foam::phaseSystem::alphahe() const Foam::tmp<Foam::volScalarField> Foam::multiphaseInterSystem::alphahe() const
{ {
phaseModelTable::const_iterator phaseModelIter = phaseModels_.begin(); phaseModelTable::const_iterator phaseModelIter = phaseModels_.begin();
@ -699,7 +709,7 @@ Foam::tmp<Foam::volScalarField> Foam::phaseSystem::alphahe() const
} }
Foam::tmp<Foam::scalarField> Foam::phaseSystem::alphahe Foam::tmp<Foam::scalarField> Foam::multiphaseInterSystem::alphahe
( (
const label patchi const label patchi
) const ) const
@ -723,7 +733,7 @@ Foam::tmp<Foam::scalarField> Foam::phaseSystem::alphahe
} }
Foam::tmp<Foam::volScalarField>Foam::phaseSystem::kappaEff Foam::tmp<Foam::volScalarField>Foam::multiphaseInterSystem::kappaEff
( (
const volScalarField& kappat const volScalarField& kappat
) const ) const
@ -734,7 +744,7 @@ Foam::tmp<Foam::volScalarField>Foam::phaseSystem::kappaEff
} }
Foam::tmp<Foam::scalarField> Foam::phaseSystem::kappaEff Foam::tmp<Foam::scalarField> Foam::multiphaseInterSystem::kappaEff
( (
const scalarField& kappat, const scalarField& kappat,
const label patchI const label patchI
@ -744,7 +754,7 @@ Foam::tmp<Foam::scalarField> Foam::phaseSystem::kappaEff
} }
Foam::tmp<Foam::volScalarField> Foam::phaseSystem::alphaEff Foam::tmp<Foam::volScalarField> Foam::multiphaseInterSystem::alphaEff
( (
const volScalarField& alphat const volScalarField& alphat
) const ) const
@ -767,7 +777,7 @@ Foam::tmp<Foam::volScalarField> Foam::phaseSystem::alphaEff
} }
Foam::tmp<Foam::scalarField> Foam::phaseSystem::alphaEff Foam::tmp<Foam::scalarField> Foam::multiphaseInterSystem::alphaEff
( (
const scalarField& alphat, const scalarField& alphat,
const label patchI const label patchI
@ -796,13 +806,13 @@ Foam::tmp<Foam::scalarField> Foam::phaseSystem::alphaEff
} }
const Foam::dimensionedScalar& Foam::phaseSystem::Prt() const const Foam::dimensionedScalar& Foam::multiphaseInterSystem::Prt() const
{ {
return Prt_; return Prt_;
} }
Foam::tmp<Foam::volScalarField> Foam::phaseSystem::mu() const Foam::tmp<Foam::volScalarField> Foam::multiphaseInterSystem::mu() const
{ {
auto iter = phaseModels_.cbegin(); auto iter = phaseModels_.cbegin();
@ -820,7 +830,10 @@ Foam::tmp<Foam::volScalarField> Foam::phaseSystem::mu() const
} }
Foam::tmp<Foam::scalarField> Foam::phaseSystem::mu(const label patchI) const Foam::tmp<Foam::scalarField> Foam::multiphaseInterSystem::mu
(
const label patchI
) const
{ {
auto iter = phaseModels_.cbegin(); auto iter = phaseModels_.cbegin();
@ -843,7 +856,7 @@ Foam::tmp<Foam::scalarField> Foam::phaseSystem::mu(const label patchI) const
} }
Foam::tmp<Foam::volScalarField> Foam::phaseSystem::nu() const Foam::tmp<Foam::volScalarField> Foam::multiphaseInterSystem::nu() const
{ {
auto iter = phaseModels_.cbegin(); auto iter = phaseModels_.cbegin();
@ -861,7 +874,10 @@ Foam::tmp<Foam::volScalarField> Foam::phaseSystem::nu() const
} }
Foam::tmp<Foam::scalarField> Foam::phaseSystem::nu(const label patchI) const Foam::tmp<Foam::scalarField> Foam::multiphaseInterSystem::nu
(
const label patchI
) const
{ {
auto iter = phaseModels_.cbegin(); auto iter = phaseModels_.cbegin();
@ -884,31 +900,82 @@ Foam::tmp<Foam::scalarField> Foam::phaseSystem::nu(const label patchI) const
} }
const Foam::surfaceScalarField& Foam::phaseSystem::phi() const Foam::tmp<Foam::volScalarField> Foam::multiphaseInterSystem::mut() const
{
return turb_->mut();
}
Foam::tmp<Foam::volScalarField> Foam::multiphaseInterSystem::muEff() const
{
return turb_->muEff();
}
Foam::tmp<Foam::volScalarField> Foam::multiphaseInterSystem::nut() const
{
return turb_->nut();
}
Foam::tmp<Foam::volScalarField> Foam::multiphaseInterSystem::nuEff() const
{
return turb_->nuEff();
}
Foam::tmp<Foam::volScalarField> Foam::multiphaseInterSystem::kappaEff() const
{
return(this->kappa() + this->Cp()*turb_->mut()/Prt_);
}
Foam::tmp<Foam::scalarField>
Foam::multiphaseInterSystem::kappaEff(const label patchi) const
{
tmp<scalarField> tCp(this->Cp()().boundaryField()[patchi]);
return this->kappa(patchi) + tCp()*turb_->mut(patchi)/Prt_.value();
}
Foam::tmp<Foam::volScalarField> Foam::multiphaseInterSystem::alphaEff() const
{
return this->alpha() + turb_->mut()/Prt_;
}
Foam::tmp<Foam::scalarField>
Foam::multiphaseInterSystem::alphaEff(const label patchi) const
{
return (this->alpha(patchi) + turb_->mut(patchi))/Prt_.value();
}
const Foam::surfaceScalarField& Foam::multiphaseInterSystem::phi() const
{ {
return phi_; return phi_;
} }
Foam::surfaceScalarField& Foam::phaseSystem::phi() Foam::surfaceScalarField& Foam::multiphaseInterSystem::phi()
{ {
return phi_; return phi_;
} }
const Foam::surfaceScalarField& Foam::phaseSystem::rhoPhi() const const Foam::surfaceScalarField& Foam::multiphaseInterSystem::rhoPhi() const
{ {
return rhoPhi_; return rhoPhi_;
} }
Foam::surfaceScalarField& Foam::phaseSystem::rhoPhi() Foam::surfaceScalarField& Foam::multiphaseInterSystem::rhoPhi()
{ {
return rhoPhi_; return rhoPhi_;
} }
void Foam::phaseSystem::correct() void Foam::multiphaseInterSystem::correct()
{ {
forAllIters(phaseModels_, iter) forAllIters(phaseModels_, iter)
{ {
@ -919,7 +986,7 @@ void Foam::phaseSystem::correct()
} }
void Foam::phaseSystem::correctTurbulence() void Foam::multiphaseInterSystem::correctTurbulence()
{ {
forAllIters(phaseModels_, iter) forAllIters(phaseModels_, iter)
{ {
@ -928,32 +995,35 @@ void Foam::phaseSystem::correctTurbulence()
} }
const Foam::phaseSystem::phaseModelTable& Foam::phaseSystem::phases() const const Foam::multiphaseInterSystem::phaseModelTable&
Foam::multiphaseInterSystem::phases() const
{ {
return phaseModels_; return phaseModels_;
} }
Foam::phaseSystem::phaseModelTable& Foam::phaseSystem::phases() Foam::multiphaseInterSystem::phaseModelTable&
Foam::multiphaseInterSystem::phases()
{ {
return phaseModels_; return phaseModels_;
} }
const Foam::phaseSystem::phasePairTable& const Foam::multiphaseInterSystem::phasePairTable&
Foam::phaseSystem::totalPhasePairs() const Foam::multiphaseInterSystem::totalPhasePairs() const
{ {
return totalPhasePairs_; return totalPhasePairs_;
} }
Foam::phaseSystem::phasePairTable& Foam::phaseSystem::totalPhasePairs() Foam::multiphaseInterSystem::phasePairTable&
Foam::multiphaseInterSystem::totalPhasePairs()
{ {
return totalPhasePairs_; return totalPhasePairs_;
} }
bool Foam::phaseSystem::incompressible() const bool Foam::multiphaseInterSystem::incompressible() const
{ {
forAllConstIters(phaseModels_, iter) forAllConstIters(phaseModels_, iter)
{ {
@ -967,13 +1037,13 @@ bool Foam::phaseSystem::incompressible() const
} }
bool Foam::phaseSystem::incompressible(const word phaseName) const bool Foam::multiphaseInterSystem::incompressible(const word phaseName) const
{ {
return phaseModels_[phaseName]->thermo().incompressible(); return phaseModels_[phaseName]->thermo().incompressible();
} }
bool Foam::phaseSystem::isochoric() const bool Foam::multiphaseInterSystem::isochoric() const
{ {
forAllConstIters(phaseModels_, iter) forAllConstIters(phaseModels_, iter)
{ {
@ -987,14 +1057,14 @@ bool Foam::phaseSystem::isochoric() const
} }
const Foam::fvMesh& Foam::phaseSystem::mesh() const const Foam::fvMesh& Foam::multiphaseInterSystem::mesh() const
{ {
return mesh_; return mesh_;
} }
Foam::tmp<Foam::surfaceScalarField> Foam::tmp<Foam::surfaceScalarField>
Foam::phaseSystem::surfaceTensionForce() const Foam::multiphaseInterSystem::surfaceTensionForce() const
{ {
auto tstf = tmp<surfaceScalarField>::New auto tstf = tmp<surfaceScalarField>::New
( (
@ -1044,7 +1114,7 @@ Foam::phaseSystem::surfaceTensionForce() const
} }
Foam::tmp<Foam::volVectorField> Foam::phaseSystem::U() const Foam::tmp<Foam::volVectorField> Foam::multiphaseInterSystem::U() const
{ {
auto tstf = tmp<volVectorField>::New auto tstf = tmp<volVectorField>::New
( (
@ -1070,13 +1140,13 @@ Foam::tmp<Foam::volVectorField> Foam::phaseSystem::U() const
Foam::tmp<Foam::volScalarField> Foam::tmp<Foam::volScalarField>
Foam::phaseSystem::surfaceTensionCoeff(const phasePairKey& key) const Foam::multiphaseInterSystem::surfaceTensionCoeff(const phasePairKey& key) const
{ {
return surfaceTensionModels_[key]->sigma(); return surfaceTensionModels_[key]->sigma();
} }
Foam::tmp<Foam::volScalarField> Foam::phaseSystem::coeffs Foam::tmp<Foam::volScalarField> Foam::multiphaseInterSystem::coeffs
( (
const word& key const word& key
) const ) const
@ -1085,14 +1155,14 @@ Foam::tmp<Foam::volScalarField> Foam::phaseSystem::coeffs
} }
void Foam::phaseSystem::addInterfacePorosity(fvVectorMatrix& UEqn) void Foam::multiphaseInterSystem::addInterfacePorosity(fvVectorMatrix& UEqn)
{ {
const scalarField& Vc = mesh_.V(); const scalarField& Vc = mesh_.V();
scalarField& Udiag = UEqn.diag(); scalarField& Udiag = UEqn.diag();
forAllConstIters(phaseModels_, iteri) forAllConstIters(phaseModels_, iteri)
{ {
const phaseModel& phasei = iteri()(); const multiphaseInter::phaseModel& phasei = iteri()();
auto iterk = iteri; auto iterk = iteri;
@ -1100,7 +1170,7 @@ void Foam::phaseSystem::addInterfacePorosity(fvVectorMatrix& UEqn)
{ {
if (iteri()().name() != iterk()().name()) if (iteri()().name() != iterk()().name())
{ {
const phaseModel& phasek = iterk()(); const multiphaseInter::phaseModel& phasek = iterk()();
// Phase i and k // Phase i and k
const phasePairKey keyik const phasePairKey keyik
@ -1123,7 +1193,7 @@ void Foam::phaseSystem::addInterfacePorosity(fvVectorMatrix& UEqn)
} }
Foam::tmp<Foam::volScalarField> Foam::phaseSystem::K Foam::tmp<Foam::volScalarField> Foam::multiphaseInterSystem::K
( (
const volScalarField& alpha1, const volScalarField& alpha1,
const volScalarField& alpha2 const volScalarField& alpha2
@ -1136,7 +1206,7 @@ Foam::tmp<Foam::volScalarField> Foam::phaseSystem::K
} }
Foam::tmp<Foam::volScalarField> Foam::phaseSystem::nearInterface Foam::tmp<Foam::volScalarField> Foam::multiphaseInterSystem::nearInterface
( (
const volScalarField& alpha1, const volScalarField& alpha1,
const volScalarField& alpha2 const volScalarField& alpha2
@ -1150,7 +1220,8 @@ Foam::tmp<Foam::volScalarField> Foam::phaseSystem::nearInterface
} }
Foam::tmp<Foam::volScalarField> Foam::phaseSystem::nearInterface() const Foam::tmp<Foam::volScalarField>
Foam::multiphaseInterSystem::nearInterface() const
{ {
auto tnearInt = tmp<volScalarField>::New auto tnearInt = tmp<volScalarField>::New
( (
@ -1188,7 +1259,7 @@ Foam::tmp<Foam::volScalarField> Foam::phaseSystem::nearInterface() const
} }
Foam::tmp<Foam::surfaceVectorField> Foam::phaseSystem::nHatfv Foam::tmp<Foam::surfaceVectorField> Foam::multiphaseInterSystem::nHatfv
( (
const volScalarField& alpha1, const volScalarField& alpha1,
const volScalarField& alpha2 const volScalarField& alpha2
@ -1212,7 +1283,7 @@ Foam::tmp<Foam::surfaceVectorField> Foam::phaseSystem::nHatfv
} }
Foam::tmp<Foam::surfaceScalarField> Foam::phaseSystem::nHatf Foam::tmp<Foam::surfaceScalarField> Foam::multiphaseInterSystem::nHatf
( (
const volScalarField& alpha1, const volScalarField& alpha1,
const volScalarField& alpha2 const volScalarField& alpha2
@ -1223,7 +1294,7 @@ Foam::tmp<Foam::surfaceScalarField> Foam::phaseSystem::nHatf
} }
bool Foam::phaseSystem::read() bool Foam::multiphaseInterSystem::read()
{ {
if (regIOobject::read()) if (regIOobject::read())
{ {

View File

@ -5,7 +5,7 @@
\\ / A nd | www.openfoam.com \\ / A nd | www.openfoam.com
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
Copyright (C) 2017-2021 OpenCFD Ltd. Copyright (C) 2017-2022 OpenCFD Ltd.
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
This file is part of OpenFOAM. This file is part of OpenFOAM.
@ -24,17 +24,17 @@ License
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
Class Class
Foam::phaseSystem Foam::multiphaseInterSystem
Description Description
SourceFiles SourceFiles
phaseSystem.C multiphaseInterSystem.C
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/
#ifndef phaseSystem_H #ifndef multiphaseInterSystem_H
#define phaseSystem_H #define multiphaseInterSystem_H
#include "basicThermo.H" #include "basicThermo.H"
@ -48,6 +48,8 @@ SourceFiles
#include "compressibleTransportModel.H" #include "compressibleTransportModel.H"
#include "localMin.H" #include "localMin.H"
#include "compressibleTurbulenceModel.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
namespace Foam namespace Foam
@ -61,10 +63,10 @@ class surfaceTensionModel;
class porousModel; class porousModel;
/*---------------------------------------------------------------------------*\ /*---------------------------------------------------------------------------*\
Class phaseSystem Declaration Class multiphaseInterSystem Declaration
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/
class phaseSystem class multiphaseInterSystem
: :
public basicThermo, public basicThermo,
public compressibleTransportModel public compressibleTransportModel
@ -81,7 +83,7 @@ public:
phasePairTable; phasePairTable;
typedef HashTable<autoPtr<phaseModel>> phaseModelTable; typedef HashTable<autoPtr<multiphaseInter::phaseModel>> phaseModelTable;
typedef HashTable<volScalarField::Internal> SuSpTable; typedef HashTable<volScalarField::Internal> SuSpTable;
@ -145,6 +147,9 @@ protected:
//- Turbulent Prandt number //- Turbulent Prandt number
dimensionedScalar Prt_; dimensionedScalar Prt_;
//- Turbulence model
compressibleTurbulenceModel* turb_;
// Sub Models // Sub Models
@ -162,7 +167,7 @@ protected:
void calcMu(); void calcMu();
//- Generate the phases //- Generate the phases
HashTable<autoPtr<phaseModel>> generatePhaseModels HashTable<autoPtr<multiphaseInter::phaseModel>> generatePhaseModels
( (
const wordList& names const wordList& names
) const; ) const;
@ -170,7 +175,7 @@ protected:
//- Generate the mixture flux //- Generate the mixture flux
tmp<surfaceScalarField> generatePhi tmp<surfaceScalarField> generatePhi
( (
const HashTable<autoPtr<phaseModel>>& phaseModels const HashTable<autoPtr<multiphaseInter::phaseModel>>& phaseModels
) const; ) const;
//- Generate pairs //- Generate pairs
@ -252,7 +257,7 @@ protected:
public: public:
//- Runtime type information //- Runtime type information
TypeName("phaseSystem"); TypeName("multiphaseInterSystem");
//- Default name of the phase properties dictionary //- Default name of the phase properties dictionary
static const word phasePropertiesName; static const word phasePropertiesName;
@ -261,13 +266,15 @@ public:
// Constructors // Constructors
//- Construct from fvMesh //- Construct from fvMesh
phaseSystem(const fvMesh& mesh); multiphaseInterSystem(const fvMesh& mesh);
//- Destructor //- Destructor
virtual ~phaseSystem(); virtual ~multiphaseInterSystem();
// Member Functions
// Energy related thermo functionaliy functions // Energy related thermo functionaliy functions
//- Return access to the internal energy field [J/Kg] //- Return access to the internal energy field [J/Kg]
@ -484,6 +491,47 @@ public:
virtual tmp<scalarField> nu(const label patchi) const; virtual tmp<scalarField> nu(const label patchi) const;
// Turbulence
//- Set turbulence model
void setTurbulence(compressibleTurbulenceModel& turb)
{
turb_ = &turb;
}
//- Return pointer to turbulence model
compressibleTurbulenceModel* turbulence() const
{
return turb_;
}
//- Return the turbulent dynamic viscosity
tmp<volScalarField> mut() const;
//- Return the effective dynamic viscosity
tmp<volScalarField> muEff() const;
//- Return the turbulent kinematic viscosity
tmp<volScalarField> nut() const;
//- Return the effective kinematic viscosity
tmp<volScalarField> nuEff() const;
//- Effective thermal turbulent diffusivity for temperature
// of mixture [J/m/s/K]
tmp<volScalarField> kappaEff() const;
//- Effective thermal turbulent diffusivity for temperature
// of mixture for patch [J/m/s/K]
tmp<scalarField> kappaEff(const label patchi) const;
//- Effective thermal turbulent diffusivity of mixture [kg/m/s]
tmp<volScalarField> alphaEff() const;
//- Effective thermal turbulent diffusivity of mixture [kg/m/s]
tmp<scalarField> alphaEff(const label patchi) const;
// Phase fluxes // Phase fluxes
//- Constant access to the total flux //- Constant access to the total flux
@ -547,7 +595,7 @@ public:
//- Calculate mass transfer for species //- Calculate mass transfer for species
virtual void massSpeciesTransfer virtual void massSpeciesTransfer
( (
const phaseModel& phase, const multiphaseInter::phaseModel& phase,
volScalarField::Internal& Su, volScalarField::Internal& Su,
volScalarField::Internal& Sp, volScalarField::Internal& Sp,
const word speciesName const word speciesName
@ -605,8 +653,8 @@ public:
template <class modelType> template <class modelType>
const modelType& lookupSubModel const modelType& lookupSubModel
( (
const phaseModel& from, const multiphaseInter::phaseModel& from,
const phaseModel& to const multiphaseInter::phaseModel& to
) const; ) const;
@ -672,7 +720,7 @@ public:
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#ifdef NoRepository #ifdef NoRepository
# include "phaseSystemTemplates.H" # include "multiphaseInterSystemTemplates.H"
#endif #endif
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

View File

@ -5,7 +5,7 @@
\\ / A nd | www.openfoam.com \\ / A nd | www.openfoam.com
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
Copyright (C) 2017 OpenCFD Ltd. Copyright (C) 2017-2022 OpenCFD Ltd.
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
This file is part of OpenFOAM. This file is part of OpenFOAM.
@ -28,7 +28,7 @@ License
// * * * * * * * * * * * * Protected Member Functions * * * * * * * * * * * // // * * * * * * * * * * * * Protected Member Functions * * * * * * * * * * * //
template<class modelType> template<class modelType>
void Foam::phaseSystem::createSubModels void Foam::multiphaseInterSystem::createSubModels
( (
const dictTable& modelDicts, const dictTable& modelDicts,
HashTable HashTable
@ -57,7 +57,7 @@ void Foam::phaseSystem::createSubModels
template<class modelType> template<class modelType>
void Foam::phaseSystem::createSubModels void Foam::multiphaseInterSystem::createSubModels
( (
const dictTable& modelDicts, const dictTable& modelDicts,
const fvMesh& mesh, const fvMesh& mesh,
@ -87,7 +87,7 @@ void Foam::phaseSystem::createSubModels
template<class modelType> template<class modelType>
void Foam::phaseSystem::generatePairsAndSubModels void Foam::multiphaseInterSystem::generatePairsAndSubModels
( (
const word& modelName, const word& modelName,
HashTable HashTable
@ -107,7 +107,7 @@ void Foam::phaseSystem::generatePairsAndSubModels
template<class modelType> template<class modelType>
void Foam::phaseSystem::generatePairsAndSubModels void Foam::multiphaseInterSystem::generatePairsAndSubModels
( (
const word& modelName, const word& modelName,
const fvMesh& mesh, const fvMesh& mesh,
@ -128,7 +128,7 @@ void Foam::phaseSystem::generatePairsAndSubModels
template<class modelType> template<class modelType>
void Foam::phaseSystem::generatePairsAndSubModels void Foam::multiphaseInterSystem::generatePairsAndSubModels
( (
const word& modelName, const word& modelName,
HashTable HashTable
@ -176,7 +176,10 @@ void Foam::phaseSystem::generatePairsAndSubModels
template <class modelType> template <class modelType>
const modelType& Foam::phaseSystem::lookupSubModel(const phasePair& key) const const modelType& Foam::multiphaseInterSystem::lookupSubModel
(
const phasePair& key
) const
{ {
return return
mesh().lookupObject<modelType> mesh().lookupObject<modelType>
@ -187,10 +190,10 @@ const modelType& Foam::phaseSystem::lookupSubModel(const phasePair& key) const
template <class modelType> template <class modelType>
const modelType& Foam::phaseSystem::lookupSubModel const modelType& Foam::multiphaseInterSystem::lookupSubModel
( (
const phaseModel& from, const multiphaseInter::phaseModel& from,
const phaseModel& to const multiphaseInter::phaseModel& to
) const ) const
{ {
return lookupSubModel<modelType>(orderedPhasePair(from, to)); return lookupSubModel<modelType>(orderedPhasePair(from, to));

View File

@ -5,7 +5,7 @@
\\ / A nd | www.openfoam.com \\ / A nd | www.openfoam.com
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
Copyright (C) 2017-2020 OpenCFD Ltd. Copyright (C) 2017-2022 OpenCFD Ltd.
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
This file is part of OpenFOAM. This file is part of OpenFOAM.
@ -47,20 +47,22 @@ License
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
namespace Foam namespace Foam
{
namespace multiphaseInter
{ {
defineTypeNameAndDebug(multiphaseSystem, 0); defineTypeNameAndDebug(multiphaseSystem, 0);
defineRunTimeSelectionTable(multiphaseSystem, dictionary); defineRunTimeSelectionTable(multiphaseSystem, dictionary);
} }
}
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
Foam::multiphaseSystem::multiphaseSystem Foam::multiphaseInter::multiphaseSystem::multiphaseSystem
( (
const fvMesh& mesh const fvMesh& mesh
) )
: :
phaseSystem(mesh), multiphaseInterSystem(mesh),
cAlphas_(), cAlphas_(),
ddtAlphaMax_(0.0), ddtAlphaMax_(0.0),
limitedPhiAlphas_(phaseModels_.size()), limitedPhiAlphas_(phaseModels_.size()),
@ -71,7 +73,7 @@ Foam::multiphaseSystem::multiphaseSystem
phases_.setSize(phaseModels_.size()); phases_.setSize(phaseModels_.size());
forAllIters(phaseModels_, iter) forAllIters(phaseModels_, iter)
{ {
phaseModel& pm = iter()(); multiphaseInter::phaseModel& pm = iter()();
phases_.set(phasei++, &pm); phases_.set(phasei++, &pm);
} }
@ -80,7 +82,7 @@ Foam::multiphaseSystem::multiphaseSystem
// Initiate Su and Sp // Initiate Su and Sp
forAllConstIters(phaseModels_, iter) forAllConstIters(phaseModels_, iter)
{ {
const phaseModel& pm = iter()(); const multiphaseInter::phaseModel& pm = iter()();
Su_.insert Su_.insert
( (
@ -119,13 +121,13 @@ Foam::multiphaseSystem::multiphaseSystem
// * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * * //
void Foam::multiphaseSystem::calculateSuSp() void Foam::multiphaseInter::multiphaseSystem::calculateSuSp()
{ {
this->alphaTransfer(Su_, Sp_); this->alphaTransfer(Su_, Sp_);
} }
void Foam::multiphaseSystem::solve() void Foam::multiphaseInter::multiphaseSystem::solve()
{ {
const dictionary& alphaControls = mesh_.solverDict("alpha"); const dictionary& alphaControls = mesh_.solverDict("alpha");
label nAlphaSubCycles(alphaControls.get<label>("nAlphaSubCycles")); label nAlphaSubCycles(alphaControls.get<label>("nAlphaSubCycles"));
@ -167,7 +169,7 @@ void Foam::multiphaseSystem::solve()
} }
void Foam::multiphaseSystem::solveAlphas() void Foam::multiphaseInter::multiphaseSystem::solveAlphas()
{ {
const dictionary& alphaControls = mesh_.solverDict("alpha"); const dictionary& alphaControls = mesh_.solverDict("alpha");
@ -196,7 +198,7 @@ void Foam::multiphaseSystem::solveAlphas()
for (int acorr=0; acorr<nAlphaCorr; acorr++) for (int acorr=0; acorr<nAlphaCorr; acorr++)
{ {
label phasei = 0; label phasei = 0;
for (phaseModel& phase1 : phases_) for (multiphaseInter::phaseModel& phase1 : phases_)
{ {
const volScalarField& alpha1 = phase1; const volScalarField& alpha1 = phase1;
@ -217,7 +219,7 @@ void Foam::multiphaseSystem::solveAlphas()
surfaceScalarField& phiAlphaCorr = phiAlphaCorrs[phasei]; surfaceScalarField& phiAlphaCorr = phiAlphaCorrs[phasei];
for (phaseModel& phase2 : phases_) for (multiphaseInter::phaseModel& phase2 : phases_)
{ {
const volScalarField& alpha2 = phase2; const volScalarField& alpha2 = phase2;
@ -277,7 +279,7 @@ void Foam::multiphaseSystem::solveAlphas()
} }
// Set Su and Sp to zero // Set Su and Sp to zero
for (const phaseModel& phase : phases_) for (const multiphaseInter::phaseModel& phase : phases_)
{ {
Su_[phase.name()] = dimensionedScalar("Su", dimless/dimTime, Zero); Su_[phase.name()] = dimensionedScalar("Su", dimless/dimTime, Zero);
Sp_[phase.name()] = dimensionedScalar("Sp", dimless/dimTime, Zero); Sp_[phase.name()] = dimensionedScalar("Sp", dimless/dimTime, Zero);
@ -293,7 +295,7 @@ void Foam::multiphaseSystem::solveAlphas()
// Limit phiAlphaCorr on each phase // Limit phiAlphaCorr on each phase
phasei = 0; phasei = 0;
for (phaseModel& phase : phases_) for (multiphaseInter::phaseModel& phase : phases_)
{ {
volScalarField& alpha1 = phase; volScalarField& alpha1 = phase;
@ -333,7 +335,7 @@ void Foam::multiphaseSystem::solveAlphas()
); );
phasei = 0; phasei = 0;
for (phaseModel& phase : phases_) for (multiphaseInter::phaseModel& phase : phases_)
{ {
volScalarField& alpha1 = phase; volScalarField& alpha1 = phase;
@ -398,7 +400,7 @@ void Foam::multiphaseSystem::solveAlphas()
// Reset rhoPhi // Reset rhoPhi
rhoPhi_ = dimensionedScalar("rhoPhi", dimMass/dimTime, Zero); rhoPhi_ = dimensionedScalar("rhoPhi", dimMass/dimTime, Zero);
for (phaseModel& phase : phases_) for (multiphaseInter::phaseModel& phase : phases_)
{ {
volScalarField& alpha1 = phase; volScalarField& alpha1 = phase;
sumAlpha += alpha1; sumAlpha += alpha1;
@ -415,7 +417,7 @@ void Foam::multiphaseSystem::solveAlphas()
volScalarField sumCorr(1.0 - sumAlpha); volScalarField sumCorr(1.0 - sumAlpha);
for (phaseModel& phase : phases_) for (multiphaseInter::phaseModel& phase : phases_)
{ {
volScalarField& alpha = phase; volScalarField& alpha = phase;
alpha += alpha*sumCorr; alpha += alpha*sumCorr;
@ -431,37 +433,43 @@ void Foam::multiphaseSystem::solveAlphas()
} }
const Foam::UPtrList<Foam::phaseModel>& Foam::multiphaseSystem::phases() const const Foam::UPtrList<Foam::multiphaseInter::phaseModel>&
Foam::multiphaseInter::multiphaseSystem::phases() const
{ {
return phases_; return phases_;
} }
Foam::UPtrList<Foam::phaseModel>& Foam::multiphaseSystem::phases() Foam::UPtrList<Foam::multiphaseInter::phaseModel>&
Foam::multiphaseInter::multiphaseSystem::phases()
{ {
return phases_; return phases_;
} }
const Foam::phaseModel& Foam::multiphaseSystem::phase(const label i) const const Foam::multiphaseInter::phaseModel&
Foam::multiphaseInter::multiphaseSystem::phase(const label i) const
{ {
return phases_[i]; return phases_[i];
} }
Foam::phaseModel& Foam::multiphaseSystem::phase(const label i) Foam::multiphaseInter::phaseModel&
Foam::multiphaseInter::multiphaseSystem::phase(const label i)
{ {
return phases_[i]; return phases_[i];
} }
Foam::dimensionedScalar Foam::multiphaseSystem::ddtAlphaMax() const Foam::dimensionedScalar
Foam::multiphaseInter::multiphaseSystem::ddtAlphaMax() const
{ {
return ddtAlphaMax_; return ddtAlphaMax_;
} }
Foam::scalar Foam::multiphaseSystem::maxDiffNo() const Foam::scalar
Foam::multiphaseInter::multiphaseSystem::maxDiffNo() const
{ {
auto iter = phaseModels_.cbegin(); auto iter = phaseModels_.cbegin();
@ -476,26 +484,28 @@ Foam::scalar Foam::multiphaseSystem::maxDiffNo() const
} }
const Foam::multiphaseSystem::compressionFluxTable& const Foam::multiphaseInter::multiphaseSystem::compressionFluxTable&
Foam::multiphaseSystem::limitedPhiAlphas() const Foam::multiphaseInter::multiphaseSystem::limitedPhiAlphas() const
{ {
return limitedPhiAlphas_; return limitedPhiAlphas_;
} }
Foam::multiphaseSystem::SuSpTable& Foam::multiphaseSystem::Su() Foam::multiphaseInter::multiphaseSystem::SuSpTable&
Foam::multiphaseInter::multiphaseSystem::Su()
{ {
return Su_; return Su_;
} }
Foam::multiphaseSystem::SuSpTable& Foam::multiphaseSystem::Sp() Foam::multiphaseInter::multiphaseSystem::SuSpTable&
Foam::multiphaseInter::multiphaseSystem::Sp()
{ {
return Sp_; return Sp_;
} }
bool Foam::multiphaseSystem::read() bool Foam::multiphaseInter::multiphaseSystem::read()
{ {
return true; return true;
} }

View File

@ -5,7 +5,7 @@
\\ / A nd | www.openfoam.com \\ / A nd | www.openfoam.com
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
Copyright (C) 2017-2020 OpenCFD Ltd. Copyright (C) 2017-2022 OpenCFD Ltd.
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
This file is part of OpenFOAM. This file is part of OpenFOAM.
@ -37,7 +37,7 @@ SourceFiles
#ifndef multiphaseSystem_H #ifndef multiphaseSystem_H
#define multiphaseSystem_H #define multiphaseSystem_H
#include "phaseSystem.H" #include "multiphaseInterSystem.H"
#include "UPtrList.H" #include "UPtrList.H"
#include "phasePairKey.H" #include "phasePairKey.H"
@ -45,14 +45,15 @@ SourceFiles
namespace Foam namespace Foam
{ {
namespace multiphaseInter
{
/*---------------------------------------------------------------------------*\ /*---------------------------------------------------------------------------*\
Class multiphaseSystem Declaration Class multiphaseSystem Declaration
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/
class multiphaseSystem class multiphaseSystem
: :
public phaseSystem public multiphaseInterSystem
{ {
protected: protected:
@ -170,6 +171,7 @@ public:
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
} // End namespace Foam } // End namespace Foam
} // End namespace multiphaseInter
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

View File

@ -5,7 +5,7 @@
\\ / A nd | www.openfoam.com \\ / A nd | www.openfoam.com
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
Copyright (C) 2017-2021 OpenCFD Ltd. Copyright (C) 2017-2022 OpenCFD Ltd.
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
This file is part of OpenFOAM. This file is part of OpenFOAM.
@ -29,7 +29,8 @@ License
// * * * * * * * * * * * * * * * * Selector * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * Selector * * * * * * * * * * * * * * * * //
Foam::autoPtr<Foam::multiphaseSystem> Foam::multiphaseSystem::New Foam::autoPtr<Foam::multiphaseInter::multiphaseSystem>
Foam::multiphaseInter::multiphaseSystem::New
( (
const fvMesh& mesh const fvMesh& mesh
) )
@ -64,7 +65,7 @@ Foam::autoPtr<Foam::multiphaseSystem> Foam::multiphaseSystem::New
) << exit(FatalIOError); ) << exit(FatalIOError);
} }
return autoPtr<multiphaseSystem>(ctorPtr(mesh)); return autoPtr<multiphaseInter::multiphaseSystem>(ctorPtr(mesh));
} }

View File

@ -5,7 +5,7 @@
\\ / A nd | www.openfoam.com \\ / A nd | www.openfoam.com
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
Copyright (C) 2017 OpenCFD Ltd. Copyright (C) 2017-2022 OpenCFD Ltd.
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
This file is part of OpenFOAM. This file is part of OpenFOAM.
@ -27,7 +27,7 @@ License
#include "addToRunTimeSelectionTable.H" #include "addToRunTimeSelectionTable.H"
#include "phaseSystem.H" #include "multiphaseInterSystem.H"
#include "multiphaseSystem.H" #include "multiphaseSystem.H"
#include "MassTransferPhaseSystem.H" #include "MassTransferPhaseSystem.H"
@ -36,7 +36,8 @@ License
namespace Foam namespace Foam
{ {
typedef typedef
MassTransferPhaseSystem<multiphaseSystem> massTransferMultiphaseSystem; MassTransferPhaseSystem
<multiphaseInter::multiphaseSystem> massTransferMultiphaseSystem;
addNamedToRunTimeSelectionTable addNamedToRunTimeSelectionTable
( (

View File

@ -5,7 +5,7 @@
\\ / A nd | www.openfoam.com \\ / A nd | www.openfoam.com
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
Copyright (C) 2017 OpenCFD Ltd. Copyright (C) 2017-2022 OpenCFD Ltd.
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
This file is part of OpenFOAM. This file is part of OpenFOAM.
@ -27,7 +27,7 @@ License
#include "MovingPhaseModel.H" #include "MovingPhaseModel.H"
#include "phaseSystem.H" #include "multiphaseInterSystem.H"
#include "fixedValueFvPatchFields.H" #include "fixedValueFvPatchFields.H"
#include "slipFvPatchFields.H" #include "slipFvPatchFields.H"
@ -46,7 +46,7 @@ License
template<class BasePhaseModel> template<class BasePhaseModel>
Foam::MovingPhaseModel<BasePhaseModel>::MovingPhaseModel Foam::MovingPhaseModel<BasePhaseModel>::MovingPhaseModel
( (
const phaseSystem& fluid, const multiphaseInterSystem& fluid,
const word& phaseName const word& phaseName
) )
: :
@ -57,7 +57,11 @@ Foam::MovingPhaseModel<BasePhaseModel>::MovingPhaseModel
( (
IOobject IOobject
( (
IOobject::groupName("alphaPhi", phaseModel::name()), IOobject::groupName
(
"alphaPhi",
multiphaseInter::phaseModel::name()
),
fluid.mesh().time().timeName(), fluid.mesh().time().timeName(),
fluid.mesh() fluid.mesh()
), ),
@ -124,7 +128,7 @@ diffNo() const
( (
IOobject IOobject
( (
IOobject::groupName("diffNo", phaseModel::name()), IOobject::groupName("diffNo", multiphaseInter::phaseModel::name()),
U_.mesh().time().timeName(), U_.mesh().time().timeName(),
U_.mesh() U_.mesh()
), ),

View File

@ -5,7 +5,7 @@
\\ / A nd | www.openfoam.com \\ / A nd | www.openfoam.com
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
Copyright (C) 2017 OpenCFD Ltd. Copyright (C) 2017-2022 OpenCFD Ltd.
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
This file is part of OpenFOAM. This file is part of OpenFOAM.
@ -75,7 +75,7 @@ public:
MovingPhaseModel MovingPhaseModel
( (
const phaseSystem& fluid, const multiphaseInterSystem& fluid,
const word& phaseName const word& phaseName
); );

View File

@ -5,7 +5,7 @@
\\ / A nd | www.openfoam.com \\ / A nd | www.openfoam.com
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
Copyright (C) 2017-2021 OpenCFD Ltd. Copyright (C) 2017-2022 OpenCFD Ltd.
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
This file is part of OpenFOAM. This file is part of OpenFOAM.
@ -27,8 +27,7 @@ License
#include "MultiComponentPhaseModel.H" #include "MultiComponentPhaseModel.H"
#include "phaseSystem.H" #include "multiphaseInterSystem.H"
#include "multiphaseSystem.H"
#include "fvmDdt.H" #include "fvmDdt.H"
#include "fvmDiv.H" #include "fvmDiv.H"
#include "fvmSup.H" #include "fvmSup.H"
@ -47,7 +46,7 @@ template<class BasePhaseModel, class phaseThermo>
Foam::MultiComponentPhaseModel<BasePhaseModel, phaseThermo>:: Foam::MultiComponentPhaseModel<BasePhaseModel, phaseThermo>::
MultiComponentPhaseModel MultiComponentPhaseModel
( (
const phaseSystem& fluid, const multiphaseInterSystem& fluid,
const word& phaseName const word& phaseName
) )
: :
@ -221,7 +220,10 @@ void Foam::MultiComponentPhaseModel<BasePhaseModel, phaseThermo>::solveYi
surfaceScalarField phir(0.0*phi); surfaceScalarField phir(0.0*phi);
forAllConstIter(phaseSystem::phaseModelTable,this->fluid().phases(),iter2) forAllConstIter
(
multiphaseInterSystem::phaseModelTable,this->fluid().phases(),iter2
)
{ {
const volScalarField& alpha2 = iter2()(); const volScalarField& alpha2 = iter2()();
if (&alpha2 == &alpha1) if (&alpha2 == &alpha1)
@ -272,7 +274,9 @@ void Foam::MultiComponentPhaseModel<BasePhaseModel, phaseThermo>::solveYi
forAllConstIter forAllConstIter
( (
phaseSystem::phaseModelTable, this->fluid().phases(), iter2 multiphaseInterSystem::phaseModelTable,
this->fluid().phases(),
iter2
) )
{ {
//const volScalarField& alpha2 = iter2()().oldTime(); //const volScalarField& alpha2 = iter2()().oldTime();

View File

@ -5,7 +5,7 @@
\\ / A nd | www.openfoam.com \\ / A nd | www.openfoam.com
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
Copyright (C) 2017 OpenCFD Ltd. Copyright (C) 2017-2022 OpenCFD Ltd.
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
This file is part of OpenFOAM. This file is part of OpenFOAM.
@ -89,7 +89,7 @@ public:
MultiComponentPhaseModel MultiComponentPhaseModel
( (
const phaseSystem& fluid, const multiphaseInterSystem& fluid,
const word& phaseName const word& phaseName
); );

View File

@ -5,7 +5,7 @@
\\ / A nd | www.openfoam.com \\ / A nd | www.openfoam.com
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
Copyright (C) 2017-2020 OpenCFD Ltd. Copyright (C) 2017-2022 OpenCFD Ltd.
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
This file is part of OpenFOAM. This file is part of OpenFOAM.
@ -26,7 +26,7 @@ License
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/
#include "PurePhaseModel.H" #include "PurePhaseModel.H"
#include "phaseSystem.H" #include "multiphaseInterSystem.H"
#include "basicThermo.H" #include "basicThermo.H"
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
@ -34,7 +34,7 @@ License
template<class BasePhaseModel, class phaseThermo> template<class BasePhaseModel, class phaseThermo>
Foam::PurePhaseModel<BasePhaseModel, phaseThermo>::PurePhaseModel Foam::PurePhaseModel<BasePhaseModel, phaseThermo>::PurePhaseModel
( (
const phaseSystem& fluid, const multiphaseInterSystem& fluid,
const word& phaseName const word& phaseName
) )
: :

View File

@ -5,7 +5,7 @@
\\ / A nd | www.openfoam.com \\ / A nd | www.openfoam.com
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
Copyright (C) 2017 OpenCFD Ltd. Copyright (C) 2017-2022 OpenCFD Ltd.
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
This file is part of OpenFOAM. This file is part of OpenFOAM.
@ -47,7 +47,7 @@ SourceFiles
namespace Foam namespace Foam
{ {
class phaseSystem; class multiphaseInterSystem;
/*---------------------------------------------------------------------------*\ /*---------------------------------------------------------------------------*\
Class PurePhaseModel Declaration Class PurePhaseModel Declaration
@ -75,7 +75,7 @@ public:
PurePhaseModel PurePhaseModel
( (
const phaseSystem& fluid, const multiphaseInterSystem& fluid,
const word& phaseName const word& phaseName
); );

View File

@ -5,7 +5,7 @@
\\ / A nd | www.openfoam.com \\ / A nd | www.openfoam.com
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
Copyright (C) 2017 OpenCFD Ltd. Copyright (C) 2017-2022 OpenCFD Ltd.
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
This file is part of OpenFOAM. This file is part of OpenFOAM.
@ -27,7 +27,7 @@ License
#include "StaticPhaseModel.H" #include "StaticPhaseModel.H"
#include "phaseSystem.H" #include "multiphaseInterSystem.H"
#include "fvcDdt.H" #include "fvcDdt.H"
#include "fvcDiv.H" #include "fvcDiv.H"
@ -39,7 +39,7 @@ License
template<class BasePhaseModel> template<class BasePhaseModel>
Foam::StaticPhaseModel<BasePhaseModel>::StaticPhaseModel Foam::StaticPhaseModel<BasePhaseModel>::StaticPhaseModel
( (
const phaseSystem& fluid, const multiphaseInterSystem& fluid,
const word& phaseName const word& phaseName
) )
: :
@ -49,7 +49,7 @@ Foam::StaticPhaseModel<BasePhaseModel>::StaticPhaseModel
( (
IOobject IOobject
( (
IOobject::groupName("phi", phaseModel::name()), IOobject::groupName("phi", multiphaseInter::phaseModel::name()),
fluid.mesh().time().timeName(), fluid.mesh().time().timeName(),
fluid.mesh() fluid.mesh()
), ),
@ -60,7 +60,11 @@ Foam::StaticPhaseModel<BasePhaseModel>::StaticPhaseModel
( (
IOobject IOobject
( (
IOobject::groupName("alphaPhi", phaseModel::name()), IOobject::groupName
(
"alphaPhi",
multiphaseInter::phaseModel::name()
),
fluid.mesh().time().timeName(), fluid.mesh().time().timeName(),
fluid.mesh() fluid.mesh()
), ),
@ -87,7 +91,7 @@ Foam::StaticPhaseModel<BasePhaseModel>::phi() const
( (
IOobject IOobject
( (
IOobject::groupName("phi", phaseModel::name()), IOobject::groupName("phi", multiphaseInter::phaseModel::name()),
U_.mesh().time().timeName(), U_.mesh().time().timeName(),
U_.mesh() U_.mesh()
), ),
@ -110,19 +114,20 @@ template<class BasePhaseModel>
Foam::tmp<Foam::surfaceScalarField> Foam::tmp<Foam::surfaceScalarField>
Foam::StaticPhaseModel<BasePhaseModel>::alphaPhi() const Foam::StaticPhaseModel<BasePhaseModel>::alphaPhi() const
{ {
return tmp<surfaceScalarField> return tmp<surfaceScalarField>::New
( (
new surfaceScalarField IOobject
( (
IOobject IOobject::groupName
( (
IOobject::groupName("alphaPhi", phaseModel::name()), "alphaPhi",
U_.mesh().time().timeName(), multiphaseInter::phaseModel::name()
U_.mesh()
), ),
U_.mesh(), U_.mesh().time().timeName(),
dimensionedScalar(dimensionSet(0, 3, -1, 0, 0), Zero) U_.mesh()
) ),
U_.mesh(),
dimensionedScalar(dimensionSet(0, 3, -1, 0, 0), Zero)
); );
} }
@ -140,19 +145,16 @@ template<class BasePhaseModel>
Foam::tmp<Foam::volVectorField> Foam::tmp<Foam::volVectorField>
Foam::StaticPhaseModel<BasePhaseModel>::U() const Foam::StaticPhaseModel<BasePhaseModel>::U() const
{ {
return tmp<volVectorField> return tmp<volVectorField>::New
( (
new volVectorField IOobject
( (
IOobject IOobject::groupName("U", multiphaseInter::phaseModel::name()),
( U_.mesh().time().timeName(),
IOobject::groupName("U", phaseModel::name()), U_.mesh()
U_.mesh().time().timeName(), ),
U_.mesh() U_.mesh(),
), dimensionedVector(dimVelocity, Zero)
U_.mesh(),
dimensionedVector(dimVelocity, Zero)
)
); );
} }

View File

@ -5,7 +5,7 @@
\\ / A nd | www.openfoam.com \\ / A nd | www.openfoam.com
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
Copyright (C) 2017 OpenCFD Ltd. Copyright (C) 2017-2022 OpenCFD Ltd.
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
This file is part of OpenFOAM. This file is part of OpenFOAM.
@ -71,7 +71,7 @@ public:
StaticPhaseModel StaticPhaseModel
( (
const phaseSystem& fluid, const multiphaseInterSystem& fluid,
const word& phaseName const word& phaseName
); );

View File

@ -5,7 +5,7 @@
\\ / A nd | www.openfoam.com \\ / A nd | www.openfoam.com
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
Copyright (C) 2017 OpenCFD Ltd. Copyright (C) 2017-2022 OpenCFD Ltd.
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
This file is part of OpenFOAM. This file is part of OpenFOAM.
@ -46,15 +46,17 @@ License
> \ > \
> \ > \
Name; \ Name; \
\ namespace multiphaseInter \
addNamedToRunTimeSelectionTable \ { \
( \ addNamedToRunTimeSelectionTable \
phaseModel, \ ( \
Name, \ phaseModel, \
phaseSystem, \ Name, \
Name \ multiphaseInterSystem, \
); \ Name \
} ); \
} \
} \
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

View File

@ -5,7 +5,7 @@
\\ / A nd | www.openfoam.com \\ / A nd | www.openfoam.com
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
Copyright (C) 2017-2021 OpenCFD Ltd. Copyright (C) 2017-2022 OpenCFD Ltd.
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
This file is part of OpenFOAM. This file is part of OpenFOAM.
@ -26,21 +26,24 @@ License
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/
#include "phaseModel.H" #include "phaseModel.H"
#include "phaseSystem.H" #include "multiphaseInterSystem.H"
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
namespace Foam namespace Foam
{
namespace multiphaseInter
{ {
defineTypeNameAndDebug(phaseModel, 0); defineTypeNameAndDebug(phaseModel, 0);
defineRunTimeSelectionTable(phaseModel, phaseSystem); defineRunTimeSelectionTable(phaseModel, multiphaseInterSystem);
}
} }
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
Foam::phaseModel::phaseModel Foam::multiphaseInter::phaseModel::phaseModel
( (
const phaseSystem& fluid, const multiphaseInterSystem& fluid,
const word& phaseName const word& phaseName
) )
: :
@ -64,10 +67,10 @@ Foam::phaseModel::phaseModel
// * * * * * * * * * * * * * * * * Selectors * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * Selectors * * * * * * * * * * * * * * * * //
Foam::autoPtr<Foam::phaseModel> Foam::autoPtr<Foam::multiphaseInter::phaseModel>
Foam::phaseModel::New Foam::multiphaseInter::phaseModel::New
( (
const phaseSystem& fluid, const multiphaseInterSystem& fluid,
const word& phaseName const word& phaseName
) )
{ {
@ -78,7 +81,7 @@ Foam::phaseModel::New
Info<< "Selecting phaseModel for " Info<< "Selecting phaseModel for "
<< phaseName << ": " << modelType << endl; << phaseName << ": " << modelType << endl;
auto* ctorPtr = phaseSystemConstructorTable(modelType); auto* ctorPtr = multiphaseInterSystemConstructorTable(modelType);
if (!ctorPtr) if (!ctorPtr)
{ {
@ -87,7 +90,7 @@ Foam::phaseModel::New
dict, dict,
"phaseModel", "phaseModel",
modelType, modelType,
*phaseSystemConstructorTablePtr_ *multiphaseInterSystemConstructorTablePtr_
) << exit(FatalIOError); ) << exit(FatalIOError);
} }
@ -97,49 +100,51 @@ Foam::phaseModel::New
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
const Foam::phaseSystem& Foam::phaseModel::fluid() const const Foam::multiphaseInterSystem&
Foam::multiphaseInter::phaseModel::fluid() const
{ {
return fluid_; return fluid_;
} }
void Foam::phaseModel::correct() void Foam::multiphaseInter::phaseModel::correct()
{ {
thermo().correct(); thermo().correct();
} }
void Foam::phaseModel::correctTurbulence() void Foam::multiphaseInter::phaseModel::correctTurbulence()
{ {
// do nothing // do nothing
} }
Foam::tmp<Foam::volScalarField> Foam::phaseModel::rho() const Foam::tmp<Foam::volScalarField> Foam::multiphaseInter::phaseModel::rho() const
{ {
return thermo().rho(); return thermo().rho();
} }
Foam::tmp<Foam::scalarField> Foam::phaseModel::rho(const label patchI) const Foam::tmp<Foam::scalarField>
Foam::multiphaseInter::phaseModel::rho(const label patchI) const
{ {
return thermo().rho(patchI); return thermo().rho(patchI);
} }
Foam::tmp<Foam::volScalarField> Foam::phaseModel::hc() const Foam::tmp<Foam::volScalarField> Foam::multiphaseInter::phaseModel::hc() const
{ {
return thermo().hc(); return thermo().hc();
} }
Foam::tmp<Foam::volScalarField> Foam::phaseModel::Cp() const Foam::tmp<Foam::volScalarField> Foam::multiphaseInter::phaseModel::Cp() const
{ {
return thermo().Cp(); return thermo().Cp();
} }
Foam::tmp<Foam::scalarField> Foam::phaseModel::Cp Foam::tmp<Foam::scalarField> Foam::multiphaseInter::phaseModel::Cp
( (
const scalarField& p, const scalarField& p,
const scalarField& T, const scalarField& T,
@ -150,13 +155,13 @@ Foam::tmp<Foam::scalarField> Foam::phaseModel::Cp
} }
Foam::tmp<Foam::volScalarField> Foam::phaseModel::Cv() const Foam::tmp<Foam::volScalarField> Foam::multiphaseInter::phaseModel::Cv() const
{ {
return thermo().Cv(); return thermo().Cv();
} }
Foam::tmp<Foam::scalarField> Foam::phaseModel::Cv Foam::tmp<Foam::scalarField> Foam::multiphaseInter::phaseModel::Cv
( (
const scalarField& p, const scalarField& p,
const scalarField& T, const scalarField& T,
@ -167,13 +172,13 @@ Foam::tmp<Foam::scalarField> Foam::phaseModel::Cv
} }
Foam::tmp<Foam::volScalarField> Foam::phaseModel::gamma() const Foam::tmp<Foam::volScalarField> Foam::multiphaseInter::phaseModel::gamma() const
{ {
return thermo().gamma(); return thermo().gamma();
} }
Foam::tmp<Foam::scalarField> Foam::phaseModel::gamma Foam::tmp<Foam::scalarField> Foam::multiphaseInter::phaseModel::gamma
( (
const scalarField& p, const scalarField& p,
const scalarField& T, const scalarField& T,
@ -184,13 +189,13 @@ Foam::tmp<Foam::scalarField> Foam::phaseModel::gamma
} }
Foam::tmp<Foam::volScalarField> Foam::phaseModel::Cpv() const Foam::tmp<Foam::volScalarField> Foam::multiphaseInter::phaseModel::Cpv() const
{ {
return thermo().Cpv(); return thermo().Cpv();
} }
Foam::tmp<Foam::scalarField> Foam::phaseModel::Cpv Foam::tmp<Foam::scalarField> Foam::multiphaseInter::phaseModel::Cpv
( (
const scalarField& p, const scalarField& p,
const scalarField& T, const scalarField& T,
@ -201,13 +206,13 @@ Foam::tmp<Foam::scalarField> Foam::phaseModel::Cpv
} }
Foam::tmp<Foam::volScalarField> Foam::phaseModel::CpByCpv() const Foam::tmp<Foam::volScalarField> Foam::multiphaseInter::phaseModel::CpByCpv() const
{ {
return thermo().CpByCpv(); return thermo().CpByCpv();
} }
Foam::tmp<Foam::scalarField> Foam::phaseModel::CpByCpv Foam::tmp<Foam::scalarField> Foam::multiphaseInter::phaseModel::CpByCpv
( (
const scalarField& p, const scalarField& p,
const scalarField& T, const scalarField& T,
@ -218,43 +223,47 @@ Foam::tmp<Foam::scalarField> Foam::phaseModel::CpByCpv
} }
const Foam::volScalarField& Foam::phaseModel::alpha() const const Foam::volScalarField& Foam::multiphaseInter::phaseModel::alpha() const
{ {
return thermo().alpha(); return thermo().alpha();
} }
const Foam::scalarField& Foam::phaseModel::alpha(const label patchI) const const Foam::scalarField&
Foam::multiphaseInter::phaseModel::alpha(const label patchI) const
{ {
return thermo().alpha(patchI); return thermo().alpha(patchI);
} }
Foam::tmp<Foam::volScalarField> Foam::phaseModel::kappa() const Foam::tmp<Foam::volScalarField> Foam::multiphaseInter::phaseModel::kappa() const
{ {
return thermo().kappa(); return thermo().kappa();
} }
Foam::tmp<Foam::scalarField> Foam::phaseModel::kappa(const label patchI) const Foam::tmp<Foam::scalarField>
Foam::multiphaseInter::phaseModel::kappa(const label patchI) const
{ {
return thermo().kappa(patchI); return thermo().kappa(patchI);
} }
Foam::tmp<Foam::volScalarField> Foam::phaseModel::alphahe() const Foam::tmp<Foam::volScalarField>
Foam::multiphaseInter::phaseModel::alphahe() const
{ {
return thermo().alphahe(); return thermo().alphahe();
} }
Foam::tmp<Foam::scalarField> Foam::phaseModel::alphahe(const label patchI) const Foam::tmp<Foam::scalarField>
Foam::multiphaseInter::phaseModel::alphahe(const label patchI) const
{ {
return thermo().alphahe(patchI); return thermo().alphahe(patchI);
} }
Foam::tmp<Foam::volScalarField>Foam::phaseModel::kappaEff Foam::tmp<Foam::volScalarField>Foam::multiphaseInter::phaseModel::kappaEff
( (
const volScalarField& kappat const volScalarField& kappat
) const ) const
@ -265,7 +274,7 @@ Foam::tmp<Foam::volScalarField>Foam::phaseModel::kappaEff
} }
Foam::tmp<Foam::scalarField> Foam::phaseModel::kappaEff Foam::tmp<Foam::scalarField> Foam::multiphaseInter::phaseModel::kappaEff
( (
const scalarField& kappat, const scalarField& kappat,
const label patchI const label patchI
@ -275,7 +284,7 @@ Foam::tmp<Foam::scalarField> Foam::phaseModel::kappaEff
} }
Foam::tmp<Foam::volScalarField> Foam::phaseModel::alphaEff Foam::tmp<Foam::volScalarField> Foam::multiphaseInter::phaseModel::alphaEff
( (
const volScalarField& alphat const volScalarField& alphat
) const ) const
@ -284,7 +293,7 @@ Foam::tmp<Foam::volScalarField> Foam::phaseModel::alphaEff
} }
Foam::tmp<Foam::scalarField> Foam::phaseModel::alphaEff Foam::tmp<Foam::scalarField> Foam::multiphaseInter::phaseModel::alphaEff
( (
const scalarField& alphat, const scalarField& alphat,
const label patchI const label patchI
@ -294,31 +303,33 @@ Foam::tmp<Foam::scalarField> Foam::phaseModel::alphaEff
} }
Foam::tmp<Foam::volScalarField> Foam::phaseModel::mu() const Foam::tmp<Foam::volScalarField> Foam::multiphaseInter::phaseModel::mu() const
{ {
return thermo().mu(); return thermo().mu();
} }
Foam::tmp<Foam::scalarField> Foam::phaseModel::mu(const label patchi) const Foam::tmp<Foam::scalarField>
Foam::multiphaseInter::phaseModel::mu(const label patchi) const
{ {
return thermo().mu(patchi); return thermo().mu(patchi);
} }
Foam::tmp<Foam::volScalarField> Foam::phaseModel::nu() const Foam::tmp<Foam::volScalarField> Foam::multiphaseInter::phaseModel::nu() const
{ {
return thermo().nu(); return thermo().nu();
} }
Foam::tmp<Foam::scalarField> Foam::phaseModel::nu(const label patchi) const Foam::tmp<Foam::scalarField>
Foam::multiphaseInter::phaseModel::nu(const label patchi) const
{ {
return thermo().nu(patchi); return thermo().nu(patchi);
} }
bool Foam::phaseModel::read() bool Foam::multiphaseInter::phaseModel::read()
{ {
return true; return true;
} }

View File

@ -5,7 +5,7 @@
\\ / A nd | www.openfoam.com \\ / A nd | www.openfoam.com
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
Copyright (C) 2017-2021 OpenCFD Ltd. Copyright (C) 2017-2022 OpenCFD Ltd.
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
This file is part of OpenFOAM. This file is part of OpenFOAM.
@ -33,8 +33,8 @@ SourceFiles
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/
#ifndef phaseModel_H #ifndef Foam_multiphaseInter_phaseModel_H
#define phaseModel_H #define Foam_multiphaseInter_phaseModel_H
#include "dictionary.H" #include "dictionary.H"
#include "dimensionedScalar.H" #include "dimensionedScalar.H"
@ -50,8 +50,10 @@ namespace Foam
{ {
// Forward Declarations // Forward Declarations
class phaseSystem; class multiphaseInterSystem;
namespace multiphaseInter
{
/*---------------------------------------------------------------------------*\ /*---------------------------------------------------------------------------*\
Class phaseModel Declaration Class phaseModel Declaration
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/
@ -62,8 +64,8 @@ class phaseModel
{ {
// Private Data // Private Data
//- Reference to the phaseSystem to which this phase belongs //- Reference to the multiphaseInterSystem to which this phase belongs
const phaseSystem& fluid_; const multiphaseInterSystem& fluid_;
//- Name of phase //- Name of phase
word name_; word name_;
@ -79,9 +81,9 @@ public:
( (
autoPtr, autoPtr,
phaseModel, phaseModel,
phaseSystem, multiphaseInterSystem,
( (
const phaseSystem& fluid, const multiphaseInterSystem& fluid,
const word& phaseName const word& phaseName
), ),
(fluid, phaseName) (fluid, phaseName)
@ -90,8 +92,8 @@ public:
// Constructors // Constructors
//- Construct from phaseSystem and phaseName //- Construct from multiphaseInterSystem and phaseName
phaseModel(const phaseSystem& fluid, const word& phaseName); phaseModel(const multiphaseInterSystem& fluid, const word& phaseName);
//- Destructor //- Destructor
@ -102,7 +104,7 @@ public:
static autoPtr<phaseModel> New static autoPtr<phaseModel> New
( (
const phaseSystem& fluid, const multiphaseInterSystem& fluid,
const word& phaseName const word& phaseName
); );
@ -116,7 +118,7 @@ public:
} }
//- Return the system to which this phase belongs //- Return the system to which this phase belongs
const phaseSystem& fluid() const; const multiphaseInterSystem& fluid() const;
//- Correct phase thermo //- Correct phase thermo
virtual void correct(); virtual void correct();
@ -325,6 +327,7 @@ public:
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
} // End namespace multiphaseInter
} // End namespace Foam } // End namespace Foam
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

View File

@ -5,7 +5,7 @@
\\ / A nd | www.openfoam.com \\ / A nd | www.openfoam.com
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
Copyright (C) 2017 OpenCFD Ltd. Copyright (C) 2017-2022 OpenCFD Ltd.
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
This file is part of OpenFOAM. This file is part of OpenFOAM.
@ -42,7 +42,7 @@ makePhaseTypes
( (
MovingPhaseModel, MovingPhaseModel,
PurePhaseModel, PurePhaseModel,
phaseModel, multiphaseInter::phaseModel,
rhoThermo, rhoThermo,
pureMovingPhaseModel // Name of the phase type pureMovingPhaseModel // Name of the phase type
); );
@ -51,7 +51,7 @@ makePhaseTypes
( (
StaticPhaseModel, StaticPhaseModel,
PurePhaseModel, PurePhaseModel,
phaseModel, multiphaseInter::phaseModel,
rhoThermo, rhoThermo,
pureStaticPhaseModel pureStaticPhaseModel
); );
@ -60,7 +60,7 @@ makePhaseTypes
( (
StaticPhaseModel, StaticPhaseModel,
PurePhaseModel, PurePhaseModel,
phaseModel, multiphaseInter::phaseModel,
solidThermo, solidThermo,
pureStaticSolidPhaseModel pureStaticSolidPhaseModel
); );
@ -69,7 +69,7 @@ makePhaseTypes
( (
MovingPhaseModel, MovingPhaseModel,
MultiComponentPhaseModel, MultiComponentPhaseModel,
phaseModel, multiphaseInter::phaseModel,
rhoReactionThermo, rhoReactionThermo,
multiComponentMovingPhaseModel multiComponentMovingPhaseModel
); );

View File

@ -5,7 +5,7 @@
\\ / A nd | www.openfoam.com \\ / A nd | www.openfoam.com
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
Copyright (C) 2017 OpenCFD Ltd. Copyright (C) 2017-2022 OpenCFD Ltd.
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
This file is part of OpenFOAM. This file is part of OpenFOAM.
@ -31,8 +31,8 @@ License
Foam::orderedPhasePair::orderedPhasePair Foam::orderedPhasePair::orderedPhasePair
( (
const phaseModel& from, const multiphaseInter::phaseModel& from,
const phaseModel& to const multiphaseInter::phaseModel& to
) )
: :
phasePair(from, to, true) phasePair(from, to, true)
@ -41,13 +41,13 @@ Foam::orderedPhasePair::orderedPhasePair
// * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * * //
const Foam::phaseModel& Foam::orderedPhasePair::from() const const Foam::multiphaseInter::phaseModel& Foam::orderedPhasePair::from() const
{ {
return phase1(); return phase1();
} }
const Foam::phaseModel& Foam::orderedPhasePair::to() const const Foam::multiphaseInter::phaseModel& Foam::orderedPhasePair::to() const
{ {
return phase2(); return phase2();
} }

View File

@ -5,7 +5,7 @@
\\ / A nd | www.openfoam.com \\ / A nd | www.openfoam.com
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
Copyright (C) 2017 OpenCFD Ltd. Copyright (C) 2017-2022 OpenCFD Ltd.
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
This file is part of OpenFOAM. This file is part of OpenFOAM.
@ -58,8 +58,8 @@ public:
//- Construct from two phases and gravity //- Construct from two phases and gravity
orderedPhasePair orderedPhasePair
( (
const phaseModel& from, const multiphaseInter::phaseModel& from,
const phaseModel& to const multiphaseInter::phaseModel& to
); );
@ -70,10 +70,10 @@ public:
// Member Functions // Member Functions
//- Dispersed phase //- Dispersed phase
virtual const phaseModel& from() const; virtual const multiphaseInter::phaseModel& from() const;
//- Continuous phase //- Continuous phase
virtual const phaseModel& to() const; virtual const multiphaseInter::phaseModel& to() const;
//- Pair name //- Pair name
virtual word name() const; virtual word name() const;

View File

@ -5,7 +5,7 @@
\\ / A nd | www.openfoam.com \\ / A nd | www.openfoam.com
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
Copyright (C) 2017 OpenCFD Ltd. Copyright (C) 2017-2022 OpenCFD Ltd.
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
This file is part of OpenFOAM. This file is part of OpenFOAM.
@ -33,8 +33,8 @@ License
Foam::phasePair::phasePair Foam::phasePair::phasePair
( (
const phaseModel& phase1, const multiphaseInter::phaseModel& phase1,
const phaseModel& phase2, const multiphaseInter::phaseModel& phase2,
const bool ordered const bool ordered
) )
: :
@ -46,7 +46,7 @@ Foam::phasePair::phasePair
// * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * * //
const Foam::phaseModel& Foam::phasePair::from() const const Foam::multiphaseInter::phaseModel& Foam::phasePair::from() const
{ {
FatalErrorInFunction FatalErrorInFunction
<< "Requested from phase from an unordered pair." << "Requested from phase from an unordered pair."
@ -56,7 +56,7 @@ const Foam::phaseModel& Foam::phasePair::from() const
} }
const Foam::phaseModel& Foam::phasePair::to() const const Foam::multiphaseInter::phaseModel& Foam::phasePair::to() const
{ {
FatalErrorInFunction FatalErrorInFunction
<< "Requested to phase from an unordered pair." << "Requested to phase from an unordered pair."

View File

@ -5,7 +5,7 @@
\\ / A nd | www.openfoam.com \\ / A nd | www.openfoam.com
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
Copyright (C) 2017 OpenCFD Ltd. Copyright (C) 2017-2022 OpenCFD Ltd.
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
This file is part of OpenFOAM. This file is part of OpenFOAM.
@ -58,10 +58,10 @@ class phasePair
// Private data // Private data
//- Phase 1 //- Phase 1
const phaseModel& phase1_; const multiphaseInter::phaseModel& phase1_;
//- Phase 2 //- Phase 2
const phaseModel& phase2_; const multiphaseInter::phaseModel& phase2_;
public: public:
@ -71,8 +71,8 @@ public:
//- Construct from two phases //- Construct from two phases
phasePair phasePair
( (
const phaseModel& phase1, const multiphaseInter::phaseModel& phase1,
const phaseModel& phase2, const multiphaseInter::phaseModel& phase2,
const bool ordered = false const bool ordered = false
); );
@ -84,10 +84,10 @@ public:
// Member Functions // Member Functions
//- From phase //- From phase
virtual const phaseModel& from() const; virtual const multiphaseInter::phaseModel& from() const;
//- To phase //- To phase
virtual const phaseModel& to() const; virtual const multiphaseInter::phaseModel& to() const;
//- Pair name //- Pair name
virtual word name() const; virtual word name() const;
@ -96,10 +96,10 @@ public:
// Access // Access
// Phase 1 // Phase 1
inline const phaseModel& phase1() const; inline const multiphaseInter::phaseModel& phase1() const;
// Phase 2 // Phase 2
inline const phaseModel& phase2() const; inline const multiphaseInter::phaseModel& phase2() const;
}; };

View File

@ -5,7 +5,7 @@
\\ / A nd | www.openfoam.com \\ / A nd | www.openfoam.com
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
Copyright (C) 2017 OpenCFD Ltd. Copyright (C) 2017-2022 OpenCFD Ltd.
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
This file is part of OpenFOAM. This file is part of OpenFOAM.
@ -27,13 +27,13 @@ License
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
inline const Foam::phaseModel& Foam::phasePair::phase1() const inline const Foam::multiphaseInter::phaseModel& Foam::phasePair::phase1() const
{ {
return phase1_; return phase1_;
} }
inline const Foam::phaseModel& Foam::phasePair::phase2() const inline const Foam::multiphaseInter::phaseModel& Foam::phasePair::phase2() const
{ {
return phase2_; return phase2_;
} }

View File

@ -6,6 +6,7 @@
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
Copyright (C) 2011-2019 OpenFOAM Foundation Copyright (C) 2011-2019 OpenFOAM Foundation
Copyright (C) 2022 OpenCFD Ltd.
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
This file is part of OpenFOAM. This file is part of OpenFOAM.
@ -33,6 +34,8 @@ License
namespace Foam namespace Foam
{ {
namespace reactingMultiphaseEuler
{
alphaContactAngleFvPatchScalarField::interfaceThetaProps::interfaceThetaProps alphaContactAngleFvPatchScalarField::interfaceThetaProps::interfaceThetaProps
( (
@ -142,6 +145,7 @@ makePatchTypeField
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
} // End namespace reactingMultiphaseEuler
} // End namespace Foam } // End namespace Foam
// ************************************************************************* // // ************************************************************************* //

View File

@ -69,8 +69,8 @@ SourceFiles
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/
#ifndef alphaContactAngleFvPatchScalarField_H #ifndef Foam_reactingMultiphaseEuler_alphaContactAngleFvPatchScalarField_H
#define alphaContactAngleFvPatchScalarField_H #define Foam_reactingMultiphaseEuler_alphaContactAngleFvPatchScalarField_H
#include "zeroGradientFvPatchFields.H" #include "zeroGradientFvPatchFields.H"
#include "multiphaseSystem.H" #include "multiphaseSystem.H"
@ -79,6 +79,8 @@ SourceFiles
namespace Foam namespace Foam
{ {
namespace reactingMultiphaseEuler
{
/*---------------------------------------------------------------------------*\ /*---------------------------------------------------------------------------*\
Class alphaContactAngleFvPatch Declaration Class alphaContactAngleFvPatch Declaration
@ -246,6 +248,7 @@ public:
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
} // End namespace reactingMultiphaseEuler
} // End namespace Foam } // End namespace Foam
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

View File

@ -6,6 +6,7 @@
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
Copyright (C) 2015-2018 OpenFOAM Foundation Copyright (C) 2015-2018 OpenFOAM Foundation
Copyright (C) 2022 OpenCFD Ltd.
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
This file is part of OpenFOAM. This file is part of OpenFOAM.
@ -33,6 +34,8 @@ License
namespace Foam namespace Foam
{ {
namespace reactingMultiphaseEuler
{
namespace surfaceTensionModels namespace surfaceTensionModels
{ {
defineTypeNameAndDebug(constantSurfaceTensionCoefficient, 0); defineTypeNameAndDebug(constantSurfaceTensionCoefficient, 0);
@ -44,12 +47,12 @@ namespace surfaceTensionModels
); );
} }
} }
}
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
Foam::surfaceTensionModels::constantSurfaceTensionCoefficient:: Foam::reactingMultiphaseEuler::surfaceTensionModels::
constantSurfaceTensionCoefficient constantSurfaceTensionCoefficient::constantSurfaceTensionCoefficient
( (
const dictionary& dict, const dictionary& dict,
const phasePair& pair, const phasePair& pair,
@ -63,15 +66,16 @@ constantSurfaceTensionCoefficient
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
Foam::surfaceTensionModels::constantSurfaceTensionCoefficient:: Foam::reactingMultiphaseEuler::surfaceTensionModels::
~constantSurfaceTensionCoefficient() constantSurfaceTensionCoefficient::~constantSurfaceTensionCoefficient()
{} {}
// * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * * //
Foam::tmp<Foam::volScalarField> Foam::tmp<Foam::volScalarField>
Foam::surfaceTensionModels::constantSurfaceTensionCoefficient::sigma() const Foam::reactingMultiphaseEuler::surfaceTensionModels::
constantSurfaceTensionCoefficient::sigma() const
{ {
const fvMesh& mesh(this->pair_.phase1().mesh()); const fvMesh& mesh(this->pair_.phase1().mesh());

View File

@ -6,6 +6,7 @@
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
Copyright (C) 2015-2018 OpenFOAM Foundation Copyright (C) 2015-2018 OpenFOAM Foundation
Copyright (C) 2022 OpenCFD Ltd.
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
This file is part of OpenFOAM. This file is part of OpenFOAM.
@ -43,6 +44,8 @@ SourceFiles
namespace Foam namespace Foam
{ {
namespace reactingMultiphaseEuler
{
namespace surfaceTensionModels namespace surfaceTensionModels
{ {
@ -91,6 +94,7 @@ public:
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
} // End namespace surfaceTensionModels } // End namespace surfaceTensionModels
} // End namespace reactingMultiphaseEuler
} // End namespace Foam } // End namespace Foam
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

View File

@ -6,7 +6,7 @@
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
Copyright (C) 2015-2018 OpenFOAM Foundation Copyright (C) 2015-2018 OpenFOAM Foundation
Copyright (C) 2019-2021 OpenCFD Ltd. Copyright (C) 2019-2022 OpenCFD Ltd.
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
This file is part of OpenFOAM. This file is part of OpenFOAM.
@ -32,17 +32,21 @@ License
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
namespace Foam namespace Foam
{
namespace reactingMultiphaseEuler
{ {
defineTypeNameAndDebug(surfaceTensionModel, 0); defineTypeNameAndDebug(surfaceTensionModel, 0);
defineRunTimeSelectionTable(surfaceTensionModel, dictionary); defineRunTimeSelectionTable(surfaceTensionModel, dictionary);
} }
}
const Foam::dimensionSet Foam::surfaceTensionModel::dimSigma(1, 0, -2, 0, 0); const Foam::dimensionSet
Foam::reactingMultiphaseEuler::surfaceTensionModel::dimSigma(1, 0, -2, 0, 0);
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
Foam::surfaceTensionModel::surfaceTensionModel Foam::reactingMultiphaseEuler::surfaceTensionModel::surfaceTensionModel
( (
const dictionary& dict, const dictionary& dict,
const phasePair& pair, const phasePair& pair,
@ -67,8 +71,8 @@ Foam::surfaceTensionModel::surfaceTensionModel
// * * * * * * * * * * * * * * * * Selectors * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * Selectors * * * * * * * * * * * * * * * * //
Foam::autoPtr<Foam::surfaceTensionModel> Foam::autoPtr<Foam::reactingMultiphaseEuler::surfaceTensionModel>
Foam::surfaceTensionModel::New Foam::reactingMultiphaseEuler::surfaceTensionModel::New
( (
const dictionary& dict, const dictionary& dict,
const phasePair& pair const phasePair& pair
@ -98,7 +102,7 @@ Foam::surfaceTensionModel::New
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
bool Foam::surfaceTensionModel::writeData(Ostream& os) const bool Foam::reactingMultiphaseEuler::surfaceTensionModel::writeData(Ostream& os) const
{ {
return os.good(); return os.good();
} }

View File

@ -6,7 +6,7 @@
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
Copyright (C) 2015-2018 OpenFOAM Foundation Copyright (C) 2015-2018 OpenFOAM Foundation
Copyright (C) 2020 OpenCFD Ltd. Copyright (C) 2020-2022 OpenCFD Ltd.
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
This file is part of OpenFOAM. This file is part of OpenFOAM.
@ -49,6 +49,9 @@ namespace Foam
// Forward Declarations // Forward Declarations
class phasePair; class phasePair;
namespace reactingMultiphaseEuler
{
/*---------------------------------------------------------------------------*\ /*---------------------------------------------------------------------------*\
Class surfaceTensionModel Declaration Class surfaceTensionModel Declaration
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/
@ -128,6 +131,7 @@ public:
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
} // End namespace reactingMultiphaseEuler
} // End namespace Foam } // End namespace Foam
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

View File

@ -6,7 +6,7 @@
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
Copyright (C) 2013-2019 OpenFOAM Foundation Copyright (C) 2013-2019 OpenFOAM Foundation
Copyright (C) 2020 OpenCFD Ltd. Copyright (C) 2020-2022 OpenCFD Ltd.
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
This file is part of OpenFOAM. This file is part of OpenFOAM.
@ -394,10 +394,20 @@ void Foam::multiphaseSystem::correctContactAngle
forAll(boundary, patchi) forAll(boundary, patchi)
{ {
if (isA<alphaContactAngleFvPatchScalarField>(gbf[patchi])) if
(
isA<reactingMultiphaseEuler::alphaContactAngleFvPatchScalarField>
(
gbf[patchi]
)
)
{ {
const alphaContactAngleFvPatchScalarField& acap = const auto& acap =
refCast<const alphaContactAngleFvPatchScalarField>(gbf[patchi]); refCast
<
const reactingMultiphaseEuler::
alphaContactAngleFvPatchScalarField
>(gbf[patchi]);
vectorField& nHatPatch = nHatb[patchi]; vectorField& nHatPatch = nHatb[patchi];
@ -407,8 +417,8 @@ void Foam::multiphaseSystem::correctContactAngle
/mesh_.magSf().boundaryField()[patchi] /mesh_.magSf().boundaryField()[patchi]
); );
alphaContactAngleFvPatchScalarField::thetaPropsTable:: reactingMultiphaseEuler::alphaContactAngleFvPatchScalarField::
const_iterator tp = thetaPropsTable::const_iterator tp =
acap.thetaProps() acap.thetaProps()
.find(phasePairKey(phase1.name(), phase2.name())); .find(phasePairKey(phase1.name(), phase2.name()));

View File

@ -6,7 +6,7 @@
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
Copyright (C) 2014-2018 OpenFOAM Foundation Copyright (C) 2014-2018 OpenFOAM Foundation
Copyright (C) 2018 OpenCFD Ltd. Copyright (C) 2018-2022 OpenCFD Ltd.
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
This file is part of OpenFOAM. This file is part of OpenFOAM.
@ -170,7 +170,8 @@ Foam::tmp<Foam::volScalarField> Foam::phasePair::EoH2() const
Foam::tmp<Foam::volScalarField> Foam::phasePair::sigma() const Foam::tmp<Foam::volScalarField> Foam::phasePair::sigma() const
{ {
return return
phase1().fluid().lookupSubModel<surfaceTensionModel> phase1().fluid().
lookupSubModel<reactingMultiphaseEuler::surfaceTensionModel>
( (
phasePair(phase1(), phase2()) phasePair(phase1(), phase2())
).sigma(); ).sigma();

View File

@ -6,7 +6,7 @@
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
Copyright (C) 2015-2018 OpenFOAM Foundation Copyright (C) 2015-2018 OpenFOAM Foundation
Copyright (C) 2019-2021 OpenCFD Ltd. Copyright (C) 2019-2022 OpenCFD Ltd.
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
This file is part of OpenFOAM. This file is part of OpenFOAM.
@ -326,9 +326,13 @@ Foam::phaseSystem::sigma(const phasePairKey& key) const
{ {
return volScalarField::New return volScalarField::New
( (
surfaceTensionModel::typeName + ":sigma", reactingMultiphaseEuler::surfaceTensionModel::typeName + ":sigma",
this->mesh_, this->mesh_,
dimensionedScalar("zero", surfaceTensionModel::dimSigma, 0) dimensionedScalar
(
reactingMultiphaseEuler::surfaceTensionModel::dimSigma,
0
)
); );
} }
} }

View File

@ -6,6 +6,7 @@
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
Copyright (C) 2015-2019 OpenFOAM Foundation Copyright (C) 2015-2019 OpenFOAM Foundation
Copyright (C) 2022 OpenCFD Ltd.
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
This file is part of OpenFOAM. This file is part of OpenFOAM.
@ -60,9 +61,12 @@ namespace Foam
class blendingMethod; class blendingMethod;
template<class modelType> class BlendedInterfacialModel; template<class modelType> class BlendedInterfacialModel;
class surfaceTensionModel;
class aspectRatioModel; class aspectRatioModel;
namespace reactingMultiphaseEuler
{
class surfaceTensionModel;
}
/*---------------------------------------------------------------------------*\ /*---------------------------------------------------------------------------*\
Class phaseSystem Declaration Class phaseSystem Declaration
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/
@ -104,7 +108,7 @@ protected:
typedef typedef
HashTable HashTable
< <
autoPtr<surfaceTensionModel>, autoPtr<reactingMultiphaseEuler::surfaceTensionModel>,
phasePairKey, phasePairKey,
phasePairKey::hash phasePairKey::hash
> >

View File

@ -6,7 +6,7 @@
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
Copyright (C) 2017-2019 OpenFOAM Foundation Copyright (C) 2017-2019 OpenFOAM Foundation
Copyright (C) 2020 OpenCFD Ltd. Copyright (C) 2020-2022 OpenCFD Ltd.
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
This file is part of OpenFOAM. This file is part of OpenFOAM.
@ -1209,7 +1209,7 @@ Foam::diameterModels::populationBalanceModel::sigmaWithContinuousPhase
) const ) const
{ {
return return
fluid_.lookupSubModel<surfaceTensionModel> fluid_.lookupSubModel<reactingMultiphaseEuler::surfaceTensionModel>
( (
phasePair(dispersedPhase, continuousPhase_) phasePair(dispersedPhase, continuousPhase_)
).sigma(); ).sigma();