From 850ad0913c10eb4fd0b3d7c7fd320b0c0797d7a1 Mon Sep 17 00:00:00 2001 From: Henry Date: Sun, 17 May 2015 22:04:36 +0100 Subject: [PATCH] makeSolidChemistryModel: Separate solid-only and solid-gas instantiation macros Avoids duplicate typedefs. Thanks to Bruno Santo for patch Resolves bug-report http://www.openfoam.org/mantisbt/view.php?id=1694 --- .../basicSolidChemistryModels.C | 33 +++++++++++++++++++ .../makeSolidChemistryModel.H | 19 ++++++----- 2 files changed, 44 insertions(+), 8 deletions(-) diff --git a/src/thermophysicalModels/solidChemistryModel/basicSolidChemistryModel/basicSolidChemistryModels.C b/src/thermophysicalModels/solidChemistryModel/basicSolidChemistryModel/basicSolidChemistryModels.C index 01360b7b44..54273f4459 100644 --- a/src/thermophysicalModels/solidChemistryModel/basicSolidChemistryModel/basicSolidChemistryModels.C +++ b/src/thermophysicalModels/solidChemistryModel/basicSolidChemistryModel/basicSolidChemistryModels.C @@ -39,8 +39,17 @@ Description #include "thermoPhysicsTypes.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // +// hConstSolidThermoPhysics makeSolidChemistryModel +( + solidChemistryModel, + pyrolysisChemistryModel, + basicSolidChemistryModel, + hConstSolidThermoPhysics +); + +makeSolidGasChemistryModel ( solidChemistryModel, pyrolysisChemistryModel, @@ -49,7 +58,19 @@ makeSolidChemistryModel gasHThermoPhysics ); + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // +// hPowerSolidThermoPhysics + makeSolidChemistryModel +( + solidChemistryModel, + pyrolysisChemistryModel, + basicSolidChemistryModel, + hPowerSolidThermoPhysics +); + +makeSolidGasChemistryModel ( solidChemistryModel, pyrolysisChemistryModel, @@ -58,7 +79,19 @@ makeSolidChemistryModel gasHThermoPhysics ); + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // +// hExpKappaConstSolidThermoPhysics + makeSolidChemistryModel +( + solidChemistryModel, + pyrolysisChemistryModel, + basicSolidChemistryModel, + hExpKappaConstSolidThermoPhysics +); + +makeSolidGasChemistryModel ( solidChemistryModel, pyrolysisChemistryModel, diff --git a/src/thermophysicalModels/solidChemistryModel/makeSolidChemistryModel.H b/src/thermophysicalModels/solidChemistryModel/makeSolidChemistryModel.H index 040f526082..912c44ef95 100644 --- a/src/thermophysicalModels/solidChemistryModel/makeSolidChemistryModel.H +++ b/src/thermophysicalModels/solidChemistryModel/makeSolidChemistryModel.H @@ -34,21 +34,24 @@ Description // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -#define makeSolidChemistryModel(sChemistry, SS, Comp, SThermo, GThermo) \ - \ - typedef Foam::SS \ - SS##Comp##SThermo##GThermo; \ +#define makeSolidChemistryModel(sChemistry, SS, Comp, SThermo) \ \ typedef Foam::sChemistry \ - sChemistryl##Comp##SThermo; \ + sChemistry##Comp##SThermo; \ \ defineTemplateTypeNameAndDebugWithName \ ( \ - sChemistryl##Comp##SThermo, \ - (Foam::word(sChemistryl##Comp##SThermo::typeName_()) + "<"#Comp"," \ + sChemistry##Comp##SThermo, \ + (Foam::word(sChemistry##Comp##SThermo::typeName_()) + "<"#Comp"," \ + SThermo::typeName() + ">").c_str(), \ 0 \ - ); \ + ); + + +#define makeSolidGasChemistryModel(sChemistry, SS, Comp, SThermo, GThermo) \ + \ + typedef Foam::SS \ + SS##Comp##SThermo##GThermo; \ \ defineTemplateTypeNameAndDebugWithName \ ( \