diff --git a/applications/solvers/modules/fluid/multiphaseEuler/interfacialCompositionModels/Make/files b/applications/solvers/modules/fluid/multiphaseEuler/interfacialCompositionModels/Make/files index a841a22219..169c4a40be 100644 --- a/applications/solvers/modules/fluid/multiphaseEuler/interfacialCompositionModels/Make/files +++ b/applications/solvers/modules/fluid/multiphaseEuler/interfacialCompositionModels/Make/files @@ -14,13 +14,7 @@ interfaceCompositionModels/nonRandomTwoLiquid/nonRandomTwoLiquid.C interfaceCompositionModels/Raoult/Raoult.C interfaceCompositionModels/saturated/saturated.C -saturationModels/saturationModel/saturationModel.C -saturationModels/saturationModel/saturationModelNew.C -saturationModels/Antoine/Antoine.C -saturationModels/AntoineExtended/AntoineExtended.C -saturationModels/ArdenBuck/ArdenBuck.C -saturationModels/polynomial/polynomial.C -saturationModels/function1/function1.C -saturationModels/constantSaturationConditions/constantSaturationConditions.C +interfaceSaturationTemperatureModel/interfaceSaturationTemperatureModel.C +interfaceSaturationTemperatureModel/interfaceSaturationTemperatureModelNew.C LIB = $(FOAM_LIBBIN)/libeulerianInterfacialCompositionModels diff --git a/applications/solvers/modules/fluid/multiphaseEuler/interfacialCompositionModels/Make/options b/applications/solvers/modules/fluid/multiphaseEuler/interfacialCompositionModels/Make/options index c9e25ee486..0a1d1445bc 100644 --- a/applications/solvers/modules/fluid/multiphaseEuler/interfacialCompositionModels/Make/options +++ b/applications/solvers/modules/fluid/multiphaseEuler/interfacialCompositionModels/Make/options @@ -5,6 +5,7 @@ EXE_INC = \ -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/thermophysicalProperties/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/multicomponentThermo/lnInclude \ + -I$(LIB_SRC)/thermophysicalModels/saturationModels/lnInclude \ -I$(LIB_SRC)/MomentumTransportModels/momentumTransportModels/lnInclude \ -I$(LIB_SRC)/MomentumTransportModels/compressible/lnInclude \ -I$(LIB_SRC)/MomentumTransportModels/phaseCompressible/lnInclude \ @@ -15,4 +16,4 @@ EXE_INC = \ LIB_LIBS = \ -lfluidThermophysicalModels \ -lmulticomponentThermophysicalModels \ - -lspecie + -lsaturationModels diff --git a/applications/solvers/modules/fluid/multiphaseEuler/interfacialCompositionModels/interfaceCompositionModels/nonRandomTwoLiquid/nonRandomTwoLiquid.C b/applications/solvers/modules/fluid/multiphaseEuler/interfacialCompositionModels/interfaceCompositionModels/nonRandomTwoLiquid/nonRandomTwoLiquid.C index cfcf4b17e5..1e48797872 100644 --- a/applications/solvers/modules/fluid/multiphaseEuler/interfacialCompositionModels/interfaceCompositionModels/nonRandomTwoLiquid/nonRandomTwoLiquid.C +++ b/applications/solvers/modules/fluid/multiphaseEuler/interfacialCompositionModels/interfaceCompositionModels/nonRandomTwoLiquid/nonRandomTwoLiquid.C @@ -118,20 +118,18 @@ Foam::interfaceCompositionModels::nonRandomTwoLiquid::nonRandomTwoLiquid saturationModel12_.reset ( - saturationModel::New + saturationPressureModel::New ( - dict.subDict(species1Name_).subDict("interaction"), - interface, - false + "interaction", + dict.subDict(species1Name_) ).ptr() ); saturationModel21_.reset ( - saturationModel::New + saturationPressureModel::New ( - dict.subDict(species2Name_).subDict("interaction"), - interface, - false + "interaction", + dict.subDict(species2Name_) ).ptr() ); diff --git a/applications/solvers/modules/fluid/multiphaseEuler/interfacialCompositionModels/interfaceCompositionModels/nonRandomTwoLiquid/nonRandomTwoLiquid.H b/applications/solvers/modules/fluid/multiphaseEuler/interfacialCompositionModels/interfaceCompositionModels/nonRandomTwoLiquid/nonRandomTwoLiquid.H index e65dfaa3ea..0a24f58c58 100644 --- a/applications/solvers/modules/fluid/multiphaseEuler/interfacialCompositionModels/interfaceCompositionModels/nonRandomTwoLiquid/nonRandomTwoLiquid.H +++ b/applications/solvers/modules/fluid/multiphaseEuler/interfacialCompositionModels/interfaceCompositionModels/nonRandomTwoLiquid/nonRandomTwoLiquid.H @@ -41,7 +41,7 @@ SourceFiles #define nonRandomTwoLiquid_H #include "interfaceCompositionModel.H" -#include "saturationModel.H" +#include "saturationPressureModel.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -91,10 +91,10 @@ class nonRandomTwoLiquid dimensionedScalar beta21_; //- Interaction parameter model for species 1 - autoPtr saturationModel12_; + autoPtr saturationModel12_; //- Interaction parameter model for species 2 - autoPtr saturationModel21_; + autoPtr saturationModel21_; //- Composition model for species 1 autoPtr speciesModel1_; diff --git a/applications/solvers/modules/fluid/multiphaseEuler/interfacialCompositionModels/interfaceCompositionModels/saturated/saturated.C b/applications/solvers/modules/fluid/multiphaseEuler/interfacialCompositionModels/interfaceCompositionModels/saturated/saturated.C index c0423cb0bb..bf90f2dd7e 100644 --- a/applications/solvers/modules/fluid/multiphaseEuler/interfacialCompositionModels/interfaceCompositionModels/saturated/saturated.C +++ b/applications/solvers/modules/fluid/multiphaseEuler/interfacialCompositionModels/interfaceCompositionModels/saturated/saturated.C @@ -70,15 +70,7 @@ Foam::interfaceCompositionModels::saturated::saturated interfaceCompositionModel(dict, interface), saturatedName_(species()[0]), saturatedIndex_(composition().species()[saturatedName_]), - saturationModel_ - ( - saturationModel::New - ( - dict.subDict("saturationPressure"), - interface, - false - ) - ) + saturationModel_(saturationPressureModel::New("pSat", dict)) { if (species().size() != 1) { diff --git a/applications/solvers/modules/fluid/multiphaseEuler/interfacialCompositionModels/interfaceCompositionModels/saturated/saturated.H b/applications/solvers/modules/fluid/multiphaseEuler/interfacialCompositionModels/interfaceCompositionModels/saturated/saturated.H index 431cbee58b..535cc885c4 100644 --- a/applications/solvers/modules/fluid/multiphaseEuler/interfacialCompositionModels/interfaceCompositionModels/saturated/saturated.H +++ b/applications/solvers/modules/fluid/multiphaseEuler/interfacialCompositionModels/interfaceCompositionModels/saturated/saturated.H @@ -37,7 +37,7 @@ SourceFiles #define saturated_H #include "interfaceCompositionModel.H" -#include "saturationModel.H" +#include "saturationPressureModel.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -65,7 +65,7 @@ protected: label saturatedIndex_; //- Saturation pressure model - autoPtr saturationModel_; + autoPtr saturationModel_; // Private Member Functions diff --git a/applications/solvers/modules/fluid/multiphaseEuler/interfacialCompositionModels/saturationModels/saturationModel/saturationModel.C b/applications/solvers/modules/fluid/multiphaseEuler/interfacialCompositionModels/interfaceSaturationTemperatureModel/interfaceSaturationTemperatureModel.C similarity index 67% rename from applications/solvers/modules/fluid/multiphaseEuler/interfacialCompositionModels/saturationModels/saturationModel/saturationModel.C rename to applications/solvers/modules/fluid/multiphaseEuler/interfacialCompositionModels/interfaceSaturationTemperatureModel/interfaceSaturationTemperatureModel.C index d0d8a80761..567a859a97 100644 --- a/applications/solvers/modules/fluid/multiphaseEuler/interfacialCompositionModels/saturationModels/saturationModel/saturationModel.C +++ b/applications/solvers/modules/fluid/multiphaseEuler/interfacialCompositionModels/interfaceSaturationTemperatureModel/interfaceSaturationTemperatureModel.C @@ -23,20 +23,24 @@ License \*---------------------------------------------------------------------------*/ -#include "saturationModel.H" +#include "interfaceSaturationTemperatureModel.H" // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // namespace Foam { - defineTypeNameAndDebug(saturationModel, 0); - defineRunTimeSelectionTable(saturationModel, dictionary); + defineTypeNameAndDebug(interfaceSaturationTemperatureModel, 0); + defineRunTimeSelectionTable + ( + interfaceSaturationTemperatureModel, + dictionary + ); } // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // -Foam::saturationModel::saturationModel +Foam::interfaceSaturationTemperatureModel::interfaceSaturationTemperatureModel ( const dictionary& dict, const phaseInterface& interface @@ -46,30 +50,43 @@ Foam::saturationModel::saturationModel ( IOobject ( - IOobject::groupName("saturationModel", interface.name()), - interface.mesh().time().constant(), + IOobject::groupName(typeName, interface.name()), + interface.mesh().time().timeName(), interface.mesh() ) ), + saturationModel_(saturationTemperatureModel::New(dict)), interface_(interface) {} // * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // -Foam::saturationModel::~saturationModel() +Foam::interfaceSaturationTemperatureModel:: +~interfaceSaturationTemperatureModel() {} // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // -const Foam::phaseInterface& Foam::saturationModel::interface() const +const Foam::phaseInterface& +Foam::interfaceSaturationTemperatureModel::interface() const { return interface_; } -bool Foam::saturationModel::writeData(Ostream& os) const +Foam::tmp +Foam::interfaceSaturationTemperatureModel::Tsat +( + const volScalarField& p +) const +{ + return saturationModel_->Tsat(p); +} + + +bool Foam::interfaceSaturationTemperatureModel::writeData(Ostream& os) const { return os.good(); } diff --git a/applications/solvers/modules/fluid/multiphaseEuler/interfacialCompositionModels/saturationModels/saturationModel/saturationModel.H b/applications/solvers/modules/fluid/multiphaseEuler/interfacialCompositionModels/interfaceSaturationTemperatureModel/interfaceSaturationTemperatureModel.H similarity index 71% rename from applications/solvers/modules/fluid/multiphaseEuler/interfacialCompositionModels/saturationModels/saturationModel/saturationModel.H rename to applications/solvers/modules/fluid/multiphaseEuler/interfacialCompositionModels/interfaceSaturationTemperatureModel/interfaceSaturationTemperatureModel.H index ed98fe0f2f..fb4b52e8cb 100644 --- a/applications/solvers/modules/fluid/multiphaseEuler/interfacialCompositionModels/saturationModels/saturationModel/saturationModel.H +++ b/applications/solvers/modules/fluid/multiphaseEuler/interfacialCompositionModels/interfaceSaturationTemperatureModel/interfaceSaturationTemperatureModel.H @@ -22,25 +22,25 @@ License along with OpenFOAM. If not, see . Class - Foam::saturationModel + Foam::interfaceSaturationTemperatureModel Description - Model to describe the dependence of saturation pressure on temperature, and - vice versa + Wrapper around saturationTemperatureModel to facilitate convenient + construction on interfaces SourceFiles - saturationModel.C - saturationModelNew.C + interfaceSaturationTemperatureModel.C + interfaceSaturationTemperatureModelNew.C \*---------------------------------------------------------------------------*/ -#ifndef saturationModel_H -#define saturationModel_H +#ifndef interfaceSaturationTemperatureModel_H +#define interfaceSaturationTemperatureModel_H #include "volFields.H" #include "dictionary.H" #include "phaseInterface.H" -#include "runTimeSelectionTables.H" +#include "saturationTemperatureModel.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -48,15 +48,18 @@ namespace Foam { /*---------------------------------------------------------------------------*\ - Class saturationModel Declaration + Class interfaceSaturationTemperatureModel Declaration \*---------------------------------------------------------------------------*/ -class saturationModel +class interfaceSaturationTemperatureModel : public regIOobject { // Private Data + //- The saturation temperature model + autoPtr saturationModel_; + //- The interface const phaseInterface interface_; @@ -64,14 +67,14 @@ class saturationModel public: //- Runtime type information - TypeName("saturationModel"); + TypeName("saturationTemperatureModel"); //- Declare runtime construction declareRunTimeSelectionTable ( autoPtr, - saturationModel, + interfaceSaturationTemperatureModel, dictionary, ( const dictionary& dict, @@ -84,25 +87,23 @@ public: // Constructors //- Construct from a dictionary and an interface - saturationModel + interfaceSaturationTemperatureModel ( const dictionary& dict, const phaseInterface& interface ); - // Selectors - static autoPtr New + static autoPtr New ( const dictionary& dict, const phaseInterface& interface, const bool outer=true ); - //- Destructor - virtual ~saturationModel(); + virtual ~interfaceSaturationTemperatureModel(); // Member Functions @@ -110,31 +111,10 @@ public: //- Access the interface const phaseInterface& interface() const; - //- Saturation pressure - virtual tmp pSat - ( - const volScalarField& T - ) const = 0; - - //- Saturation pressure derivative w.r.t. temperature - virtual tmp pSatPrime - ( - const volScalarField& T - ) const = 0; - - //- Natural log of the saturation pressure - virtual tmp lnPSat - ( - const volScalarField& T - ) const = 0; - //- Saturation temperature - virtual tmp Tsat - ( - const volScalarField& p - ) const = 0; + tmp Tsat(const volScalarField& p) const; - //- Dummy write for regIOobject + // Dummy write for regIOobject bool writeData(Ostream& os) const; }; diff --git a/applications/solvers/modules/fluid/multiphaseEuler/interfacialCompositionModels/saturationModels/saturationModel/saturationModelNew.C b/applications/solvers/modules/fluid/multiphaseEuler/interfacialCompositionModels/interfaceSaturationTemperatureModel/interfaceSaturationTemperatureModelNew.C similarity index 63% rename from applications/solvers/modules/fluid/multiphaseEuler/interfacialCompositionModels/saturationModels/saturationModel/saturationModelNew.C rename to applications/solvers/modules/fluid/multiphaseEuler/interfacialCompositionModels/interfaceSaturationTemperatureModel/interfaceSaturationTemperatureModelNew.C index 4b2bcfbc4a..fcb254ac44 100644 --- a/applications/solvers/modules/fluid/multiphaseEuler/interfacialCompositionModels/saturationModels/saturationModel/saturationModelNew.C +++ b/applications/solvers/modules/fluid/multiphaseEuler/interfacialCompositionModels/interfaceSaturationTemperatureModel/interfaceSaturationTemperatureModelNew.C @@ -23,40 +23,32 @@ License \*---------------------------------------------------------------------------*/ -#include "saturationModel.H" +#include "interfaceSaturationTemperatureModel.H" #include "phaseSystem.H" // * * * * * * * * * * * * * * * * Selector * * * * * * * * * * * * * * * * // -Foam::autoPtr Foam::saturationModel::New +Foam::autoPtr +Foam::interfaceSaturationTemperatureModel::New ( const dictionary& dict, const phaseInterface& interface, const bool outer ) { + DebugVar("**********"); + const dictionary& modelDict = - outer ? interface.fluid().modelSubDict(dict) : dict; + outer + ? interface.fluid().modelSubDict + (dict) + : dict; - const word saturationModelType(modelDict.lookup("type")); - - Info<< "Selecting saturationModel for " - << interface.name() << ": " << saturationModelType << endl; - - dictionaryConstructorTable::iterator cstrIter = - dictionaryConstructorTablePtr_->find(saturationModelType); - - if (cstrIter == dictionaryConstructorTablePtr_->end()) - { - FatalErrorInFunction - << "Unknown saturationModelType type " - << saturationModelType << endl << endl - << "Valid saturationModel types are : " << endl - << dictionaryConstructorTablePtr_->sortedToc() - << exit(FatalError); - } - - return cstrIter()(modelDict, interface); + return + autoPtr + ( + new interfaceSaturationTemperatureModel(modelDict, interface) + ); } diff --git a/applications/solvers/modules/fluid/multiphaseEuler/interfacialCompositionModels/saturationModels/Antoine/Antoine.C b/applications/solvers/modules/fluid/multiphaseEuler/interfacialCompositionModels/saturationModels/Antoine/Antoine.C deleted file mode 100644 index 8862c41b62..0000000000 --- a/applications/solvers/modules/fluid/multiphaseEuler/interfacialCompositionModels/saturationModels/Antoine/Antoine.C +++ /dev/null @@ -1,108 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2015-2022 OpenFOAM Foundation - \\/ M anipulation | -------------------------------------------------------------------------------- -License - This file is part of OpenFOAM. - - OpenFOAM is free software: you can redistribute it and/or modify it - under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - OpenFOAM is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - for more details. - - You should have received a copy of the GNU General Public License - along with OpenFOAM. If not, see . - -\*---------------------------------------------------------------------------*/ - -#include "Antoine.H" -#include "addToRunTimeSelectionTable.H" - -// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // - -namespace Foam -{ -namespace saturationModels -{ - defineTypeNameAndDebug(Antoine, 0); - addToRunTimeSelectionTable(saturationModel, Antoine, dictionary); -} -} - - -// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // - -Foam::saturationModels::Antoine::Antoine -( - const dictionary& dict, - const phaseInterface& interface -) -: - saturationModel(dict, interface), - A_("A", dimless, dict), - B_("B", dimTemperature, dict), - C_("C", dimTemperature, dict) -{} - - -// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // - -Foam::saturationModels::Antoine::~Antoine() -{} - - -// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // - -Foam::tmp -Foam::saturationModels::Antoine::pSat -( - const volScalarField& T -) const -{ - return - dimensionedScalar(dimPressure, 1) - *exp(A_ + B_/(C_ + T)); -} - - -Foam::tmp -Foam::saturationModels::Antoine::pSatPrime -( - const volScalarField& T -) const -{ - return - pSat(T)*B_/sqr(C_ + T); -} - - -Foam::tmp -Foam::saturationModels::Antoine::lnPSat -( - const volScalarField& T -) const -{ - return A_ + B_/(C_ + T); -} - - -Foam::tmp -Foam::saturationModels::Antoine::Tsat -( - const volScalarField& p -) const -{ - return - B_/(log(p*dimensionedScalar(dimless/dimPressure, 1)) - A_) - - C_; -} - - -// ************************************************************************* // diff --git a/applications/solvers/modules/fluid/multiphaseEuler/interfacialCompositionModels/saturationModels/Antoine/Antoine.H b/applications/solvers/modules/fluid/multiphaseEuler/interfacialCompositionModels/saturationModels/Antoine/Antoine.H deleted file mode 100644 index 89e33c7953..0000000000 --- a/applications/solvers/modules/fluid/multiphaseEuler/interfacialCompositionModels/saturationModels/Antoine/Antoine.H +++ /dev/null @@ -1,121 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2015-2022 OpenFOAM Foundation - \\/ M anipulation | -------------------------------------------------------------------------------- -License - This file is part of OpenFOAM. - - OpenFOAM is free software: you can redistribute it and/or modify it - under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - OpenFOAM is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - for more details. - - You should have received a copy of the GNU General Public License - along with OpenFOAM. If not, see . - -Class - Foam::saturationModels::Antoine - -Description - Antoine equation for the vapour pressure. - - \f[ - \log p = A + \frac{B}{C + T} - \f] - - Coefficients \f$A\f$, \f$B\f$ and \f$C\f$ are to be supplied and should be - suitable for natural logarithms and temperatures in Kelvin. - -SourceFiles - Antoine.C - -\*---------------------------------------------------------------------------*/ - -#ifndef Antoine_H -#define Antoine_H - -#include "saturationModel.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ -namespace saturationModels -{ - -/*---------------------------------------------------------------------------*\ - Class Antoine Declaration -\*---------------------------------------------------------------------------*/ - -class Antoine -: - public saturationModel -{ -protected: - - // Protected data - - //- Constant A - dimensionedScalar A_; - - //- Constant B - dimensionedScalar B_; - - //- Constant C - dimensionedScalar C_; - - -public: - - //- Runtime type information - TypeName("Antoine"); - - - // Constructors - - //- Construct from a dictionary and an interface - Antoine - ( - const dictionary& dict, - const phaseInterface& interface - ); - - - //- Destructor - virtual ~Antoine(); - - - // Member Functions - - //- Saturation pressure - virtual tmp pSat(const volScalarField& T) const; - - //- Saturation pressure derivative w.r.t. temperature - virtual tmp pSatPrime(const volScalarField& T) const; - - //- Natural log of the saturation pressure - virtual tmp lnPSat(const volScalarField& T) const; - - //- Saturation temperature - virtual tmp Tsat(const volScalarField& p) const; -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace saturationModels -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/applications/solvers/modules/fluid/multiphaseEuler/interfacialCompositionModels/saturationModels/AntoineExtended/AntoineExtended.C b/applications/solvers/modules/fluid/multiphaseEuler/interfacialCompositionModels/saturationModels/AntoineExtended/AntoineExtended.C deleted file mode 100644 index aeef821600..0000000000 --- a/applications/solvers/modules/fluid/multiphaseEuler/interfacialCompositionModels/saturationModels/AntoineExtended/AntoineExtended.C +++ /dev/null @@ -1,118 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2015-2022 OpenFOAM Foundation - \\/ M anipulation | -------------------------------------------------------------------------------- -License - This file is part of OpenFOAM. - - OpenFOAM is free software: you can redistribute it and/or modify it - under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - OpenFOAM is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - for more details. - - You should have received a copy of the GNU General Public License - along with OpenFOAM. If not, see . - -\*---------------------------------------------------------------------------*/ - -#include "AntoineExtended.H" -#include "addToRunTimeSelectionTable.H" - -// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // - -namespace Foam -{ -namespace saturationModels -{ - defineTypeNameAndDebug(AntoineExtended, 0); - addToRunTimeSelectionTable - ( - saturationModel, - AntoineExtended, - dictionary - ); -} -} - - -// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // - -Foam::saturationModels::AntoineExtended::AntoineExtended -( - const dictionary& dict, - const phaseInterface& interface -) -: - Antoine(dict, interface), - D_("D", dimless, dict), - F_("F", dimless, dict), - E_("E", dimless/pow(dimTemperature, F_), dict) -{} - - -// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // - -Foam::saturationModels::AntoineExtended::~AntoineExtended() -{} - - -// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // - -Foam::tmp -Foam::saturationModels::AntoineExtended::pSat -( - const volScalarField& T -) const -{ - return - dimensionedScalar(dimPressure/pow(dimTemperature, D_), 1) - *exp(A_ + B_/(C_ + T) + E_*pow(T, F_)) - *pow(T, D_); -} - - -Foam::tmp -Foam::saturationModels::AntoineExtended::pSatPrime -( - const volScalarField& T -) const -{ - return pSat(T)*((D_ + E_*F_*pow(T, F_))/T - B_/sqr(C_ + T)); -} - - -Foam::tmp -Foam::saturationModels::AntoineExtended::lnPSat -( - const volScalarField& T -) const -{ - return - A_ - + B_/(C_ + T) - + D_*log(T*dimensionedScalar(dimless/dimTemperature, 1)) - + E_*pow(T, F_); -} - - -Foam::tmp -Foam::saturationModels::AntoineExtended::Tsat -( - const volScalarField& p -) const -{ - NotImplemented; - - return volScalarField::null(); -} - - -// ************************************************************************* // diff --git a/applications/solvers/modules/fluid/multiphaseEuler/interfacialCompositionModels/saturationModels/AntoineExtended/AntoineExtended.H b/applications/solvers/modules/fluid/multiphaseEuler/interfacialCompositionModels/saturationModels/AntoineExtended/AntoineExtended.H deleted file mode 100644 index f5f3eb1616..0000000000 --- a/applications/solvers/modules/fluid/multiphaseEuler/interfacialCompositionModels/saturationModels/AntoineExtended/AntoineExtended.H +++ /dev/null @@ -1,121 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2015-2022 OpenFOAM Foundation - \\/ M anipulation | -------------------------------------------------------------------------------- -License - This file is part of OpenFOAM. - - OpenFOAM is free software: you can redistribute it and/or modify it - under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - OpenFOAM is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - for more details. - - You should have received a copy of the GNU General Public License - along with OpenFOAM. If not, see . - -Class - Foam::saturationModels::AntoineExtended - -Description - Extended Antoine equation for the vapour pressure. - - \f[ - \log (p) = A + \frac{B}{C + T} + D \log (T) + E T^F - \f] - - Coefficients \f$A\f$, \f$B\f$, \f$C\f$, \f$D\f$, \f$E\f$ and \f$F\f$ are - to be supplied and should be suitable for natural logarithms and - temperatures in Kelvin. - -SourceFiles - AntoineExtended.C - -\*---------------------------------------------------------------------------*/ - -#ifndef AntoineExtended_H -#define AntoineExtended_H - -#include "Antoine.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ -namespace saturationModels -{ - -/*---------------------------------------------------------------------------*\ - Class AntoineExtended Declaration -\*---------------------------------------------------------------------------*/ - -class AntoineExtended -: - public Antoine -{ - // Private Data - - //- Constant D - dimensionedScalar D_; - - //- Constant F - dimensionedScalar F_; - - //- Constant E - // (after F so F's dimensions can be used in the construction) - dimensionedScalar E_; - - -public: - - //- Runtime type information - TypeName("AntoineExtended"); - - - // Constructors - - //- Construct from a dictionary and an interface - AntoineExtended - ( - const dictionary& dict, - const phaseInterface& interface - ); - - - //- Destructor - virtual ~AntoineExtended(); - - - // Member Functions - - //- Saturation pressure - virtual tmp pSat(const volScalarField& T) const; - - //- Saturation pressure derivative w.r.t. temperature - virtual tmp pSatPrime(const volScalarField& T) const; - - //- Natural log of the saturation pressure - virtual tmp lnPSat(const volScalarField& T) const; - - //- Saturation temperature - virtual tmp Tsat(const volScalarField& p) const; -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace saturationModels -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/applications/solvers/modules/fluid/multiphaseEuler/interfacialCompositionModels/saturationModels/ArdenBuck/ArdenBuck.C b/applications/solvers/modules/fluid/multiphaseEuler/interfacialCompositionModels/saturationModels/ArdenBuck/ArdenBuck.C deleted file mode 100644 index c7a8f9a10e..0000000000 --- a/applications/solvers/modules/fluid/multiphaseEuler/interfacialCompositionModels/saturationModels/ArdenBuck/ArdenBuck.C +++ /dev/null @@ -1,130 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2015-2022 OpenFOAM Foundation - \\/ M anipulation | -------------------------------------------------------------------------------- -License - This file is part of OpenFOAM. - - OpenFOAM is free software: you can redistribute it and/or modify it - under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - OpenFOAM is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - for more details. - - You should have received a copy of the GNU General Public License - along with OpenFOAM. If not, see . - -\*---------------------------------------------------------------------------*/ - -#include "ArdenBuck.H" -#include "addToRunTimeSelectionTable.H" - -// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // - -namespace Foam -{ -namespace saturationModels -{ - defineTypeNameAndDebug(ArdenBuck, 0); - addToRunTimeSelectionTable(saturationModel, ArdenBuck, dictionary); -} -} - - -static const Foam::dimensionedScalar zeroC("", Foam::dimTemperature, 273.15); -static const Foam::dimensionedScalar A("", Foam::dimPressure, 611.21); -static const Foam::dimensionedScalar B("", Foam::dimless, 18.678); -static const Foam::dimensionedScalar C("", Foam::dimTemperature, 234.5); -static const Foam::dimensionedScalar D("", Foam::dimTemperature, 257.14); - - -// * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * // - -Foam::tmp -Foam::saturationModels::ArdenBuck::xByTC -( - const volScalarField& TC -) const -{ - return (B - TC/C)/(D + TC); -} - - -// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // - -Foam::saturationModels::ArdenBuck::ArdenBuck -( - const dictionary& dict, - const phaseInterface& interface -) -: - saturationModel(dict, interface) -{} - - -// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // - -Foam::saturationModels::ArdenBuck::~ArdenBuck() -{} - - -// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // - -Foam::tmp -Foam::saturationModels::ArdenBuck::pSat -( - const volScalarField& T -) const -{ - volScalarField TC(T - zeroC); - - return A*exp(TC*xByTC(TC)); -} - - -Foam::tmp -Foam::saturationModels::ArdenBuck::pSatPrime -( - const volScalarField& T -) const -{ - volScalarField TC(T - zeroC); - - volScalarField x(xByTC(TC)); - - return A*exp(TC*x)*(D*x - TC/C)/(D + TC); -} - - -Foam::tmp -Foam::saturationModels::ArdenBuck::lnPSat -( - const volScalarField& T -) const -{ - volScalarField TC(T - zeroC); - - return log(A.value()) + TC*xByTC(TC); -} - - -Foam::tmp -Foam::saturationModels::ArdenBuck::Tsat -( - const volScalarField& p -) const -{ - NotImplemented; - - return volScalarField::null(); -} - - -// ************************************************************************* // diff --git a/applications/solvers/modules/fluid/multiphaseEuler/interfacialCompositionModels/saturationModels/ArdenBuck/ArdenBuck.H b/applications/solvers/modules/fluid/multiphaseEuler/interfacialCompositionModels/saturationModels/ArdenBuck/ArdenBuck.H deleted file mode 100644 index 4b8b374263..0000000000 --- a/applications/solvers/modules/fluid/multiphaseEuler/interfacialCompositionModels/saturationModels/ArdenBuck/ArdenBuck.H +++ /dev/null @@ -1,106 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2015-2022 OpenFOAM Foundation - \\/ M anipulation | -------------------------------------------------------------------------------- -License - This file is part of OpenFOAM. - - OpenFOAM is free software: you can redistribute it and/or modify it - under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - OpenFOAM is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - for more details. - - You should have received a copy of the GNU General Public License - along with OpenFOAM. If not, see . - -Class - Foam::saturationModels::ArdenBuck - -Description - ArdenBuck equation for the vapour pressure of moist air. - -SourceFiles - ArdenBuck.C - -\*---------------------------------------------------------------------------*/ - -#ifndef ArdenBuck_H -#define ArdenBuck_H - -#include "saturationModel.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ -namespace saturationModels -{ - -/*---------------------------------------------------------------------------*\ - Class ArdenBuck Declaration -\*---------------------------------------------------------------------------*/ - -class ArdenBuck -: - public saturationModel -{ - // Private Member Functions - - //- Exponent divided by the temperature - tmp xByTC(const volScalarField& TC) const; - - -public: - - //- Runtime type information - TypeName("ArdenBuck"); - - - // Constructors - - //- Construct from a dictionary and an interface - ArdenBuck - ( - const dictionary& dict, - const phaseInterface& interface - ); - - - //- Destructor - virtual ~ArdenBuck(); - - - // Member Functions - - //- Saturation pressure - virtual tmp pSat(const volScalarField& T) const; - - //- Saturation pressure derivative w.r.t. temperature - virtual tmp pSatPrime(const volScalarField& T) const; - - //- Natural log of the saturation pressure - virtual tmp lnPSat(const volScalarField& T) const; - - //- Saturation temperature - virtual tmp Tsat(const volScalarField& p) const; -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace saturationModels -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/applications/solvers/modules/fluid/multiphaseEuler/interfacialCompositionModels/saturationModels/constantSaturationConditions/constantSaturationConditions.C b/applications/solvers/modules/fluid/multiphaseEuler/interfacialCompositionModels/saturationModels/constantSaturationConditions/constantSaturationConditions.C deleted file mode 100644 index 3d8f4467a8..0000000000 --- a/applications/solvers/modules/fluid/multiphaseEuler/interfacialCompositionModels/saturationModels/constantSaturationConditions/constantSaturationConditions.C +++ /dev/null @@ -1,130 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2015-2022 OpenFOAM Foundation - \\/ M anipulation | -------------------------------------------------------------------------------- -License - This file is part of OpenFOAM. - - OpenFOAM is free software: you can redistribute it and/or modify it - under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - OpenFOAM is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - for more details. - - You should have received a copy of the GNU General Public License - along with OpenFOAM. If not, see . - -\*---------------------------------------------------------------------------*/ - -#include "constantSaturationConditions.H" -#include "addToRunTimeSelectionTable.H" - -// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // - -namespace Foam -{ -namespace saturationModels -{ - defineTypeNameAndDebug(constantSaturationConditions, 0); - addToRunTimeSelectionTable - ( - saturationModel, - constantSaturationConditions, - dictionary - ); -} -} - - -// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // - -Foam::saturationModels::constantSaturationConditions:: -constantSaturationConditions -( - const dictionary& dict, - const phaseInterface& interface -) -: - saturationModel(dict, interface), - pSat_("pSat", dimPressure, dict), - Tsat_("Tsat", dimTemperature, dict) -{} - - -// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // - -Foam::saturationModels::constantSaturationConditions:: -~constantSaturationConditions() -{} - - -// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // - -Foam::tmp -Foam::saturationModels::constantSaturationConditions::pSat -( - const volScalarField& T -) const -{ - return volScalarField::New - ( - "pSat", - T.mesh(), - pSat_ - ); -} - - -Foam::tmp -Foam::saturationModels::constantSaturationConditions::pSatPrime -( - const volScalarField& T -) const -{ - return volScalarField::New - ( - "pSatPrime", - T.mesh(), - dimensionedScalar(dimPressure/dimTemperature, 0) - ); -} - - -Foam::tmp -Foam::saturationModels::constantSaturationConditions::lnPSat -( - const volScalarField& T -) const -{ - return volScalarField::New - ( - "lnPSat", - T.mesh(), - dimensionedScalar(dimless, log(pSat_.value())) - ); -} - - -Foam::tmp -Foam::saturationModels::constantSaturationConditions::Tsat -( - const volScalarField& p -) const -{ - return volScalarField::New - ( - "Tsat", - p.mesh(), - Tsat_ - ); -} - - -// ************************************************************************* // diff --git a/applications/solvers/modules/fluid/multiphaseEuler/interfacialCompositionModels/saturationModels/constantSaturationConditions/constantSaturationConditions.H b/applications/solvers/modules/fluid/multiphaseEuler/interfacialCompositionModels/saturationModels/constantSaturationConditions/constantSaturationConditions.H deleted file mode 100644 index 1f761e4307..0000000000 --- a/applications/solvers/modules/fluid/multiphaseEuler/interfacialCompositionModels/saturationModels/constantSaturationConditions/constantSaturationConditions.H +++ /dev/null @@ -1,111 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2015-2022 OpenFOAM Foundation - \\/ M anipulation | -------------------------------------------------------------------------------- -License - This file is part of OpenFOAM. - - OpenFOAM is free software: you can redistribute it and/or modify it - under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - OpenFOAM is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - for more details. - - You should have received a copy of the GNU General Public License - along with OpenFOAM. If not, see . - -Class - Foam::saturationModels::constantSaturationConditions - -Description - Constant saturation pressure and temperature. - -SourceFiles - constantSaturationConditions.C - -\*---------------------------------------------------------------------------*/ - -#ifndef constantSaturationConditions_H -#define constantSaturationConditions_H - -#include "saturationModel.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ -namespace saturationModels -{ - -/*---------------------------------------------------------------------------*\ - Class constantSaturationConditions Declaration -\*---------------------------------------------------------------------------*/ - -class constantSaturationConditions -: - public saturationModel -{ -protected: - - // Private Data - - //- Constant saturation pressure - dimensionedScalar pSat_; - - //- Constant saturation temperature - dimensionedScalar Tsat_; - - -public: - - //- Runtime type information - TypeName("constant"); - - - // Constructors - - //- Construct from a dictionary and an interface - constantSaturationConditions - ( - const dictionary& dict, - const phaseInterface& interface - ); - - - //- Destructor - virtual ~constantSaturationConditions(); - - - // Member Functions - - //- Saturation pressure - virtual tmp pSat(const volScalarField& T) const; - - //- Saturation pressure derivative w.r.t. temperature - virtual tmp pSatPrime(const volScalarField& T) const; - - //- Natural log of the saturation pressure - virtual tmp lnPSat(const volScalarField& T) const; - - //- Saturation temperature - virtual tmp Tsat(const volScalarField& p) const; -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace saturationModels -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/applications/solvers/modules/fluid/multiphaseEuler/interfacialCompositionModels/saturationModels/function1/function1.C b/applications/solvers/modules/fluid/multiphaseEuler/interfacialCompositionModels/saturationModels/function1/function1.C deleted file mode 100644 index 6f54b40006..0000000000 --- a/applications/solvers/modules/fluid/multiphaseEuler/interfacialCompositionModels/saturationModels/function1/function1.C +++ /dev/null @@ -1,136 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2017-2022 OpenFOAM Foundation - \\/ M anipulation | -------------------------------------------------------------------------------- -License - This file is part of OpenFOAM. - - OpenFOAM is free software: you can redistribute it and/or modify it - under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - OpenFOAM is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - for more details. - - You should have received a copy of the GNU General Public License - along with OpenFOAM. If not, see . - -\*---------------------------------------------------------------------------*/ - -#include "function1.H" -#include "addToRunTimeSelectionTable.H" - -// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // - -namespace Foam -{ -namespace saturationModels -{ - defineTypeNameAndDebug(function1, 0); - addToRunTimeSelectionTable(saturationModel, function1, dictionary); -} -} - - -// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // - -Foam::saturationModels::function1::function1 -( - const dictionary& dict, - const phaseInterface& interface -) -: - saturationModel(dict, interface), - function_(Function1::New("function", dict)) -{} - - -// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // - -Foam::saturationModels::function1::~function1() -{} - - -// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // - -Foam::tmp -Foam::saturationModels::function1::pSat -( - const volScalarField& T -) const -{ - NotImplemented; - return volScalarField::null(); -} - - -Foam::tmp -Foam::saturationModels::function1::pSatPrime -( - const volScalarField& T -) const -{ - NotImplemented; - return volScalarField::null(); -} - - -Foam::tmp -Foam::saturationModels::function1::lnPSat -( - const volScalarField& T -) const -{ - NotImplemented; - return volScalarField::null(); -} - - -Foam::tmp -Foam::saturationModels::function1::Tsat -( - const volScalarField& p -) const -{ - tmp tTsat - ( - volScalarField::New - ( - "Tsat", - p.mesh(), - dimensionedScalar(dimTemperature, 0) - ) - ); - - volScalarField& Tsat = tTsat.ref(); - - forAll(Tsat, celli) - { - Tsat[celli] = function_->value(p[celli]); - } - - volScalarField::Boundary& TsatBf = Tsat.boundaryFieldRef(); - - forAll(Tsat.boundaryField(), patchi) - { - scalarField& Tsatp = TsatBf[patchi]; - const scalarField& pp = p.boundaryField()[patchi]; - - forAll(Tsatp, facei) - { - Tsatp[facei] = function_->value(pp[facei]); - - } - } - - return tTsat; -} - - -// ************************************************************************* // diff --git a/applications/solvers/modules/fluid/multiphaseEuler/interfacialCompositionModels/saturationModels/function1/function1.H b/applications/solvers/modules/fluid/multiphaseEuler/interfacialCompositionModels/saturationModels/function1/function1.H deleted file mode 100644 index 11a51dd5fd..0000000000 --- a/applications/solvers/modules/fluid/multiphaseEuler/interfacialCompositionModels/saturationModels/function1/function1.H +++ /dev/null @@ -1,147 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2017-2022 OpenFOAM Foundation - \\/ M anipulation | -------------------------------------------------------------------------------- -License - This file is part of OpenFOAM. - - OpenFOAM is free software: you can redistribute it and/or modify it - under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - OpenFOAM is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - for more details. - - You should have received a copy of the GNU General Public License - along with OpenFOAM. If not, see . - -Class - Foam::saturationModels::function1 - -Description - Saturation vapour temperature in terms of - the vapour pressure (in Pa). The saturation temperature in Kelvins is - specified as a Foam::Function1 type, to enable use of, e.g. constant, - polynomial, table values. - - Currently this class only provides \f$T_sat\f$, the inverse function to - return the vapour pressure for a given temperature are not implemented. - - Examples: - - \verbatim - type function1; - function polynomial - ( - (308.0422 0) - (0.0015096 1) - (-1.61589e-8 2) - (1.114106e-13 3) - (-4.52216e-19 4) - (1.05192e-24 5) - (-1.2953e-30 6) - (6.5365e-37 7) - ) - \endverbatim - - \verbatim - type function1; - function table; - functionCoeffs - { - file "filename.csv"; - format csv; - nHeaderLine 1; - refColumn 0; - componentColumns (1); - separator ","; - mergeSeparators no; - outOfBounds clamp; - interpolationScheme linear; - }; - \endverbatim - -SourceFiles - function1.C - -\*---------------------------------------------------------------------------*/ - -#ifndef function1_H -#define function1_H - -#include "saturationModel.H" -#include "Function1.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ -namespace saturationModels -{ - -/*---------------------------------------------------------------------------*\ - Class function1 Declaration -\*---------------------------------------------------------------------------*/ - -class function1 -: - public saturationModel -{ - // Private Data - - //- Saturation temperature as a function of pressure - autoPtr> function_; - - -public: - - //- Runtime type information - TypeName("function1"); - - - // Constructors - - //- Construct from a dictionary and an interface - function1 - ( - const dictionary& dict, - const phaseInterface& interface - ); - - - //- Destructor - virtual ~function1(); - - - // Member Functions - - //- Saturation pressure - virtual tmp pSat(const volScalarField& T) const; - - //- Saturation pressure derivative w.r.t. temperature - virtual tmp pSatPrime(const volScalarField& T) const; - - //- Natural log of the saturation pressure - virtual tmp lnPSat(const volScalarField& T) const; - - //- Saturation temperature - virtual tmp Tsat(const volScalarField& p) const; -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace saturationModels -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/applications/solvers/modules/fluid/multiphaseEuler/interfacialCompositionModels/saturationModels/polynomial/polynomial.C b/applications/solvers/modules/fluid/multiphaseEuler/interfacialCompositionModels/saturationModels/polynomial/polynomial.C deleted file mode 100644 index e735e7f12f..0000000000 --- a/applications/solvers/modules/fluid/multiphaseEuler/interfacialCompositionModels/saturationModels/polynomial/polynomial.C +++ /dev/null @@ -1,135 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2015-2022 OpenFOAM Foundation - \\/ M anipulation | -------------------------------------------------------------------------------- -License - This file is part of OpenFOAM. - - OpenFOAM is free software: you can redistribute it and/or modify it - under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - OpenFOAM is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - for more details. - - You should have received a copy of the GNU General Public License - along with OpenFOAM. If not, see . - -\*---------------------------------------------------------------------------*/ - -#include "polynomial.H" -#include "addToRunTimeSelectionTable.H" - -// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // - -namespace Foam -{ -namespace saturationModels -{ - defineTypeNameAndDebug(polynomial, 0); - addToRunTimeSelectionTable(saturationModel, polynomial, dictionary); -} -} - - -// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // - -Foam::saturationModels::polynomial::polynomial -( - const dictionary& dict, - const phaseInterface& interface -) -: - saturationModel(dict, interface), - C_(dict.lookup("C<8>")) -{} - - -// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // - -Foam::saturationModels::polynomial::~polynomial() -{} - - -// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // - -Foam::tmp -Foam::saturationModels::polynomial::pSat -( - const volScalarField& T -) const -{ - NotImplemented; - return volScalarField::null(); -} - - -Foam::tmp -Foam::saturationModels::polynomial::pSatPrime -( - const volScalarField& T -) const -{ - NotImplemented; - return volScalarField::null(); -} - - -Foam::tmp -Foam::saturationModels::polynomial::lnPSat -( - const volScalarField& T -) const -{ - NotImplemented; - return volScalarField::null(); -} - - -Foam::tmp -Foam::saturationModels::polynomial::Tsat -( - const volScalarField& p -) const -{ - tmp tTsat - ( - volScalarField::New - ( - "Tsat", - p.mesh(), - dimensionedScalar(dimTemperature, 0) - ) - ); - - volScalarField& Tsat = tTsat.ref(); - - forAll(Tsat, celli) - { - Tsat[celli] = C_.value(p[celli]); - } - - volScalarField::Boundary& TsatBf = Tsat.boundaryFieldRef(); - - forAll(Tsat.boundaryField(), patchi) - { - scalarField& Tsatp = TsatBf[patchi]; - const scalarField& pp = p.boundaryField()[patchi]; - - forAll(Tsatp, facei) - { - Tsatp[facei] = C_.value(pp[facei]); - } - } - - return tTsat; -} - - -// ************************************************************************* // diff --git a/applications/solvers/modules/fluid/multiphaseEuler/interfacialCompositionModels/saturationModels/polynomial/polynomial.H b/applications/solvers/modules/fluid/multiphaseEuler/interfacialCompositionModels/saturationModels/polynomial/polynomial.H deleted file mode 100644 index d7204109a3..0000000000 --- a/applications/solvers/modules/fluid/multiphaseEuler/interfacialCompositionModels/saturationModels/polynomial/polynomial.H +++ /dev/null @@ -1,117 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2015-2022 OpenFOAM Foundation - \\/ M anipulation | -------------------------------------------------------------------------------- -License - This file is part of OpenFOAM. - - OpenFOAM is free software: you can redistribute it and/or modify it - under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - OpenFOAM is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - for more details. - - You should have received a copy of the GNU General Public License - along with OpenFOAM. If not, see . - -Class - Foam::saturationModels::polynomial - -Description - Polynomial equation for the saturation vapour temperature in terms of - the vapour pressure (in Pa). - - \f[ - T_sat = \sum_i C_i p^i - \f] - - where \f$p\f$ is the pressure in Pa and \f$C\f$ are the coefficients. - - Currently this class only provides \f$T_sat\f$, the inverse function to - return the vapour pressure for a given temperature are not implemented. - -SourceFiles - polynomial.C - -\*---------------------------------------------------------------------------*/ - -#ifndef polynomial_H -#define polynomial_H - -#include "saturationModel.H" -#include "Polynomial.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ -namespace saturationModels -{ - -/*---------------------------------------------------------------------------*\ - Class polynomial Declaration -\*---------------------------------------------------------------------------*/ - -class polynomial -: - public saturationModel -{ - // Private Data - - //- Polynomial coefficients - Polynomial<8> C_; - - -public: - - //- Runtime type information - TypeName("polynomial"); - - - // Constructors - - //- Construct from a dictionary and an interface - polynomial - ( - const dictionary& dict, - const phaseInterface& interface - ); - - - //- Destructor - virtual ~polynomial(); - - - // Member Functions - - //- Saturation pressure - virtual tmp pSat(const volScalarField& T) const; - - //- Saturation pressure derivative w.r.t. temperature - virtual tmp pSatPrime(const volScalarField& T) const; - - //- Natural log of the saturation pressure - virtual tmp lnPSat(const volScalarField& T) const; - - //- Saturation temperature - virtual tmp Tsat(const volScalarField& p) const; -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace saturationModels -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/applications/solvers/modules/fluid/multiphaseEuler/multiphaseCompressibleMomentumTransportModels/Make/options b/applications/solvers/modules/fluid/multiphaseEuler/multiphaseCompressibleMomentumTransportModels/Make/options index 289af49e9f..8140d4a51c 100644 --- a/applications/solvers/modules/fluid/multiphaseEuler/multiphaseCompressibleMomentumTransportModels/Make/options +++ b/applications/solvers/modules/fluid/multiphaseEuler/multiphaseCompressibleMomentumTransportModels/Make/options @@ -6,6 +6,7 @@ EXE_INC = \ -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/specie/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/multicomponentThermo/lnInclude \ + -I$(LIB_SRC)/thermophysicalModels/saturationModels/lnInclude \ -I$(LIB_SRC)/MomentumTransportModels/momentumTransportModels/lnInclude \ -I$(LIB_SRC)/MomentumTransportModels/compressible/lnInclude \ -I$(LIB_SRC)/MomentumTransportModels/phaseCompressible/lnInclude \ diff --git a/applications/solvers/modules/fluid/multiphaseEuler/multiphaseEuler/multiphaseSystems/Make/options b/applications/solvers/modules/fluid/multiphaseEuler/multiphaseEuler/multiphaseSystems/Make/options index 8f1fed536a..d56e86b67d 100644 --- a/applications/solvers/modules/fluid/multiphaseEuler/multiphaseEuler/multiphaseSystems/Make/options +++ b/applications/solvers/modules/fluid/multiphaseEuler/multiphaseEuler/multiphaseSystems/Make/options @@ -8,6 +8,7 @@ EXE_INC = \ -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/specie/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/multicomponentThermo/lnInclude \ + -I$(LIB_SRC)/thermophysicalModels/saturationModels/lnInclude \ -I$(LIB_SRC)/MomentumTransportModels/momentumTransportModels/lnInclude \ -I$(LIB_SRC)/MomentumTransportModels/compressible/lnInclude \ -I$(LIB_SRC)/MomentumTransportModels/phaseCompressible/lnInclude \ diff --git a/applications/solvers/modules/fluid/multiphaseEuler/multiphaseThermophysicalTransportModels/derivedFvPatchFields/alphatWallBoilingWallFunction/alphatWallBoilingWallFunctionFvPatchScalarField.C b/applications/solvers/modules/fluid/multiphaseEuler/multiphaseThermophysicalTransportModels/derivedFvPatchFields/alphatWallBoilingWallFunction/alphatWallBoilingWallFunctionFvPatchScalarField.C index 87f247b3e1..f47b614bfd 100644 --- a/applications/solvers/modules/fluid/multiphaseEuler/multiphaseThermophysicalTransportModels/derivedFvPatchFields/alphatWallBoilingWallFunction/alphatWallBoilingWallFunctionFvPatchScalarField.C +++ b/applications/solvers/modules/fluid/multiphaseEuler/multiphaseThermophysicalTransportModels/derivedFvPatchFields/alphatWallBoilingWallFunction/alphatWallBoilingWallFunctionFvPatchScalarField.C @@ -28,7 +28,7 @@ License #include "heatTransferPhaseSystem.H" #include "compressibleMomentumTransportModels.H" #include "phaseCompressibleMomentumTransportModel.H" -#include "saturationModel.H" +#include "interfaceSaturationTemperatureModel.H" #include "rhoMulticomponentThermo.H" #include "addToRunTimeSelectionTable.H" @@ -389,7 +389,13 @@ void alphatWallBoilingWallFunctionFvPatchScalarField::updateCoeffs() const phaseInterface interface(vapor, liquid); - if (fluid.foundInterfacialModel(interface)) + if + ( + fluid.foundInterfacialModel + < + interfaceSaturationTemperatureModel + >(interface) + ) { // Retrieve turbulence properties from models const phaseCompressible::momentumTransportModel& turbModel @@ -462,8 +468,11 @@ void alphatWallBoilingWallFunctionFvPatchScalarField::updateCoeffs() const scalarField Cpw(lThermo.Cp(Tw, patchi)); // Saturation temperature - const saturationModel& satModel = - fluid.lookupInterfacialModel(interface); + const interfaceSaturationTemperatureModel& satModel = + fluid.lookupInterfacialModel + < + interfaceSaturationTemperatureModel + >(interface); const tmp tTsat = satModel.Tsat(lThermo.p()); const volScalarField& Tsat = tTsat(); const fvPatchScalarField& Tsatw(Tsat.boundaryField()[patchi]); diff --git a/applications/solvers/modules/fluid/multiphaseEuler/phaseSystems/Make/options b/applications/solvers/modules/fluid/multiphaseEuler/phaseSystems/Make/options index 777a9a7a8c..14aa36611e 100644 --- a/applications/solvers/modules/fluid/multiphaseEuler/phaseSystems/Make/options +++ b/applications/solvers/modules/fluid/multiphaseEuler/phaseSystems/Make/options @@ -8,6 +8,7 @@ EXE_INC = \ -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/specie/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/multicomponentThermo/lnInclude \ + -I$(LIB_SRC)/thermophysicalModels/saturationModels/lnInclude \ -I$(LIB_SRC)/MomentumTransportModels/momentumTransportModels/lnInclude \ -I$(LIB_SRC)/MomentumTransportModels/compressible/lnInclude \ -I$(LIB_SRC)/MomentumTransportModels/phaseCompressible/lnInclude \ diff --git a/applications/solvers/modules/fluid/multiphaseEuler/phaseSystems/PhaseSystems/ThermalPhaseChangePhaseSystem/ThermalPhaseChangePhaseSystem.C b/applications/solvers/modules/fluid/multiphaseEuler/phaseSystems/PhaseSystems/ThermalPhaseChangePhaseSystem/ThermalPhaseChangePhaseSystem.C index 2abcf2510e..cdebcae3e7 100644 --- a/applications/solvers/modules/fluid/multiphaseEuler/phaseSystems/PhaseSystems/ThermalPhaseChangePhaseSystem/ThermalPhaseChangePhaseSystem.C +++ b/applications/solvers/modules/fluid/multiphaseEuler/phaseSystems/PhaseSystems/ThermalPhaseChangePhaseSystem/ThermalPhaseChangePhaseSystem.C @@ -87,7 +87,10 @@ ThermalPhaseChangePhaseSystem const phaseModel& phase1 = interface.phase1(); const phaseModel& phase2 = interface.phase2(); - this->template validateMassTransfer(interface); + this->template validateMassTransfer + < + interfaceSaturationTemperatureModel + >(interface); if ( @@ -218,7 +221,7 @@ Foam::ThermalPhaseChangePhaseSystem:: // * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * * // template -const Foam::saturationModel& +const Foam::interfaceSaturationTemperatureModel& Foam::ThermalPhaseChangePhaseSystem::saturation ( const phaseInterfaceKey& key @@ -329,7 +332,8 @@ Foam::ThermalPhaseChangePhaseSystem::heatTransfer() const forAllConstIter(phaseSystem::dmdtfTable, nDmdtfs_, nDmdtfIter) { const phaseInterface interface(*this, nDmdtfIter.key()); - const saturationModel& satModel = this->saturation(nDmdtfIter.key()); + const interfaceSaturationTemperatureModel& satModel = + this->saturation(nDmdtfIter.key()); Tns.insert ( diff --git a/applications/solvers/modules/fluid/multiphaseEuler/phaseSystems/PhaseSystems/ThermalPhaseChangePhaseSystem/ThermalPhaseChangePhaseSystem.H b/applications/solvers/modules/fluid/multiphaseEuler/phaseSystems/PhaseSystems/ThermalPhaseChangePhaseSystem/ThermalPhaseChangePhaseSystem.H index 4fd105b196..2663abcc85 100644 --- a/applications/solvers/modules/fluid/multiphaseEuler/phaseSystems/PhaseSystems/ThermalPhaseChangePhaseSystem/ThermalPhaseChangePhaseSystem.H +++ b/applications/solvers/modules/fluid/multiphaseEuler/phaseSystems/PhaseSystems/ThermalPhaseChangePhaseSystem/ThermalPhaseChangePhaseSystem.H @@ -59,7 +59,7 @@ SourceFiles #define ThermalPhaseChangePhaseSystem_H #include "phaseSystem.H" -#include "saturationModel.H" +#include "interfaceSaturationTemperatureModel.H" #include "Switch.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -80,7 +80,7 @@ class ThermalPhaseChangePhaseSystem typedef HashTable < - autoPtr, + autoPtr, phaseInterfaceKey, phaseInterfaceKey::hash > saturationModelTable; @@ -141,8 +141,11 @@ public: // Member Functions - //- Return the saturationModel - const saturationModel& saturation(const phaseInterfaceKey& key) const; + //- Return the saturation temperature model for an interface + const interfaceSaturationTemperatureModel& saturation + ( + const phaseInterfaceKey& key + ) const; //- Return the mass transfer rate for an interface virtual tmp dmdtf(const phaseInterfaceKey& key) const; diff --git a/applications/solvers/modules/fluid/multiphaseEuler/phaseSystems/diameterModels/linearTsubDiameter/linearTsubDiameter.C b/applications/solvers/modules/fluid/multiphaseEuler/phaseSystems/diameterModels/linearTsubDiameter/linearTsubDiameter.C index b1909a92cd..526939ff66 100644 --- a/applications/solvers/modules/fluid/multiphaseEuler/phaseSystems/diameterModels/linearTsubDiameter/linearTsubDiameter.C +++ b/applications/solvers/modules/fluid/multiphaseEuler/phaseSystems/diameterModels/linearTsubDiameter/linearTsubDiameter.C @@ -25,7 +25,7 @@ License #include "linearTsubDiameter.H" #include "phaseSystem.H" -#include "saturationModel.H" +#include "interfaceSaturationTemperatureModel.H" #include "addToRunTimeSelectionTable.H" // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // @@ -103,10 +103,19 @@ void Foam::diameterModels::linearTsub::correct() const phaseModel& liquid = fluid.phases()[liquidPhaseName_]; const phaseInterface interface(phase(), liquid); - if (fluid.foundInterfacialModel(interface)) + if + ( + fluid.foundInterfacialModel + < + interfaceSaturationTemperatureModel + >(interface) + ) { - const saturationModel& satModel = - fluid.lookupInterfacialModel(interface); + const interfaceSaturationTemperatureModel& satModel = + fluid.lookupInterfacialModel + < + interfaceSaturationTemperatureModel + >(interface); const volScalarField Tsub ( diff --git a/test/multiphase/multiphaseEuler/interfaceComposition/waterAndIsopropanolEvaporation/constant/phaseProperties b/test/multiphase/multiphaseEuler/interfaceComposition/waterAndIsopropanolEvaporation/constant/phaseProperties index 8f6ff2294a..3c8bbbdd9f 100644 --- a/test/multiphase/multiphaseEuler/interfaceComposition/waterAndIsopropanolEvaporation/constant/phaseProperties +++ b/test/multiphase/multiphaseEuler/interfaceComposition/waterAndIsopropanolEvaporation/constant/phaseProperties @@ -82,10 +82,7 @@ interfaceComposition type saturated; species (H2O); Le 1.0; - saturationPressure - { - type ArdenBuck; - } + pSat ArdenBuck; } C3H8O { @@ -101,7 +98,7 @@ interfaceComposition type saturated; species (C3H8O); Le 1.0; - saturationPressure + pSat { type Antoine; A 22.7057916; diff --git a/test/multiphase/multiphaseEuler/interfaceComposition/waterEvaporation/constant/phaseProperties b/test/multiphase/multiphaseEuler/interfaceComposition/waterEvaporation/constant/phaseProperties index 3d2b27cdbd..c8b38c42e4 100644 --- a/test/multiphase/multiphaseEuler/interfaceComposition/waterEvaporation/constant/phaseProperties +++ b/test/multiphase/multiphaseEuler/interfaceComposition/waterEvaporation/constant/phaseProperties @@ -67,10 +67,7 @@ interfaceComposition type saturated; species ( H2O ); Le 1.0; - saturationPressure - { - type ArdenBuck; - } + pSat ArdenBuck; } } diff --git a/test/multiphase/multiphaseEuler/thermal/waterEvaporation/constant/phaseProperties b/test/multiphase/multiphaseEuler/thermal/waterEvaporation/constant/phaseProperties index 035fb45b1f..c03b4d0d58 100644 --- a/test/multiphase/multiphaseEuler/thermal/waterEvaporation/constant/phaseProperties +++ b/test/multiphase/multiphaseEuler/thermal/waterEvaporation/constant/phaseProperties @@ -54,13 +54,12 @@ surfaceTension } } -saturation +saturationTemperature { steam_water { - type constant; - pSat 1e5; - Tsat 372.76; + type constant; + value 372.76; } } diff --git a/tutorials/modules/CHT/wallBoiling/constant/fluid/phaseProperties b/tutorials/modules/CHT/wallBoiling/constant/fluid/phaseProperties index d6c425e453..7b2c30a5ae 100644 --- a/tutorials/modules/CHT/wallBoiling/constant/fluid/phaseProperties +++ b/tutorials/modules/CHT/wallBoiling/constant/fluid/phaseProperties @@ -126,7 +126,7 @@ blending } } -saturation +saturationTemperature { gas_liquid { diff --git a/tutorials/modules/multiphaseEuler/bubbleColumnEvaporating/constant/phaseProperties b/tutorials/modules/multiphaseEuler/bubbleColumnEvaporating/constant/phaseProperties index f23a379909..cfb3c1d7ba 100644 --- a/tutorials/modules/multiphaseEuler/bubbleColumnEvaporating/constant/phaseProperties +++ b/tutorials/modules/multiphaseEuler/bubbleColumnEvaporating/constant/phaseProperties @@ -115,10 +115,7 @@ interfaceComposition type saturated; species ( H2O ); Le 1.0; - saturationPressure - { - type ArdenBuck; - } + pSat ArdenBuck; } } diff --git a/tutorials/modules/multiphaseEuler/bubbleColumnEvaporatingDissolving/constant/phaseProperties b/tutorials/modules/multiphaseEuler/bubbleColumnEvaporatingDissolving/constant/phaseProperties index 07994af489..427b311500 100644 --- a/tutorials/modules/multiphaseEuler/bubbleColumnEvaporatingDissolving/constant/phaseProperties +++ b/tutorials/modules/multiphaseEuler/bubbleColumnEvaporatingDissolving/constant/phaseProperties @@ -115,10 +115,7 @@ interfaceComposition type saturated; species ( water ); Le 1.0; - saturationPressure - { - type ArdenBuck; - } + pSat ArdenBuck; } gas_liquid_inThe_liquid diff --git a/tutorials/modules/multiphaseEuler/bubbleColumnEvaporatingReacting/constant/phaseProperties b/tutorials/modules/multiphaseEuler/bubbleColumnEvaporatingReacting/constant/phaseProperties index 99c6352978..8bce152bca 100644 --- a/tutorials/modules/multiphaseEuler/bubbleColumnEvaporatingReacting/constant/phaseProperties +++ b/tutorials/modules/multiphaseEuler/bubbleColumnEvaporatingReacting/constant/phaseProperties @@ -115,10 +115,7 @@ interfaceComposition type saturated; species ( H2O ); Le 1.0; - saturationPressure - { - type ArdenBuck; - } + pSat ArdenBuck; } } diff --git a/tutorials/modules/multiphaseEuler/steamInjection/constant/phaseProperties b/tutorials/modules/multiphaseEuler/steamInjection/constant/phaseProperties index 9ca09d0cda..c5c9838457 100644 --- a/tutorials/modules/multiphaseEuler/steamInjection/constant/phaseProperties +++ b/tutorials/modules/multiphaseEuler/steamInjection/constant/phaseProperties @@ -59,13 +59,12 @@ surfaceTension } } -saturation +saturationTemperature { steam_water { - type constant; - pSat 1e5; - Tsat 372.76; + type constant; + value 372.76; } } diff --git a/tutorials/modules/multiphaseEuler/wallBoilingIATE/constant/phaseProperties b/tutorials/modules/multiphaseEuler/wallBoilingIATE/constant/phaseProperties index a512ec8673..7949788e52 100644 --- a/tutorials/modules/multiphaseEuler/wallBoilingIATE/constant/phaseProperties +++ b/tutorials/modules/multiphaseEuler/wallBoilingIATE/constant/phaseProperties @@ -163,7 +163,7 @@ blending } } -saturation +saturationTemperature { gas_liquid { diff --git a/tutorials/modules/multiphaseEuler/wallBoilingPolydisperse/constant/phaseProperties b/tutorials/modules/multiphaseEuler/wallBoilingPolydisperse/constant/phaseProperties index 50d4c8cdbe..62a20c6e00 100644 --- a/tutorials/modules/multiphaseEuler/wallBoilingPolydisperse/constant/phaseProperties +++ b/tutorials/modules/multiphaseEuler/wallBoilingPolydisperse/constant/phaseProperties @@ -209,7 +209,7 @@ blending } } -saturation +saturationTemperature { gas_liquid { diff --git a/tutorials/modules/multiphaseEuler/wallBoilingPolydisperseTwoGroups/constant/phaseProperties b/tutorials/modules/multiphaseEuler/wallBoilingPolydisperseTwoGroups/constant/phaseProperties index 1c595d384b..025b93c3b2 100644 --- a/tutorials/modules/multiphaseEuler/wallBoilingPolydisperseTwoGroups/constant/phaseProperties +++ b/tutorials/modules/multiphaseEuler/wallBoilingPolydisperseTwoGroups/constant/phaseProperties @@ -273,7 +273,7 @@ blending } } -saturation +saturationTemperature { gas_liquid {