Merge branch 'master' of /home/dm4/OpenFOAM/OpenFOAM-dev

This commit is contained in:
andy
2013-01-28 16:57:00 +00:00
29 changed files with 992 additions and 178 deletions

View File

@ -15,15 +15,15 @@
} }
label nSpecie = Y.size(); label nSpecie = Y.size();
PtrList<gasThermoPhysics> specieData(Y.size()); PtrList<gasHThermoPhysics> specieData(Y.size());
forAll(specieData, i) forAll(specieData, i)
{ {
specieData.set specieData.set
( (
i, i,
new gasThermoPhysics new gasHThermoPhysics
( (
dynamic_cast<const reactingMixture<gasThermoPhysics>&> dynamic_cast<const reactingMixture<gasHThermoPhysics>&>
(thermo).speciesData()[i] (thermo).speciesData()[i]
) )
); );

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation \\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -383,12 +383,7 @@ int main(int argc, char *argv[])
// Determine extrudePatch normal // Determine extrudePatch normal
pointField extrudePatchPointNormals pointField extrudePatchPointNormals
( (
PatchTools::pointNormals //calcNormals PatchTools::pointNormals(mesh, extrudePatch)
(
mesh,
extrudePatch,
meshFaces
)
); );
@ -629,12 +624,13 @@ int main(int argc, char *argv[])
const labelListList& layerFaces = layerExtrude.layerFaces(); const labelListList& layerFaces = layerExtrude.layerFaces();
backPatchFaces.setSize(layerFaces.size()); backPatchFaces.setSize(layerFaces.size());
frontPatchFaces.setSize(layerFaces.size()); frontPatchFaces.setSize(layerFaces.size());
forAll(backPatchFaces, i) forAll(backPatchFaces, patchFaceI)
{ {
backPatchFaces[i] = layerFaces[i].first(); backPatchFaces[patchFaceI] = layerFaces[patchFaceI].first();
frontPatchFaces[i] = layerFaces[i].last(); frontPatchFaces[patchFaceI] = layerFaces[patchFaceI].last();
} }
// Create dummy fvSchemes, fvSolution // Create dummy fvSchemes, fvSolution
createDummyFvMeshFiles(mesh, regionDir); createDummyFvMeshFiles(mesh, regionDir);
@ -654,6 +650,13 @@ int main(int argc, char *argv[])
mesh mesh
); );
layerExtrude.updateMesh
(
map(),
identity(extrudePatch.size()),
identity(extrudePatch.nPoints())
);
// Calculate face labels for front and back. // Calculate face labels for front and back.
frontPatchFaces = renumber frontPatchFaces = renumber
( (

View File

@ -1,10 +1,12 @@
EXE_INC = \ EXE_INC = \
-I$(LIB_SRC)/surfMesh/lnInclude \
-I$(LIB_SRC)/finiteVolume/lnInclude \ -I$(LIB_SRC)/finiteVolume/lnInclude \
-I$(LIB_SRC)/meshTools/lnInclude \ -I$(LIB_SRC)/meshTools/lnInclude \
-I$(LIB_SRC)/dynamicMesh/lnInclude \ -I$(LIB_SRC)/dynamicMesh/lnInclude \
-I$(LIB_SRC)/mesh/extrudeModel/lnInclude -I$(LIB_SRC)/mesh/extrudeModel/lnInclude
EXE_LIBS = \ EXE_LIBS = \
-lsurfMesh \
-lfiniteVolume \ -lfiniteVolume \
-lmeshTools \ -lmeshTools \
-ldynamicMesh \ -ldynamicMesh \

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation \\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -133,6 +133,8 @@ Notes:
#include "pointFields.H" #include "pointFields.H"
//#include "ReadFields.H" //#include "ReadFields.H"
#include "fvMeshTools.H" #include "fvMeshTools.H"
#include "OBJstream.H"
#include "PatchTools.H"
using namespace Foam; using namespace Foam;
@ -1233,6 +1235,252 @@ void setCouplingInfo
} }
// Extrude and write geometric properties
void extrudeGeometricProperties
(
const polyMesh& mesh,
const primitiveFacePatch& extrudePatch,
const createShellMesh& extruder,
const polyMesh& regionMesh,
const extrudeModel& model
)
{
const pointIOField patchFaceCentres
(
IOobject
(
"patchFaceCentres",
mesh.pointsInstance(),
mesh.meshSubDir,
mesh,
IOobject::MUST_READ
)
);
const pointIOField patchEdgeCentres
(
IOobject
(
"patchEdgeCentres",
mesh.pointsInstance(),
mesh.meshSubDir,
mesh,
IOobject::MUST_READ
)
);
//forAll(extrudePatch.edges(), edgeI)
//{
// const edge& e = extrudePatch.edges()[edgeI];
// Pout<< "Edge:" << e.centre(extrudePatch.localPoints()) << nl
// << "read:" << patchEdgeCentres[edgeI]
// << endl;
//}
// Determine edge normals on original patch
labelList patchEdges;
labelList coupledEdges;
PackedBoolList sameEdgeOrientation;
PatchTools::matchEdges
(
extrudePatch,
mesh.globalData().coupledPatch(),
patchEdges,
coupledEdges,
sameEdgeOrientation
);
pointField patchEdgeNormals
(
PatchTools::edgeNormals
(
mesh,
extrudePatch,
patchEdges,
coupledEdges
)
);
pointIOField faceCentres
(
IOobject
(
"faceCentres",
regionMesh.pointsInstance(),
regionMesh.meshSubDir,
regionMesh,
IOobject::NO_READ,
IOobject::NO_WRITE,
false
),
regionMesh.nFaces()
);
// Work out layers. Guaranteed in columns so no fancy parallel bits.
forAll(extruder.faceToFaceMap(), faceI)
{
if (extruder.faceToFaceMap()[faceI] != 0)
{
// 'horizontal' face
label patchFaceI = mag(extruder.faceToFaceMap()[faceI])-1;
label cellI = regionMesh.faceOwner()[faceI];
if (regionMesh.isInternalFace(faceI))
{
cellI = max(cellI, regionMesh.faceNeighbour()[faceI]);
}
// Calculate layer from cell numbering (see createShellMesh)
label layerI = (cellI % model.nLayers());
if
(
!regionMesh.isInternalFace(faceI)
&& extruder.faceToFaceMap()[faceI] > 0
)
{
// Top face
layerI++;
}
// Recalculate based on extrusion model
faceCentres[faceI] = model
(
patchFaceCentres[patchFaceI],
extrudePatch.faceNormals()[patchFaceI],
layerI
);
}
else
{
// 'vertical face
label patchEdgeI = extruder.faceToEdgeMap()[faceI];
label layerI =
(
regionMesh.faceOwner()[faceI]
% model.nLayers()
);
// Extrude patch edge centre to this layer
point pt0 = model
(
patchEdgeCentres[patchEdgeI],
patchEdgeNormals[patchEdgeI],
layerI
);
// Extrude patch edge centre to next layer
point pt1 = model
(
patchEdgeCentres[patchEdgeI],
patchEdgeNormals[patchEdgeI],
layerI+1
);
// Interpolate
faceCentres[faceI] = 0.5*(pt0+pt1);
}
}
pointIOField cellCentres
(
IOobject
(
"cellCentres",
regionMesh.pointsInstance(),
regionMesh.meshSubDir,
regionMesh,
IOobject::NO_READ,
IOobject::NO_WRITE,
false
),
regionMesh.nCells()
);
forAll(extruder.cellToFaceMap(), cellI)
{
label patchFaceI = extruder.cellToFaceMap()[cellI];
// Calculate layer from cell numbering (see createShellMesh)
label layerI = (cellI % model.nLayers());
// Recalculate based on extrusion model
point pt0 = model
(
patchFaceCentres[patchFaceI],
extrudePatch.faceNormals()[patchFaceI],
layerI
);
point pt1 = model
(
patchFaceCentres[patchFaceI],
extrudePatch.faceNormals()[patchFaceI],
layerI+1
);
// Interpolate
cellCentres[cellI] = 0.5*(pt0+pt1);
}
// Bit of checking
if (false)
{
OBJstream faceStr(regionMesh.time().path()/"faceCentres.obj");
OBJstream cellStr(regionMesh.time().path()/"cellCentres.obj");
forAll(faceCentres, faceI)
{
Pout<< "Model :" << faceCentres[faceI] << endl
<< "regionMesh:" << regionMesh.faceCentres()[faceI] << endl;
faceStr.write
(
linePointRef
(
faceCentres[faceI],
regionMesh.faceCentres()[faceI]
)
);
}
forAll(cellCentres, cellI)
{
Pout<< "Model :" << cellCentres[cellI] << endl
<< "regionMesh:" << regionMesh.cellCentres()[cellI] << endl;
cellStr.write
(
linePointRef
(
cellCentres[cellI],
regionMesh.cellCentres()[cellI]
)
);
}
}
Info<< "Writing geometric properties for mesh " << regionMesh.name()
<< " to " << regionMesh.pointsInstance() << nl
<< endl;
bool ok = faceCentres.write() && cellCentres.write();
if (!ok)
{
FatalErrorIn("extrudeGeometricProperties(..)")
<< "Failed writing " << faceCentres.objectPath()
<< " and " << cellCentres.objectPath()
<< exit(FatalError);
}
}
// Main program: // Main program:
int main(int argc, char *argv[]) int main(int argc, char *argv[])
@ -2393,6 +2641,36 @@ int main(int argc, char *argv[])
} }
// See if we need to extrude coordinates as well
{
autoPtr<pointIOField> patchFaceCentresPtr;
IOobject io
(
"patchFaceCentres",
mesh.pointsInstance(),
mesh.meshSubDir,
mesh,
IOobject::MUST_READ
);
if (io.headerOk())
{
// Read patchFaceCentres and patchEdgeCentres
Info<< "Reading patch face,edge centres : "
<< io.name() << " and patchEdgeCentres" << endl;
extrudeGeometricProperties
(
mesh,
extrudePatch,
extruder,
regionMesh,
model()
);
}
}
// Insert baffles into original mesh // Insert baffles into original mesh

