diff --git a/src/finiteVolume/fields/fvPatchFields/fvPatchField/fvPatchField.H b/src/finiteVolume/fields/fvPatchFields/fvPatchField/fvPatchField.H index b460084183..92f33bd79b 100644 --- a/src/finiteVolume/fields/fvPatchFields/fvPatchField/fvPatchField.H +++ b/src/finiteVolume/fields/fvPatchFields/fvPatchField/fvPatchField.H @@ -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 type##FvPatchScalarField; \ -typedef type##FvPatchField type##FvPatchVectorField; \ -typedef type##FvPatchField \ - type##FvPatchSphericalTensorField; \ -typedef type##FvPatchField type##FvPatchSymmTensorField; \ -typedef type##FvPatchField 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 type##FvPatchScalarField; \ + typedef type##FvPatchField type##FvPatchVectorField; \ + typedef type##FvPatchField \ + type##FvPatchSphericalTensorField; \ + typedef type##FvPatchField type##FvPatchSymmTensorField; \ + typedef type##FvPatchField type##FvPatchTensorField; // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //