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 makeTemplatedLaminarStressModel(BaseModel, SType, StType, Type) \
111 typedef Foam::SType##Models::Type<Foam::BaseModel, Foam::StType> \
112 Type##StType##SType##BaseModel; \
113 defineTemplateTypeNameAndDebugWithName \
115 Type##StType##SType##BaseModel, \
116 (StType::typeName_() + word(Type::typeName_()).capitalise()).c_str(), \
122 namespace SType##Models \
124 typedef Type<BaseModel, StType> \
125 Type##StType##SType##BaseModel; \
127 addToRunTimeSelectionTable \
130 Type##StType##SType##BaseModel, \
137 #define makeTemplatedMomentumTransportModel(BaseModel, SType, Type) \
138 defineNamedTemplateTypeNameAndDebug \
139 (Foam::SType##Models::Type<Foam::BaseModel>, 0); \
143 namespace SType##Models \
145 typedef Type<BaseModel> Type##SType##BaseModel; \
147 addToRunTimeSelectionTable \
150 Type##SType##BaseModel, \
157 #define makeMomentumTransportModel(BaseModel, SType, Type) \
160 namespace SType##Models \
162 defineTypeNameAndDebug(Type, 0); \
164 addToRunTimeSelectionTable \
Macros for easy insertion into run-time selection tables.