View File

@ -30,8 +30,8 @@ License
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
const char* const Foam::quaternion::typeName = "quaternion"; const char* const Foam::quaternion::typeName = "quaternion";
const Foam::quaternion Foam::quaternion::zero(0, vector::zero); const Foam::quaternion Foam::quaternion::zero(0, vector(0, 0, 0));
const Foam::quaternion Foam::quaternion::I(1, vector::zero); const Foam::quaternion Foam::quaternion::I(1, vector(0, 0, 0));
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //

View File

@ -30,8 +30,16 @@ License
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
const char* const Foam::septernion::typeName = "septernion"; const char* const Foam::septernion::typeName = "septernion";
const Foam::septernion Foam::septernion::zero(vector::zero, quaternion::zero); const Foam::septernion Foam::septernion::zero
const Foam::septernion Foam::septernion::I(vector::zero, quaternion::I); (
vector(0, 0, 0),
quaternion(0, vector(0, 0, 0))
);
const Foam::septernion Foam::septernion::I
(
vector(0, 0, 0),
quaternion(1, vector(0, 0, 0))
);
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //

View File

@ -32,23 +32,48 @@ License
namespace Foam namespace Foam
{ {
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
template<> template<>
const char* const triad::Vector<vector>::typeName = "triad"; const char* const triad::Vector<vector>::typeName = "triad";
template<> template<>
const char* triad::Vector<vector>::componentNames[] = {"x", "y", "z"}; const char* triad::Vector<vector>::componentNames[] = {"x", "y", "z"};
const triad triad::zero(vector::zero, vector::zero, vector::zero); const triad triad::zero
(
vector(0, 0, 0),
vector(0, 0, 0),
vector(0, 0, 0)
);
const triad triad::one(vector::one, vector::one, vector::one); const triad triad::one
(
vector(1, 1, 1),
vector(1, 1, 1),
vector(1, 1, 1)
);
const triad triad::max(vector::max, vector::max, vector::max); const triad triad::max
(
vector(VGREAT, VGREAT, VGREAT),
vector(VGREAT, VGREAT, VGREAT),
vector(VGREAT, VGREAT, VGREAT)
);
const triad triad::min(vector::min, vector::min, vector::min); const triad triad::min
(
vector(-VGREAT, -VGREAT, -VGREAT),
vector(-VGREAT, -VGREAT, -VGREAT),
vector(-VGREAT, -VGREAT, -VGREAT)
);
const triad triad::unset(triad::max); const triad triad::unset
(
vector(VGREAT, VGREAT, VGREAT),
vector(VGREAT, VGREAT, VGREAT),
vector(VGREAT, VGREAT, VGREAT)
);
}
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
@ -348,8 +373,4 @@ void Foam::triad::operator=(const tensor& t)
} }
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
} // End namespace Foam
// ************************************************************************* // // ************************************************************************* //

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2011 OpenFOAM Foundation \\ / A nd | Copyright (C) 2013-2013 OpenFOAM Foundation
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -38,11 +38,12 @@ namespace Foam
{ {
namespace combustionModels namespace combustionModels
{ {
// Combustion models based on sensibleEnthalpy
makeCombustionTypesThermo makeCombustionTypesThermo
( (
FSD, FSD,
psiThermoCombustion, psiThermoCombustion,
gasThermoPhysics, gasHThermoPhysics,
psiCombustionModel psiCombustionModel
); );
@ -50,7 +51,7 @@ namespace combustionModels
( (
FSD, FSD,
psiThermoCombustion, psiThermoCombustion,
constGasThermoPhysics, constGasHThermoPhysics,
psiCombustionModel psiCombustionModel
); );
@ -58,7 +59,7 @@ namespace combustionModels
( (
FSD, FSD,
rhoThermoCombustion, rhoThermoCombustion,
gasThermoPhysics, gasHThermoPhysics,
rhoCombustionModel rhoCombustionModel
); );
@ -66,7 +67,40 @@ namespace combustionModels
( (
FSD, FSD,
rhoThermoCombustion, rhoThermoCombustion,
constGasThermoPhysics, constGasHThermoPhysics,
rhoCombustionModel
);
// Combustion models based on sensibleInternalEnergy
makeCombustionTypesThermo
(
FSD,
psiThermoCombustion,
gasEThermoPhysics,
psiCombustionModel
);
makeCombustionTypesThermo
(
FSD,
psiThermoCombustion,
constGasEThermoPhysics,
psiCombustionModel
);
makeCombustionTypesThermo
(
FSD,
rhoThermoCombustion,
gasEThermoPhysics,
rhoCombustionModel
);
makeCombustionTypesThermo
(
FSD,
rhoThermoCombustion,
constGasEThermoPhysics,
rhoCombustionModel rhoCombustionModel
); );
} }

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2012 OpenFOAM Foundation \\ / A nd | Copyright (C) 2013-2013 OpenFOAM Foundation
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -36,11 +36,12 @@ namespace Foam
{ {
namespace combustionModels namespace combustionModels
{ {
// Combustion models based on sensibleEnthalpy
makeCombustionTypesThermo makeCombustionTypesThermo
( (
diffusion, diffusion,
psiThermoCombustion, psiThermoCombustion,
gasThermoPhysics, gasHThermoPhysics,
psiCombustionModel psiCombustionModel
); );
@ -48,7 +49,7 @@ namespace combustionModels
( (
diffusion, diffusion,
psiThermoCombustion, psiThermoCombustion,
constGasThermoPhysics, constGasHThermoPhysics,
psiCombustionModel psiCombustionModel
); );
@ -56,7 +57,7 @@ namespace combustionModels
( (
diffusion, diffusion,
rhoThermoCombustion, rhoThermoCombustion,
gasThermoPhysics, gasHThermoPhysics,
rhoCombustionModel rhoCombustionModel
); );
@ -64,7 +65,41 @@ namespace combustionModels
( (
diffusion, diffusion,
rhoThermoCombustion, rhoThermoCombustion,
constGasThermoPhysics, constGasHThermoPhysics,
rhoCombustionModel
);
// Combustion models based on sensibleInternalEnergy
makeCombustionTypesThermo
(
diffusion,
psiThermoCombustion,
gasEThermoPhysics,
psiCombustionModel
);
makeCombustionTypesThermo
(
diffusion,
psiThermoCombustion,
constGasEThermoPhysics,
psiCombustionModel
);
makeCombustionTypesThermo
(
diffusion,
rhoThermoCombustion,
gasEThermoPhysics,
rhoCombustionModel
);
makeCombustionTypesThermo
(
diffusion,
rhoThermoCombustion,
constGasEThermoPhysics,
rhoCombustionModel rhoCombustionModel
); );
} }

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation \\ / A nd | Copyright (C) 2013-2013 OpenFOAM Foundation
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -36,11 +36,13 @@ namespace Foam
{ {
namespace combustionModels namespace combustionModels
{ {
// Combustion models based on sensibleEnthalpy
makeCombustionTypesThermo makeCombustionTypesThermo
( (
infinitelyFastChemistry, infinitelyFastChemistry,
psiThermoCombustion, psiThermoCombustion,
gasThermoPhysics, gasHThermoPhysics,
psiCombustionModel psiCombustionModel
); );
@ -48,7 +50,7 @@ namespace combustionModels
( (
infinitelyFastChemistry, infinitelyFastChemistry,
psiThermoCombustion, psiThermoCombustion,
constGasThermoPhysics, constGasHThermoPhysics,
psiCombustionModel psiCombustionModel
); );
@ -56,7 +58,7 @@ namespace combustionModels
( (
infinitelyFastChemistry, infinitelyFastChemistry,
rhoThermoCombustion, rhoThermoCombustion,
gasThermoPhysics, gasHThermoPhysics,
rhoCombustionModel rhoCombustionModel
); );
@ -64,7 +66,41 @@ namespace combustionModels
( (
infinitelyFastChemistry, infinitelyFastChemistry,
rhoThermoCombustion, rhoThermoCombustion,
constGasThermoPhysics, constGasHThermoPhysics,
rhoCombustionModel
);
// Combustion models based on sensibleInternalEnergy
makeCombustionTypesThermo
(
infinitelyFastChemistry,
psiThermoCombustion,
gasEThermoPhysics,
psiCombustionModel
);
makeCombustionTypesThermo
(
infinitelyFastChemistry,
psiThermoCombustion,
constGasEThermoPhysics,
psiCombustionModel
);
makeCombustionTypesThermo
(
infinitelyFastChemistry,
rhoThermoCombustion,
gasEThermoPhysics,
rhoCombustionModel
);
makeCombustionTypesThermo
(
infinitelyFastChemistry,
rhoThermoCombustion,
constGasEThermoPhysics,
rhoCombustionModel rhoCombustionModel
); );
} }

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation \\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -2052,6 +2052,9 @@ void Foam::polyTopoChange::reorderCoupledFaces
if (anyChanged) if (anyChanged)
{ {
// Reorder faces according to oldToNew.
reorderCompactFaces(oldToNew.size(), oldToNew);
// Rotate faces (rotation is already in new face indices). // Rotate faces (rotation is already in new face indices).
forAll(rotation, faceI) forAll(rotation, faceI)
{ {
@ -2060,9 +2063,6 @@ void Foam::polyTopoChange::reorderCoupledFaces
inplaceRotateList<List, label>(faces_[faceI], rotation[faceI]); inplaceRotateList<List, label>(faces_[faceI], rotation[faceI]);
} }
} }
// Reorder faces according to oldToNew.
reorderCompactFaces(oldToNew.size(), oldToNew);
} }
} }

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation \\ / A nd | Copyright (C) 2013-2013 OpenFOAM Foundation
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -39,39 +39,76 @@ Description
namespace Foam namespace Foam
{ {
// Chemistry moldels based on sensibleEnthalpy
makeChemistryModel makeChemistryModel
( (
chemistryModel, chemistryModel,
psiChemistryModel, psiChemistryModel,
constGasThermoPhysics constGasHThermoPhysics
); );
makeChemistryModel makeChemistryModel
( (
chemistryModel, chemistryModel,
psiChemistryModel, psiChemistryModel,
gasThermoPhysics gasHThermoPhysics
); );
makeChemistryModel makeChemistryModel
( (
chemistryModel, chemistryModel,
psiChemistryModel, psiChemistryModel,
constIncompressibleGasThermoPhysics constIncompressibleGasHThermoPhysics
); );
makeChemistryModel makeChemistryModel
( (
chemistryModel, chemistryModel,
psiChemistryModel, psiChemistryModel,
incompressibleGasThermoPhysics incompressibleGasHThermoPhysics
); );
makeChemistryModel makeChemistryModel
( (
chemistryModel, chemistryModel,
psiChemistryModel, psiChemistryModel,
icoPoly8ThermoPhysics icoPoly8HThermoPhysics
);
// Chemistry moldels based on sensibleInternalEnergy
makeChemistryModel
(
chemistryModel,
psiChemistryModel,
constGasEThermoPhysics
);
makeChemistryModel
(
chemistryModel,
psiChemistryModel,
gasEThermoPhysics
);
makeChemistryModel
(
chemistryModel,
psiChemistryModel,
constIncompressibleGasEThermoPhysics
);
makeChemistryModel
(
chemistryModel,
psiChemistryModel,
incompressibleGasEThermoPhysics
);
makeChemistryModel
(
chemistryModel,
psiChemistryModel,
icoPoly8EThermoPhysics
); );
} }

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation \\ / A nd | Copyright (C) 2013-2013 OpenFOAM Foundation
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -39,39 +39,77 @@ Description
namespace Foam namespace Foam
{ {
// Chemistry moldels based on sensibleEnthalpy
makeChemistryModel makeChemistryModel
( (
chemistryModel, chemistryModel,
rhoChemistryModel, rhoChemistryModel,
constGasThermoPhysics constGasHThermoPhysics
); );
makeChemistryModel makeChemistryModel
( (
chemistryModel, chemistryModel,
rhoChemistryModel, rhoChemistryModel,
gasThermoPhysics gasHThermoPhysics
); );
makeChemistryModel makeChemistryModel
( (
chemistryModel, chemistryModel,
rhoChemistryModel, rhoChemistryModel,
constIncompressibleGasThermoPhysics constIncompressibleGasHThermoPhysics
); );
makeChemistryModel makeChemistryModel
( (
chemistryModel, chemistryModel,
rhoChemistryModel, rhoChemistryModel,
incompressibleGasThermoPhysics incompressibleGasHThermoPhysics
); );
makeChemistryModel makeChemistryModel
( (
chemistryModel, chemistryModel,
rhoChemistryModel, rhoChemistryModel,
icoPoly8ThermoPhysics icoPoly8HThermoPhysics
);
// Chemistry moldels based on sensibleInternalEnergy
makeChemistryModel
(
chemistryModel,
rhoChemistryModel,
constGasEThermoPhysics
);
makeChemistryModel
(
chemistryModel,
rhoChemistryModel,
gasEThermoPhysics
);
makeChemistryModel
(
chemistryModel,
rhoChemistryModel,
constIncompressibleGasEThermoPhysics
);
makeChemistryModel
(
chemistryModel,
rhoChemistryModel,
incompressibleGasEThermoPhysics
);
makeChemistryModel
(
chemistryModel,
rhoChemistryModel,
icoPoly8EThermoPhysics
); );
} }

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation \\ / A nd | Copyright (C) 2013-2013 OpenFOAM Foundation
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -33,24 +33,61 @@ License
namespace Foam namespace Foam
{ {
makeChemistrySolverTypes(psiChemistryModel, constGasThermoPhysics); // Chemistry solvers based on sensibleEnthalpy
makeChemistrySolverTypes(psiChemistryModel, gasThermoPhysics); makeChemistrySolverTypes(psiChemistryModel, constGasHThermoPhysics);
makeChemistrySolverTypes(psiChemistryModel, gasHThermoPhysics);
makeChemistrySolverTypes makeChemistrySolverTypes
( (
psiChemistryModel, psiChemistryModel,
constIncompressibleGasThermoPhysics constIncompressibleGasHThermoPhysics
); );
makeChemistrySolverTypes(psiChemistryModel, incompressibleGasThermoPhysics); makeChemistrySolverTypes
makeChemistrySolverTypes(psiChemistryModel, icoPoly8ThermoPhysics); (
makeChemistrySolverTypes(rhoChemistryModel, constGasThermoPhysics); psiChemistryModel,
makeChemistrySolverTypes(rhoChemistryModel, gasThermoPhysics); incompressibleGasHThermoPhysics)
;
makeChemistrySolverTypes(psiChemistryModel, icoPoly8HThermoPhysics);
makeChemistrySolverTypes(rhoChemistryModel, constGasHThermoPhysics);
makeChemistrySolverTypes(rhoChemistryModel, gasHThermoPhysics);
makeChemistrySolverTypes makeChemistrySolverTypes
( (
rhoChemistryModel, rhoChemistryModel,
constIncompressibleGasThermoPhysics constIncompressibleGasHThermoPhysics
); );
makeChemistrySolverTypes(rhoChemistryModel, incompressibleGasThermoPhysics); makeChemistrySolverTypes
makeChemistrySolverTypes(rhoChemistryModel, icoPoly8ThermoPhysics); (
rhoChemistryModel,
incompressibleGasHThermoPhysics
);
makeChemistrySolverTypes(rhoChemistryModel, icoPoly8HThermoPhysics);
// Chemistry solvers based on sensibleInternalEnergy
makeChemistrySolverTypes(psiChemistryModel, constGasEThermoPhysics);
makeChemistrySolverTypes(psiChemistryModel, gasEThermoPhysics);
makeChemistrySolverTypes
(
psiChemistryModel,
constIncompressibleGasEThermoPhysics
);
makeChemistrySolverTypes
(
psiChemistryModel,
incompressibleGasEThermoPhysics
);
makeChemistrySolverTypes(psiChemistryModel, icoPoly8EThermoPhysics);
makeChemistrySolverTypes(rhoChemistryModel, constGasEThermoPhysics);
makeChemistrySolverTypes(rhoChemistryModel, gasEThermoPhysics);
makeChemistrySolverTypes
(
rhoChemistryModel,
constIncompressibleGasEThermoPhysics
);
makeChemistrySolverTypes
(
rhoChemistryModel,
incompressibleGasEThermoPhysics
);
makeChemistrySolverTypes(rhoChemistryModel, icoPoly8EThermoPhysics);
} }

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation \\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -37,23 +37,50 @@ namespace Foam
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
makeChemistryReader(constGasThermoPhysics); // Solid chemistry readers based on sensibleEnthalpy
makeChemistryReader(gasThermoPhysics);
makeChemistryReader(constIncompressibleGasThermoPhysics);
makeChemistryReader(incompressibleGasThermoPhysics);
makeChemistryReader(icoPoly8ThermoPhysics);
makeChemistryReader(hConstSolidThermoPhysics);
makeChemistryReader(hExponentialSolidThermoPhysics);
makeChemistryReaderType(foamChemistryReader, constGasThermoPhysics); makeChemistryReader(constGasHThermoPhysics);
makeChemistryReaderType(foamChemistryReader, gasThermoPhysics); makeChemistryReader(gasHThermoPhysics);
makeChemistryReader(constIncompressibleGasHThermoPhysics);
makeChemistryReader(incompressibleGasHThermoPhysics);
makeChemistryReader(icoPoly8HThermoPhysics);
makeChemistryReaderType(foamChemistryReader, constGasHThermoPhysics);
makeChemistryReaderType(foamChemistryReader, gasHThermoPhysics);
makeChemistryReaderType makeChemistryReaderType
( (
foamChemistryReader, foamChemistryReader,
constIncompressibleGasThermoPhysics constIncompressibleGasHThermoPhysics
); );
makeChemistryReaderType(foamChemistryReader, incompressibleGasThermoPhysics); makeChemistryReaderType(foamChemistryReader, incompressibleGasHThermoPhysics);
makeChemistryReaderType(foamChemistryReader, icoPoly8ThermoPhysics); makeChemistryReaderType(foamChemistryReader, icoPoly8HThermoPhysics);
// Solid chemistry readers based on sensibleInternalEnergy
makeChemistryReader(constGasEThermoPhysics);
makeChemistryReader(gasEThermoPhysics);
makeChemistryReader(constIncompressibleGasEThermoPhysics);
makeChemistryReader(incompressibleGasEThermoPhysics);
makeChemistryReader(icoPoly8EThermoPhysics);
makeChemistryReaderType(foamChemistryReader, constGasEThermoPhysics);
makeChemistryReaderType(foamChemistryReader, gasEThermoPhysics);
makeChemistryReaderType
(
foamChemistryReader,
constIncompressibleGasEThermoPhysics
);
makeChemistryReaderType(foamChemistryReader, incompressibleGasEThermoPhysics);
makeChemistryReaderType(foamChemistryReader, icoPoly8EThermoPhysics);
// Solid chemistry readers for solids based on sensibleInternalEnergy
makeChemistryReader(hConstSolidThermoPhysics);
makeChemistryReader(hExponentialSolidThermoPhysics);
makeChemistryReaderType(foamChemistryReader, hConstSolidThermoPhysics); makeChemistryReaderType(foamChemistryReader, hConstSolidThermoPhysics);
makeChemistryReaderType(foamChemistryReader, hExponentialSolidThermoPhysics); makeChemistryReaderType(foamChemistryReader, hExponentialSolidThermoPhysics);

View File

@ -296,13 +296,13 @@ List<specieElement> currentSpecieComposition(5);
scalar currentLowT = 0; scalar currentLowT = 0;
scalar currentHighT = 0; scalar currentHighT = 0;
scalar currentCommonT = 0; scalar currentCommonT = 0;
gasThermoPhysics::coeffArray highCpCoeffs(scalarList(7)); gasHThermoPhysics::coeffArray highCpCoeffs(scalarList(7));
gasThermoPhysics::coeffArray lowCpCoeffs(scalarList(7)); gasHThermoPhysics::coeffArray lowCpCoeffs(scalarList(7));
gasReaction::specieCoeffs currentSpecieCoeff; gasHReaction::specieCoeffs currentSpecieCoeff;
DynamicList<gasReaction::specieCoeffs> lhs; DynamicList<gasHReaction::specieCoeffs> lhs;
DynamicList<gasReaction::specieCoeffs> rhs; DynamicList<gasHReaction::specieCoeffs> rhs;
scalarList ArrheniusCoeffs(3); scalarList ArrheniusCoeffs(3);
DynamicList<scalar> reactionCoeffs; DynamicList<scalar> reactionCoeffs;
@ -312,7 +312,7 @@ label currentThirdBodyIndex = -1;
word reactionCoeffsName = word::null; word reactionCoeffsName = word::null;
HashTable<scalarList> reactionCoeffsTable; HashTable<scalarList> reactionCoeffsTable;
DynamicList<gasReaction::specieCoeffs> *lrhsPtr = &lhs; DynamicList<gasHReaction::specieCoeffs> *lrhsPtr = &lhs;
reactionType rType = unknownReactionType; reactionType rType = unknownReactionType;
reactionRateType rrType = Arrhenius; reactionRateType rrType = Arrhenius;
@ -609,7 +609,7 @@ bool finishReaction = false;
<readThermoLineLabel4>{thermoLineLabel4} { <readThermoLineLabel4>{thermoLineLabel4} {
HashPtrTable<gasThermoPhysics>::iterator specieThermoIter HashPtrTable<gasHThermoPhysics>::iterator specieThermoIter
( (
speciesThermo_.find(currentSpecieName) speciesThermo_.find(currentSpecieName)
); );
@ -622,7 +622,7 @@ bool finishReaction = false;
speciesThermo_.insert speciesThermo_.insert
( (
currentSpecieName, currentSpecieName,
new gasThermoPhysics new gasHThermoPhysics
( (
janafThermo<perfectGas<specie> > janafThermo<perfectGas<specie> >
( (
@ -1429,7 +1429,7 @@ bool finishReaction = false;
<readReactionOrder>{reactionCoeff}{endReactionCoeffs} { <readReactionOrder>{reactionCoeff}{endReactionCoeffs} {
DynamicList<gasReaction::specieCoeffs>& lrhs = *lrhsPtr; DynamicList<gasHReaction::specieCoeffs>& lrhs = *lrhsPtr;
bool found = false; bool found = false;

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2011 OpenFOAM Foundation \\ / A nd | Copyright (C) 2013-2013 OpenFOAM Foundation
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -46,7 +46,7 @@ License
namespace Foam namespace Foam
{ {
addChemistryReaderType(chemkinReader, gasThermoPhysics); addChemistryReaderType(chemkinReader, gasHThermoPhysics);
} }
@ -168,8 +168,8 @@ template<class ReactionRateType>
void Foam::chemkinReader::addReactionType void Foam::chemkinReader::addReactionType
( (
const reactionType rType, const reactionType rType,
DynamicList<gasReaction::specieCoeffs>& lhs, DynamicList<gasHReaction::specieCoeffs>& lhs,
DynamicList<gasReaction::specieCoeffs>& rhs, DynamicList<gasHReaction::specieCoeffs>& rhs,
const ReactionRateType& rr const ReactionRateType& rr
) )
{ {
@ -180,9 +180,9 @@ void Foam::chemkinReader::addReactionType
reactions_.append reactions_.append
( (
new IrreversibleReaction new IrreversibleReaction
<Reaction, gasThermoPhysics, ReactionRateType> <Reaction, gasHThermoPhysics, ReactionRateType>
( (
Reaction<gasThermoPhysics> Reaction<gasHThermoPhysics>
( (
speciesTable_, speciesTable_,
lhs.shrink(), lhs.shrink(),
@ -200,9 +200,9 @@ void Foam::chemkinReader::addReactionType
reactions_.append reactions_.append
( (
new ReversibleReaction new ReversibleReaction
<Reaction, gasThermoPhysics, ReactionRateType> <Reaction, gasHThermoPhysics, ReactionRateType>
( (
Reaction<gasThermoPhysics> Reaction<gasHThermoPhysics>
( (
speciesTable_, speciesTable_,
lhs.shrink(), lhs.shrink(),
@ -240,8 +240,8 @@ void Foam::chemkinReader::addPressureDependentReaction
( (
const reactionType rType, const reactionType rType,
const fallOffFunctionType fofType, const fallOffFunctionType fofType,
DynamicList<gasReaction::specieCoeffs>& lhs, DynamicList<gasHReaction::specieCoeffs>& lhs,
DynamicList<gasReaction::specieCoeffs>& rhs, DynamicList<gasHReaction::specieCoeffs>& rhs,
const scalarList& efficiencies, const scalarList& efficiencies,
const scalarList& k0Coeffs, const scalarList& k0Coeffs,
const scalarList& kInfCoeffs, const scalarList& kInfCoeffs,
@ -423,8 +423,8 @@ void Foam::chemkinReader::addPressureDependentReaction
void Foam::chemkinReader::addReaction void Foam::chemkinReader::addReaction
( (
DynamicList<gasReaction::specieCoeffs>& lhs, DynamicList<gasHReaction::specieCoeffs>& lhs,
DynamicList<gasReaction::specieCoeffs>& rhs, DynamicList<gasHReaction::specieCoeffs>& rhs,
const scalarList& efficiencies, const scalarList& efficiencies,
const reactionType rType, const reactionType rType,
const reactionRateType rrType, const reactionRateType rrType,
@ -499,9 +499,9 @@ void Foam::chemkinReader::addReaction
reactions_.append reactions_.append
( (
new NonEquilibriumReversibleReaction new NonEquilibriumReversibleReaction
<Reaction, gasThermoPhysics, ArrheniusReactionRate> <Reaction, gasHThermoPhysics, ArrheniusReactionRate>
( (
Reaction<gasThermoPhysics> Reaction<gasHThermoPhysics>
( (
speciesTable_, speciesTable_,
lhs.shrink(), lhs.shrink(),
@ -554,11 +554,11 @@ void Foam::chemkinReader::addReaction
new NonEquilibriumReversibleReaction new NonEquilibriumReversibleReaction
< <
Reaction, Reaction,
gasThermoPhysics, gasHThermoPhysics,
thirdBodyArrheniusReactionRate thirdBodyArrheniusReactionRate
> >
( (
Reaction<gasThermoPhysics> Reaction<gasHThermoPhysics>
( (
speciesTable_, speciesTable_,
lhs.shrink(), lhs.shrink(),
@ -661,9 +661,9 @@ void Foam::chemkinReader::addReaction
reactions_.append reactions_.append
( (
new NonEquilibriumReversibleReaction new NonEquilibriumReversibleReaction
<Reaction, gasThermoPhysics, LandauTellerReactionRate> <Reaction, gasHThermoPhysics, LandauTellerReactionRate>
( (
Reaction<gasThermoPhysics> Reaction<gasHThermoPhysics>
( (
speciesTable_, speciesTable_,
lhs.shrink(), lhs.shrink(),

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2011 OpenFOAM Foundation \\ / A nd | Copyright (C) 2013-2013 OpenFOAM Foundation
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -61,7 +61,7 @@ namespace Foam
class chemkinReader class chemkinReader
: :
public chemistryReader<gasThermoPhysics>, public chemistryReader<gasHThermoPhysics>,
public yyFlexLexer public yyFlexLexer
{ {
@ -199,13 +199,13 @@ private:
HashTable<phase> speciePhase_; HashTable<phase> speciePhase_;
//- Table of the thermodynamic data given in the CHEMKIN file //- Table of the thermodynamic data given in the CHEMKIN file
HashPtrTable<gasThermoPhysics> speciesThermo_; HashPtrTable<gasHThermoPhysics> speciesThermo_;
//- Table of species composition //- Table of species composition
HashTable<List<specieElement> > specieComposition_; HashTable<List<specieElement> > specieComposition_;
//- List of the reactions //- List of the reactions
ReactionList<gasThermoPhysics> reactions_; ReactionList<gasHThermoPhysics> reactions_;
// Private Member Functions // Private Member Functions
@ -257,8 +257,8 @@ private:
void addReactionType void addReactionType
( (
const reactionType rType, const reactionType rType,
DynamicList<gasReaction::specieCoeffs>& lhs, DynamicList<gasHReaction::specieCoeffs>& lhs,
DynamicList<gasReaction::specieCoeffs>& rhs, DynamicList<gasHReaction::specieCoeffs>& rhs,
const ReactionRateType& rr const ReactionRateType& rr
); );
@ -267,8 +267,8 @@ private:
( (
const reactionType rType, const reactionType rType,
const fallOffFunctionType fofType, const fallOffFunctionType fofType,
DynamicList<gasReaction::specieCoeffs>& lhs, DynamicList<gasHReaction::specieCoeffs>& lhs,
DynamicList<gasReaction::specieCoeffs>& rhs, DynamicList<gasHReaction::specieCoeffs>& rhs,
const scalarList& thirdBodyEfficiencies, const scalarList& thirdBodyEfficiencies,
const scalarList& k0Coeffs, const scalarList& k0Coeffs,
const scalarList& kInfCoeffs, const scalarList& kInfCoeffs,
@ -280,8 +280,8 @@ private:
void addReaction void addReaction
( (
DynamicList<gasReaction::specieCoeffs>& lhs, DynamicList<gasHReaction::specieCoeffs>& lhs,
DynamicList<gasReaction::specieCoeffs>& rhs, DynamicList<gasHReaction::specieCoeffs>& rhs,
const scalarList& thirdBodyEfficiencies, const scalarList& thirdBodyEfficiencies,
const reactionType rType, const reactionType rType,
const reactionRateType rrType, const reactionRateType rrType,
@ -364,7 +364,7 @@ public:
} }
//- Table of the thermodynamic data given in the CHEMKIN file //- Table of the thermodynamic data given in the CHEMKIN file
const HashPtrTable<gasThermoPhysics>& speciesThermo() const const HashPtrTable<gasHThermoPhysics>& speciesThermo() const
{ {
return speciesThermo_; return speciesThermo_;
} }
@ -376,7 +376,7 @@ public:
} }
//- List of the reactions //- List of the reactions
const ReactionList<gasThermoPhysics>& reactions() const const ReactionList<gasHThermoPhysics>& reactions() const
{ {
return reactions_; return reactions_;
} }

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation \\ / A nd | Copyright (C) 2013-2013 OpenFOAM Foundation
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -179,7 +179,7 @@ makeReactionThermo
); );
// Multi-component thermo // Multi-component thermo for sensible enthalpy
makeReactionMixtureThermo makeReactionMixtureThermo
( (
@ -187,7 +187,7 @@ makeReactionMixtureThermo
psiReactionThermo, psiReactionThermo,
hePsiThermo, hePsiThermo,
multiComponentMixture, multiComponentMixture,
constGasThermoPhysics constGasHThermoPhysics
); );
makeReactionMixtureThermo makeReactionMixtureThermo
@ -196,11 +196,32 @@ makeReactionMixtureThermo
psiReactionThermo, psiReactionThermo,
hePsiThermo, hePsiThermo,
multiComponentMixture, multiComponentMixture,
gasThermoPhysics gasHThermoPhysics
); );
// Multi-component reaction thermo // Multi-component thermo for internal energy
makeReactionMixtureThermo
(
psiThermo,
psiReactionThermo,
hePsiThermo,
multiComponentMixture,
constGasEThermoPhysics
);
makeReactionMixtureThermo
(
psiThermo,
psiReactionThermo,
hePsiThermo,
multiComponentMixture,
gasEThermoPhysics
);
// Multi-component reaction thermo for sensible enthalpy
makeReactionMixtureThermo makeReactionMixtureThermo
( (
@ -208,7 +229,7 @@ makeReactionMixtureThermo
psiReactionThermo, psiReactionThermo,
hePsiThermo, hePsiThermo,
reactingMixture, reactingMixture,
constGasThermoPhysics constGasHThermoPhysics
); );
makeReactionMixtureThermo makeReactionMixtureThermo
@ -217,7 +238,7 @@ makeReactionMixtureThermo
psiReactionThermo, psiReactionThermo,
hePsiThermo, hePsiThermo,
reactingMixture, reactingMixture,
gasThermoPhysics gasHThermoPhysics
); );
makeReactionMixtureThermo makeReactionMixtureThermo
@ -226,7 +247,37 @@ makeReactionMixtureThermo
psiReactionThermo, psiReactionThermo,
hePsiThermo, hePsiThermo,
singleStepReactingMixture, singleStepReactingMixture,
gasThermoPhysics gasHThermoPhysics
);
// Multi-component reaction thermo for internal energy
makeReactionMixtureThermo
(
psiThermo,
psiReactionThermo,
hePsiThermo,
reactingMixture,
constGasEThermoPhysics
);
makeReactionMixtureThermo
(
psiThermo,
psiReactionThermo,
hePsiThermo,
reactingMixture,
gasEThermoPhysics
);
makeReactionMixtureThermo
(
psiThermo,
psiReactionThermo,
hePsiThermo,
singleStepReactingMixture,
gasEThermoPhysics
); );
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation \\ / A nd | Copyright (C) 2013-2013 OpenFOAM Foundation
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -213,7 +213,7 @@ makeReactionThermo
); );
// Multi-component thermo // Multi-component thermo for internal energy
makeReactionMixtureThermo makeReactionMixtureThermo
( (
@ -221,7 +221,7 @@ makeReactionMixtureThermo
rhoReactionThermo, rhoReactionThermo,
heRhoThermo, heRhoThermo,
multiComponentMixture, multiComponentMixture,
constGasThermoPhysics constGasEThermoPhysics
); );
makeReactionMixtureThermo makeReactionMixtureThermo
@ -230,7 +230,7 @@ makeReactionMixtureThermo
rhoReactionThermo, rhoReactionThermo,
heRhoThermo, heRhoThermo,
multiComponentMixture, multiComponentMixture,
gasThermoPhysics gasEThermoPhysics
); );
makeReactionMixtureThermo makeReactionMixtureThermo
@ -239,7 +239,7 @@ makeReactionMixtureThermo
rhoReactionThermo, rhoReactionThermo,
heRhoThermo, heRhoThermo,
multiComponentMixture, multiComponentMixture,
constIncompressibleGasThermoPhysics constIncompressibleGasEThermoPhysics
); );
makeReactionMixtureThermo makeReactionMixtureThermo
@ -248,7 +248,7 @@ makeReactionMixtureThermo
rhoReactionThermo, rhoReactionThermo,
heRhoThermo, heRhoThermo,
multiComponentMixture, multiComponentMixture,
incompressibleGasThermoPhysics incompressibleGasEThermoPhysics
); );
makeReactionMixtureThermo makeReactionMixtureThermo
@ -257,7 +257,114 @@ makeReactionMixtureThermo
rhoReactionThermo, rhoReactionThermo,
heRhoThermo, heRhoThermo,
multiComponentMixture, multiComponentMixture,
icoPoly8ThermoPhysics icoPoly8EThermoPhysics
);
// Multi-component reaction thermo
makeReactionMixtureThermo
(
rhoThermo,
rhoReactionThermo,
heRhoThermo,
reactingMixture,
constGasEThermoPhysics
);
makeReactionMixtureThermo
(
rhoThermo,
rhoReactionThermo,
heRhoThermo,
reactingMixture,
gasEThermoPhysics
);
makeReactionMixtureThermo
(
rhoThermo,
rhoReactionThermo,
heRhoThermo,
reactingMixture,
constIncompressibleGasEThermoPhysics
);
makeReactionMixtureThermo
(
rhoThermo,
rhoReactionThermo,
heRhoThermo,
reactingMixture,
incompressibleGasEThermoPhysics
);
makeReactionMixtureThermo
(
rhoThermo,
rhoReactionThermo,
heRhoThermo,
reactingMixture,
icoPoly8EThermoPhysics
);
makeReactionMixtureThermo
(
rhoThermo,
rhoReactionThermo,
heRhoThermo,
singleStepReactingMixture,
gasEThermoPhysics
);
// Multi-component thermo for sensible enthalpy
makeReactionMixtureThermo
(
rhoThermo,
rhoReactionThermo,
heRhoThermo,
multiComponentMixture,
constGasHThermoPhysics
);
makeReactionMixtureThermo
(
rhoThermo,
rhoReactionThermo,
heRhoThermo,
multiComponentMixture,
gasHThermoPhysics
);
makeReactionMixtureThermo
(
rhoThermo,
rhoReactionThermo,
heRhoThermo,
multiComponentMixture,
constIncompressibleGasHThermoPhysics
);
makeReactionMixtureThermo
(
rhoThermo,
rhoReactionThermo,
heRhoThermo,
multiComponentMixture,
incompressibleGasHThermoPhysics
);
makeReactionMixtureThermo
(
rhoThermo,
rhoReactionThermo,
heRhoThermo,
multiComponentMixture,
icoPoly8HThermoPhysics
); );
@ -269,7 +376,7 @@ makeReactionMixtureThermo
rhoReactionThermo, rhoReactionThermo,
heRhoThermo, heRhoThermo,
reactingMixture, reactingMixture,
constGasThermoPhysics constGasHThermoPhysics
); );
makeReactionMixtureThermo makeReactionMixtureThermo
@ -278,7 +385,7 @@ makeReactionMixtureThermo
rhoReactionThermo, rhoReactionThermo,
heRhoThermo, heRhoThermo,
reactingMixture, reactingMixture,
gasThermoPhysics gasHThermoPhysics
); );
makeReactionMixtureThermo makeReactionMixtureThermo
@ -287,7 +394,7 @@ makeReactionMixtureThermo
rhoReactionThermo, rhoReactionThermo,
heRhoThermo, heRhoThermo,
reactingMixture, reactingMixture,
constIncompressibleGasThermoPhysics constIncompressibleGasHThermoPhysics
); );
makeReactionMixtureThermo makeReactionMixtureThermo
@ -296,7 +403,7 @@ makeReactionMixtureThermo
rhoReactionThermo, rhoReactionThermo,
heRhoThermo, heRhoThermo,
reactingMixture, reactingMixture,
incompressibleGasThermoPhysics incompressibleGasHThermoPhysics
); );
makeReactionMixtureThermo makeReactionMixtureThermo
@ -305,7 +412,7 @@ makeReactionMixtureThermo
rhoReactionThermo, rhoReactionThermo,
heRhoThermo, heRhoThermo,
reactingMixture, reactingMixture,
icoPoly8ThermoPhysics icoPoly8HThermoPhysics
); );
makeReactionMixtureThermo makeReactionMixtureThermo
@ -314,7 +421,7 @@ makeReactionMixtureThermo
rhoReactionThermo, rhoReactionThermo,
heRhoThermo, heRhoThermo,
singleStepReactingMixture, singleStepReactingMixture,
gasThermoPhysics gasHThermoPhysics
); );

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation \\ / A nd | Copyright (C) 2013-2013 OpenFOAM Foundation
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -46,7 +46,7 @@ namespace Foam
ODESolidChemistryModel, ODESolidChemistryModel,
solidChemistryModel, solidChemistryModel,
hConstSolidThermoPhysics, hConstSolidThermoPhysics,
gasThermoPhysics gasHThermoPhysics
); );
makeSolidChemistryModel makeSolidChemistryModel
@ -54,7 +54,7 @@ namespace Foam
ODESolidChemistryModel, ODESolidChemistryModel,
solidChemistryModel, solidChemistryModel,
hExponentialSolidThermoPhysics, hExponentialSolidThermoPhysics,
gasThermoPhysics gasHThermoPhysics
); );
} }

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation \\ / A nd | Copyright (C) 2013-2013 OpenFOAM Foundation
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -41,7 +41,7 @@ namespace Foam
ode, ode,
solidChemistryModel, solidChemistryModel,
hConstSolidThermoPhysics, hConstSolidThermoPhysics,
gasThermoPhysics gasHThermoPhysics
) )
makeSolidChemistrySolverType makeSolidChemistrySolverType
@ -49,7 +49,7 @@ namespace Foam
ode, ode,
solidChemistryModel, solidChemistryModel,
hExponentialSolidThermoPhysics, hExponentialSolidThermoPhysics,
gasThermoPhysics gasHThermoPhysics
) )
} }

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation \\ / A nd | Copyright (C) 2013-2013 OpenFOAM Foundation
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -43,16 +43,31 @@ Description
namespace Foam namespace Foam
{ {
typedef Reaction<constGasThermoPhysics> constGasReaction; // sensible enthalpy based reactions
typedef Reaction<constGasHThermoPhysics> constGasHReaction;
typedef Reaction<gasThermoPhysics> gasReaction; typedef Reaction<gasHThermoPhysics> gasHReaction;
typedef Reaction<constIncompressibleGasThermoPhysics> typedef Reaction<constIncompressibleGasHThermoPhysics>
constIncompressibleGasReaction; constIncompressibleGasHReaction;
typedef Reaction<incompressibleGasThermoPhysics> incompressibleGasReaction; typedef Reaction<incompressibleGasHThermoPhysics>
incompressibleGasHReaction;
typedef Reaction<icoPoly8ThermoPhysics> icoPoly8Reaction; typedef Reaction<icoPoly8HThermoPhysics> icoPoly8HReaction;
// internal ennergy based reactions
typedef Reaction<constGasEThermoPhysics> constGasEReaction;
typedef Reaction<gasEThermoPhysics> gasEReaction;
typedef Reaction<constIncompressibleGasEThermoPhysics>
constIncompressibleGasEReaction;
typedef Reaction<incompressibleGasEThermoPhysics>
incompressibleGasEReaction;
typedef Reaction<icoPoly8EThermoPhysics> icoPoly8EReaction;
} }
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation \\ / A nd | Copyright (C) 2013-2013 OpenFOAM Foundation
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -37,7 +37,9 @@ Description
#include "incompressiblePerfectGas.H" #include "incompressiblePerfectGas.H"
#include "hConstThermo.H" #include "hConstThermo.H"
#include "janafThermo.H" #include "janafThermo.H"
#include "sensibleEnthalpy.H" #include "sensibleEnthalpy.H"
#include "sensibleInternalEnergy.H"
#include "thermo.H" #include "thermo.H"
#include "sutherlandTransport.H" #include "sutherlandTransport.H"
#include "constTransport.H" #include "constTransport.H"
@ -50,6 +52,7 @@ Description
namespace Foam namespace Foam
{ {
// thermo physics types based on sensibleEnthalpy
typedef typedef
constTransport constTransport
< <
@ -61,7 +64,7 @@ namespace Foam
>, >,
sensibleEnthalpy sensibleEnthalpy
> >
> constGasThermoPhysics; > constGasHThermoPhysics;
typedef typedef
sutherlandTransport sutherlandTransport
@ -74,7 +77,7 @@ namespace Foam
>, >,
sensibleEnthalpy sensibleEnthalpy
> >
> gasThermoPhysics; > gasHThermoPhysics;
typedef typedef
constTransport constTransport
@ -87,7 +90,7 @@ namespace Foam
>, >,
sensibleEnthalpy sensibleEnthalpy
> >
> constIncompressibleGasThermoPhysics; > constIncompressibleGasHThermoPhysics;
typedef typedef
sutherlandTransport sutherlandTransport
@ -100,7 +103,7 @@ namespace Foam
>, >,
sensibleEnthalpy sensibleEnthalpy
> >
> incompressibleGasThermoPhysics; > incompressibleGasHThermoPhysics;
typedef typedef
polynomialTransport polynomialTransport
@ -115,7 +118,76 @@ namespace Foam
sensibleEnthalpy sensibleEnthalpy
>, >,
8 8
> icoPoly8ThermoPhysics; > icoPoly8HThermoPhysics;
// thermo physics types based on sensibleInternalEnergy
typedef
constTransport
<
species::thermo
<
hConstThermo
<
perfectGas<specie>
>,
sensibleInternalEnergy
>
> constGasEThermoPhysics;
typedef
sutherlandTransport
<
species::thermo
<
janafThermo
<
perfectGas<specie>
>,
sensibleInternalEnergy
>
> gasEThermoPhysics;
typedef
constTransport
<
species::thermo
<
hConstThermo
<
incompressiblePerfectGas<specie>
>,
sensibleInternalEnergy
>
> constIncompressibleGasEThermoPhysics;
typedef
sutherlandTransport
<
species::thermo
<
janafThermo
<
incompressiblePerfectGas<specie>
>,
sensibleInternalEnergy
>
> incompressibleGasEThermoPhysics;
typedef
polynomialTransport
<
species::thermo
<
hPolynomialThermo
<
icoPolynomial<specie, 8>,
8
>,
sensibleInternalEnergy
>,
8
> icoPoly8EThermoPhysics;
} }
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation \\ / A nd | Copyright (C) 2013-2013 OpenFOAM Foundation
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -31,8 +31,11 @@ License
namespace Foam namespace Foam
{ {
makeIRReactions(gasThermoPhysics, LangmuirHinshelwoodReactionRate) makeIRReactions(gasHThermoPhysics, LangmuirHinshelwoodReactionRate)
makeIRReactions(icoPoly8ThermoPhysics, LangmuirHinshelwoodReactionRate) makeIRReactions(icoPoly8HThermoPhysics, LangmuirHinshelwoodReactionRate)
makeIRReactions(gasEThermoPhysics, LangmuirHinshelwoodReactionRate)
makeIRReactions(icoPoly8EThermoPhysics, LangmuirHinshelwoodReactionRate)
} }
// ************************************************************************* // // ************************************************************************* //

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation \\ / A nd | Copyright (C) 2013-2013 OpenFOAM Foundation
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -83,15 +83,26 @@ License
namespace Foam namespace Foam
{ {
makeReactions(constGasThermoPhysics, constGasReaction) // sensible enthalpy based reactions
makeReactions(gasThermoPhysics, gasReaction) makeReactions(constGasHThermoPhysics, constGasHReaction)
makeReactions(gasHThermoPhysics, gasHReaction)
makeReactions makeReactions
( (
constIncompressibleGasThermoPhysics, constIncompressibleGasHThermoPhysics,
constIncompressibleGasReaction constIncompressibleGasHReaction
) )
makeReactions(incompressibleGasThermoPhysics, incompressibleGasReaction) makeReactions(incompressibleGasHThermoPhysics, incompressibleGasHReaction)
makeReactions(icoPoly8ThermoPhysics, icoPoly8Reaction) makeReactions(icoPoly8HThermoPhysics, icoPoly8HReaction)
makeReactions(constGasEThermoPhysics, constGasEReaction)
makeReactions(gasEThermoPhysics, gasEReaction)
makeReactions
(
constIncompressibleGasEThermoPhysics,
constIncompressibleGasEReaction
)
makeReactions(incompressibleGasEThermoPhysics, incompressibleGasEReaction)
makeReactions(icoPoly8EThermoPhysics, icoPoly8EReaction)
} }
// ************************************************************************* // // ************************************************************************* //

View File

@ -15,7 +15,7 @@ FoamFile
} }
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
combustionModel infinitelyFastChemistry<psiThermoCombustion,gasThermoPhysics>; combustionModel infinitelyFastChemistry<psiThermoCombustion,gasHThermoPhysics>;
active true; active true;

View File

@ -15,9 +15,8 @@ FoamFile
} }
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
//combustionModel noCombustion<psiThermoCombustion>; combustionModel infinitelyFastChemistry<psiThermoCombustion,gasHThermoPhysics>;
combustionModel infinitelyFastChemistry<psiThermoCombustion,gasThermoPhysics>; //combustionModel FSD<psiThermoCombustion,gasHThermoPhysics>;
//combustionModel FSD<psiThermoCombustion,gasThermoPhysics>;
active true; active true;

View File

@ -16,7 +16,7 @@ FoamFile
} }
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
combustionModel infinitelyFastChemistry<psiThermoCombustion,gasThermoPhysics>; combustionModel infinitelyFastChemistry<psiThermoCombustion,gasHThermoPhysics>;
active on; active on;