30 #define makeMomentumTransportModelTypes(Alpha, Rho, BaseModel) \
33 typedef laminarModel<BaseModel> laminar##BaseModel; \
34 typedef RASModel<BaseModel> RAS##BaseModel; \
35 typedef LESModel<BaseModel> LES##BaseModel; \
39 #define makeBaseMomentumTransportModel(Alpha, Rho, BaseModel) \
43 typedef BaseModel Transport##momentumTransportModel; \
45 defineRunTimeSelectionTable \
47 Transport##momentumTransportModel, \
52 defineNamedTemplateTypeNameAndDebug(laminar##BaseModel, 0); \
54 defineTemplateRunTimeSelectionTable(laminar##BaseModel, dictionary); \
56 addToRunTimeSelectionTable \
58 Transport##momentumTransportModel, \
64 defineNamedTemplateTypeNameAndDebug(RAS##BaseModel, 0); \
66 defineTemplateRunTimeSelectionTable(RAS##BaseModel, dictionary); \
68 addToRunTimeSelectionTable \
70 Transport##momentumTransportModel, \
76 defineNamedTemplateTypeNameAndDebug(LES##BaseModel, 0); \
78 defineTemplateRunTimeSelectionTable(LES##BaseModel, dictionary); \
80 addToRunTimeSelectionTable \
82 Transport##momentumTransportModel, \
89 #define makeTemplatedLaminarModel(BaseModel, SType, Type) \
90 typedef Foam::SType##Models::Type<Foam::BaseModel> \
91 Type##SType##BaseModel; \
92 defineNamedTemplateTypeNameAndDebug(Type##SType##BaseModel, 0); \
96 namespace SType##Models \
98 typedef Type<BaseModel> Type##SType##BaseModel; \
100 addToRunTimeSelectionTable \
103 Type##SType##BaseModel, \
110 #define makeTemplatedMomentumTransportModel(BaseModel, SType, Type) \
111 defineNamedTemplateTypeNameAndDebug \
112 (Foam::SType##Models::Type<Foam::BaseModel>, 0); \
116 namespace SType##Models \
118 typedef Type<BaseModel> Type##SType##BaseModel; \
120 addToRunTimeSelectionTable \
123 Type##SType##BaseModel, \
130 #define makeMomentumTransportModel(BaseModel, SType, Type) \
133 namespace SType##Models \
135 defineTypeNameAndDebug(Type, 0); \
137 addToRunTimeSelectionTable \
Macros for easy insertion into run-time selection tables.