mirror of
https://develop.openfoam.com/Development/openfoam.git
synced 2025-11-28 03:28:01 +00:00
COMP: adjust makePatchTypeField to handle non-template BCs
This commit is contained in:
@ -495,61 +495,86 @@ public:
|
||||
#endif
|
||||
|
||||
|
||||
#define makePatchTypeFieldTypeName(type) \
|
||||
\
|
||||
defineNamedTemplateTypeNameAndDebug(type, 0);
|
||||
|
||||
#define makePatchFieldsTypeName(type) \
|
||||
\
|
||||
makePatchTypeFieldTypeName(type##FvPatchScalarField); \
|
||||
makePatchTypeFieldTypeName(type##FvPatchVectorField); \
|
||||
makePatchTypeFieldTypeName(type##FvPatchSphericalTensorField); \
|
||||
makePatchTypeFieldTypeName(type##FvPatchSymmTensorField); \
|
||||
makePatchTypeFieldTypeName(type##FvPatchTensorField);
|
||||
|
||||
#define makePatchTypeField(PatchTypeField, typePatchTypeField) \
|
||||
\
|
||||
defineNamedTemplateTypeNameAndDebug(typePatchTypeField, 0); \
|
||||
\
|
||||
addToRunTimeSelectionTable \
|
||||
( \
|
||||
PatchTypeField, typePatchTypeField, patch \
|
||||
); \
|
||||
\
|
||||
addToRunTimeSelectionTable \
|
||||
( \
|
||||
PatchTypeField, \
|
||||
typePatchTypeField, \
|
||||
patchMapper \
|
||||
); \
|
||||
\
|
||||
addToRunTimeSelectionTable \
|
||||
( \
|
||||
PatchTypeField, typePatchTypeField, dictionary \
|
||||
);
|
||||
#define makePatchTypeFieldTypeName(type) \
|
||||
defineNamedTemplateTypeNameAndDebug(type, 0)
|
||||
|
||||
|
||||
#define makePatchFields(type) \
|
||||
\
|
||||
makePatchTypeField(fvPatchScalarField, type##FvPatchScalarField); \
|
||||
makePatchTypeField(fvPatchVectorField, type##FvPatchVectorField); \
|
||||
makePatchTypeField \
|
||||
( \
|
||||
fvPatchSphericalTensorField, \
|
||||
type##FvPatchSphericalTensorField \
|
||||
); \
|
||||
makePatchTypeField(fvPatchSymmTensorField, type##FvPatchSymmTensorField); \
|
||||
makePatchTypeField(fvPatchTensorField, type##FvPatchTensorField);
|
||||
#define makePatchFieldsTypeName(type) \
|
||||
defineNamedTemplateTypeNameAndDebug(type##FvPatchScalarField, 0); \
|
||||
defineNamedTemplateTypeNameAndDebug(type##FvPatchVectorField, 0); \
|
||||
defineNamedTemplateTypeNameAndDebug(type##FvPatchSphericalTensorField, 0);\
|
||||
defineNamedTemplateTypeNameAndDebug(type##FvPatchSymmTensorField, 0); \
|
||||
defineNamedTemplateTypeNameAndDebug(type##FvPatchTensorField, 0);
|
||||
|
||||
|
||||
#define makePatchTypeFieldTypedefs(type) \
|
||||
\
|
||||
typedef type##FvPatchField<scalar> type##FvPatchScalarField; \
|
||||
typedef type##FvPatchField<vector> type##FvPatchVectorField; \
|
||||
typedef type##FvPatchField<sphericalTensor> \
|
||||
type##FvPatchSphericalTensorField; \
|
||||
typedef type##FvPatchField<symmTensor> type##FvPatchSymmTensorField; \
|
||||
typedef type##FvPatchField<tensor> type##FvPatchTensorField;
|
||||
#define addToPatchFieldRunTimeSelection(PatchTypeField, typePatchTypeField) \
|
||||
addToRunTimeSelectionTable \
|
||||
( \
|
||||
PatchTypeField, \
|
||||
typePatchTypeField, \
|
||||
patch \
|
||||
); \
|
||||
addToRunTimeSelectionTable \
|
||||
( \
|
||||
PatchTypeField, \
|
||||
typePatchTypeField, \
|
||||
patchMapper \
|
||||
); \
|
||||
addToRunTimeSelectionTable \
|
||||
( \
|
||||
PatchTypeField, \
|
||||
typePatchTypeField, \
|
||||
dictionary \
|
||||
);
|
||||
|
||||
|
||||
// for non-templated patch fields
|
||||
#define makeNonTemplatedPatchTypeField(PatchTypeField, typePatchTypeField) \
|
||||
defineTypeNameAndDebug(typePatchTypeField, 0); \
|
||||
addToPatchFieldRunTimeSelection(PatchTypeField, typePatchTypeField)
|
||||
|
||||
|
||||
// for templated patch fields
|
||||
#define makePatchTypeField(PatchTypeField, typePatchTypeField) \
|
||||
defineNamedTemplateTypeNameAndDebug(typePatchTypeField, 0); \
|
||||
addToPatchFieldRunTimeSelection(PatchTypeField, typePatchTypeField)
|
||||
|
||||
|
||||
#define makePatchFields(type) \
|
||||
makePatchTypeField \
|
||||
( \
|
||||
fvPatchScalarField, \
|
||||
type##FvPatchScalarField \
|
||||
); \
|
||||
makePatchTypeField \
|
||||
( \
|
||||
fvPatchVectorField, \
|
||||
type##FvPatchVectorField \
|
||||
); \
|
||||
makePatchTypeField \
|
||||
( \
|
||||
fvPatchSphericalTensorField, \
|
||||
type##FvPatchSphericalTensorField \
|
||||
); \
|
||||
makePatchTypeField \
|
||||
( \
|
||||
fvPatchSymmTensorField, \
|
||||
type##FvPatchSymmTensorField \
|
||||
); \
|
||||
makePatchTypeField \
|
||||
( \
|
||||
fvPatchTensorField, \
|
||||
type##FvPatchTensorField \
|
||||
);
|
||||
|
||||
|
||||
#define makePatchTypeFieldTypedefs(type) \
|
||||
typedef type##FvPatchField<scalar> type##FvPatchScalarField; \
|
||||
typedef type##FvPatchField<vector> type##FvPatchVectorField; \
|
||||
typedef type##FvPatchField<sphericalTensor> \
|
||||
type##FvPatchSphericalTensorField; \
|
||||
typedef type##FvPatchField<symmTensor> type##FvPatchSymmTensorField; \
|
||||
typedef type##FvPatchField<tensor> type##FvPatchTensorField;
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
Reference in New Issue
Block a user