From 1b80fd35e48d30502eab12227055b04bafe3ef1d Mon Sep 17 00:00:00 2001 From: Will Bainbridge Date: Tue, 31 Jan 2023 14:38:39 +0000 Subject: [PATCH] functionObjects: Simplification of moleFractions, and new massFractions function The moleFractions function has been simplified and generalised. It no longer needs to execute on construction, as function objects now have the ability to execute at the start of a simulation. It can also now construct a thermo model if none exists, simplifying its use as a post processing operation. A packaged function has been provided, so that all that is needed to execute the function is the following setting in the functions section of the system/controlDict: #includeFunc moleFractions Alternatively, it can be executed on the command line as follows: foamPostProcess -func moleFractions A new massFractions function has also been added which converts mole fraction fields (e.g., X_CH4, X_O2, etc...), or moles fields (n_CH4, n_O2, etc...) to the corresponding mass fraction fields. This function, by contrast to the moleFractions function described above, should not be used at run-time. It should only be used to initialise a simulation in which molar data is known and needs converting to mass-fractions. If at the point of execution a thermo model exists, or mass-fraction fields are found on disk, then this function will exit with an error rather than invalidating the existing mass-fraction data. Packaging is provided that allows the function to be executed to initialise a case as follows: foamPostProcess -func massFractions --- .../postProcessing/fields/massFractions | 20 ++ .../postProcessing/fields/moleFractions | 20 ++ .../multicomponentThermo/Make/files | 3 +- .../massFractions/massFractions.C | 251 ++++++++++++++++++ .../massFractions/massFractions.H | 138 ++++++++++ .../moleFractions/moleFractions.C | 142 +++++----- .../moleFractions/moleFractions.H | 52 +--- .../moleFractionsFunctionObjects.C | 63 ----- .../moleFractionsFunctionObjects.H | 64 ----- 9 files changed, 504 insertions(+), 249 deletions(-) create mode 100644 etc/caseDicts/postProcessing/fields/massFractions create mode 100644 etc/caseDicts/postProcessing/fields/moleFractions create mode 100644 src/thermophysicalModels/multicomponentThermo/functionObjects/massFractions/massFractions.C create mode 100644 src/thermophysicalModels/multicomponentThermo/functionObjects/massFractions/massFractions.H delete mode 100644 src/thermophysicalModels/multicomponentThermo/functionObjects/moleFractions/moleFractionsFunctionObjects.C delete mode 100644 src/thermophysicalModels/multicomponentThermo/functionObjects/moleFractions/moleFractionsFunctionObjects.H diff --git a/etc/caseDicts/postProcessing/fields/massFractions b/etc/caseDicts/postProcessing/fields/massFractions new file mode 100644 index 0000000000..e5486bd677 --- /dev/null +++ b/etc/caseDicts/postProcessing/fields/massFractions @@ -0,0 +1,20 @@ +/*--------------------------------*- C++ -*----------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | Website: https://openfoam.org + \\ / A nd | Version: dev + \\/ M anipulation | +------------------------------------------------------------------------------- +Description + Calculates mass-fraction fields from mole-fraction fields, or moles fields, + and a multicomponent thermo. + +\*---------------------------------------------------------------------------*/ + +type massFractions; +libs ("libmulticomponentThermophysicalModels.so"); + +executeControl writeTime; +writeControl writeTime; + +// ************************************************************************* // diff --git a/etc/caseDicts/postProcessing/fields/moleFractions b/etc/caseDicts/postProcessing/fields/moleFractions new file mode 100644 index 0000000000..e6d157e1ea --- /dev/null +++ b/etc/caseDicts/postProcessing/fields/moleFractions @@ -0,0 +1,20 @@ +/*--------------------------------*- C++ -*----------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | Website: https://openfoam.org + \\ / A nd | Version: dev + \\/ M anipulation | +------------------------------------------------------------------------------- +Description + Calculates mole-fraction fields from the mass-fraction fields of a + multicomponent thermo. + +\*---------------------------------------------------------------------------*/ + +type moleFractions; +libs ("libmulticomponentThermophysicalModels.so"); + +executeControl writeTime; +writeControl writeTime; + +// ************************************************************************* // diff --git a/src/thermophysicalModels/multicomponentThermo/Make/files b/src/thermophysicalModels/multicomponentThermo/Make/files index c107dbd4bc..a1ff0a4902 100644 --- a/src/thermophysicalModels/multicomponentThermo/Make/files +++ b/src/thermophysicalModels/multicomponentThermo/Make/files @@ -16,6 +16,7 @@ derivedFvPatchFields/fixedUnburntEnthalpy/fixedUnburntEnthalpyFvPatchScalarField derivedFvPatchFields/gradientUnburntEnthalpy/gradientUnburntEnthalpyFvPatchScalarField.C derivedFvPatchFields/mixedUnburntEnthalpy/mixedUnburntEnthalpyFvPatchScalarField.C -functionObjects/moleFractions/moleFractionsFunctionObjects.C +functionObjects/moleFractions/moleFractions.C +functionObjects/massFractions/massFractions.C LIB = $(FOAM_LIBBIN)/libmulticomponentThermophysicalModels diff --git a/src/thermophysicalModels/multicomponentThermo/functionObjects/massFractions/massFractions.C b/src/thermophysicalModels/multicomponentThermo/functionObjects/massFractions/massFractions.C new file mode 100644 index 0000000000..2210913dfa --- /dev/null +++ b/src/thermophysicalModels/multicomponentThermo/functionObjects/massFractions/massFractions.C @@ -0,0 +1,251 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | Website: https://openfoam.org + \\ / A nd | Copyright (C) 2023 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 "massFractions.H" +#include "fluidMulticomponentThermo.H" +#include "addToRunTimeSelectionTable.H" + +// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // + +namespace Foam +{ +namespace functionObjects +{ + defineTypeNameAndDebug(massFractions, 0); + addToRunTimeSelectionTable(functionObject, massFractions, dictionary); +} +} + + +// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // + +Foam::functionObjects::massFractions::massFractions +( + const word& name, + const Time& runTime, + const dictionary& dict +) +: + fvMeshFunctionObject(name, runTime, dict), + phaseName_(dict.lookupOrDefault("phase", word::null)), + Y_() +{} + + +// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // + +Foam::functionObjects::massFractions::~massFractions() +{} + + +// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // + +bool Foam::functionObjects::massFractions::read(const dictionary& dict) +{ + return true; +} + + +bool Foam::functionObjects::massFractions::execute() +{ + // A multicomponent thermo should not exist for this context, as the + // following would create a different, inconsistent definition of the + // composition of an existing thermo model + const word thermoName = + IOobject::groupName(physicalProperties::typeName, phaseName_); + if (mesh_.foundObject(thermoName)) + { + FatalErrorInFunction + << "Cannot create mass fractions. Mass fractions already exist " + << "within the multicomponent thermo model, \"" << thermoName + << "\"." << exit(FatalError); + } + + // Read Ydefault if it exists + typeIOobject YdefaultIo + ( + "Ydefault", + time_.name(), + mesh_, + IOobject::READ_IF_PRESENT, + IOobject::NO_WRITE, + false + ); + const bool YdefaultIoExists = YdefaultIo.headerOk(); + const volScalarField Ydefault + ( + YdefaultIo, + mesh_, + dimensionedScalar(dimless, 0) + ); + + // Back up Ydefault if it exists + if (YdefaultIoExists) + { + fileHandler().cp + ( + YdefaultIo.filePath(), + YdefaultIo.path(false)/"molesToMassFractions:" + YdefaultIo.name() + ); + } + + // Write Ydefault out again, but limited to a value of small. This prevents + // errors in construction of the thermo if no non-default fractions exist + { + volScalarField YdefaultLim(Ydefault); + YdefaultLim.max(small); + YdefaultLim.write(); + } + + // Construct a multicomponent thermo + autoPtr thermoPtr = + fluidMulticomponentThermo::New(mesh_); + fluidMulticomponentThermo& thermo = thermoPtr(); + const PtrList& Y = thermo.composition().Y(); + + // Restore the original Ydefault if it exists, and create a new Ydefault if + // it does not + if (YdefaultIoExists) + { + fileHandler().mv + ( + YdefaultIo.path(false)/"molesToMassFractions:" + YdefaultIo.name(), + YdefaultIo.filePath() + ); + } + else + { + Ydefault.write(); + } + + // One-mole constant for conversions + static const dimensionedScalar oneMole(dimMoles, 1); + + // Construct lists of specie molar mass, fields of specie mass, and a field + // of total mass + List W(Y.size()); + PtrList m(Y.size()); + volScalarField mTotal + ( + IOobject("mTotal", time_.name(), mesh_), + mesh_, + dimensionedScalar(dimMass, 0) + ); + bool fromMoleFractions = false, fromMoles = false; + forAll(Y, i) + { + W[i].dimensions().reset(dimMass/dimMoles); + W[i].value() = thermo.composition().Wi(i); + + typeIOobject YIo + ( + Y[i].name(), + time_.name(), + mesh_, + IOobject::MUST_READ + ); + typeIOobject XIo + ( + "X_" + Y[i].name(), + time_.name(), + mesh_, + IOobject::MUST_READ + ); + typeIOobject nIo + ( + "n_" + Y[i].name(), + time_.name(), + mesh_, + IOobject::MUST_READ + ); + + // Check consistency of input + if (YIo.headerOk()) + { + FatalErrorInFunction + << "Mass fraction field " << YIo.name() + << " already exists on disk" << exit(FatalError); + } + fromMoleFractions = fromMoleFractions || XIo.headerOk(); + fromMoles = fromMoles || nIo.headerOk(); + if (fromMoleFractions && fromMoles) + { + FatalErrorInFunction + << "Mole fraction fields and moles fields " + << " both found on disk" + << exit(FatalError); + } + + // Sum the contributions + if (XIo.headerOk()) + { + m.set(i, W[i]*oneMole*volScalarField(XIo, mesh_)); + } + if (nIo.headerOk()) + { + m.set(i, W[i]*volScalarField(nIo, mesh_)); + } + if (XIo.headerOk() || nIo.headerOk()) + { + mTotal += m[i]; + } + } + + // Steal the thermo's mass fraction fields and delete the thermo + Y_.transfer(thermo.composition().Y()); + thermoPtr.clear(); + + // Divide the specie masses by the total mass to get the mass fractions + forAll(Y_, i) + { + if (m.set(i)) + { + Y_[i] == m[i]/mTotal; + } + else + { + Y_.set(i, nullptr); + } + } + + return true; +} + + +bool Foam::functionObjects::massFractions::write() +{ + forAll(Y_, i) + { + if (Y_.set(i)) + { + Y_[i].write(); + } + } + + return true; +} + + +// ************************************************************************* // diff --git a/src/thermophysicalModels/multicomponentThermo/functionObjects/massFractions/massFractions.H b/src/thermophysicalModels/multicomponentThermo/functionObjects/massFractions/massFractions.H new file mode 100644 index 0000000000..3b0a6d249b --- /dev/null +++ b/src/thermophysicalModels/multicomponentThermo/functionObjects/massFractions/massFractions.H @@ -0,0 +1,138 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | Website: https://openfoam.org + \\ / A nd | Copyright (C) 2023 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::functionObjects::massFractions + +Description + This function object calculates mass-fraction fields from mole-fraction or + moles fields present on disk. This is intended to be used for + initialisation where mole-fractions are known. If any mass fraction fields + are found (other than Ydefault) then an error will be generated and the + fields will not be overwritten. The names of the mole-fraction fields are + obtained from the corresponding mass-fraction fields prepended by "X_", and + the moles fields are prepended by "n_". Either mole-fraction fields or + moles fields should be present, not both. + + Example of function object specification: + \verbatim + massFractions + { + type massFractions; + } + \endverbatim + + Optionally, the name of the phase can be specified for multiphase cases. + +See also + Foam::functionObjects::fvMeshFunctionObject + +SourceFiles + massFractions.C + +\*---------------------------------------------------------------------------*/ + +#ifndef functionObjects_massFractions_H +#define functionObjects_massFractions_H + +#include "fvMeshFunctionObject.H" +#include "volFieldsFwd.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +namespace Foam +{ +namespace functionObjects +{ + +/*---------------------------------------------------------------------------*\ + Class massFractions Declaration +\*---------------------------------------------------------------------------*/ + +class massFractions +: + public functionObjects::fvMeshFunctionObject +{ + // Private Data + + //- Optional phase name + word phaseName_; + + //- Species mass fractions + PtrList Y_; + + +public: + + //- Runtime type information + TypeName("massFractions"); + + + // Constructors + + //- Construct from Time and dictionary + massFractions(const word& name, const Time& t, const dictionary& dict); + + //- Disallow default bitwise copy construction + massFractions(const massFractions&) = delete; + + + //- Destructor + virtual ~massFractions(); + + + // Member Functions + + //- Read the massFractions data + virtual bool read(const dictionary&); + + //- Return the list of fields required + virtual wordList fields() const + { + return wordList::null(); + } + + //- Calculate the mass-fraction fields + virtual bool execute(); + + //- The mass-fraction fields auto-write + virtual bool write(); + + + // Member Operators + + //- Disallow default bitwise assignment + void operator=(const massFractions&) = delete; +}; + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +} // End namespace functionObjects +} // End namespace Foam + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#endif + +// ************************************************************************* // diff --git a/src/thermophysicalModels/multicomponentThermo/functionObjects/moleFractions/moleFractions.C b/src/thermophysicalModels/multicomponentThermo/functionObjects/moleFractions/moleFractions.C index a9a0054d8a..ced413272a 100644 --- a/src/thermophysicalModels/multicomponentThermo/functionObjects/moleFractions/moleFractions.C +++ b/src/thermophysicalModels/multicomponentThermo/functionObjects/moleFractions/moleFractions.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2016-2022 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2016-2023 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -24,41 +24,24 @@ License \*---------------------------------------------------------------------------*/ #include "moleFractions.H" -#include "basicThermo.H" +#include "fluidMulticomponentThermo.H" +#include "addToRunTimeSelectionTable.H" -// * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * // +// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // -template -void Foam::moleFractions::calculateMoleFractions() +namespace Foam { - const ThermoType& thermo = - mesh_.lookupObject - ( - IOobject::groupName(physicalProperties::typeName, phaseName_) - ); - - const PtrList& Y = thermo.composition().Y(); - - const volScalarField W(thermo.W()); - - forAll(Y, i) - { - const dimensionedScalar Wi - ( - "Wi", - dimMass/dimMoles, - thermo.composition().Wi(i) - ); - - X_[i] = W*Y[i]/Wi; - } +namespace functionObjects +{ + defineTypeNameAndDebug(moleFractions, 0); + addToRunTimeSelectionTable(functionObject, moleFractions, dictionary); +} } // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // -template -Foam::moleFractions::moleFractions +Foam::functionObjects::moleFractions::moleFractions ( const word& name, const Time& runTime, @@ -66,19 +49,45 @@ Foam::moleFractions::moleFractions ) : fvMeshFunctionObject(name, runTime, dict), - phaseName_(dict.lookupOrDefault("phase", word::null)) + phaseName_(dict.lookupOrDefault("phase", word::null)), + X_() +{} + + +// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // + +Foam::functionObjects::moleFractions::~moleFractions() +{} + + +// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // + +bool Foam::functionObjects::moleFractions::read(const dictionary& dict) { - const word dictName + return true; +} + + +bool Foam::functionObjects::moleFractions::execute() +{ + // Lookup or construct a multicomponent thermo. Lookup is likely to be + // appropriate if this is being used at run-time. Construction if this is + // being called as a one-off post-process. + const word thermoName = + IOobject::groupName(physicalProperties::typeName, phaseName_); + autoPtr thermoPtr ( - IOobject::groupName(physicalProperties::typeName, phaseName_) + mesh_.foundObject(thermoName) + ? autoPtr(nullptr) + : fluidMulticomponentThermo::New(mesh_) ); + const fluidMulticomponentThermo& thermo = + mesh_.lookupObject(thermoName); - if (mesh_.foundObject(dictName)) + // Construct mole fraction fields corresponding to the mass fraction fields + const PtrList& Y = thermo.composition().Y(); + if (X_.empty()) { - const ThermoType& thermo = mesh_.lookupObject(dictName); - - const PtrList& Y = thermo.composition().Y(); - X_.setSize(Y.size()); forAll(Y, i) @@ -99,60 +108,29 @@ Foam::moleFractions::moleFractions ) ); } - - calculateMoleFractions(); } - else + + // Get the mixture molar mass + const volScalarField W(thermo.W()); + + // Calculate the mole fractions + forAll(Y, i) { - if (phaseName_ != word::null) - { - FatalErrorInFunction - << "Cannot find thermodynamics model of type " - << ThermoType::typeName - << " for phase " - << phaseName_ - << exit(FatalError); - } - else - { - FatalErrorInFunction - << "Cannot find thermodynamics model of type " - << ThermoType::typeName - << exit(FatalError); - } + const dimensionedScalar Wi + ( + "Wi", + dimMass/dimMoles, + thermo.composition().Wi(i) + ); + + X_[i] = Y[i]*W/Wi; } -} - -// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // - -template -Foam::moleFractions::~moleFractions() -{} - - -// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // - -template -bool Foam::moleFractions::read -( - const dictionary& dict -) -{ return true; } -template -bool Foam::moleFractions::execute() -{ - calculateMoleFractions(); - return true; -} - - -template -bool Foam::moleFractions::write() +bool Foam::functionObjects::moleFractions::write() { forAll(X_, i) { diff --git a/src/thermophysicalModels/multicomponentThermo/functionObjects/moleFractions/moleFractions.H b/src/thermophysicalModels/multicomponentThermo/functionObjects/moleFractions/moleFractions.H index 87ad6b92fa..5df7be18f6 100644 --- a/src/thermophysicalModels/multicomponentThermo/functionObjects/moleFractions/moleFractions.H +++ b/src/thermophysicalModels/multicomponentThermo/functionObjects/moleFractions/moleFractions.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2016-2022 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2016-2023 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -22,31 +22,20 @@ License along with OpenFOAM. If not, see . Class - Foam::moleFractions + Foam::functionObjects::moleFractions Description This function object calculates mole-fraction fields from the mass-fraction - fields of the psi/rhoMulticomponentThermo and caches them for output and - further post-processing. - - The names of the mole-fraction fields are obtained from the corresponding - mass-fraction fields prepended by "X_" + fields of the multicomponent thermo. The names of the mole-fraction fields + are obtained from the corresponding mass-fraction fields prepended by "X_". Example of function object specification: \verbatim moleFractions { - type psiMulticomponentThermoMoleFractions; + type moleFractions; } \endverbatim - or - \verbatim - moleFractions - { - type rhoMulticomponentThermoMoleFractions; - } - \endverbatim - depending on the thermodynamics package used in the solver. Optionally, the name of the phase can be specified for multiphase cases. @@ -58,8 +47,8 @@ SourceFiles \*---------------------------------------------------------------------------*/ -#ifndef moleFractions_H -#define moleFractions_H +#ifndef functionObjects_moleFractions_H +#define functionObjects_moleFractions_H #include "fvMeshFunctionObject.H" #include "volFieldsFwd.H" @@ -68,29 +57,24 @@ SourceFiles namespace Foam { +namespace functionObjects +{ /*---------------------------------------------------------------------------*\ Class moleFractions Declaration \*---------------------------------------------------------------------------*/ -template class moleFractions : public functionObjects::fvMeshFunctionObject { // Private Data - //- Species mole fractions - PtrList X_; - //- Optional phase name word phaseName_; - - // Private Member Functions - - //- Calculate the mole fraction fields - virtual void calculateMoleFractions(); + //- Species mole fractions + PtrList X_; public: @@ -102,12 +86,7 @@ public: // Constructors //- Construct from Time and dictionary - moleFractions - ( - const word& name, - const Time& t, - const dictionary& dict - ); + moleFractions(const word& name, const Time& t, const dictionary& dict); //- Disallow default bitwise copy construction moleFractions(const moleFractions&) = delete; @@ -144,16 +123,11 @@ public: // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // +} // End namespace functionObjects } // End namespace Foam // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -#ifdef NoRepository - #include "moleFractions.C" -#endif - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - #endif // ************************************************************************* // diff --git a/src/thermophysicalModels/multicomponentThermo/functionObjects/moleFractions/moleFractionsFunctionObjects.C b/src/thermophysicalModels/multicomponentThermo/functionObjects/moleFractions/moleFractionsFunctionObjects.C deleted file mode 100644 index 94647e2b89..0000000000 --- a/src/thermophysicalModels/multicomponentThermo/functionObjects/moleFractions/moleFractionsFunctionObjects.C +++ /dev/null @@ -1,63 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2016-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 "moleFractionsFunctionObjects.H" -#include "addToRunTimeSelectionTable.H" - -// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // - -namespace Foam -{ - defineTemplateTypeNameAndDebugWithName - ( - psiMulticomponentThermoMoleFractionsFunctionObject, - "psiMulticomponentThermoMoleFractions", - 0 - ); - - addToRunTimeSelectionTable - ( - functionObject, - psiMulticomponentThermoMoleFractionsFunctionObject, - dictionary - ); - - defineTemplateTypeNameAndDebugWithName - ( - rhoMulticomponentThermoMoleFractionsFunctionObject, - "rhoMulticomponentThermoMoleFractions", - 0 - ); - - addToRunTimeSelectionTable - ( - functionObject, - rhoMulticomponentThermoMoleFractionsFunctionObject, - dictionary - ); -} - - -// ************************************************************************* // diff --git a/src/thermophysicalModels/multicomponentThermo/functionObjects/moleFractions/moleFractionsFunctionObjects.H b/src/thermophysicalModels/multicomponentThermo/functionObjects/moleFractions/moleFractionsFunctionObjects.H deleted file mode 100644 index df42460556..0000000000 --- a/src/thermophysicalModels/multicomponentThermo/functionObjects/moleFractions/moleFractionsFunctionObjects.H +++ /dev/null @@ -1,64 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2016-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 . - -Typedef - Foam::psiMulticomponentThermoMoleFractionsFunctionObject - -Description - Instantiate the moleFractions functionObject for psiMulticomponentThermo - -Typedef - Foam::rhoMulticomponentThermoMoleFractionsFunctionObject - -Description - Instantiate the moleFractions functionObject for rhoMulticomponentThermo - -SourceFiles - moleFractionsFunctionObjects.C - -\*---------------------------------------------------------------------------*/ - -#ifndef moleFractionsFunctionObjects_H -#define moleFractionsFunctionObjects_H - -#include "moleFractions.H" -#include "psiMulticomponentThermo.H" -#include "rhoMulticomponentThermo.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ - typedef moleFractions - psiMulticomponentThermoMoleFractionsFunctionObject; - - typedef moleFractions - rhoMulticomponentThermoMoleFractionsFunctionObject; -} - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* //