reactingEulerFoam: Update and instantiate interface composition models

The nonRandomTwoLiquid and Roult interface composition models have been
instantiated (and updated so that they compile), and a fuller set of
multi-component liquids and multi-component and reacting gases have been
used.

The selection name of the saturated and nonRandomTwoLiquid models have
also been changed to remove the capitalisation from the first letter, as
is consistent with other sub-models that are not proper nouns.
This commit is contained in:
Will Bainbridge
2018-04-09 09:52:38 +01:00
parent 8dcfc9e9f8
commit b9d7740e1f
7 changed files with 87 additions and 7 deletions

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2015-2017 OpenFOAM Foundation \\ / A nd | Copyright (C) 2015-2018 OpenFOAM Foundation
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -58,6 +58,8 @@ namespace Foam
{ {
using namespace interfaceCompositionModels; using namespace interfaceCompositionModels;
// Gas-side models
// multi-component gas in the presence of a pure liquid // multi-component gas in the presence of a pure liquid
makeInterfaceCompositionType makeInterfaceCompositionType
( (
@ -99,6 +101,46 @@ namespace Foam
multiComponentMixture, multiComponentMixture,
constFluidEThermoPhysics constFluidEThermoPhysics
); );
makeSpecieInterfaceCompositionType
(
NonRandomTwoLiquid,
heRhoThermo,
rhoReactionThermo,
multiComponentMixture,
constGasEThermoPhysics,
heRhoThermo,
rhoReactionThermo,
multiComponentMixture,
constFluidEThermoPhysics
);
// reacting gas in the presence of a multi-component liquid
makeSpecieInterfaceCompositionType
(
Saturated,
heRhoThermo,
rhoReactionThermo,
reactingMixture,
constGasEThermoPhysics,
heRhoThermo,
rhoReactionThermo,
multiComponentMixture,
constFluidEThermoPhysics
);
makeSpecieInterfaceCompositionType
(
NonRandomTwoLiquid,
heRhoThermo,
rhoReactionThermo,
reactingMixture,
constGasEThermoPhysics,
heRhoThermo,
rhoReactionThermo,
multiComponentMixture,
constFluidEThermoPhysics
);
// Liquid-side models
// multi-component liquid in the presence of a multi-component gas // multi-component liquid in the presence of a multi-component gas
makeSpecieInterfaceCompositionType makeSpecieInterfaceCompositionType
@ -113,6 +155,44 @@ namespace Foam
multiComponentMixture, multiComponentMixture,
constGasEThermoPhysics constGasEThermoPhysics
); );
makeSpecieInterfaceCompositionType
(
Raoult,
heRhoThermo,
rhoReactionThermo,
multiComponentMixture,
constFluidEThermoPhysics,
heRhoThermo,
rhoReactionThermo,
multiComponentMixture,
constGasEThermoPhysics
);
// multi-component liquid in the presence of a reacting gas
makeSpecieInterfaceCompositionType
(
Henry,
heRhoThermo,
rhoReactionThermo,
multiComponentMixture,
constFluidEThermoPhysics,
heRhoThermo,
rhoReactionThermo,
reactingMixture,
constGasEThermoPhysics
);
makeSpecieInterfaceCompositionType
(
Raoult,
heRhoThermo,
rhoReactionThermo,
multiComponentMixture,
constFluidEThermoPhysics,
heRhoThermo,
rhoReactionThermo,
reactingMixture,
constGasEThermoPhysics
);
} }
// ************************************************************************* // // ************************************************************************* //

View File

@ -155,7 +155,7 @@ update
const volScalarField& Tf const volScalarField& Tf
) )
{ {
volScalarField W(this->thermo_.composition().W()); volScalarField W(this->thermo_.W());
volScalarField X1 volScalarField X1
( (

View File

@ -110,7 +110,7 @@ class NonRandomTwoLiquid
public: public:
//- Runtime type information //- Runtime type information
TypeName("NonRandomTwoLiquid"); TypeName("nonRandomTwoLiquid");
// Constructors // Constructors

View File

@ -82,7 +82,7 @@ protected:
public: public:
//- Runtime type information //- Runtime type information
TypeName("Saturated"); TypeName("saturated");
// Constructors // Constructors

View File

@ -137,7 +137,7 @@ interfaceComposition
( (
(gas in liquid) (gas in liquid)
{ {
type Saturated; type saturated;
species ( H2O ); species ( H2O );
Le 1.0; Le 1.0;
saturationPressure saturationPressure

View File

@ -137,7 +137,7 @@ interfaceComposition
( (
(gas in liquid) (gas in liquid)
{ {
type Saturated; type saturated;
species ( H2O ); species ( H2O );
Le 1.0; Le 1.0;
saturationPressure saturationPressure

View File

@ -138,7 +138,7 @@ interfaceComposition
( (
(gas in liquid) (gas in liquid)
{ {
type Saturated; type saturated;
species ( water ); species ( water );
Le 1.0; Le 1.0;
saturationPressure saturationPressure