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
-
-// ************************************************************************* //