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();
PtrList<gasThermoPhysics> specieData(Y.size());
PtrList<gasHThermoPhysics> specieData(Y.size());
forAll(specieData, i)
{
specieData.set
(
i,
new gasThermoPhysics
new gasHThermoPhysics
(
dynamic_cast<const reactingMixture<gasThermoPhysics>&>
dynamic_cast<const reactingMixture<gasHThermoPhysics>&>
(thermo).speciesData()[i]
)
);

View File

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

View File

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

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -133,6 +133,8 @@ Notes:
#include "pointFields.H"
//#include "ReadFields.H"
#include "fvMeshTools.H"
#include "OBJstream.H"
#include "PatchTools.H"
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:
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

View File

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

View File

@ -30,8 +30,16 @@ License
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
const char* const Foam::septernion::typeName = "septernion";
const Foam::septernion Foam::septernion::zero(vector::zero, quaternion::zero);
const Foam::septernion Foam::septernion::I(vector::zero, quaternion::I);
const Foam::septernion Foam::septernion::zero
(
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 * * * * * * * * * * * * * * //

View File

@ -32,23 +32,48 @@ License
namespace Foam
{
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
template<>
const char* const triad::Vector<vector>::typeName = "triad";
template<>
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 * * * * * * * * * * * * * * //
@ -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
\\ / O peration |
\\ / A nd | Copyright (C) 2011 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2013-2013 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -38,11 +38,12 @@ namespace Foam
{
namespace combustionModels
{
// Combustion models based on sensibleEnthalpy
makeCombustionTypesThermo
(
FSD,
psiThermoCombustion,
gasThermoPhysics,
gasHThermoPhysics,
psiCombustionModel
);
@ -50,7 +51,7 @@ namespace combustionModels
(
FSD,
psiThermoCombustion,
constGasThermoPhysics,
constGasHThermoPhysics,
psiCombustionModel
);
@ -58,7 +59,7 @@ namespace combustionModels
(
FSD,
rhoThermoCombustion,
gasThermoPhysics,
gasHThermoPhysics,
rhoCombustionModel
);
@ -66,7 +67,40 @@ namespace combustionModels
(
FSD,
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
);
}

View File

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

View File

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

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -2052,6 +2052,9 @@ void Foam::polyTopoChange::reorderCoupledFaces
if (anyChanged)
{
// Reorder faces according to oldToNew.
reorderCompactFaces(oldToNew.size(), oldToNew);
// Rotate faces (rotation is already in new face indices).
forAll(rotation, faceI)
{
@ -2060,9 +2063,6 @@ void Foam::polyTopoChange::reorderCoupledFaces
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
\\ / O peration |
\\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2013-2013 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -39,39 +39,76 @@ Description
namespace Foam
{
// Chemistry moldels based on sensibleEnthalpy
makeChemistryModel
(
chemistryModel,
psiChemistryModel,
constGasThermoPhysics
constGasHThermoPhysics
);
makeChemistryModel
(
chemistryModel,
psiChemistryModel,
gasThermoPhysics
gasHThermoPhysics
);
makeChemistryModel
(
chemistryModel,
psiChemistryModel,
constIncompressibleGasThermoPhysics
constIncompressibleGasHThermoPhysics
);
makeChemistryModel
(
chemistryModel,
psiChemistryModel,
incompressibleGasThermoPhysics
incompressibleGasHThermoPhysics
);
makeChemistryModel
(
chemistryModel,
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
\\ / O peration |
\\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2013-2013 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -39,39 +39,77 @@ Description
namespace Foam
{
// Chemistry moldels based on sensibleEnthalpy
makeChemistryModel
(
chemistryModel,
rhoChemistryModel,
constGasThermoPhysics
constGasHThermoPhysics
);
makeChemistryModel
(
chemistryModel,
rhoChemistryModel,
gasThermoPhysics
gasHThermoPhysics
);
makeChemistryModel
(
chemistryModel,
rhoChemistryModel,
constIncompressibleGasThermoPhysics
constIncompressibleGasHThermoPhysics
);
makeChemistryModel
(
chemistryModel,
rhoChemistryModel,
incompressibleGasThermoPhysics
incompressibleGasHThermoPhysics
);
makeChemistryModel
(
chemistryModel,
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
\\ / O peration |
\\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2013-2013 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -33,24 +33,61 @@ License
namespace Foam
{
makeChemistrySolverTypes(psiChemistryModel, constGasThermoPhysics);
makeChemistrySolverTypes(psiChemistryModel, gasThermoPhysics);
// Chemistry solvers based on sensibleEnthalpy
makeChemistrySolverTypes(psiChemistryModel, constGasHThermoPhysics);
makeChemistrySolverTypes(psiChemistryModel, gasHThermoPhysics);
makeChemistrySolverTypes
(
psiChemistryModel,
constIncompressibleGasThermoPhysics
constIncompressibleGasHThermoPhysics
);
makeChemistrySolverTypes(psiChemistryModel, incompressibleGasThermoPhysics);
makeChemistrySolverTypes(psiChemistryModel, icoPoly8ThermoPhysics);
makeChemistrySolverTypes(rhoChemistryModel, constGasThermoPhysics);
makeChemistrySolverTypes(rhoChemistryModel, gasThermoPhysics);
makeChemistrySolverTypes
(
psiChemistryModel,
incompressibleGasHThermoPhysics)
;
makeChemistrySolverTypes(psiChemistryModel, icoPoly8HThermoPhysics);
makeChemistrySolverTypes(rhoChemistryModel, constGasHThermoPhysics);
makeChemistrySolverTypes(rhoChemistryModel, gasHThermoPhysics);
makeChemistrySolverTypes
(
rhoChemistryModel,
constIncompressibleGasThermoPhysics
constIncompressibleGasHThermoPhysics
);
makeChemistrySolverTypes(rhoChemistryModel, incompressibleGasThermoPhysics);
makeChemistrySolverTypes(rhoChemistryModel, icoPoly8ThermoPhysics);
makeChemistrySolverTypes
(
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
\\ / O peration |
\\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -37,23 +37,50 @@ namespace Foam
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
makeChemistryReader(constGasThermoPhysics);
makeChemistryReader(gasThermoPhysics);
makeChemistryReader(constIncompressibleGasThermoPhysics);
makeChemistryReader(incompressibleGasThermoPhysics);
makeChemistryReader(icoPoly8ThermoPhysics);
makeChemistryReader(hConstSolidThermoPhysics);
makeChemistryReader(hExponentialSolidThermoPhysics);
// Solid chemistry readers based on sensibleEnthalpy
makeChemistryReaderType(foamChemistryReader, constGasThermoPhysics);
makeChemistryReaderType(foamChemistryReader, gasThermoPhysics);
makeChemistryReader(constGasHThermoPhysics);
makeChemistryReader(gasHThermoPhysics);
makeChemistryReader(constIncompressibleGasHThermoPhysics);
makeChemistryReader(incompressibleGasHThermoPhysics);
makeChemistryReader(icoPoly8HThermoPhysics);
makeChemistryReaderType(foamChemistryReader, constGasHThermoPhysics);
makeChemistryReaderType(foamChemistryReader, gasHThermoPhysics);
makeChemistryReaderType
(
foamChemistryReader,
constIncompressibleGasThermoPhysics
constIncompressibleGasHThermoPhysics
);
makeChemistryReaderType(foamChemistryReader, incompressibleGasThermoPhysics);
makeChemistryReaderType(foamChemistryReader, icoPoly8ThermoPhysics);
makeChemistryReaderType(foamChemistryReader, incompressibleGasHThermoPhysics);
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, hExponentialSolidThermoPhysics);

View File

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

View File

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

View File

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

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2013-2013 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -179,7 +179,7 @@ makeReactionThermo
);
// Multi-component thermo
// Multi-component thermo for sensible enthalpy
makeReactionMixtureThermo
(
@ -187,7 +187,7 @@ makeReactionMixtureThermo
psiReactionThermo,
hePsiThermo,
multiComponentMixture,
constGasThermoPhysics
constGasHThermoPhysics
);
makeReactionMixtureThermo
@ -196,11 +196,32 @@ makeReactionMixtureThermo
psiReactionThermo,
hePsiThermo,
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
(
@ -208,7 +229,7 @@ makeReactionMixtureThermo
psiReactionThermo,
hePsiThermo,
reactingMixture,
constGasThermoPhysics
constGasHThermoPhysics
);
makeReactionMixtureThermo
@ -217,7 +238,7 @@ makeReactionMixtureThermo
psiReactionThermo,
hePsiThermo,
reactingMixture,
gasThermoPhysics
gasHThermoPhysics
);
makeReactionMixtureThermo
@ -226,7 +247,37 @@ makeReactionMixtureThermo
psiReactionThermo,
hePsiThermo,
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
\\ / O peration |
\\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2013-2013 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -213,7 +213,7 @@ makeReactionThermo
);
// Multi-component thermo
// Multi-component thermo for internal energy
makeReactionMixtureThermo
(
@ -221,7 +221,7 @@ makeReactionMixtureThermo
rhoReactionThermo,
heRhoThermo,
multiComponentMixture,
constGasThermoPhysics
constGasEThermoPhysics
);
makeReactionMixtureThermo
@ -230,7 +230,7 @@ makeReactionMixtureThermo
rhoReactionThermo,
heRhoThermo,
multiComponentMixture,
gasThermoPhysics
gasEThermoPhysics
);
makeReactionMixtureThermo
@ -239,7 +239,7 @@ makeReactionMixtureThermo
rhoReactionThermo,
heRhoThermo,
multiComponentMixture,
constIncompressibleGasThermoPhysics
constIncompressibleGasEThermoPhysics
);
makeReactionMixtureThermo
@ -248,7 +248,7 @@ makeReactionMixtureThermo
rhoReactionThermo,
heRhoThermo,
multiComponentMixture,
incompressibleGasThermoPhysics
incompressibleGasEThermoPhysics
);
makeReactionMixtureThermo
@ -257,7 +257,114 @@ makeReactionMixtureThermo
rhoReactionThermo,
heRhoThermo,
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,
heRhoThermo,
reactingMixture,
constGasThermoPhysics
constGasHThermoPhysics
);
makeReactionMixtureThermo
@ -278,7 +385,7 @@ makeReactionMixtureThermo
rhoReactionThermo,
heRhoThermo,
reactingMixture,
gasThermoPhysics
gasHThermoPhysics
);
makeReactionMixtureThermo
@ -287,7 +394,7 @@ makeReactionMixtureThermo
rhoReactionThermo,
heRhoThermo,
reactingMixture,
constIncompressibleGasThermoPhysics
constIncompressibleGasHThermoPhysics
);
makeReactionMixtureThermo
@ -296,7 +403,7 @@ makeReactionMixtureThermo
rhoReactionThermo,
heRhoThermo,
reactingMixture,
incompressibleGasThermoPhysics
incompressibleGasHThermoPhysics
);
makeReactionMixtureThermo
@ -305,7 +412,7 @@ makeReactionMixtureThermo
rhoReactionThermo,
heRhoThermo,
reactingMixture,
icoPoly8ThermoPhysics
icoPoly8HThermoPhysics
);
makeReactionMixtureThermo
@ -314,7 +421,7 @@ makeReactionMixtureThermo
rhoReactionThermo,
heRhoThermo,
singleStepReactingMixture,
gasThermoPhysics
gasHThermoPhysics
);

View File

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

View File

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

View File

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

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2013-2013 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -83,15 +83,26 @@ License
namespace Foam
{
makeReactions(constGasThermoPhysics, constGasReaction)
makeReactions(gasThermoPhysics, gasReaction)
// sensible enthalpy based reactions
makeReactions(constGasHThermoPhysics, constGasHReaction)
makeReactions(gasHThermoPhysics, gasHReaction)
makeReactions
(
constIncompressibleGasThermoPhysics,
constIncompressibleGasReaction
constIncompressibleGasHThermoPhysics,
constIncompressibleGasHReaction
)
makeReactions(incompressibleGasThermoPhysics, incompressibleGasReaction)
makeReactions(icoPoly8ThermoPhysics, icoPoly8Reaction)
makeReactions(incompressibleGasHThermoPhysics, incompressibleGasHReaction)
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;

View File

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

View File

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