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.
This commit is contained in:
Henry Weller
2023-02-25 23:14:37 +00:00
parent 6cac79b47b
commit a838fa9a91
5 changed files with 90 additions and 95 deletions

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org \\ / O peration | Website: https://openfoam.org
\\ / A nd | Copyright (C) 2020-2022 OpenFOAM Foundation \\ / A nd | Copyright (C) 2020-2023 OpenFOAM Foundation
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -27,32 +27,7 @@ License
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#define makeThermophysicalTransportModelTypes( \ #define makeThermophysicalTransportModelBaseType( \
BaseModel, MomentumTransportModel, ThermoModel) \
\
namespace Foam \
{ \
typedef BaseModel<MomentumTransportModel, ThermoModel> \
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( \
BaseModel, MomentumTransportModel, ThermoModel) \ BaseModel, MomentumTransportModel, ThermoModel) \
\ \
namespace Foam \ namespace Foam \
@ -63,74 +38,94 @@ License
ThermoModel \ ThermoModel \
> ThermophysicalTransportModel##MomentumTransportModel; \ > ThermophysicalTransportModel##MomentumTransportModel; \
\ \
typedef BaseModel<MomentumTransportModel, ThermoModel> \
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 \ defineTemplateRunTimeSelectionTable \
( \ ( \
ThermophysicalTransportModel##MomentumTransportModel, \ ThermophysicalTransportModel##MomentumTransportModel, \
dictionary \ 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( \ #define makeThermophysicalTransportModel( \
BaseModel, MomentumTransportModel, ThermoModel, SType, Type) \ BaseModel, MomentumTransportModel, ThermoModel, SType, Type) \
\ \

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org \\ / O peration | Website: https://openfoam.org
\\ / A nd | Copyright (C) 2020-2022 OpenFOAM Foundation \\ / A nd | Copyright (C) 2020-2023 OpenFOAM Foundation
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -27,7 +27,7 @@ License
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
makeThermophysicalTransportModels makeThermophysicalTransportModelTables
( (
ThermophysicalTransportModel, ThermophysicalTransportModel,
compressibleMomentumTransportModel, compressibleMomentumTransportModel,

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org \\ / O peration | Website: https://openfoam.org
\\ / A nd | Copyright (C) 2020-2022 OpenFOAM Foundation \\ / A nd | Copyright (C) 2020-2023 OpenFOAM Foundation
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -27,7 +27,7 @@ License
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
makeThermophysicalTransportModels makeThermophysicalTransportModelTables
( (
ThermophysicalTransportModel, ThermophysicalTransportModel,
compressibleMomentumTransportModel, compressibleMomentumTransportModel,

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org \\ / O peration | Website: https://openfoam.org
\\ / A nd | Copyright (C) 2020-2022 OpenFOAM Foundation \\ / A nd | Copyright (C) 2020-2023 OpenFOAM Foundation
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -27,7 +27,7 @@ License
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
makeThermophysicalTransportModels makeThermophysicalTransportModelTables
( (
PhaseThermophysicalTransportModel, PhaseThermophysicalTransportModel,
phaseCompressibleMomentumTransportModel, phaseCompressibleMomentumTransportModel,

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org \\ / O peration | Website: https://openfoam.org
\\ / A nd | Copyright (C) 2020-2021 OpenFOAM Foundation \\ / A nd | Copyright (C) 2020-2023 OpenFOAM Foundation
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -27,7 +27,7 @@ License
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
makeThermophysicalTransportModels makeThermophysicalTransportModelTables
( (
PhaseThermophysicalTransportModel, PhaseThermophysicalTransportModel,
phaseCompressibleMomentumTransportModel, phaseCompressibleMomentumTransportModel,