From a838fa9a910ca74a12dcf17ab3820ab032b951bc Mon Sep 17 00:00:00 2001 From: Henry Weller Date: Sat, 25 Feb 2023 23:14:37 +0000 Subject: [PATCH] ThermophysicalTransportModels: separated macros in makeThermophysicalTransportModel to allow tables for specific types of ThermophysicalTransportModel to be created, i.e. laminar, RAS or LES rather than always creating all three. --- .../fluid/makeThermophysicalTransportModel.H | 169 +++++++++--------- ...ticomponentThermophysicalTransportModels.C | 4 +- ...fluidThermoThermophysicalTransportModels.C | 4 +- ...ticomponentThermophysicalTransportModels.C | 4 +- .../phaseFluidThermophysicalTransportModels.C | 4 +- 5 files changed, 90 insertions(+), 95 deletions(-) diff --git a/src/ThermophysicalTransportModels/fluid/makeThermophysicalTransportModel.H b/src/ThermophysicalTransportModels/fluid/makeThermophysicalTransportModel.H index f1ba6d6a2b..cc41d2683d 100644 --- a/src/ThermophysicalTransportModels/fluid/makeThermophysicalTransportModel.H +++ b/src/ThermophysicalTransportModels/fluid/makeThermophysicalTransportModel.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2020-2022 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2020-2023 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -27,32 +27,7 @@ License // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -#define makeThermophysicalTransportModelTypes( \ - BaseModel, MomentumTransportModel, ThermoModel) \ - \ - namespace Foam \ - { \ - typedef BaseModel \ - ThermoModel##MomentumTransportModel##BaseModel; \ - \ - typedef laminarThermophysicalTransportModel \ - < \ - ThermoModel##MomentumTransportModel##BaseModel \ - > laminar##ThermoModel##MomentumTransportModel##BaseModel; \ - \ - typedef RASThermophysicalTransportModel \ - < \ - ThermoModel##MomentumTransportModel##BaseModel \ - > RAS##ThermoModel##MomentumTransportModel##BaseModel; \ - \ - typedef LESThermophysicalTransportModel \ - < \ - ThermoModel##MomentumTransportModel##BaseModel \ - > LES##ThermoModel##MomentumTransportModel##BaseModel; \ - } - - -#define makeThermophysicalTransportModels( \ +#define makeThermophysicalTransportModelBaseType( \ BaseModel, MomentumTransportModel, ThermoModel) \ \ namespace Foam \ @@ -63,74 +38,94 @@ License ThermoModel \ > ThermophysicalTransportModel##MomentumTransportModel; \ \ + typedef BaseModel \ + ThermoModel##MomentumTransportModel##BaseModel; \ + } + + +#define makeThermophysicalTransportModelType( \ + BaseModel, MomentumTransportModel, ThermoModel, SType) \ + \ + namespace Foam \ + { \ + typedef SType##ThermophysicalTransportModel \ + < \ + ThermoModel##MomentumTransportModel##BaseModel \ + > SType##ThermoModel##MomentumTransportModel##BaseModel; \ + } + + +#define makeThermophysicalTransportModelTypes( \ + BaseModel, MomentumTransportModel, ThermoModel) \ + \ + makeThermophysicalTransportModelBaseType \ + (BaseModel, MomentumTransportModel, ThermoModel) \ + \ + makeThermophysicalTransportModelType \ + (BaseModel, MomentumTransportModel, ThermoModel, laminar) \ + \ + makeThermophysicalTransportModelType \ + (BaseModel, MomentumTransportModel, ThermoModel, RAS) \ + \ + makeThermophysicalTransportModelType \ + (BaseModel, MomentumTransportModel, ThermoModel, LES) + + +#define makeThermophysicalTransportModelTable( \ + BaseModel, MomentumTransportModel, ThermoModel) \ + \ + namespace Foam \ + { \ defineTemplateRunTimeSelectionTable \ ( \ ThermophysicalTransportModel##MomentumTransportModel, \ dictionary \ - ); \ - \ - \ - defineNamedTemplateTypeNameAndDebug \ - ( \ - laminar##ThermoModel##MomentumTransportModel##BaseModel, \ - 0 \ - ); \ - \ - defineTemplateRunTimeSelectionTable \ - ( \ - laminar##ThermoModel##MomentumTransportModel##BaseModel, \ - dictionary \ - ); \ - \ - addToRunTimeSelectionTable \ - ( \ - ThermophysicalTransportModel##MomentumTransportModel, \ - laminar##ThermoModel##MomentumTransportModel##BaseModel, \ - dictionary \ - ); \ - \ - \ - defineNamedTemplateTypeNameAndDebug \ - ( \ - RAS##ThermoModel##MomentumTransportModel##BaseModel, \ - 0 \ - ); \ - \ - defineTemplateRunTimeSelectionTable \ - ( \ - RAS##ThermoModel##MomentumTransportModel##BaseModel, \ - dictionary \ - ); \ - \ - addToRunTimeSelectionTable \ - ( \ - ThermophysicalTransportModel##MomentumTransportModel, \ - RAS##ThermoModel##MomentumTransportModel##BaseModel, \ - dictionary \ - ); \ - \ - \ - defineNamedTemplateTypeNameAndDebug \ - ( \ - LES##ThermoModel##MomentumTransportModel##BaseModel, \ - 0 \ - ); \ - \ - defineTemplateRunTimeSelectionTable \ - ( \ - LES##ThermoModel##MomentumTransportModel##BaseModel, \ - dictionary \ - ); \ - \ - addToRunTimeSelectionTable \ - ( \ - ThermophysicalTransportModel##MomentumTransportModel, \ - LES##ThermoModel##MomentumTransportModel##BaseModel, \ - dictionary \ ); \ } +#define makeThermophysicalTransportModelTableType( \ + BaseModel, MomentumTransportModel, ThermoModel, SType) \ + \ + namespace Foam \ + { \ + defineNamedTemplateTypeNameAndDebug \ + ( \ + SType##ThermoModel##MomentumTransportModel##BaseModel, \ + 0 \ + ); \ + \ + defineTemplateRunTimeSelectionTable \ + ( \ + SType##ThermoModel##MomentumTransportModel##BaseModel, \ + dictionary \ + ); \ + \ + addToRunTimeSelectionTable \ + ( \ + ThermophysicalTransportModel##MomentumTransportModel, \ + SType##ThermoModel##MomentumTransportModel##BaseModel, \ + dictionary \ + ); \ + } + + +#define makeThermophysicalTransportModelTables( \ + BaseModel, MomentumTransportModel, ThermoModel) \ + \ + makeThermophysicalTransportModelTable \ + (BaseModel, MomentumTransportModel, ThermoModel) \ + \ + makeThermophysicalTransportModelTableType \ + (BaseModel, MomentumTransportModel, ThermoModel, laminar) \ + \ + makeThermophysicalTransportModelTableType \ + (BaseModel, MomentumTransportModel, ThermoModel, RAS) \ + \ + makeThermophysicalTransportModelTableType \ + (BaseModel, MomentumTransportModel, ThermoModel, LES) + + #define makeThermophysicalTransportModel( \ BaseModel, MomentumTransportModel, ThermoModel, SType, Type) \ \ diff --git a/src/ThermophysicalTransportModels/fluidMulticomponentThermo/fluidMulticomponentThermophysicalTransportModels.C b/src/ThermophysicalTransportModels/fluidMulticomponentThermo/fluidMulticomponentThermophysicalTransportModels.C index 9c18904cf2..6716f2defe 100644 --- a/src/ThermophysicalTransportModels/fluidMulticomponentThermo/fluidMulticomponentThermophysicalTransportModels.C +++ b/src/ThermophysicalTransportModels/fluidMulticomponentThermo/fluidMulticomponentThermophysicalTransportModels.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2020-2022 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2020-2023 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -27,7 +27,7 @@ License // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -makeThermophysicalTransportModels +makeThermophysicalTransportModelTables ( ThermophysicalTransportModel, compressibleMomentumTransportModel, diff --git a/src/ThermophysicalTransportModels/fluidThermo/fluidThermoThermophysicalTransportModels.C b/src/ThermophysicalTransportModels/fluidThermo/fluidThermoThermophysicalTransportModels.C index fb337d6cdb..c98e31b303 100644 --- a/src/ThermophysicalTransportModels/fluidThermo/fluidThermoThermophysicalTransportModels.C +++ b/src/ThermophysicalTransportModels/fluidThermo/fluidThermoThermophysicalTransportModels.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2020-2022 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2020-2023 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -27,7 +27,7 @@ License // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -makeThermophysicalTransportModels +makeThermophysicalTransportModelTables ( ThermophysicalTransportModel, compressibleMomentumTransportModel, diff --git a/src/ThermophysicalTransportModels/phaseFluidMulticomponentThermo/phaseFluidMulticomponentThermophysicalTransportModels.C b/src/ThermophysicalTransportModels/phaseFluidMulticomponentThermo/phaseFluidMulticomponentThermophysicalTransportModels.C index 6f89fa32a9..6e0f36c554 100644 --- a/src/ThermophysicalTransportModels/phaseFluidMulticomponentThermo/phaseFluidMulticomponentThermophysicalTransportModels.C +++ b/src/ThermophysicalTransportModels/phaseFluidMulticomponentThermo/phaseFluidMulticomponentThermophysicalTransportModels.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2020-2022 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2020-2023 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -27,7 +27,7 @@ License // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -makeThermophysicalTransportModels +makeThermophysicalTransportModelTables ( PhaseThermophysicalTransportModel, phaseCompressibleMomentumTransportModel, diff --git a/src/ThermophysicalTransportModels/phaseFluidThermo/phaseFluidThermophysicalTransportModels.C b/src/ThermophysicalTransportModels/phaseFluidThermo/phaseFluidThermophysicalTransportModels.C index d4ac7113a8..76337662d8 100644 --- a/src/ThermophysicalTransportModels/phaseFluidThermo/phaseFluidThermophysicalTransportModels.C +++ b/src/ThermophysicalTransportModels/phaseFluidThermo/phaseFluidThermophysicalTransportModels.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2020-2021 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2020-2023 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -27,7 +27,7 @@ License // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -makeThermophysicalTransportModels +makeThermophysicalTransportModelTables ( PhaseThermophysicalTransportModel, phaseCompressibleMomentumTransportModel,