From f19f48132e1418bd3031a7b3d056b70e761ad029 Mon Sep 17 00:00:00 2001 From: Henry Weller <http://cfd.direct> Date: Mon, 11 Jan 2016 13:00:56 +0000 Subject: [PATCH] Consistently indent continuation backslashes in macro definitions --- .../InterfaceCompositionModel.H | 8 +- bin/tools/foamListSourceFiles | 54 +- .../containers/Lists/PackedList/PackedList.C | 18 +- src/OpenFOAM/db/IOstreams/token/token.H | 6 +- src/OpenFOAM/db/error/StaticAssert.H | 8 +- .../construction/addToRunTimeSelectionTable.H | 72 +- .../construction/runTimeSelectionTables.H | 500 +++--- .../addToGlobalFunctionSelectionTable.H | 8 +- .../globalFunctionSelectionTables.H | 146 +- .../addToMemberFunctionSelectionTable.H | 90 +- .../memberFunctionSelectionTables.H | 254 +-- .../addToStaticMemberFunctionSelectionTable.H | 12 +- .../staticMemberFunctionSelectionTables.H | 142 +- src/OpenFOAM/db/typeInfo/className.H | 76 +- src/OpenFOAM/db/typeInfo/typeInfo.H | 8 +- .../dimensionedScalar/dimensionedScalar.C | 64 +- .../dimensionedType/dimensionedType.C | 96 +- .../dimensionedType/dimensionedType.H | 40 +- .../DimensionedField/DimensionedField.C | 64 +- .../DimensionedFieldFunctions.C | 596 +++---- .../DimensionedFieldFunctions.H | 214 +-- .../DimensionedFieldFunctionsM.C | 1236 +++++++------- .../DimensionedFieldFunctionsM.H | 388 ++--- .../DimensionedScalarField.C | 134 +- .../DimensionedScalarField.H | 6 +- .../FieldFields/FieldField/FieldField.C | 56 +- .../FieldField/FieldFieldFunctions.C | 84 +- .../FieldField/FieldFieldFunctions.H | 46 +- .../FieldField/FieldFieldFunctionsM.C | 852 +++++----- .../FieldField/FieldFieldFunctionsM.H | 404 ++--- .../scalarFieldField/scalarFieldField.C | 90 +- .../scalarFieldField/scalarFieldField.H | 16 +- src/OpenFOAM/fields/Fields/Field/Field.C | 38 +- .../fields/Fields/Field/FieldFunctions.C | 292 ++-- .../fields/Fields/Field/FieldFunctions.H | 122 +- .../fields/Fields/Field/FieldFunctionsM.C | 658 ++++---- .../fields/Fields/Field/FieldFunctionsM.H | 356 ++-- src/OpenFOAM/fields/Fields/Field/FieldM.H | 426 ++--- .../fields/Fields/scalarField/scalarField.C | 38 +- .../GeometricField/GeometricField.C | 64 +- .../GeometricField/GeometricFieldFunctions.C | 820 ++++----- .../GeometricField/GeometricFieldFunctions.H | 468 +++--- .../GeometricField/GeometricFieldFunctionsM.C | 1482 ++++++++--------- .../GeometricField/GeometricFieldFunctionsM.H | 388 ++--- .../GeometricScalarField.C | 164 +- .../GeometricScalarField.H | 6 +- .../pointPatchField/pointPatchField.H | 118 +- .../pointPatchFieldFunctions.H | 198 +-- .../pointPatchField/pointPatchFields.C | 20 +- .../global/constants/dimensionedConstants.H | 174 +- src/OpenFOAM/global/debug/defineDebugSwitch.H | 74 +- .../tableReaders/tableReaders.C | 4 +- .../tableReaders/tableReaders.H | 40 +- .../matrices/LduMatrix/LduMatrix/LduMatrix.H | 206 +-- .../LduMatrix/LduMatrix/SolverPerformance.H | 30 +- .../Preconditioners/lduPreconditioners.C | 22 +- .../LduMatrix/Smoothers/lduSmoothers.C | 8 +- .../matrices/LduMatrix/Solvers/lduSolvers.C | 34 +- .../functions/DataEntry/DataEntry/DataEntry.H | 26 +- .../primitives/hashes/Hasher/Hasher.C | 34 +- src/OpenFOAM/primitives/hashes/SHA1/SHA1.C | 14 +- src/OpenFOAM/primitives/ops/ops.H | 160 +- .../makeTurbulenceModel.H | 8 +- src/fileFormats/sampledSetWriters/writers.C | 4 +- src/fileFormats/sampledSetWriters/writers.H | 40 +- .../cfdTools/general/fvOptions/makeFvOption.H | 22 +- .../fvPatchFields/fvPatchField/fvPatchField.H | 176 +- .../fvsPatchField/fvsPatchField.H | 86 +- .../fvsPatchField/fvsPatchFields.C | 20 +- .../convectionScheme/convectionScheme.H | 4 +- .../convectionScheme/convectionSchemes.C | 24 +- .../d2dt2Schemes/d2dt2Scheme/d2dt2Scheme.H | 2 +- .../ddtSchemes/ddtScheme/ddtScheme.H | 2 +- .../divSchemes/divScheme/divScheme.H | 2 +- .../LeastSquaresGrad/LeastSquaresGrad.H | 2 +- .../gradSchemes/gradScheme/gradScheme.H | 2 +- .../gaussLaplacianScheme.H | 30 +- .../gaussLaplacianSchemes.C | 146 +- .../laplacianScheme/laplacianScheme.H | 2 +- .../laplacianScheme/laplacianSchemes.C | 10 +- .../CentredFitSnGrad/CentredFitSnGradScheme.H | 2 +- .../snGradSchemes/snGradScheme/snGradScheme.H | 2 +- .../interpolation/interpolation.H | 2 +- .../LimitedScheme/LimitedScheme.H | 136 +- .../limitedSchemes/PhiScheme/PhiScheme.H | 6 +- .../limitedSurfaceInterpolationScheme.H | 8 +- .../limitedSurfaceInterpolationSchemes.C | 36 +- .../multivariateScheme/multivariateScheme.H | 2 +- .../multivariateSurfaceInterpolationScheme.H | 2 +- .../CentredFitScheme/CentredFitScheme.H | 58 +- .../PureUpwindFitScheme/PureUpwindFitScheme.H | 68 +- .../schemes/UpwindFitScheme/UpwindFitScheme.H | 58 +- .../surfaceInterpolationScheme.H | 4 +- .../surfaceInterpolationSchemes.C | 28 +- .../BinaryCollisionModel.H | 36 +- .../InflowBoundaryModel/InflowBoundaryModel.H | 28 +- .../WallInteractionModel.H | 28 +- .../basic/particle/particleMacros.H | 28 +- .../makeCoalParcelSurfaceReactionModels.H | 20 +- .../IntegrationScheme/IntegrationScheme.H | 26 +- .../include/makeMPPICParcelDampingModels.H | 10 +- .../include/makeMPPICParcelIsotropyModels.H | 10 +- .../include/makeMPPICParcelPackingModels.H | 12 +- .../include/makeParcelCloudFunctionObjects.H | 20 +- .../include/makeParcelCollisionModels.H | 22 +- .../include/makeParcelDispersionModels.H | 6 +- .../parcels/include/makeParcelForces.H | 30 +- .../include/makeParcelHeatTransferModels.H | 10 +- .../include/makeParcelInjectionModels.H | 26 +- .../makeParcelPatchInteractionModels.H | 16 +- .../makeParcelStochasticCollisionModels.H | 6 +- .../include/makeParcelSurfaceFilmModels.H | 6 +- ...eactingMultiphaseParcelCompositionModels.H | 8 +- ...ngMultiphaseParcelDevolatilisationModels.H | 18 +- ...eReactingMultiphaseParcelInjectionModels.H | 22 +- ...ultiphaseParcelStochasticCollisionModels.H | 8 +- ...ingMultiphaseParcelSurfaceReactionModels.H | 6 +- .../makeReactingParcelCompositionModels.H | 8 +- .../makeReactingParcelInjectionModels.H | 22 +- .../makeReactingParcelPhaseChangeModels.H | 10 +- .../makeReactingParcelSurfaceFilmModels.H | 8 +- .../parcels/include/makeThermoParcelForces.H | 24 +- .../makeThermoParcelSurfaceFilmModels.H | 10 +- .../CloudFunctionObject/CloudFunctionObject.H | 2 +- .../CollisionModel/CollisionModel.H | 44 +- .../PairModel/PairModel/PairModel.H | 32 +- .../WallModel/WallModel/WallModel.H | 32 +- .../DispersionModel/DispersionModel.H | 40 +- .../InjectionModel/InjectionModel.H | 46 +- .../ParticleForce/ParticleForce.H | 2 +- .../PatchInteractionModel.H | 46 +- .../StochasticCollisionModel.H | 14 +- .../SurfaceFilmModel/SurfaceFilmModel.H | 2 +- .../DampingModels/DampingModel/DampingModel.H | 2 +- .../IsotropyModel/IsotropyModel.H | 2 +- .../PackingModels/PackingModel/PackingModel.H | 2 +- .../CompositionModel/CompositionModel.H | 44 +- .../PhaseChangeModel/PhaseChangeModel.H | 44 +- .../DevolatilisationModel.H | 52 +- .../SurfaceReactionModel.H | 52 +- .../HeatTransferModel/HeatTransferModel.H | 44 +- .../makeSprayParcelAtomizationModels.H | 10 +- .../include/makeSprayParcelBreakupModels.H | 18 +- .../include/makeSprayParcelInjectionModels.H | 24 +- ...makeSprayParcelStochasticCollisionModels.H | 10 +- .../AtomizationModel/AtomizationModel.H | 46 +- .../BreakupModel/BreakupModel/BreakupModel.H | 46 +- .../makeParcelTurbulenceDispersionModels.H | 22 +- .../makeThermoParcelTurbulenceForces.H | 4 +- .../AMIMethod/AMIMethod/AMIMethod.H | 30 +- .../writers/makeSurfaceWriterMethods.H | 62 +- src/surfMesh/MeshedSurface/MeshedSurfaces.C | 18 +- .../MeshedSurfaceProxyCore.C | 16 +- .../UnsortedMeshedSurfaces.C | 18 +- .../basic/fluidThermo/makeThermo.H | 130 +- .../chemistryModel/makeChemistryModel.H | 18 +- .../makeChemistrySolverTypes.H | 78 +- .../radiationModel/radiationModel.H | 28 +- .../sootModel/sootModel/makeSootTypes.H | 48 +- .../chemistryReader/chemistryReader.H | 20 +- .../makeSolidChemistryModel.H | 44 +- .../makeSolidChemistrySolverType.H | 74 +- .../reaction/reactions/makeSolidReaction.H | 74 +- .../makeReactingSolidThermo.H | 108 +- .../solidThermo/solidThermo/makeSolidThermo.H | 226 +-- .../icoPolynomial/icoPolynomial.H | 14 +- .../specie/reaction/reactions/makeReaction.H | 172 +- 167 files changed, 7805 insertions(+), 7805 deletions(-) diff --git a/applications/solvers/multiphase/reactingEulerFoam/interfacialCompositionModels/interfaceCompositionModels/InterfaceCompositionModel/InterfaceCompositionModel.H b/applications/solvers/multiphase/reactingEulerFoam/interfacialCompositionModels/interfaceCompositionModels/InterfaceCompositionModel/InterfaceCompositionModel.H index e10e3bb68bf..c0a77f3b36b 100644 --- a/applications/solvers/multiphase/reactingEulerFoam/interfacialCompositionModels/interfaceCompositionModels/InterfaceCompositionModel/InterfaceCompositionModel.H +++ b/applications/solvers/multiphase/reactingEulerFoam/interfacialCompositionModels/interfaceCompositionModels/InterfaceCompositionModel/InterfaceCompositionModel.H @@ -150,10 +150,10 @@ public: // Instantiation for multi-component-multi-component pairs #define makeInterfaceCompositionType(Type, Thermo, Comp, Mix, Phys, OtherThermo, OtherComp, OtherMix, OtherPhys)\ \ - typedef Thermo<Comp, SpecieMixture<Mix<Phys>>> \ + typedef Thermo<Comp, SpecieMixture<Mix<Phys>>> \ Type##Thermo##Comp##Mix##Phys; \ \ - typedef OtherThermo<OtherComp, OtherMix<OtherPhys>> \ + typedef OtherThermo<OtherComp, OtherMix<OtherPhys>> \ Type##Other##OtherThermo##OtherComp##OtherMix##OtherPhys; \ \ addInterfaceCompositionToRunTimeSelectionTable \ @@ -166,10 +166,10 @@ public: // Instantiation for multi-component-single-component pairs #define makeSpecieInterfaceCompositionType(Type, Thermo, Comp, Mix, Phys, OtherThermo, OtherComp, OtherMix, OtherPhys)\ \ - typedef Thermo<Comp, SpecieMixture<Mix<Phys>>> \ + typedef Thermo<Comp, SpecieMixture<Mix<Phys>>> \ Type##Thermo##Comp##Mix##Phys; \ \ - typedef OtherThermo<OtherComp, SpecieMixture<OtherMix<OtherPhys>>> \ + typedef OtherThermo<OtherComp, SpecieMixture<OtherMix<OtherPhys>>> \ Type##Other##OtherThermo##OtherComp##OtherMix##OtherPhys; \ \ addInterfaceCompositionToRunTimeSelectionTable \ diff --git a/bin/tools/foamListSourceFiles b/bin/tools/foamListSourceFiles index 5fb1b3f893f..857eba3161c 100755 --- a/bin/tools/foamListSourceFiles +++ b/bin/tools/foamListSourceFiles @@ -58,33 +58,33 @@ packDir=$(echo "$1" | sed -e 's@//*@/@g' -e 's@/$@@') # - exclude Doxygen documentation etc # -find -H $packDir \ - ! -type d \ - \( -type f -o -type l \) \ - ! -name "*~" \ - -a ! -name ".*~" \ - -a ! -name "*.orig" \ - -a ! -name "*.dep" \ - -a ! -name "*.o" \ - -a ! -name "*.so" \ - -a ! -name "*.a" \ - -a ! -name "*.tar" \ - -a ! -name "*.tar.gz" \ - -a ! -name "*.tgz" \ - -a ! -name "*.tar.bz2" \ - -a ! -name "*.tbz" \ - -a ! -name "core" \ - -a ! -name "core.[1-9]*" \ - -a ! -name "libccmio*" \ -| sed \ - -e '\@/\.git/@d' \ - -e '\@/\.tags/@d' \ - -e '\@/platforms/@d' \ - -e '\@/t/@d' \ - -e '\@/Make[.A-Za-z]*/[^/]*/@d' \ - -e '\@/[Dd]oxygen/html/@d' \ - -e '\@/download/@d' \ - -e '\@/libccmio-.*/@d' \ +find -H $packDir \ + ! -type d \ + \( -type f -o -type l \) \ + ! -name "*~" \ + -a ! -name ".*~" \ + -a ! -name "*.orig" \ + -a ! -name "*.dep" \ + -a ! -name "*.o" \ + -a ! -name "*.so" \ + -a ! -name "*.a" \ + -a ! -name "*.tar" \ + -a ! -name "*.tar.gz" \ + -a ! -name "*.tgz" \ + -a ! -name "*.tar.bz2" \ + -a ! -name "*.tbz" \ + -a ! -name "core" \ + -a ! -name "core.[1-9]*" \ + -a ! -name "libccmio*" \ +| sed \ + -e '\@/\.git/@d' \ + -e '\@/\.tags/@d' \ + -e '\@/platforms/@d' \ + -e '\@/t/@d' \ + -e '\@/Make[.A-Za-z]*/[^/]*/@d' \ + -e '\@/[Dd]oxygen/html/@d' \ + -e '\@/download/@d' \ + -e '\@/libccmio-.*/@d' \ -e '\@\./debian/@d' diff --git a/src/OpenFOAM/containers/Lists/PackedList/PackedList.C b/src/OpenFOAM/containers/Lists/PackedList/PackedList.C index a33a3bac163..2362b70c3bb 100644 --- a/src/OpenFOAM/containers/Lists/PackedList/PackedList.C +++ b/src/OpenFOAM/containers/Lists/PackedList/PackedList.C @@ -31,18 +31,18 @@ License #if (UINT_MAX == 0xFFFFFFFF) // 32-bit counting, Hamming weight method -# define COUNT_PACKEDBITS(sum, x) \ -{ \ - x -= (x >> 1) & 0x55555555; \ - x = (x & 0x33333333) + ((x >> 2) & 0x33333333); \ - sum += (((x + (x >> 4)) & 0x0F0F0F0F) * 0x01010101) >> 24; \ +# define COUNT_PACKEDBITS(sum, x) \ +{ \ + x -= (x >> 1) & 0x55555555; \ + x = (x & 0x33333333) + ((x >> 2) & 0x33333333); \ + sum += (((x + (x >> 4)) & 0x0F0F0F0F) * 0x01010101) >> 24; \ } #elif (UINT_MAX == 0xFFFFFFFFFFFFFFFF) // 64-bit counting, Hamming weight method -# define COUNT_PACKEDBITS(sum, x) \ -{ \ - x -= (x >> 1) & 0x5555555555555555; \ - x = (x & 0x3333333333333333) + ((x >> 2) & 0x3333333333333333); \ +# define COUNT_PACKEDBITS(sum, x) \ +{ \ + x -= (x >> 1) & 0x5555555555555555; \ + x = (x & 0x3333333333333333) + ((x >> 2) & 0x3333333333333333); \ sum += (((x + (x >> 4)) & 0x0F0F0F0F0F0F0F0F) * 0x0101010101010101) >> 56;\ } #else diff --git a/src/OpenFOAM/db/IOstreams/token/token.H b/src/OpenFOAM/db/IOstreams/token/token.H index 7b7eeee54c0..23a04d1d305 100644 --- a/src/OpenFOAM/db/IOstreams/token/token.H +++ b/src/OpenFOAM/db/IOstreams/token/token.H @@ -440,11 +440,11 @@ ostream& operator<<(ostream&, const InfoProxy<token>&); template<> Ostream& operator<<(Ostream& os, const InfoProxy<token>& ip); -#define defineCompoundTypeName(Type, Name) \ +#define defineCompoundTypeName(Type, Name) \ defineTemplateTypeNameAndDebugWithName(token::Compound<Type>, #Type, 0); -#define addCompoundToRunTimeSelectionTable(Type, Name) \ - token::compound::addIstreamConstructorToTable<token::Compound<Type>> \ +#define addCompoundToRunTimeSelectionTable(Type, Name) \ + token::compound::addIstreamConstructorToTable<token::Compound<Type>> \ add##Name##IstreamConstructorToTable_; diff --git a/src/OpenFOAM/db/error/StaticAssert.H b/src/OpenFOAM/db/error/StaticAssert.H index 4e139b120ad..daf2522de57 100644 --- a/src/OpenFOAM/db/error/StaticAssert.H +++ b/src/OpenFOAM/db/error/StaticAssert.H @@ -74,10 +74,10 @@ class StaticAssertionTest {}; // ~~~~~~~~~~~~~ //- Assert that some test is true at compile-time -#define StaticAssert(Test) \ - typedef ::Foam::StaticAssertionTest \ - < \ - sizeof( ::Foam::StaticAssertionFailed<((Test) ? true : false)>) \ +#define StaticAssert(Test) \ + typedef ::Foam::StaticAssertionTest \ + < \ + sizeof( ::Foam::StaticAssertionFailed<((Test) ? true : false)>) \ > StaticAssertMacro(StaticAssertionTest, __LINE__) // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/src/OpenFOAM/db/runTimeSelection/construction/addToRunTimeSelectionTable.H b/src/OpenFOAM/db/runTimeSelection/construction/addToRunTimeSelectionTable.H index 062ff5e8536..2c23754e8ab 100644 --- a/src/OpenFOAM/db/runTimeSelection/construction/addToRunTimeSelectionTable.H +++ b/src/OpenFOAM/db/runTimeSelection/construction/addToRunTimeSelectionTable.H @@ -34,39 +34,39 @@ Description // add to hash-table of functions with typename as the key #define addToRunTimeSelectionTable\ -(baseType,thisType,argNames) \ - \ - /* Add the thisType constructor function to the table */ \ - baseType::add##argNames##ConstructorToTable<thisType> \ +(baseType,thisType,argNames) \ + \ + /* Add the thisType constructor function to the table */ \ + baseType::add##argNames##ConstructorToTable<thisType> \ add##thisType##argNames##ConstructorTo##baseType##Table_ // add to hash-table of functions with 'lookup' as the key #define addNamedToRunTimeSelectionTable\ -(baseType,thisType,argNames,lookup) \ - \ - /* Add the thisType constructor function to the table, find by lookup */ \ - baseType::add##argNames##ConstructorToTable<thisType> \ - add_##lookup##_##thisType##argNames##ConstructorTo##baseType##Table_ \ +(baseType,thisType,argNames,lookup) \ + \ + /* Add the thisType constructor function to the table, find by lookup */ \ + baseType::add##argNames##ConstructorToTable<thisType> \ + add_##lookup##_##thisType##argNames##ConstructorTo##baseType##Table_ \ (#lookup) // add to hash-table of functions with typename as the key #define addRemovableToRunTimeSelectionTable\ -(baseType,thisType,argNames) \ - \ - /* Add the thisType constructor function to the table */ \ - baseType::addRemovable##argNames##ConstructorToTable<thisType> \ +(baseType,thisType,argNames) \ + \ + /* Add the thisType constructor function to the table */ \ + baseType::addRemovable##argNames##ConstructorToTable<thisType> \ addRemovable##thisType##argNames##ConstructorTo##baseType##Table_ // add to hash-table of functions with 'lookup' as the key #define addRemovableNamedToRunTimeSelectionTable\ -(baseType,thisType,argNames,lookup) \ - \ - /* Add the thisType constructor function to the table, find by lookup */ \ - baseType::addRemovable##argNames##ConstructorToTable<thisType> \ - addRemovable_##lookup##_##thisType##argNames##ConstructorTo \ +(baseType,thisType,argNames,lookup) \ + \ + /* Add the thisType constructor function to the table, find by lookup */ \ + baseType::addRemovable##argNames##ConstructorToTable<thisType> \ + addRemovable_##lookup##_##thisType##argNames##ConstructorTo \ ##baseType##Table_(#lookup) @@ -76,21 +76,21 @@ Description // add to hash-table of functions with typename as the key // use when baseType doesn't need a template argument (eg, is a typedef) #define addTemplateToRunTimeSelectionTable\ -(baseType,thisType,Targ,argNames) \ - \ - /* Add the thisType constructor function to the table */ \ - baseType::add##argNames##ConstructorToTable<thisType<Targ>> \ +(baseType,thisType,Targ,argNames) \ + \ + /* Add the thisType constructor function to the table */ \ + baseType::add##argNames##ConstructorToTable<thisType<Targ>> \ add##thisType##Targ##argNames##ConstructorTo##baseType##Table_ // add to hash-table of functions with 'lookup' as the key // use when baseType doesn't need a template argument (eg, is a typedef) #define addNamedTemplateToRunTimeSelectionTable\ -(baseType,thisType,Targ,argNames,lookup) \ - \ - /* Add the thisType constructor function to the table, find by lookup */ \ - baseType::add##argNames##ConstructorToTable<thisType<Targ>> \ - add_##lookup##_##thisType##Targ##argNames##ConstructorTo##baseType \ +(baseType,thisType,Targ,argNames,lookup) \ + \ + /* Add the thisType constructor function to the table, find by lookup */ \ + baseType::add##argNames##ConstructorToTable<thisType<Targ>> \ + add_##lookup##_##thisType##Targ##argNames##ConstructorTo##baseType \ ##Table_(#lookup) @@ -100,21 +100,21 @@ Description // add to hash-table of functions with typename as the key // use when baseType requires the Targ template argument as well #define addTemplatedToRunTimeSelectionTable\ -(baseType,thisType,Targ,argNames) \ - \ - /* Add the thisType constructor function to the table */ \ - baseType<Targ>::add##argNames##ConstructorToTable<thisType<Targ>> \ +(baseType,thisType,Targ,argNames) \ + \ + /* Add the thisType constructor function to the table */ \ + baseType<Targ>::add##argNames##ConstructorToTable<thisType<Targ>> \ add##thisType##Targ##argNames##ConstructorTo##baseType##Targ##Table_ // add to hash-table of functions with 'lookup' as the key // use when baseType requires the Targ template argument as well #define addNamedTemplatedToRunTimeSelectionTable\ -(baseType,thisType,Targ,argNames,lookup) \ - \ - /* Add the thisType constructor function to the table, find by lookup */ \ - baseType<Targ>::add##argNames##ConstructorToTable<thisType<Targ>> \ - add_##lookup##_##thisType##Targ##argNames##ConstructorTo##baseType## \ +(baseType,thisType,Targ,argNames,lookup) \ + \ + /* Add the thisType constructor function to the table, find by lookup */ \ + baseType<Targ>::add##argNames##ConstructorToTable<thisType<Targ>> \ + add_##lookup##_##thisType##Targ##argNames##ConstructorTo##baseType## \ Targ##Table_(#lookup) diff --git a/src/OpenFOAM/db/runTimeSelection/construction/runTimeSelectionTables.H b/src/OpenFOAM/db/runTimeSelection/construction/runTimeSelectionTables.H index ad692a32768..9ec26a44267 100644 --- a/src/OpenFOAM/db/runTimeSelection/construction/runTimeSelectionTables.H +++ b/src/OpenFOAM/db/runTimeSelection/construction/runTimeSelectionTables.H @@ -47,89 +47,89 @@ Description // ~~~~~~~~~~~~~ // declare a run-time selection: #define declareRunTimeSelectionTable\ -(autoPtr,baseType,argNames,argList,parList) \ - \ - /* Construct from argList function pointer type */ \ - typedef autoPtr<baseType> (*argNames##ConstructorPtr)argList; \ - \ - /* Construct from argList function table type */ \ - typedef HashTable<argNames##ConstructorPtr, word, string::hash> \ - argNames##ConstructorTable; \ - \ - /* Construct from argList function pointer table pointer */ \ - static argNames##ConstructorTable* argNames##ConstructorTablePtr_; \ - \ - /* Table constructor called from the table add function */ \ - static void construct##argNames##ConstructorTables(); \ - \ - /* Table destructor called from the table add function destructor */ \ - static void destroy##argNames##ConstructorTables(); \ - \ - /* Class to add constructor from argList to table */ \ - template<class baseType##Type> \ - class add##argNames##ConstructorToTable \ - { \ - public: \ - \ - static autoPtr<baseType> New argList \ - { \ - return autoPtr<baseType>(new baseType##Type parList); \ - } \ - \ - add##argNames##ConstructorToTable \ - ( \ - const word& lookup = baseType##Type::typeName \ - ) \ - { \ - construct##argNames##ConstructorTables(); \ - if (!argNames##ConstructorTablePtr_->insert(lookup, New)) \ - { \ - std::cerr<< "Duplicate entry " << lookup \ - << " in runtime selection table " << #baseType \ - << std::endl; \ - error::safePrintStack(std::cerr); \ - } \ - } \ - \ - ~add##argNames##ConstructorToTable() \ - { \ - destroy##argNames##ConstructorTables(); \ - } \ - }; \ - \ - /* Class to add constructor from argList to table */ \ - /* Remove only the entry (not the table) upon destruction */ \ - template<class baseType##Type> \ - class addRemovable##argNames##ConstructorToTable \ - { \ - /* retain lookup name for later removal */ \ - const word& lookup_; \ - \ - public: \ - \ - static autoPtr<baseType> New argList \ - { \ - return autoPtr<baseType>(new baseType##Type parList); \ - } \ - \ - addRemovable##argNames##ConstructorToTable \ - ( \ - const word& lookup = baseType##Type::typeName \ - ) \ - : \ - lookup_(lookup) \ - { \ - construct##argNames##ConstructorTables(); \ - argNames##ConstructorTablePtr_->set(lookup, New); \ - } \ - \ - ~addRemovable##argNames##ConstructorToTable() \ - { \ - if (argNames##ConstructorTablePtr_) \ - { \ - argNames##ConstructorTablePtr_->erase(lookup_); \ - } \ - } \ +(autoPtr,baseType,argNames,argList,parList) \ + \ + /* Construct from argList function pointer type */ \ + typedef autoPtr<baseType> (*argNames##ConstructorPtr)argList; \ + \ + /* Construct from argList function table type */ \ + typedef HashTable<argNames##ConstructorPtr, word, string::hash> \ + argNames##ConstructorTable; \ + \ + /* Construct from argList function pointer table pointer */ \ + static argNames##ConstructorTable* argNames##ConstructorTablePtr_; \ + \ + /* Table constructor called from the table add function */ \ + static void construct##argNames##ConstructorTables(); \ + \ + /* Table destructor called from the table add function destructor */ \ + static void destroy##argNames##ConstructorTables(); \ + \ + /* Class to add constructor from argList to table */ \ + template<class baseType##Type> \ + class add##argNames##ConstructorToTable \ + { \ + public: \ + \ + static autoPtr<baseType> New argList \ + { \ + return autoPtr<baseType>(new baseType##Type parList); \ + } \ + \ + add##argNames##ConstructorToTable \ + ( \ + const word& lookup = baseType##Type::typeName \ + ) \ + { \ + construct##argNames##ConstructorTables(); \ + if (!argNames##ConstructorTablePtr_->insert(lookup, New)) \ + { \ + std::cerr<< "Duplicate entry " << lookup \ + << " in runtime selection table " << #baseType \ + << std::endl; \ + error::safePrintStack(std::cerr); \ + } \ + } \ + \ + ~add##argNames##ConstructorToTable() \ + { \ + destroy##argNames##ConstructorTables(); \ + } \ + }; \ + \ + /* Class to add constructor from argList to table */ \ + /* Remove only the entry (not the table) upon destruction */ \ + template<class baseType##Type> \ + class addRemovable##argNames##ConstructorToTable \ + { \ + /* retain lookup name for later removal */ \ + const word& lookup_; \ + \ + public: \ + \ + static autoPtr<baseType> New argList \ + { \ + return autoPtr<baseType>(new baseType##Type parList); \ + } \ + \ + addRemovable##argNames##ConstructorToTable \ + ( \ + const word& lookup = baseType##Type::typeName \ + ) \ + : \ + lookup_(lookup) \ + { \ + construct##argNames##ConstructorTables(); \ + argNames##ConstructorTablePtr_->set(lookup, New); \ + } \ + \ + ~addRemovable##argNames##ConstructorToTable() \ + { \ + if (argNames##ConstructorTablePtr_) \ + { \ + argNames##ConstructorTablePtr_->erase(lookup_); \ + } \ + } \ }; @@ -138,151 +138,151 @@ Description // ~~~~~~~~~~~~~ // declare a run-time selection for derived classes: #define declareRunTimeNewSelectionTable\ -(autoPtr,baseType,argNames,argList,parList) \ - \ - /* Construct from argList function pointer type */ \ - typedef autoPtr<baseType> (*argNames##ConstructorPtr)argList; \ - \ - /* Construct from argList function table type */ \ - typedef HashTable<argNames##ConstructorPtr, word, string::hash> \ - argNames##ConstructorTable; \ - \ - /* Construct from argList function pointer table pointer */ \ - static argNames##ConstructorTable* argNames##ConstructorTablePtr_; \ - \ - /* Table constructor called from the table add function */ \ - static void construct##argNames##ConstructorTables(); \ - \ - /* Table destructor called from the table add function destructor */ \ - static void destroy##argNames##ConstructorTables(); \ - \ - /* Class to add constructor from argList to table */ \ - template<class baseType##Type> \ - class add##argNames##ConstructorToTable \ - { \ - public: \ - \ - static autoPtr<baseType> New##baseType argList \ - { \ - return autoPtr<baseType>(baseType##Type::New parList.ptr()); \ - } \ - \ - add##argNames##ConstructorToTable \ - ( \ - const word& lookup = baseType##Type::typeName \ - ) \ - { \ - construct##argNames##ConstructorTables(); \ - if \ - ( \ - !argNames##ConstructorTablePtr_->insert \ - ( \ - lookup, \ - New##baseType \ - ) \ - ) \ - { \ - std::cerr<< "Duplicate entry " << lookup \ - << " in runtime selection table " << #baseType \ - << std::endl; \ - error::safePrintStack(std::cerr); \ - } \ - } \ - \ - ~add##argNames##ConstructorToTable() \ - { \ - destroy##argNames##ConstructorTables(); \ - } \ - }; \ - \ - /* Class to add constructor from argList to table */ \ - template<class baseType##Type> \ - class addRemovable##argNames##ConstructorToTable \ - { \ - /* retain lookup name for later removal */ \ - const word& lookup_; \ - \ - public: \ - \ - static autoPtr<baseType> New##baseType argList \ - { \ - return autoPtr<baseType>(baseType##Type::New parList.ptr()); \ - } \ - \ - addRemovable##argNames##ConstructorToTable \ - ( \ - const word& lookup = baseType##Type::typeName \ - ) \ - : \ - lookup_(lookup) \ - { \ - construct##argNames##ConstructorTables(); \ - argNames##ConstructorTablePtr_->set \ - ( \ - lookup, \ - New##baseType \ - ); \ - } \ - \ - ~addRemovable##argNames##ConstructorToTable() \ - { \ - if (argNames##ConstructorTablePtr_) \ - { \ - argNames##ConstructorTablePtr_->erase(lookup_); \ - } \ - } \ +(autoPtr,baseType,argNames,argList,parList) \ + \ + /* Construct from argList function pointer type */ \ + typedef autoPtr<baseType> (*argNames##ConstructorPtr)argList; \ + \ + /* Construct from argList function table type */ \ + typedef HashTable<argNames##ConstructorPtr, word, string::hash> \ + argNames##ConstructorTable; \ + \ + /* Construct from argList function pointer table pointer */ \ + static argNames##ConstructorTable* argNames##ConstructorTablePtr_; \ + \ + /* Table constructor called from the table add function */ \ + static void construct##argNames##ConstructorTables(); \ + \ + /* Table destructor called from the table add function destructor */ \ + static void destroy##argNames##ConstructorTables(); \ + \ + /* Class to add constructor from argList to table */ \ + template<class baseType##Type> \ + class add##argNames##ConstructorToTable \ + { \ + public: \ + \ + static autoPtr<baseType> New##baseType argList \ + { \ + return autoPtr<baseType>(baseType##Type::New parList.ptr()); \ + } \ + \ + add##argNames##ConstructorToTable \ + ( \ + const word& lookup = baseType##Type::typeName \ + ) \ + { \ + construct##argNames##ConstructorTables(); \ + if \ + ( \ + !argNames##ConstructorTablePtr_->insert \ + ( \ + lookup, \ + New##baseType \ + ) \ + ) \ + { \ + std::cerr<< "Duplicate entry " << lookup \ + << " in runtime selection table " << #baseType \ + << std::endl; \ + error::safePrintStack(std::cerr); \ + } \ + } \ + \ + ~add##argNames##ConstructorToTable() \ + { \ + destroy##argNames##ConstructorTables(); \ + } \ + }; \ + \ + /* Class to add constructor from argList to table */ \ + template<class baseType##Type> \ + class addRemovable##argNames##ConstructorToTable \ + { \ + /* retain lookup name for later removal */ \ + const word& lookup_; \ + \ + public: \ + \ + static autoPtr<baseType> New##baseType argList \ + { \ + return autoPtr<baseType>(baseType##Type::New parList.ptr()); \ + } \ + \ + addRemovable##argNames##ConstructorToTable \ + ( \ + const word& lookup = baseType##Type::typeName \ + ) \ + : \ + lookup_(lookup) \ + { \ + construct##argNames##ConstructorTables(); \ + argNames##ConstructorTablePtr_->set \ + ( \ + lookup, \ + New##baseType \ + ); \ + } \ + \ + ~addRemovable##argNames##ConstructorToTable() \ + { \ + if (argNames##ConstructorTablePtr_) \ + { \ + argNames##ConstructorTablePtr_->erase(lookup_); \ + } \ + } \ }; // internal use: // constructor aid #define defineRunTimeSelectionTableConstructor\ -(baseType,argNames) \ - \ - /* Table constructor called from the table add function */ \ - void baseType::construct##argNames##ConstructorTables() \ - { \ - static bool constructed = false; \ - if (!constructed) \ - { \ - constructed = true; \ - baseType::argNames##ConstructorTablePtr_ \ - = new baseType::argNames##ConstructorTable; \ - } \ +(baseType,argNames) \ + \ + /* Table constructor called from the table add function */ \ + void baseType::construct##argNames##ConstructorTables() \ + { \ + static bool constructed = false; \ + if (!constructed) \ + { \ + constructed = true; \ + baseType::argNames##ConstructorTablePtr_ \ + = new baseType::argNames##ConstructorTable; \ + } \ } // internal use: // destructor aid #define defineRunTimeSelectionTableDestructor\ -(baseType,argNames) \ - \ - /* Table destructor called from the table add function destructor */ \ - void baseType::destroy##argNames##ConstructorTables() \ - { \ - if (baseType::argNames##ConstructorTablePtr_) \ - { \ - delete baseType::argNames##ConstructorTablePtr_; \ - baseType::argNames##ConstructorTablePtr_ = NULL; \ - } \ +(baseType,argNames) \ + \ + /* Table destructor called from the table add function destructor */ \ + void baseType::destroy##argNames##ConstructorTables() \ + { \ + if (baseType::argNames##ConstructorTablePtr_) \ + { \ + delete baseType::argNames##ConstructorTablePtr_; \ + baseType::argNames##ConstructorTablePtr_ = NULL; \ + } \ } // internal use: // create pointer to hash-table of functions #define defineRunTimeSelectionTablePtr\ -(baseType,argNames) \ - \ - /* Define the constructor function table */ \ - baseType::argNames##ConstructorTable* \ +(baseType,argNames) \ + \ + /* Define the constructor function table */ \ + baseType::argNames##ConstructorTable* \ baseType::argNames##ConstructorTablePtr_ = NULL // not much in use: -#define defineTemplateRunTimeSelectionTablePtr(baseType,argNames) \ - \ - /* Define the constructor function table */ \ - typename baseType::argNames##ConstructorTable* \ +#define defineTemplateRunTimeSelectionTablePtr(baseType,argNames) \ + \ + /* Define the constructor function table */ \ + typename baseType::argNames##ConstructorTable* \ baseType::argNames##ConstructorTablePtr_ = NULL @@ -293,10 +293,10 @@ Description // ~~~~~~~~~~~~~ // define run-time selection table #define defineRunTimeSelectionTable\ -(baseType,argNames) \ - \ - defineRunTimeSelectionTablePtr(baseType,argNames); \ - defineRunTimeSelectionTableConstructor(baseType,argNames); \ +(baseType,argNames) \ + \ + defineRunTimeSelectionTablePtr(baseType,argNames); \ + defineRunTimeSelectionTableConstructor(baseType,argNames); \ defineRunTimeSelectionTableDestructor(baseType,argNames) @@ -305,13 +305,13 @@ Description // define run-time selection table for template classes // use when baseType doesn't need a template argument (eg, is a typedef) #define defineTemplateRunTimeSelectionTable\ -(baseType,argNames) \ - \ - template<> \ - defineRunTimeSelectionTablePtr(baseType,argNames); \ - template<> \ - defineRunTimeSelectionTableConstructor(baseType,argNames); \ - template<> \ +(baseType,argNames) \ + \ + template<> \ + defineRunTimeSelectionTablePtr(baseType,argNames); \ + template<> \ + defineRunTimeSelectionTableConstructor(baseType,argNames); \ + template<> \ defineRunTimeSelectionTableDestructor(baseType,argNames) @@ -322,18 +322,18 @@ Description // constructor aid // use when baseType requires the Targ template argument #define defineTemplatedRunTimeSelectionTableConstructor\ -(baseType,argNames,Targ) \ - \ - /* Table constructor called from the table add function */ \ - void baseType<Targ>::construct##argNames##ConstructorTables() \ - { \ - static bool constructed = false; \ - if (!constructed) \ - { \ - constructed = true; \ - baseType<Targ>::argNames##ConstructorTablePtr_ \ - = new baseType<Targ>::argNames##ConstructorTable; \ - } \ +(baseType,argNames,Targ) \ + \ + /* Table constructor called from the table add function */ \ + void baseType<Targ>::construct##argNames##ConstructorTables() \ + { \ + static bool constructed = false; \ + if (!constructed) \ + { \ + constructed = true; \ + baseType<Targ>::argNames##ConstructorTablePtr_ \ + = new baseType<Targ>::argNames##ConstructorTable; \ + } \ } @@ -341,16 +341,16 @@ Description // destructor aid // use when baseType requires the Targ template argument #define defineTemplatedRunTimeSelectionTableDestructor\ -(baseType,argNames,Targ) \ - \ - /* Table destructor called from the table add function destructor */ \ - void baseType<Targ>::destroy##argNames##ConstructorTables() \ - { \ - if (baseType<Targ>::argNames##ConstructorTablePtr_) \ - { \ - delete baseType<Targ>::argNames##ConstructorTablePtr_; \ - baseType<Targ>::argNames##ConstructorTablePtr_ = NULL; \ - } \ +(baseType,argNames,Targ) \ + \ + /* Table destructor called from the table add function destructor */ \ + void baseType<Targ>::destroy##argNames##ConstructorTables() \ + { \ + if (baseType<Targ>::argNames##ConstructorTablePtr_) \ + { \ + delete baseType<Targ>::argNames##ConstructorTablePtr_; \ + baseType<Targ>::argNames##ConstructorTablePtr_ = NULL; \ + } \ } @@ -358,10 +358,10 @@ Description // create pointer to hash-table of functions // use when baseType requires the Targ template argument #define defineTemplatedRunTimeSelectionTablePtr\ -(baseType,argNames,Targ) \ - \ - /* Define the constructor function table */ \ - baseType<Targ>::argNames##ConstructorTable* \ +(baseType,argNames,Targ) \ + \ + /* Define the constructor function table */ \ + baseType<Targ>::argNames##ConstructorTable* \ baseType<Targ>::argNames##ConstructorTablePtr_ = NULL @@ -370,13 +370,13 @@ Description // define run-time selection table for template classes // use when baseType requires the Targ template argument #define defineTemplatedRunTimeSelectionTable\ -(baseType,argNames,Targ) \ - \ - template<> \ - defineTemplatedRunTimeSelectionTablePtr(baseType,argNames,Targ); \ - template<> \ - defineTemplatedRunTimeSelectionTableConstructor(baseType,argNames,Targ); \ - template<> \ +(baseType,argNames,Targ) \ + \ + template<> \ + defineTemplatedRunTimeSelectionTablePtr(baseType,argNames,Targ); \ + template<> \ + defineTemplatedRunTimeSelectionTableConstructor(baseType,argNames,Targ); \ + template<> \ defineTemplatedRunTimeSelectionTableDestructor(baseType,argNames,Targ) diff --git a/src/OpenFOAM/db/runTimeSelection/globalFunctions/addToGlobalFunctionSelectionTable.H b/src/OpenFOAM/db/runTimeSelection/globalFunctions/addToGlobalFunctionSelectionTable.H index 502fb20eef2..32894a9c7b1 100644 --- a/src/OpenFOAM/db/runTimeSelection/globalFunctions/addToGlobalFunctionSelectionTable.H +++ b/src/OpenFOAM/db/runTimeSelection/globalFunctions/addToGlobalFunctionSelectionTable.H @@ -36,10 +36,10 @@ Description // add to hash-table of functions with 'lookup' as the key #define addNamedToGlobalFunctionSelectionTable\ -(memberFunction,argNames,lookup,functionPtr) \ - \ - /* Add to the table, find by lookup name */ \ - add##memberFunction##argNames##GlobalMemberFunctionToTable \ +(memberFunction,argNames,lookup,functionPtr) \ + \ + /* Add to the table, find by lookup name */ \ + add##memberFunction##argNames##GlobalMemberFunctionToTable \ add_##lookup##_##memberFunction##argNames##GlobalMemberFunctionTo##Table_ \ (#lookup, functionPtr) diff --git a/src/OpenFOAM/db/runTimeSelection/globalFunctions/globalFunctionSelectionTables.H b/src/OpenFOAM/db/runTimeSelection/globalFunctions/globalFunctionSelectionTables.H index 64a8d639c3b..41f8ef7d6d1 100644 --- a/src/OpenFOAM/db/runTimeSelection/globalFunctions/globalFunctionSelectionTables.H +++ b/src/OpenFOAM/db/runTimeSelection/globalFunctions/globalFunctionSelectionTables.H @@ -40,87 +40,87 @@ Description // ~~~~~~~~~~~~~ // declare a run-time selection: #define declareGlobalFunctionSelectionTable\ -(returnType,memberFunction,argNames,argList,parList) \ - \ - /* Construct from argList function pointer type */ \ +(returnType,memberFunction,argNames,argList,parList) \ + \ + /* Construct from argList function pointer type */ \ typedef returnType (*memberFunction##argNames##MemberFunctionPtr)argList; \ - \ - /* Construct from argList function table type */ \ - typedef HashTable \ - <memberFunction##argNames##MemberFunctionPtr, word, string::hash> \ - memberFunction##argNames##MemberFunctionTable; \ - \ - /* Construct from argList function pointer table pointer */ \ - extern memberFunction##argNames##MemberFunctionTable* \ - memberFunction##argNames##MemberFunctionTablePtr_; \ - \ - /* Table memberFunction called from the table add function */ \ - void construct##memberFunction##argNames##MemberFunctionTables(); \ - \ - /* Table destructor called from the table add function destructor */ \ - void destroy##memberFunction##argNames##MemberFunctionTables(); \ - \ - /* Class to add constructor from argList to table */ \ - class add##memberFunction##argNames##GlobalMemberFunctionToTable \ - { \ - public: \ - \ - add##memberFunction##argNames##GlobalMemberFunctionToTable \ - ( \ - const word& lookup, \ - memberFunction##argNames##MemberFunctionPtr function \ - ) \ - { \ - construct##memberFunction##argNames##MemberFunctionTables(); \ - memberFunction##argNames##MemberFunctionTablePtr_->insert \ - ( \ - lookup, \ - function \ - ); \ - } \ - \ - ~add##memberFunction##argNames##GlobalMemberFunctionToTable() \ - { \ - destroy##memberFunction##argNames##MemberFunctionTables(); \ - } \ + \ + /* Construct from argList function table type */ \ + typedef HashTable \ + <memberFunction##argNames##MemberFunctionPtr, word, string::hash> \ + memberFunction##argNames##MemberFunctionTable; \ + \ + /* Construct from argList function pointer table pointer */ \ + extern memberFunction##argNames##MemberFunctionTable* \ + memberFunction##argNames##MemberFunctionTablePtr_; \ + \ + /* Table memberFunction called from the table add function */ \ + void construct##memberFunction##argNames##MemberFunctionTables(); \ + \ + /* Table destructor called from the table add function destructor */ \ + void destroy##memberFunction##argNames##MemberFunctionTables(); \ + \ + /* Class to add constructor from argList to table */ \ + class add##memberFunction##argNames##GlobalMemberFunctionToTable \ + { \ + public: \ + \ + add##memberFunction##argNames##GlobalMemberFunctionToTable \ + ( \ + const word& lookup, \ + memberFunction##argNames##MemberFunctionPtr function \ + ) \ + { \ + construct##memberFunction##argNames##MemberFunctionTables(); \ + memberFunction##argNames##MemberFunctionTablePtr_->insert \ + ( \ + lookup, \ + function \ + ); \ + } \ + \ + ~add##memberFunction##argNames##GlobalMemberFunctionToTable() \ + { \ + destroy##memberFunction##argNames##MemberFunctionTables(); \ + } \ } // internal use: // constructor/destructor aid #define defineGlobalFunctionSelectionTableConstructDestruct\ -(memberFunction,argNames) \ - \ - /* Table constructor called from the table add function */ \ - void construct##memberFunction##argNames##MemberFunctionTables() \ - { \ - static bool constructed = false; \ - if (!constructed) \ - { \ - constructed = true; \ - memberFunction##argNames##MemberFunctionTablePtr_ \ - = new memberFunction##argNames##MemberFunctionTable; \ - } \ - } \ - \ - /* Table destructor called from the table add function destructor */ \ - void destroy##memberFunction##argNames##MemberFunctionTables() \ - { \ - if (memberFunction##argNames##MemberFunctionTablePtr_) \ - { \ - delete memberFunction##argNames##MemberFunctionTablePtr_; \ - memberFunction##argNames##MemberFunctionTablePtr_ = NULL; \ - } \ +(memberFunction,argNames) \ + \ + /* Table constructor called from the table add function */ \ + void construct##memberFunction##argNames##MemberFunctionTables() \ + { \ + static bool constructed = false; \ + if (!constructed) \ + { \ + constructed = true; \ + memberFunction##argNames##MemberFunctionTablePtr_ \ + = new memberFunction##argNames##MemberFunctionTable; \ + } \ + } \ + \ + /* Table destructor called from the table add function destructor */ \ + void destroy##memberFunction##argNames##MemberFunctionTables() \ + { \ + if (memberFunction##argNames##MemberFunctionTablePtr_) \ + { \ + delete memberFunction##argNames##MemberFunctionTablePtr_; \ + memberFunction##argNames##MemberFunctionTablePtr_ = NULL; \ + } \ } // internal use: // create pointer to hash-table of functions #define defineGlobalFunctionSelectionTablePtr\ -(memberFunction,argNames) \ - \ - /* Define the memberFunction table */ \ - memberFunction##argNames##MemberFunctionTable* \ +(memberFunction,argNames) \ + \ + /* Define the memberFunction table */ \ + memberFunction##argNames##MemberFunctionTable* \ memberFunction##argNames##MemberFunctionTablePtr_ = NULL @@ -130,11 +130,11 @@ Description // ~~~~~~~~~~~~~ // define run-time selection table #define defineGlobalFunctionSelectionTable\ -(memberFunction,argNames) \ - \ - defineGlobalFunctionSelectionTablePtr \ - (memberFunction,argNames); \ - defineGlobalFunctionSelectionTableConstructDestruct \ +(memberFunction,argNames) \ + \ + defineGlobalFunctionSelectionTablePtr \ + (memberFunction,argNames); \ + defineGlobalFunctionSelectionTableConstructDestruct \ (memberFunction,argNames) // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/src/OpenFOAM/db/runTimeSelection/memberFunctions/addToMemberFunctionSelectionTable.H b/src/OpenFOAM/db/runTimeSelection/memberFunctions/addToMemberFunctionSelectionTable.H index a8ddcb91453..69aa8c46dcb 100644 --- a/src/OpenFOAM/db/runTimeSelection/memberFunctions/addToMemberFunctionSelectionTable.H +++ b/src/OpenFOAM/db/runTimeSelection/memberFunctions/addToMemberFunctionSelectionTable.H @@ -37,21 +37,21 @@ Description // add to hash-table of functions with typename as the key #define addToMemberFunctionSelectionTable\ -(baseType,thisType,memberFunction,argNames) \ - \ - /* Add the thisType memberFunction to the table */ \ - baseType::add##memberFunction##argNames##MemberFunctionToTable<thisType> \ +(baseType,thisType,memberFunction,argNames) \ + \ + /* Add the thisType memberFunction to the table */ \ + baseType::add##memberFunction##argNames##MemberFunctionToTable<thisType> \ add##thisType##memberFunction##argNames##MemberFunctionTo##baseType##Table_ // add to hash-table of functions with 'lookup' as the key #define addNamedToMemberFunctionSelectionTable\ -(baseType,thisType,memberFunction,argNames,lookup) \ - \ - /* Add the thisType memberFunction to the table, find by lookup name */ \ - baseType::add##memberFunction##argNames##MemberFunctionToTable<thisType> \ - add_##lookup##_##thisType##memberFunction##argNames##MemberFunctionTo## \ +(baseType,thisType,memberFunction,argNames,lookup) \ + \ + /* Add the thisType memberFunction to the table, find by lookup name */ \ + baseType::add##memberFunction##argNames##MemberFunctionToTable<thisType> \ + add_##lookup##_##thisType##memberFunction##argNames##MemberFunctionTo## \ baseType##Table_(#lookup) @@ -61,44 +61,44 @@ Description // add to hash-table of functions with typename as the key // use when baseType doesn't need a template argument (eg, is a typedef) #define addTemplateToMemberFunctionSelectionTable\ -(baseType,thisType,Targ,memberFunction,argNames) \ - \ - /* Add the thisType memberFunction to the table */ \ - baseType::add##memberFunction##argNames## \ - MemberFunctionToTable<thisType<Targ>> \ - add##thisType##Targ##memberFunction##argNames##MemberFunctionTo## \ +(baseType,thisType,Targ,memberFunction,argNames) \ + \ + /* Add the thisType memberFunction to the table */ \ + baseType::add##memberFunction##argNames## \ + MemberFunctionToTable<thisType<Targ>> \ + add##thisType##Targ##memberFunction##argNames##MemberFunctionTo## \ baseType##Table_ // add to hash-table of functions with 'lookup' as the key // use when baseType doesn't need a template argument (eg, is a typedef) #define addNamedTemplateToMemberFunctionSelectionTable\ -(baseType,thisType,Targ,memberFunction,argNames,lookup) \ - \ - /* Add the thisType memberFunction to the table, find by lookup name */ \ - baseType::add##memberFunction##argNames## \ - MemberFunctionToTable<thisType<Targ>> \ - add_##lookup##_##thisType##Targ##memberFunction##argNames## \ +(baseType,thisType,Targ,memberFunction,argNames,lookup) \ + \ + /* Add the thisType memberFunction to the table, find by lookup name */ \ + baseType::add##memberFunction##argNames## \ + MemberFunctionToTable<thisType<Targ>> \ + add_##lookup##_##thisType##Targ##memberFunction##argNames## \ MemberFunctionTo##baseType##Table_(#lookup) // use when baseType requires the Targ template argument as well #define addTemplatedToMemberFunctionSelectionTable\ -(baseType,thisType,Targ,memberFunction,argNames) \ - \ - /* Add the thisType memberFunction to the table */ \ - baseType<Targ>::add##memberFunction##argNames## \ - MemberFunctionToTable<thisType<Targ>> \ - add##thisType##Targ##memberFunction##argNames##MemberFunctionTo## \ +(baseType,thisType,Targ,memberFunction,argNames) \ + \ + /* Add the thisType memberFunction to the table */ \ + baseType<Targ>::add##memberFunction##argNames## \ + MemberFunctionToTable<thisType<Targ>> \ + add##thisType##Targ##memberFunction##argNames##MemberFunctionTo## \ baseType##Targ##Table_ // use when baseType requires the Targ template argument as well #define addNamedTemplatedToMemberFunctionSelectionTable\ -(baseType,thisType,Targ,memberFunction,argNames,lookup) \ - \ - /* Add the thisType memberFunction to the table, find by lookup name */ \ - baseType<Targ>::add##memberFunction##argNames## \ - MemberFunctionToTable<thisType<Targ>> \ - add_##lookup##_##thisType##Targ##memberFunction##argNames## \ +(baseType,thisType,Targ,memberFunction,argNames,lookup) \ + \ + /* Add the thisType memberFunction to the table, find by lookup name */ \ + baseType<Targ>::add##memberFunction##argNames## \ + MemberFunctionToTable<thisType<Targ>> \ + add_##lookup##_##thisType##Targ##memberFunction##argNames## \ MemberFunctionTo##baseType##Targ##Table_(#lookup) @@ -108,24 +108,24 @@ Description // add to hash-table of functions with typename as the key // use when baseType requires the Targ template argument as well #define addTemplatedToMemberFunctionSelectionTable\ -(baseType,thisType,Targ,memberFunction,argNames) \ - \ - /* Add the thisType memberFunction to the table */ \ - baseType<Targ>::add##memberFunction##argNames## \ - MemberFunctionToTable<thisType<Targ>> \ - add##thisType##Targ##memberFunction##argNames##MemberFunctionTo## \ +(baseType,thisType,Targ,memberFunction,argNames) \ + \ + /* Add the thisType memberFunction to the table */ \ + baseType<Targ>::add##memberFunction##argNames## \ + MemberFunctionToTable<thisType<Targ>> \ + add##thisType##Targ##memberFunction##argNames##MemberFunctionTo## \ baseType##Targ##Table_ // add to hash-table of functions with 'lookup' as the key // use when baseType requires the Targ template argument as well #define addNamedTemplatedToMemberFunctionSelectionTable\ -(baseType,thisType,Targ,memberFunction,argNames,lookup) \ - \ - /* Add the thisType memberFunction to the table, find by lookup name */ \ - baseType<Targ>::add##memberFunction##argNames## \ - MemberFunctionToTable<thisType<Targ>> \ - add_##lookup##_##thisType##Targ##memberFunction##argNames## \ +(baseType,thisType,Targ,memberFunction,argNames,lookup) \ + \ + /* Add the thisType memberFunction to the table, find by lookup name */ \ + baseType<Targ>::add##memberFunction##argNames## \ + MemberFunctionToTable<thisType<Targ>> \ + add_##lookup##_##thisType##Targ##memberFunction##argNames## \ MemberFunctionTo##baseType##Targ##Table_(#lookup) diff --git a/src/OpenFOAM/db/runTimeSelection/memberFunctions/memberFunctionSelectionTables.H b/src/OpenFOAM/db/runTimeSelection/memberFunctions/memberFunctionSelectionTables.H index 44ac58773e5..6f3e6ee220d 100644 --- a/src/OpenFOAM/db/runTimeSelection/memberFunctions/memberFunctionSelectionTables.H +++ b/src/OpenFOAM/db/runTimeSelection/memberFunctions/memberFunctionSelectionTables.H @@ -43,102 +43,102 @@ Description // ~~~~~~~~~~~~~ // declare a run-time selection: #define declareMemberFunctionSelectionTable\ -(returnType,baseType,memberFunction,argNames,argList,parList) \ - \ - /* Construct from argList function pointer type */ \ +(returnType,baseType,memberFunction,argNames,argList,parList) \ + \ + /* Construct from argList function pointer type */ \ typedef returnType (*memberFunction##argNames##MemberFunctionPtr)argList; \ - \ - /* Construct from argList function table type */ \ - typedef HashTable \ - <memberFunction##argNames##MemberFunctionPtr, word, string::hash> \ - memberFunction##argNames##MemberFunctionTable; \ - \ - /* Construct from argList function pointer table pointer */ \ - static memberFunction##argNames##MemberFunctionTable* \ - memberFunction##argNames##MemberFunctionTablePtr_; \ - \ - /* Class to add constructor from argList to table */ \ - template<class baseType##Type> \ - class add##memberFunction##argNames##MemberFunctionToTable \ - { \ - public: \ - \ - add##memberFunction##argNames##MemberFunctionToTable \ - ( \ - const word& lookup = baseType##Type::typeName \ - ) \ - { \ - construct##memberFunction##argNames##MemberFunctionTables(); \ - memberFunction##argNames##MemberFunctionTablePtr_->insert \ - ( \ - lookup, \ - baseType##Type::memberFunction \ - ); \ - } \ - \ - ~add##memberFunction##argNames##MemberFunctionToTable() \ - { \ - destroy##memberFunction##argNames##MemberFunctionTables(); \ - } \ - }; \ - \ - /* Table memberFunction called from the table add function */ \ - static void construct##memberFunction##argNames##MemberFunctionTables(); \ - \ - /* Table destructor called from the table add function destructor */ \ + \ + /* Construct from argList function table type */ \ + typedef HashTable \ + <memberFunction##argNames##MemberFunctionPtr, word, string::hash> \ + memberFunction##argNames##MemberFunctionTable; \ + \ + /* Construct from argList function pointer table pointer */ \ + static memberFunction##argNames##MemberFunctionTable* \ + memberFunction##argNames##MemberFunctionTablePtr_; \ + \ + /* Class to add constructor from argList to table */ \ + template<class baseType##Type> \ + class add##memberFunction##argNames##MemberFunctionToTable \ + { \ + public: \ + \ + add##memberFunction##argNames##MemberFunctionToTable \ + ( \ + const word& lookup = baseType##Type::typeName \ + ) \ + { \ + construct##memberFunction##argNames##MemberFunctionTables(); \ + memberFunction##argNames##MemberFunctionTablePtr_->insert \ + ( \ + lookup, \ + baseType##Type::memberFunction \ + ); \ + } \ + \ + ~add##memberFunction##argNames##MemberFunctionToTable() \ + { \ + destroy##memberFunction##argNames##MemberFunctionTables(); \ + } \ + }; \ + \ + /* Table memberFunction called from the table add function */ \ + static void construct##memberFunction##argNames##MemberFunctionTables(); \ + \ + /* Table destructor called from the table add function destructor */ \ static void destroy##memberFunction##argNames##MemberFunctionTables() // internal use: // constructor aid #define defineMemberFunctionSelectionTableMemberFunction\ -(baseType,memberFunction,argNames) \ - \ - /* Table memberFunction called from the table add function */ \ +(baseType,memberFunction,argNames) \ + \ + /* Table memberFunction called from the table add function */ \ void baseType::construct##memberFunction##argNames##MemberFunctionTables()\ - { \ - static bool constructed = false; \ - if (!constructed) \ - { \ - constructed = true; \ - baseType::memberFunction##argNames##MemberFunctionTablePtr_ \ + { \ + static bool constructed = false; \ + if (!constructed) \ + { \ + constructed = true; \ + baseType::memberFunction##argNames##MemberFunctionTablePtr_ \ = new baseType::memberFunction##argNames##MemberFunctionTable;\ - } \ + } \ } // internal use: // destructor aid #define defineMemberFunctionSelectionTableDestructor\ -(baseType,memberFunction,argNames) \ - \ - /* Table destructor called from the table add function destructor */ \ - void baseType::destroy##memberFunction##argNames##MemberFunctionTables() \ - { \ - if (baseType::memberFunction##argNames##MemberFunctionTablePtr_) \ - { \ +(baseType,memberFunction,argNames) \ + \ + /* Table destructor called from the table add function destructor */ \ + void baseType::destroy##memberFunction##argNames##MemberFunctionTables() \ + { \ + if (baseType::memberFunction##argNames##MemberFunctionTablePtr_) \ + { \ delete baseType::memberFunction##argNames##MemberFunctionTablePtr_;\ baseType::memberFunction##argNames##MemberFunctionTablePtr_ = NULL;\ - } \ + } \ } // internal use: // create pointer to hash-table of functions #define defineMemberFunctionSelectionTablePtr\ -(baseType,memberFunction,argNames) \ - \ - /* Define the memberFunction table */ \ - baseType::memberFunction##argNames##MemberFunctionTable* \ +(baseType,memberFunction,argNames) \ + \ + /* Define the memberFunction table */ \ + baseType::memberFunction##argNames##MemberFunctionTable* \ baseType::memberFunction##argNames##MemberFunctionTablePtr_ = NULL // not much in use: #define defineTemplateMemberFunctionSelectionTablePtr\ -(baseType,memberFunction,argNames) \ - \ - /* Define the memberFunction table */ \ - typename baseType::memberFunction##argNames##MemberFunctionTable* \ +(baseType,memberFunction,argNames) \ + \ + /* Define the memberFunction table */ \ + typename baseType::memberFunction##argNames##MemberFunctionTable* \ baseType::memberFunction##argNames##MemberFunctionTablePtr_ = NULL @@ -148,13 +148,13 @@ Description // ~~~~~~~~~~~~~ // define run-time selection table #define defineMemberFunctionSelectionTable\ -(baseType,memberFunction,argNames) \ - \ - defineMemberFunctionSelectionTablePtr \ - (baseType,memberFunction,argNames); \ - defineMemberFunctionSelectionTableMemberFunction \ - (baseType,memberFunction,argNames) \ - defineMemberFunctionSelectionTableDestructor \ +(baseType,memberFunction,argNames) \ + \ + defineMemberFunctionSelectionTablePtr \ + (baseType,memberFunction,argNames); \ + defineMemberFunctionSelectionTableMemberFunction \ + (baseType,memberFunction,argNames) \ + defineMemberFunctionSelectionTableDestructor \ (baseType,memberFunction,argNames) @@ -163,16 +163,16 @@ Description // define run-time selection table for template classes // use when baseType doesn't need a template argument (eg, is a typedef) #define defineTemplateMemberFunctionSelectionTable\ -(baseType,memberFunction,argNames) \ - \ - template<> \ - defineMemberFunctionSelectionTablePtr \ - (baseType,memberFunction,argNames); \ - template<> \ - defineMemberFunctionSelectionTableMemberFunction \ - (baseType,memberFunction,argNames) \ - template<> \ - defineMemberFunctionSelectionTableDestructor \ +(baseType,memberFunction,argNames) \ + \ + template<> \ + defineMemberFunctionSelectionTablePtr \ + (baseType,memberFunction,argNames); \ + template<> \ + defineMemberFunctionSelectionTableMemberFunction \ + (baseType,memberFunction,argNames) \ + template<> \ + defineMemberFunctionSelectionTableDestructor \ (baseType,memberFunction,argNames) @@ -182,20 +182,20 @@ Description // constructor aid // use when baseType requires the Targ template argument #define defineTemplatedMemberFunctionSelectionTableMemberFunction\ -(baseType,memberFunction,argNames,Targ) \ - \ - /* Table memberFunction called from the table add function */ \ - void baseType<Targ>::construct##memberFunction##argNames## \ - MemberFunctionTables() \ - { \ - static bool constructed = false; \ - if (!constructed) \ - { \ - constructed = true; \ +(baseType,memberFunction,argNames,Targ) \ + \ + /* Table memberFunction called from the table add function */ \ + void baseType<Targ>::construct##memberFunction##argNames## \ + MemberFunctionTables() \ + { \ + static bool constructed = false; \ + if (!constructed) \ + { \ + constructed = true; \ baseType<Targ>::memberFunction##argNames##MemberFunctionTablePtr_ \ - = new baseType<Targ>::memberFunction##argNames## \ - MemberFunctionTable; \ - } \ + = new baseType<Targ>::memberFunction##argNames## \ + MemberFunctionTable; \ + } \ } @@ -203,22 +203,22 @@ Description // destructor aid // use when baseType requires the Targ template argument #define defineTemplatedMemberFunctionSelectionTableDestructor\ -(baseType,memberFunction,argNames,Targ) \ - \ - /* Table destructor called from the table add function destructor */ \ - void baseType<Targ>::destroy##memberFunction##argNames## \ - MemberFunctionTables() \ - { \ - if \ - ( \ +(baseType,memberFunction,argNames,Targ) \ + \ + /* Table destructor called from the table add function destructor */ \ + void baseType<Targ>::destroy##memberFunction##argNames## \ + MemberFunctionTables() \ + { \ + if \ + ( \ baseType<Targ>::memberFunction##argNames##MemberFunctionTablePtr_ \ - ) \ - { \ - delete baseType<Targ>::memberFunction##argNames## \ - MemberFunctionTablePtr_; \ - baseType<Targ>::memberFunction##argNames## \ - MemberFunctionTablePtr_ = NULL; \ - } \ + ) \ + { \ + delete baseType<Targ>::memberFunction##argNames## \ + MemberFunctionTablePtr_; \ + baseType<Targ>::memberFunction##argNames## \ + MemberFunctionTablePtr_ = NULL; \ + } \ } @@ -226,10 +226,10 @@ Description // create pointer to hash-table of functions // use when baseType requires the Targ template argument #define defineTemplatedMemberFunctionSelectionTablePtr\ -(baseType,memberFunction,argNames,Targ) \ - \ - /* Define the memberFunction table */ \ - baseType<Targ>::memberFunction##argNames##MemberFunctionTable* \ +(baseType,memberFunction,argNames,Targ) \ + \ + /* Define the memberFunction table */ \ + baseType<Targ>::memberFunction##argNames##MemberFunctionTable* \ baseType<Targ>::memberFunction##argNames##MemberFunctionTablePtr_ = NULL @@ -238,16 +238,16 @@ Description // define run-time selection table for template classes // use when baseType requires the Targ template argument #define defineTemplatedMemberFunctionSelectionTable\ -(baseType,memberFunction,argNames,Targ) \ - \ - template<> \ - defineTemplatedMemberFunctionSelectionTablePtr \ - (baseType,memberFunction,argNames,Targ); \ - template<> \ - defineTemplatedMemberFunctionSelectionTableMemberFunction \ - (baseType,memberFunction,argNames,Targ) \ - template<> \ - defineTemplatedMemberFunctionSelectionTableDestructor \ +(baseType,memberFunction,argNames,Targ) \ + \ + template<> \ + defineTemplatedMemberFunctionSelectionTablePtr \ + (baseType,memberFunction,argNames,Targ); \ + template<> \ + defineTemplatedMemberFunctionSelectionTableMemberFunction \ + (baseType,memberFunction,argNames,Targ) \ + template<> \ + defineTemplatedMemberFunctionSelectionTableDestructor \ (baseType,memberFunction,argNames,Targ) diff --git a/src/OpenFOAM/db/runTimeSelection/staticMemberFunctions/addToStaticMemberFunctionSelectionTable.H b/src/OpenFOAM/db/runTimeSelection/staticMemberFunctions/addToStaticMemberFunctionSelectionTable.H index 7d30af8df98..2652f40db37 100644 --- a/src/OpenFOAM/db/runTimeSelection/staticMemberFunctions/addToStaticMemberFunctionSelectionTable.H +++ b/src/OpenFOAM/db/runTimeSelection/staticMemberFunctions/addToStaticMemberFunctionSelectionTable.H @@ -37,12 +37,12 @@ Description // add to hash-table of functions with 'lookup' as the key #define addNamedToStaticMemberFunctionSelectionTable\ -(baseType,thisType,memberFunction,argNames,lookup,functionPtr) \ - \ - /* Add the thisType memberFunction to the table, find by lookup name */ \ - baseType::add##memberFunction##argNames## \ - StaticMemberFunctionToTable<thisType> \ - add_##lookup##_##thisType##memberFunction##argNames## \ +(baseType,thisType,memberFunction,argNames,lookup,functionPtr) \ + \ + /* Add the thisType memberFunction to the table, find by lookup name */ \ + baseType::add##memberFunction##argNames## \ + StaticMemberFunctionToTable<thisType> \ + add_##lookup##_##thisType##memberFunction##argNames## \ StaticMemberFunctionTo##baseType##Table_(#lookup, functionPtr) diff --git a/src/OpenFOAM/db/runTimeSelection/staticMemberFunctions/staticMemberFunctionSelectionTables.H b/src/OpenFOAM/db/runTimeSelection/staticMemberFunctions/staticMemberFunctionSelectionTables.H index 51de6fca43a..347a537cc9a 100644 --- a/src/OpenFOAM/db/runTimeSelection/staticMemberFunctions/staticMemberFunctionSelectionTables.H +++ b/src/OpenFOAM/db/runTimeSelection/staticMemberFunctions/staticMemberFunctionSelectionTables.H @@ -40,88 +40,88 @@ Description // ~~~~~~~~~~~~~ // declare a run-time selection: #define declareStaticMemberFunctionSelectionTable\ -(returnType,baseType,memberFunction,argNames,argList,parList) \ - \ - /* Construct from argList function pointer type */ \ +(returnType,baseType,memberFunction,argNames,argList,parList) \ + \ + /* Construct from argList function pointer type */ \ typedef returnType (*memberFunction##argNames##MemberFunctionPtr)argList; \ - \ - /* Construct from argList function table type */ \ - typedef HashTable \ - <memberFunction##argNames##MemberFunctionPtr, word, string::hash> \ - memberFunction##argNames##MemberFunctionTable; \ - \ - /* Construct from argList function pointer table pointer */ \ - static memberFunction##argNames##MemberFunctionTable* \ - memberFunction##argNames##MemberFunctionTablePtr_; \ - \ - /* Table memberFunction called from the table add function */ \ - static void construct##memberFunction##argNames##MemberFunctionTables(); \ - \ - /* Table destructor called from the table add function destructor */ \ - static void destroy##memberFunction##argNames##MemberFunctionTables(); \ - \ - /* Class to add constructor from argList to table */ \ - template<class baseType##Type> \ - class add##memberFunction##argNames##StaticMemberFunctionToTable \ - { \ - public: \ - \ - add##memberFunction##argNames##StaticMemberFunctionToTable \ - ( \ - const word& lookup, \ - memberFunction##argNames##MemberFunctionPtr function \ - ) \ - { \ - construct##memberFunction##argNames##MemberFunctionTables(); \ - memberFunction##argNames##MemberFunctionTablePtr_->insert \ - ( \ - lookup, \ - function \ - ); \ - } \ - \ - ~add##memberFunction##argNames##StaticMemberFunctionToTable() \ - { \ - destroy##memberFunction##argNames##MemberFunctionTables(); \ - } \ + \ + /* Construct from argList function table type */ \ + typedef HashTable \ + <memberFunction##argNames##MemberFunctionPtr, word, string::hash> \ + memberFunction##argNames##MemberFunctionTable; \ + \ + /* Construct from argList function pointer table pointer */ \ + static memberFunction##argNames##MemberFunctionTable* \ + memberFunction##argNames##MemberFunctionTablePtr_; \ + \ + /* Table memberFunction called from the table add function */ \ + static void construct##memberFunction##argNames##MemberFunctionTables(); \ + \ + /* Table destructor called from the table add function destructor */ \ + static void destroy##memberFunction##argNames##MemberFunctionTables(); \ + \ + /* Class to add constructor from argList to table */ \ + template<class baseType##Type> \ + class add##memberFunction##argNames##StaticMemberFunctionToTable \ + { \ + public: \ + \ + add##memberFunction##argNames##StaticMemberFunctionToTable \ + ( \ + const word& lookup, \ + memberFunction##argNames##MemberFunctionPtr function \ + ) \ + { \ + construct##memberFunction##argNames##MemberFunctionTables(); \ + memberFunction##argNames##MemberFunctionTablePtr_->insert \ + ( \ + lookup, \ + function \ + ); \ + } \ + \ + ~add##memberFunction##argNames##StaticMemberFunctionToTable() \ + { \ + destroy##memberFunction##argNames##MemberFunctionTables(); \ + } \ } // internal use: // constructor/destructor aid #define defineStaticMemberFunctionSelectionTableConstructDestruct\ -(baseType,memberFunction,argNames) \ - \ - /* Table constructor called from the table add function constructor */ \ +(baseType,memberFunction,argNames) \ + \ + /* Table constructor called from the table add function constructor */ \ void baseType::construct##memberFunction##argNames##MemberFunctionTables()\ - { \ - static bool constructed = false; \ - if (!constructed) \ - { \ - constructed = true; \ - baseType::memberFunction##argNames##MemberFunctionTablePtr_ \ + { \ + static bool constructed = false; \ + if (!constructed) \ + { \ + constructed = true; \ + baseType::memberFunction##argNames##MemberFunctionTablePtr_ \ = new baseType::memberFunction##argNames##MemberFunctionTable;\ - } \ - }; \ - \ - /* Table destructor called from the table add function destructor */ \ - void baseType::destroy##memberFunction##argNames##MemberFunctionTables() \ - { \ - if (baseType::memberFunction##argNames##MemberFunctionTablePtr_) \ - { \ + } \ + }; \ + \ + /* Table destructor called from the table add function destructor */ \ + void baseType::destroy##memberFunction##argNames##MemberFunctionTables() \ + { \ + if (baseType::memberFunction##argNames##MemberFunctionTablePtr_) \ + { \ delete baseType::memberFunction##argNames##MemberFunctionTablePtr_;\ baseType::memberFunction##argNames##MemberFunctionTablePtr_ = NULL;\ - } \ + } \ } // internal use: // create pointer to hash-table of functions #define defineStaticMemberFunctionSelectionTablePtr\ -(baseType,memberFunction,argNames) \ - \ - /* Define the memberFunction table */ \ - baseType::memberFunction##argNames##MemberFunctionTable* \ +(baseType,memberFunction,argNames) \ + \ + /* Define the memberFunction table */ \ + baseType::memberFunction##argNames##MemberFunctionTable* \ baseType::memberFunction##argNames##MemberFunctionTablePtr_ = NULL @@ -131,12 +131,12 @@ Description // ~~~~~~~~~~~~~ // define run-time selection table #define defineStaticMemberFunctionSelectionTable\ -(baseType,memberFunction,argNames) \ - \ - defineStaticMemberFunctionSelectionTablePtr \ - (baseType,memberFunction,argNames); \ - defineStaticMemberFunctionSelectionTableConstructDestruct \ - (baseType,memberFunction,argNames) \ +(baseType,memberFunction,argNames) \ + \ + defineStaticMemberFunctionSelectionTablePtr \ + (baseType,memberFunction,argNames); \ + defineStaticMemberFunctionSelectionTableConstructDestruct \ + (baseType,memberFunction,argNames) \ // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/src/OpenFOAM/db/typeInfo/className.H b/src/OpenFOAM/db/typeInfo/className.H index e70e3c85dd8..b96b1c7a145 100644 --- a/src/OpenFOAM/db/typeInfo/className.H +++ b/src/OpenFOAM/db/typeInfo/className.H @@ -39,24 +39,24 @@ Description //- Add typeName information from argument \a TypeNameString to a class. // Without debug information -#define ClassNameNoDebug(TypeNameString) \ - static const char* typeName_() { return TypeNameString; } \ +#define ClassNameNoDebug(TypeNameString) \ + static const char* typeName_() { return TypeNameString; } \ static const ::Foam::word typeName //- Add typeName information from argument \a TypeNameString to a namespace. // Without debug information. -#define NamespaceNameNoDebug(TypeNameString) \ - inline const char* typeName_() { return TypeNameString; } \ +#define NamespaceNameNoDebug(TypeNameString) \ + inline const char* typeName_() { return TypeNameString; } \ extern const ::Foam::word typeName //- Add typeName information from argument \a TemplateNameString to a // template class. Without debug information. -#define TemplateNameNoDebug(TemplateNameString) \ -class TemplateNameString##Name \ -{ \ -public: \ - TemplateNameString##Name() {} \ - ClassNameNoDebug(#TemplateNameString); \ +#define TemplateNameNoDebug(TemplateNameString) \ +class TemplateNameString##Name \ +{ \ +public: \ + TemplateNameString##Name() {} \ + ClassNameNoDebug(#TemplateNameString); \ } @@ -66,24 +66,24 @@ public: \ //- Add typeName information from argument \a TypeNameString to a class. // Also declares debug information. -#define ClassName(TypeNameString) \ - ClassNameNoDebug(TypeNameString); \ +#define ClassName(TypeNameString) \ + ClassNameNoDebug(TypeNameString); \ static int debug //- Add typeName information from argument \a TypeNameString to a namespace. // Also declares debug information. -#define NamespaceName(TypeNameString) \ - NamespaceNameNoDebug(TypeNameString); \ +#define NamespaceName(TypeNameString) \ + NamespaceNameNoDebug(TypeNameString); \ extern int debug //- Add typeName information from argument \a TypeNameString to a // template class. Also declares debug information. -#define TemplateName(TemplateNameString) \ -class TemplateNameString##Name \ -{ \ -public: \ - TemplateNameString##Name() {} \ - ClassName(#TemplateNameString); \ +#define TemplateName(TemplateNameString) \ +class TemplateNameString##Name \ +{ \ +public: \ + TemplateNameString##Name() {} \ + ClassName(#TemplateNameString); \ } @@ -92,28 +92,28 @@ public: \ // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ //- Define the typeName, with alternative lookup as \a Name -#define defineTypeNameWithName(Type, Name) \ +#define defineTypeNameWithName(Type, Name) \ const ::Foam::word Type::typeName(Name) //- Define the typeName -#define defineTypeName(Type) \ +#define defineTypeName(Type) \ defineTypeNameWithName(Type, Type::typeName_()) //- Define the typeName as \a Name for template classes -# define defineTemplateTypeNameWithName(Type, Name) \ - template<> \ +# define defineTemplateTypeNameWithName(Type, Name) \ + template<> \ defineTypeNameWithName(Type, Name) //- Define the typeName as \a Name for template sub-classes -# define defineTemplate2TypeNameWithName(Type, Name) \ - template<> \ +# define defineTemplate2TypeNameWithName(Type, Name) \ + template<> \ defineTypeNameWithName(Type, Name) //- Define the typeName for template classes, useful with typedefs -#define defineTemplateTypeName(Type) \ +#define defineTemplateTypeName(Type) \ defineTemplateTypeNameWithName(Type, #Type) //- Define the typeName directly for template classes -#define defineNamedTemplateTypeName(Type) \ +#define defineNamedTemplateTypeName(Type) \ defineTemplateTypeNameWithName(Type, Type::typeName_()) @@ -122,35 +122,35 @@ public: \ // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ //- Define the typeName and debug information -#define defineTypeNameAndDebug(Type, DebugSwitch) \ - defineTypeName(Type); \ +#define defineTypeNameAndDebug(Type, DebugSwitch) \ + defineTypeName(Type); \ defineDebugSwitch(Type, DebugSwitch) //- Define the typeName and debug information, lookup as \a Name -#define defineTemplateTypeNameAndDebugWithName(Type, Name, DebugSwitch) \ - defineTemplateTypeNameWithName(Type, Name); \ +#define defineTemplateTypeNameAndDebugWithName(Type, Name, DebugSwitch) \ + defineTemplateTypeNameWithName(Type, Name); \ defineTemplateDebugSwitchWithName(Type, Name, DebugSwitch) //- Define the typeName and debug information for templates, useful // with typedefs -#define defineTemplateTypeNameAndDebug(Type, DebugSwitch) \ +#define defineTemplateTypeNameAndDebug(Type, DebugSwitch) \ defineTemplateTypeNameAndDebugWithName(Type, #Type, DebugSwitch) //- Define the typeName and debug information for templates -#define defineNamedTemplateTypeNameAndDebug(Type, DebugSwitch) \ - defineNamedTemplateTypeName(Type); \ +#define defineNamedTemplateTypeNameAndDebug(Type, DebugSwitch) \ + defineNamedTemplateTypeName(Type); \ defineNamedTemplateDebugSwitch(Type, DebugSwitch) // for templated sub-classes //- Define the typeName and debug information, lookup as \a Name -#define defineTemplate2TypeNameAndDebugWithName(Type, Name, DebugSwitch) \ - defineTemplate2TypeNameWithName(Type, Name); \ +#define defineTemplate2TypeNameAndDebugWithName(Type, Name, DebugSwitch) \ + defineTemplate2TypeNameWithName(Type, Name); \ defineTemplate2DebugSwitchWithName(Type, Name, DebugSwitch) //- Define the typeName and debug information for templates, useful // with typedefs -#define defineTemplate2TypeNameAndDebug(Type, DebugSwitch) \ +#define defineTemplate2TypeNameAndDebug(Type, DebugSwitch) \ defineTemplate2TypeNameAndDebugWithName(Type, #Type, DebugSwitch) diff --git a/src/OpenFOAM/db/typeInfo/typeInfo.H b/src/OpenFOAM/db/typeInfo/typeInfo.H index bd437b4d799..a31934522c4 100644 --- a/src/OpenFOAM/db/typeInfo/typeInfo.H +++ b/src/OpenFOAM/db/typeInfo/typeInfo.H @@ -62,13 +62,13 @@ Description // declarations (for use in header files) //- Declare a ClassNameNoDebug() with extra virtual type info -#define TypeNameNoDebug(TypeNameString) \ - ClassNameNoDebug(TypeNameString); \ +#define TypeNameNoDebug(TypeNameString) \ + ClassNameNoDebug(TypeNameString); \ virtual const word& type() const { return typeName; } //- Declare a ClassName() with extra virtual type info -#define TypeName(TypeNameString) \ - ClassName(TypeNameString); \ +#define TypeName(TypeNameString) \ + ClassName(TypeNameString); \ virtual const word& type() const { return typeName; } diff --git a/src/OpenFOAM/dimensionedTypes/dimensionedScalar/dimensionedScalar.C b/src/OpenFOAM/dimensionedTypes/dimensionedScalar/dimensionedScalar.C index 57d9e6c450b..d306402fb5a 100644 --- a/src/OpenFOAM/dimensionedTypes/dimensionedScalar/dimensionedScalar.C +++ b/src/OpenFOAM/dimensionedTypes/dimensionedScalar/dimensionedScalar.C @@ -231,22 +231,22 @@ dimensionedScalar negPart(const dimensionedScalar& ds) } -#define transFunc(func) \ -dimensionedScalar func(const dimensionedScalar& ds) \ -{ \ - if (!ds.dimensions().dimensionless()) \ - { \ - FatalErrorInFunction \ - << "ds not dimensionless" \ - << abort(FatalError); \ - } \ - \ - return dimensionedScalar \ - ( \ - #func "(" + ds.name() + ')', \ - dimless, \ - ::func(ds.value()) \ - ); \ +#define transFunc(func) \ +dimensionedScalar func(const dimensionedScalar& ds) \ +{ \ + if (!ds.dimensions().dimensionless()) \ + { \ + FatalErrorInFunction \ + << "ds not dimensionless" \ + << abort(FatalError); \ + } \ + \ + return dimensionedScalar \ + ( \ + #func "(" + ds.name() + ')', \ + dimless, \ + ::func(ds.value()) \ + ); \ } transFunc(exp) @@ -275,22 +275,22 @@ transFunc(y1) #undef transFunc -#define transFunc(func) \ -dimensionedScalar func(const int n, const dimensionedScalar& ds) \ -{ \ - if (!ds.dimensions().dimensionless()) \ - { \ - FatalErrorInFunction \ - << "ds not dimensionless" \ - << abort(FatalError); \ - } \ - \ - return dimensionedScalar \ - ( \ - #func "(" + name(n) + ',' + ds.name() + ')', \ - dimless, \ - ::func(n, ds.value()) \ - ); \ +#define transFunc(func) \ +dimensionedScalar func(const int n, const dimensionedScalar& ds) \ +{ \ + if (!ds.dimensions().dimensionless()) \ + { \ + FatalErrorInFunction \ + << "ds not dimensionless" \ + << abort(FatalError); \ + } \ + \ + return dimensionedScalar \ + ( \ + #func "(" + name(n) + ',' + ds.name() + ')', \ + dimless, \ + ::func(n, ds.value()) \ + ); \ } transFunc(jn) diff --git a/src/OpenFOAM/dimensionedTypes/dimensionedType/dimensionedType.C b/src/OpenFOAM/dimensionedTypes/dimensionedType/dimensionedType.C index 03ee76d7c98..bed9ed67af0 100644 --- a/src/OpenFOAM/dimensionedTypes/dimensionedType/dimensionedType.C +++ b/src/OpenFOAM/dimensionedTypes/dimensionedType/dimensionedType.C @@ -732,54 +732,54 @@ Foam::dimensioned<Type> Foam::operator/ // Products // ~~~~~~~~ -#define PRODUCT_OPERATOR(product, op, opFunc) \ - \ -template<class Type1, class Type2> \ -Foam::dimensioned<typename Foam::product<Type1, Type2>::type> \ -Foam::operator op \ -( \ - const dimensioned<Type1>& dt1, \ - const dimensioned<Type2>& dt2 \ -) \ -{ \ - return dimensioned<typename product<Type1, Type2>::type> \ - ( \ - '(' + dt1.name() + #op + dt2.name() + ')', \ - dt1.dimensions() op dt2.dimensions(), \ - dt1.value() op dt2.value() \ - ); \ -} \ - \ -template<class Type, class Form, class Cmpt, int nCmpt> \ -Foam::dimensioned<typename Foam::product<Type, Form>::type> \ -Foam::operator op \ -( \ - const dimensioned<Type>& dt1, \ - const VectorSpace<Form,Cmpt,nCmpt>& t2 \ -) \ -{ \ - return dimensioned<typename product<Type, Form>::type> \ - ( \ - '(' + dt1.name() + #op + name(t2) + ')', \ - dt1.dimensions(), \ - dt1.value() op static_cast<const Form&>(t2) \ - ); \ -} \ - \ -template<class Type, class Form, class Cmpt, int nCmpt> \ -Foam::dimensioned<typename Foam::product<Form, Type>::type> \ -Foam::operator op \ -( \ - const VectorSpace<Form,Cmpt,nCmpt>& t1, \ - const dimensioned<Type>& dt2 \ -) \ -{ \ - return dimensioned<typename product<Form, Type>::type> \ - ( \ - '(' + name(t1) + #op + dt2.name() + ')', \ - dt2.dimensions(), \ - static_cast<const Form&>(t1) op dt2.value() \ - ); \ +#define PRODUCT_OPERATOR(product, op, opFunc) \ + \ +template<class Type1, class Type2> \ +Foam::dimensioned<typename Foam::product<Type1, Type2>::type> \ +Foam::operator op \ +( \ + const dimensioned<Type1>& dt1, \ + const dimensioned<Type2>& dt2 \ +) \ +{ \ + return dimensioned<typename product<Type1, Type2>::type> \ + ( \ + '(' + dt1.name() + #op + dt2.name() + ')', \ + dt1.dimensions() op dt2.dimensions(), \ + dt1.value() op dt2.value() \ + ); \ +} \ + \ +template<class Type, class Form, class Cmpt, int nCmpt> \ +Foam::dimensioned<typename Foam::product<Type, Form>::type> \ +Foam::operator op \ +( \ + const dimensioned<Type>& dt1, \ + const VectorSpace<Form,Cmpt,nCmpt>& t2 \ +) \ +{ \ + return dimensioned<typename product<Type, Form>::type> \ + ( \ + '(' + dt1.name() + #op + name(t2) + ')', \ + dt1.dimensions(), \ + dt1.value() op static_cast<const Form&>(t2) \ + ); \ +} \ + \ +template<class Type, class Form, class Cmpt, int nCmpt> \ +Foam::dimensioned<typename Foam::product<Form, Type>::type> \ +Foam::operator op \ +( \ + const VectorSpace<Form,Cmpt,nCmpt>& t1, \ + const dimensioned<Type>& dt2 \ +) \ +{ \ + return dimensioned<typename product<Form, Type>::type> \ + ( \ + '(' + name(t1) + #op + dt2.name() + ')', \ + dt2.dimensions(), \ + static_cast<const Form&>(t1) op dt2.value() \ + ); \ } diff --git a/src/OpenFOAM/dimensionedTypes/dimensionedType/dimensionedType.H b/src/OpenFOAM/dimensionedTypes/dimensionedType/dimensionedType.H index 40baca77f6a..623fbd5034c 100644 --- a/src/OpenFOAM/dimensionedTypes/dimensionedType/dimensionedType.H +++ b/src/OpenFOAM/dimensionedTypes/dimensionedType/dimensionedType.H @@ -303,26 +303,26 @@ dimensioned<Type> operator/ // Products // ~~~~~~~~ -#define PRODUCT_OPERATOR(product, op, opFunc) \ - \ -template<class Type1, class Type2> \ -dimensioned<typename product<Type1, Type2>::type> \ -operator op(const dimensioned<Type1>&, const dimensioned<Type2>&); \ - \ -template<class Type, class Form, class Cmpt, int nCmpt> \ -dimensioned<typename product<Type, Form>::type> \ -operator op \ -( \ - const dimensioned<Type>&, \ - const VectorSpace<Form,Cmpt,nCmpt>& \ -); \ - \ -template<class Type, class Form, class Cmpt, int nCmpt> \ -dimensioned<typename product<Form, Type>::type> \ -operator op \ -( \ - const VectorSpace<Form,Cmpt,nCmpt>&, \ - const dimensioned<Type>& \ +#define PRODUCT_OPERATOR(product, op, opFunc) \ + \ +template<class Type1, class Type2> \ +dimensioned<typename product<Type1, Type2>::type> \ +operator op(const dimensioned<Type1>&, const dimensioned<Type2>&); \ + \ +template<class Type, class Form, class Cmpt, int nCmpt> \ +dimensioned<typename product<Type, Form>::type> \ +operator op \ +( \ + const dimensioned<Type>&, \ + const VectorSpace<Form,Cmpt,nCmpt>& \ +); \ + \ +template<class Type, class Form, class Cmpt, int nCmpt> \ +dimensioned<typename product<Form, Type>::type> \ +operator op \ +( \ + const VectorSpace<Form,Cmpt,nCmpt>&, \ + const dimensioned<Type>& \ ); PRODUCT_OPERATOR(outerProduct, *, outer) diff --git a/src/OpenFOAM/fields/DimensionedFields/DimensionedField/DimensionedField.C b/src/OpenFOAM/fields/DimensionedFields/DimensionedField/DimensionedField.C index cd49f12880c..27c2948c2fc 100644 --- a/src/OpenFOAM/fields/DimensionedFields/DimensionedField/DimensionedField.C +++ b/src/OpenFOAM/fields/DimensionedFields/DimensionedField/DimensionedField.C @@ -476,38 +476,38 @@ void DimensionedField<Type, GeoMesh>::operator= } -#define COMPUTED_ASSIGNMENT(TYPE, op) \ - \ -template<class Type, class GeoMesh> \ -void DimensionedField<Type, GeoMesh>::operator op \ -( \ - const DimensionedField<TYPE, GeoMesh>& df \ -) \ -{ \ - checkField(*this, df, #op); \ - \ - dimensions_ op df.dimensions(); \ - Field<Type>::operator op(df); \ -} \ - \ -template<class Type, class GeoMesh> \ -void DimensionedField<Type, GeoMesh>::operator op \ -( \ - const tmp<DimensionedField<TYPE, GeoMesh>>& tdf \ -) \ -{ \ - operator op(tdf()); \ - tdf.clear(); \ -} \ - \ -template<class Type, class GeoMesh> \ -void DimensionedField<Type, GeoMesh>::operator op \ -( \ - const dimensioned<TYPE>& dt \ -) \ -{ \ - dimensions_ op dt.dimensions(); \ - Field<Type>::operator op(dt.value()); \ +#define COMPUTED_ASSIGNMENT(TYPE, op) \ + \ +template<class Type, class GeoMesh> \ +void DimensionedField<Type, GeoMesh>::operator op \ +( \ + const DimensionedField<TYPE, GeoMesh>& df \ +) \ +{ \ + checkField(*this, df, #op); \ + \ + dimensions_ op df.dimensions(); \ + Field<Type>::operator op(df); \ +} \ + \ +template<class Type, class GeoMesh> \ +void DimensionedField<Type, GeoMesh>::operator op \ +( \ + const tmp<DimensionedField<TYPE, GeoMesh>>& tdf \ +) \ +{ \ + operator op(tdf()); \ + tdf.clear(); \ +} \ + \ +template<class Type, class GeoMesh> \ +void DimensionedField<Type, GeoMesh>::operator op \ +( \ + const dimensioned<TYPE>& dt \ +) \ +{ \ + dimensions_ op dt.dimensions(); \ + Field<Type>::operator op(dt.value()); \ } COMPUTED_ASSIGNMENT(Type, +=) diff --git a/src/OpenFOAM/fields/DimensionedFields/DimensionedField/DimensionedFieldFunctions.C b/src/OpenFOAM/fields/DimensionedFields/DimensionedField/DimensionedFieldFunctions.C index cc070b715c6..678d42875f3 100644 --- a/src/OpenFOAM/fields/DimensionedFields/DimensionedField/DimensionedFieldFunctions.C +++ b/src/OpenFOAM/fields/DimensionedFields/DimensionedField/DimensionedFieldFunctions.C @@ -301,31 +301,31 @@ cmptAv(const tmp<DimensionedField<Type, GeoMesh>>& tdf) return CmptAv; } -#define UNARY_REDUCTION_FUNCTION(returnType, func, dfunc) \ - \ -template<class Type, class GeoMesh> \ -dimensioned<returnType> func \ -( \ - const DimensionedField<Type, GeoMesh>& df \ -) \ -{ \ - return dimensioned<Type> \ - ( \ - #func "(" + df.name() + ')', \ - df.dimensions(), \ - dfunc(df.field()) \ - ); \ -} \ - \ -template<class Type, class GeoMesh> \ -dimensioned<returnType> func \ -( \ - const tmp<DimensionedField<Type, GeoMesh>>& tdf1 \ -) \ -{ \ - dimensioned<returnType> res = func(tdf1()); \ - tdf1.clear(); \ - return res; \ +#define UNARY_REDUCTION_FUNCTION(returnType, func, dfunc) \ + \ +template<class Type, class GeoMesh> \ +dimensioned<returnType> func \ +( \ + const DimensionedField<Type, GeoMesh>& df \ +) \ +{ \ + return dimensioned<Type> \ + ( \ + #func "(" + df.name() + ')', \ + df.dimensions(), \ + dfunc(df.field()) \ + ); \ +} \ + \ +template<class Type, class GeoMesh> \ +dimensioned<returnType> func \ +( \ + const tmp<DimensionedField<Type, GeoMesh>>& tdf1 \ +) \ +{ \ + dimensioned<returnType> res = func(tdf1()); \ + tdf1.clear(); \ + return res; \ } UNARY_REDUCTION_FUNCTION(Type, max, gMax) @@ -364,279 +364,279 @@ BINARY_TYPE_OPERATOR_FS(Type, Type, scalar, /, '|', divide) // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -#define PRODUCT_OPERATOR(product, op, opFunc) \ - \ -template<class Type1, class Type2, class GeoMesh> \ -tmp<DimensionedField<typename product<Type1, Type2>::type, GeoMesh>> \ -operator op \ -( \ - const DimensionedField<Type1, GeoMesh>& df1, \ - const DimensionedField<Type2, GeoMesh>& df2 \ -) \ -{ \ - typedef typename product<Type1, Type2>::type productType; \ - tmp<DimensionedField<productType, GeoMesh>> tRes \ - ( \ - new DimensionedField<productType, GeoMesh> \ - ( \ - IOobject \ - ( \ - '(' + df1.name() + #op + df2.name() + ')', \ - df1.instance(), \ - df1.db() \ - ), \ - df1.mesh(), \ - df1.dimensions() op df2.dimensions() \ - ) \ - ); \ - \ - Foam::opFunc(tRes().field(), df1.field(), df2.field()); \ - \ - return tRes; \ -} \ - \ -template<class Type1, class Type2, class GeoMesh> \ -tmp<DimensionedField<typename product<Type1, Type2>::type, GeoMesh>> \ -operator op \ -( \ - const DimensionedField<Type1, GeoMesh>& df1, \ - const tmp<DimensionedField<Type2, GeoMesh>>& tdf2 \ -) \ -{ \ - typedef typename product<Type1, Type2>::type productType; \ - \ - const DimensionedField<Type2, GeoMesh>& df2 = tdf2(); \ - \ - tmp<DimensionedField<productType, GeoMesh>> tRes = \ - reuseTmpDimensionedField<productType, Type2, GeoMesh>::New \ - ( \ - tdf2, \ - '(' + df1.name() + #op + df2.name() + ')', \ - df1.dimensions() op df2.dimensions() \ - ); \ - \ - Foam::opFunc(tRes().field(), df1.field(), df2.field()); \ - \ - reuseTmpDimensionedField<productType, Type2, GeoMesh>::clear(tdf2); \ - \ - return tRes; \ -} \ - \ -template<class Type1, class Type2, class GeoMesh> \ -tmp<DimensionedField<typename product<Type1, Type2>::type, GeoMesh>> \ -operator op \ -( \ - const tmp<DimensionedField<Type1, GeoMesh>>& tdf1, \ - const DimensionedField<Type2, GeoMesh>& df2 \ -) \ -{ \ - typedef typename product<Type1, Type2>::type productType; \ - \ - const DimensionedField<Type1, GeoMesh>& df1 = tdf1(); \ - \ - tmp<DimensionedField<productType, GeoMesh>> tRes = \ - reuseTmpDimensionedField<productType, Type1, GeoMesh>::New \ - ( \ - tdf1, \ - '(' + df1.name() + #op + df2.name() + ')', \ - df1.dimensions() op df2.dimensions() \ - ); \ - \ - Foam::opFunc(tRes().field(), df1.field(), df2.field()); \ - \ - reuseTmpDimensionedField<productType, Type1, GeoMesh>::clear(tdf1); \ - \ - return tRes; \ -} \ - \ -template<class Type1, class Type2, class GeoMesh> \ -tmp<DimensionedField<typename product<Type1, Type2>::type, GeoMesh>> \ -operator op \ -( \ - const tmp<DimensionedField<Type1, GeoMesh>>& tdf1, \ - const tmp<DimensionedField<Type2, GeoMesh>>& tdf2 \ -) \ -{ \ - typedef typename product<Type1, Type2>::type productType; \ - \ - const DimensionedField<Type1, GeoMesh>& df1 = tdf1(); \ - const DimensionedField<Type2, GeoMesh>& df2 = tdf2(); \ - \ - tmp<DimensionedField<productType, GeoMesh>> tRes = \ - reuseTmpTmpDimensionedField \ - <productType, Type1, Type1, Type2, GeoMesh>::New \ - ( \ - tdf1, \ - tdf2, \ - '(' + df1.name() + #op + df2.name() + ')', \ - df1.dimensions() op df2.dimensions() \ - ); \ - \ - Foam::opFunc(tRes().field(), df1.field(), df2.field()); \ - \ - reuseTmpTmpDimensionedField \ - <productType, Type1, Type1, Type2, GeoMesh>::clear(tdf1, tdf2); \ - \ - return tRes; \ -} \ - \ -template<class Form, class Type, class GeoMesh> \ -tmp<DimensionedField<typename product<Type, Form>::type, GeoMesh>> \ -operator op \ -( \ - const DimensionedField<Type, GeoMesh>& df1, \ - const dimensioned<Form>& dvs \ -) \ -{ \ - typedef typename product<Type, Form>::type productType; \ - \ - tmp<DimensionedField<productType, GeoMesh>> tRes \ - ( \ - new DimensionedField<productType, GeoMesh> \ - ( \ - IOobject \ - ( \ - '(' + df1.name() + #op + dvs.name() + ')', \ - df1.instance(), \ - df1.db() \ - ), \ - df1.mesh(), \ - df1.dimensions() op dvs.dimensions() \ - ) \ - ); \ - \ - Foam::opFunc(tRes().field(), df1.field(), dvs.value()); \ - \ - return tRes; \ -} \ - \ -template<class Form, class Cmpt, int nCmpt, class Type, class GeoMesh> \ -tmp<DimensionedField<typename product<Form, Type>::type, GeoMesh>> \ -operator op \ -( \ - const DimensionedField<Type, GeoMesh>& df1, \ - const VectorSpace<Form,Cmpt,nCmpt>& vs \ -) \ -{ \ - return df1 op dimensioned<Form>(static_cast<const Form&>(vs)); \ -} \ - \ - \ -template<class Form, class Type, class GeoMesh> \ -tmp<DimensionedField<typename product<Type, Form>::type, GeoMesh>> \ -operator op \ -( \ - const tmp<DimensionedField<Type, GeoMesh>>& tdf1, \ - const dimensioned<Form>& dvs \ -) \ -{ \ - typedef typename product<Type, Form>::type productType; \ - \ - const DimensionedField<Type, GeoMesh>& df1 = tdf1(); \ - \ - tmp<DimensionedField<productType, GeoMesh>> tRes = \ - reuseTmpDimensionedField<productType, Type, GeoMesh>::New \ - ( \ - tdf1, \ - '(' + df1.name() + #op + dvs.name() + ')', \ - df1.dimensions() op dvs.dimensions() \ - ); \ - \ - Foam::opFunc(tRes().field(), df1.field(), dvs.value()); \ - \ - reuseTmpDimensionedField<productType, Type, GeoMesh>::clear(tdf1); \ - \ - return tRes; \ -} \ - \ -template<class Form, class Cmpt, int nCmpt, class Type, class GeoMesh> \ -tmp<DimensionedField<typename product<Form, Type>::type, GeoMesh>> \ -operator op \ -( \ - const tmp<DimensionedField<Type, GeoMesh>>& tdf1, \ - const VectorSpace<Form,Cmpt,nCmpt>& vs \ -) \ -{ \ - return tdf1 op dimensioned<Form>(static_cast<const Form&>(vs)); \ -} \ - \ - \ -template<class Form, class Type, class GeoMesh> \ -tmp<DimensionedField<typename product<Form, Type>::type, GeoMesh>> \ -operator op \ -( \ - const dimensioned<Form>& dvs, \ - const DimensionedField<Type, GeoMesh>& df1 \ -) \ -{ \ - typedef typename product<Form, Type>::type productType; \ - tmp<DimensionedField<productType, GeoMesh>> tRes \ - ( \ - new DimensionedField<productType, GeoMesh> \ - ( \ - IOobject \ - ( \ - '(' + dvs.name() + #op + df1.name() + ')', \ - df1.instance(), \ - df1.db() \ - ), \ - df1.mesh(), \ - dvs.dimensions() op df1.dimensions() \ - ) \ - ); \ - \ - Foam::opFunc(tRes().field(), dvs.value(), df1.field()); \ - \ - return tRes; \ -} \ - \ -template<class Form, class Cmpt, int nCmpt, class Type, class GeoMesh> \ -tmp<DimensionedField<typename product<Form, Type>::type, GeoMesh>> \ -operator op \ -( \ - const VectorSpace<Form,Cmpt,nCmpt>& vs, \ - const DimensionedField<Type, GeoMesh>& df1 \ -) \ -{ \ - return dimensioned<Form>(static_cast<const Form&>(vs)) op df1; \ -} \ - \ -template<class Form, class Type, class GeoMesh> \ -tmp<DimensionedField<typename product<Form, Type>::type, GeoMesh>> \ -operator op \ -( \ - const dimensioned<Form>& dvs, \ - const tmp<DimensionedField<Type, GeoMesh>>& tdf1 \ -) \ -{ \ - typedef typename product<Form, Type>::type productType; \ - \ - const DimensionedField<Type, GeoMesh>& df1 = tdf1(); \ - \ - tmp<DimensionedField<productType, GeoMesh>> tRes = \ - reuseTmpDimensionedField<productType, Type, GeoMesh>::New \ - ( \ - tdf1, \ - '(' + dvs.name() + #op + df1.name() + ')', \ - dvs.dimensions() op df1.dimensions() \ - ); \ - \ - Foam::opFunc(tRes().field(), dvs.value(), df1.field()); \ - \ - reuseTmpDimensionedField<productType, Type, GeoMesh>::clear(tdf1); \ - \ - return tRes; \ -} \ - \ -template<class Form, class Cmpt, int nCmpt, class Type, class GeoMesh> \ -tmp<DimensionedField<typename product<Form, Type>::type, GeoMesh>> \ -operator op \ -( \ - const VectorSpace<Form,Cmpt,nCmpt>& vs, \ - const tmp<DimensionedField<Type, GeoMesh>>& tdf1 \ -) \ -{ \ - return dimensioned<Form>(static_cast<const Form&>(vs)) op tdf1; \ +#define PRODUCT_OPERATOR(product, op, opFunc) \ + \ +template<class Type1, class Type2, class GeoMesh> \ +tmp<DimensionedField<typename product<Type1, Type2>::type, GeoMesh>> \ +operator op \ +( \ + const DimensionedField<Type1, GeoMesh>& df1, \ + const DimensionedField<Type2, GeoMesh>& df2 \ +) \ +{ \ + typedef typename product<Type1, Type2>::type productType; \ + tmp<DimensionedField<productType, GeoMesh>> tRes \ + ( \ + new DimensionedField<productType, GeoMesh> \ + ( \ + IOobject \ + ( \ + '(' + df1.name() + #op + df2.name() + ')', \ + df1.instance(), \ + df1.db() \ + ), \ + df1.mesh(), \ + df1.dimensions() op df2.dimensions() \ + ) \ + ); \ + \ + Foam::opFunc(tRes().field(), df1.field(), df2.field()); \ + \ + return tRes; \ +} \ + \ +template<class Type1, class Type2, class GeoMesh> \ +tmp<DimensionedField<typename product<Type1, Type2>::type, GeoMesh>> \ +operator op \ +( \ + const DimensionedField<Type1, GeoMesh>& df1, \ + const tmp<DimensionedField<Type2, GeoMesh>>& tdf2 \ +) \ +{ \ + typedef typename product<Type1, Type2>::type productType; \ + \ + const DimensionedField<Type2, GeoMesh>& df2 = tdf2(); \ + \ + tmp<DimensionedField<productType, GeoMesh>> tRes = \ + reuseTmpDimensionedField<productType, Type2, GeoMesh>::New \ + ( \ + tdf2, \ + '(' + df1.name() + #op + df2.name() + ')', \ + df1.dimensions() op df2.dimensions() \ + ); \ + \ + Foam::opFunc(tRes().field(), df1.field(), df2.field()); \ + \ + reuseTmpDimensionedField<productType, Type2, GeoMesh>::clear(tdf2); \ + \ + return tRes; \ +} \ + \ +template<class Type1, class Type2, class GeoMesh> \ +tmp<DimensionedField<typename product<Type1, Type2>::type, GeoMesh>> \ +operator op \ +( \ + const tmp<DimensionedField<Type1, GeoMesh>>& tdf1, \ + const DimensionedField<Type2, GeoMesh>& df2 \ +) \ +{ \ + typedef typename product<Type1, Type2>::type productType; \ + \ + const DimensionedField<Type1, GeoMesh>& df1 = tdf1(); \ + \ + tmp<DimensionedField<productType, GeoMesh>> tRes = \ + reuseTmpDimensionedField<productType, Type1, GeoMesh>::New \ + ( \ + tdf1, \ + '(' + df1.name() + #op + df2.name() + ')', \ + df1.dimensions() op df2.dimensions() \ + ); \ + \ + Foam::opFunc(tRes().field(), df1.field(), df2.field()); \ + \ + reuseTmpDimensionedField<productType, Type1, GeoMesh>::clear(tdf1); \ + \ + return tRes; \ +} \ + \ +template<class Type1, class Type2, class GeoMesh> \ +tmp<DimensionedField<typename product<Type1, Type2>::type, GeoMesh>> \ +operator op \ +( \ + const tmp<DimensionedField<Type1, GeoMesh>>& tdf1, \ + const tmp<DimensionedField<Type2, GeoMesh>>& tdf2 \ +) \ +{ \ + typedef typename product<Type1, Type2>::type productType; \ + \ + const DimensionedField<Type1, GeoMesh>& df1 = tdf1(); \ + const DimensionedField<Type2, GeoMesh>& df2 = tdf2(); \ + \ + tmp<DimensionedField<productType, GeoMesh>> tRes = \ + reuseTmpTmpDimensionedField \ + <productType, Type1, Type1, Type2, GeoMesh>::New \ + ( \ + tdf1, \ + tdf2, \ + '(' + df1.name() + #op + df2.name() + ')', \ + df1.dimensions() op df2.dimensions() \ + ); \ + \ + Foam::opFunc(tRes().field(), df1.field(), df2.field()); \ + \ + reuseTmpTmpDimensionedField \ + <productType, Type1, Type1, Type2, GeoMesh>::clear(tdf1, tdf2); \ + \ + return tRes; \ +} \ + \ +template<class Form, class Type, class GeoMesh> \ +tmp<DimensionedField<typename product<Type, Form>::type, GeoMesh>> \ +operator op \ +( \ + const DimensionedField<Type, GeoMesh>& df1, \ + const dimensioned<Form>& dvs \ +) \ +{ \ + typedef typename product<Type, Form>::type productType; \ + \ + tmp<DimensionedField<productType, GeoMesh>> tRes \ + ( \ + new DimensionedField<productType, GeoMesh> \ + ( \ + IOobject \ + ( \ + '(' + df1.name() + #op + dvs.name() + ')', \ + df1.instance(), \ + df1.db() \ + ), \ + df1.mesh(), \ + df1.dimensions() op dvs.dimensions() \ + ) \ + ); \ + \ + Foam::opFunc(tRes().field(), df1.field(), dvs.value()); \ + \ + return tRes; \ +} \ + \ +template<class Form, class Cmpt, int nCmpt, class Type, class GeoMesh> \ +tmp<DimensionedField<typename product<Form, Type>::type, GeoMesh>> \ +operator op \ +( \ + const DimensionedField<Type, GeoMesh>& df1, \ + const VectorSpace<Form,Cmpt,nCmpt>& vs \ +) \ +{ \ + return df1 op dimensioned<Form>(static_cast<const Form&>(vs)); \ +} \ + \ + \ +template<class Form, class Type, class GeoMesh> \ +tmp<DimensionedField<typename product<Type, Form>::type, GeoMesh>> \ +operator op \ +( \ + const tmp<DimensionedField<Type, GeoMesh>>& tdf1, \ + const dimensioned<Form>& dvs \ +) \ +{ \ + typedef typename product<Type, Form>::type productType; \ + \ + const DimensionedField<Type, GeoMesh>& df1 = tdf1(); \ + \ + tmp<DimensionedField<productType, GeoMesh>> tRes = \ + reuseTmpDimensionedField<productType, Type, GeoMesh>::New \ + ( \ + tdf1, \ + '(' + df1.name() + #op + dvs.name() + ')', \ + df1.dimensions() op dvs.dimensions() \ + ); \ + \ + Foam::opFunc(tRes().field(), df1.field(), dvs.value()); \ + \ + reuseTmpDimensionedField<productType, Type, GeoMesh>::clear(tdf1); \ + \ + return tRes; \ +} \ + \ +template<class Form, class Cmpt, int nCmpt, class Type, class GeoMesh> \ +tmp<DimensionedField<typename product<Form, Type>::type, GeoMesh>> \ +operator op \ +( \ + const tmp<DimensionedField<Type, GeoMesh>>& tdf1, \ + const VectorSpace<Form,Cmpt,nCmpt>& vs \ +) \ +{ \ + return tdf1 op dimensioned<Form>(static_cast<const Form&>(vs)); \ +} \ + \ + \ +template<class Form, class Type, class GeoMesh> \ +tmp<DimensionedField<typename product<Form, Type>::type, GeoMesh>> \ +operator op \ +( \ + const dimensioned<Form>& dvs, \ + const DimensionedField<Type, GeoMesh>& df1 \ +) \ +{ \ + typedef typename product<Form, Type>::type productType; \ + tmp<DimensionedField<productType, GeoMesh>> tRes \ + ( \ + new DimensionedField<productType, GeoMesh> \ + ( \ + IOobject \ + ( \ + '(' + dvs.name() + #op + df1.name() + ')', \ + df1.instance(), \ + df1.db() \ + ), \ + df1.mesh(), \ + dvs.dimensions() op df1.dimensions() \ + ) \ + ); \ + \ + Foam::opFunc(tRes().field(), dvs.value(), df1.field()); \ + \ + return tRes; \ +} \ + \ +template<class Form, class Cmpt, int nCmpt, class Type, class GeoMesh> \ +tmp<DimensionedField<typename product<Form, Type>::type, GeoMesh>> \ +operator op \ +( \ + const VectorSpace<Form,Cmpt,nCmpt>& vs, \ + const DimensionedField<Type, GeoMesh>& df1 \ +) \ +{ \ + return dimensioned<Form>(static_cast<const Form&>(vs)) op df1; \ +} \ + \ +template<class Form, class Type, class GeoMesh> \ +tmp<DimensionedField<typename product<Form, Type>::type, GeoMesh>> \ +operator op \ +( \ + const dimensioned<Form>& dvs, \ + const tmp<DimensionedField<Type, GeoMesh>>& tdf1 \ +) \ +{ \ + typedef typename product<Form, Type>::type productType; \ + \ + const DimensionedField<Type, GeoMesh>& df1 = tdf1(); \ + \ + tmp<DimensionedField<productType, GeoMesh>> tRes = \ + reuseTmpDimensionedField<productType, Type, GeoMesh>::New \ + ( \ + tdf1, \ + '(' + dvs.name() + #op + df1.name() + ')', \ + dvs.dimensions() op df1.dimensions() \ + ); \ + \ + Foam::opFunc(tRes().field(), dvs.value(), df1.field()); \ + \ + reuseTmpDimensionedField<productType, Type, GeoMesh>::clear(tdf1); \ + \ + return tRes; \ +} \ + \ +template<class Form, class Cmpt, int nCmpt, class Type, class GeoMesh> \ +tmp<DimensionedField<typename product<Form, Type>::type, GeoMesh>> \ +operator op \ +( \ + const VectorSpace<Form,Cmpt,nCmpt>& vs, \ + const tmp<DimensionedField<Type, GeoMesh>>& tdf1 \ +) \ +{ \ + return dimensioned<Form>(static_cast<const Form&>(vs)) op tdf1; \ } PRODUCT_OPERATOR(typeOfSum, +, add) diff --git a/src/OpenFOAM/fields/DimensionedFields/DimensionedField/DimensionedFieldFunctions.H b/src/OpenFOAM/fields/DimensionedFields/DimensionedField/DimensionedFieldFunctions.H index 09deae37e9c..6501bcf51f7 100644 --- a/src/OpenFOAM/fields/DimensionedFields/DimensionedField/DimensionedFieldFunctions.H +++ b/src/OpenFOAM/fields/DimensionedFields/DimensionedField/DimensionedFieldFunctions.H @@ -100,17 +100,17 @@ tmp cmptAv(const tmp<DimensionedField<Type, GeoMesh>>& tdf); -#define UNARY_REDUCTION_FUNCTION(returnType, func, dfunc) \ - \ -template<class Type, class GeoMesh> \ -dimensioned<returnType> func \ -( \ - const DimensionedField<Type, GeoMesh>& df \ -); \ -template<class Type, class GeoMesh> \ -dimensioned<returnType> func \ -( \ - const tmp<DimensionedField<Type, GeoMesh>>& tdf1 \ +#define UNARY_REDUCTION_FUNCTION(returnType, func, dfunc) \ + \ +template<class Type, class GeoMesh> \ +dimensioned<returnType> func \ +( \ + const DimensionedField<Type, GeoMesh>& df \ +); \ +template<class Type, class GeoMesh> \ +dimensioned<returnType> func \ +( \ + const tmp<DimensionedField<Type, GeoMesh>>& tdf1 \ ); UNARY_REDUCTION_FUNCTION(Type, max, gMax) @@ -149,102 +149,102 @@ BINARY_TYPE_OPERATOR_FS(Type, Type, scalar, /, '|', divide) // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -#define PRODUCT_OPERATOR(product, op, opFunc) \ - \ -template<class Type1, class Type2, class GeoMesh> \ -tmp<DimensionedField<typename product<Type1, Type2>::type, GeoMesh>> \ -operator op \ -( \ - const DimensionedField<Type1, GeoMesh>& df1, \ - const DimensionedField<Type2, GeoMesh>& df2 \ -); \ - \ -template<class Type1, class Type2, class GeoMesh> \ -tmp<DimensionedField<typename product<Type1, Type2>::type, GeoMesh>> \ -operator op \ -( \ - const DimensionedField<Type1, GeoMesh>& df1, \ - const tmp<DimensionedField<Type2, GeoMesh>>& tdf2 \ -); \ - \ -template<class Type1, class Type2, class GeoMesh> \ -tmp<DimensionedField<typename product<Type1, Type2>::type, GeoMesh>> \ -operator op \ -( \ - const tmp<DimensionedField<Type1, GeoMesh>>& tdf1, \ - const DimensionedField<Type2, GeoMesh>& df2 \ -); \ - \ -template<class Type1, class Type2, class GeoMesh> \ -tmp<DimensionedField<typename product<Type1, Type2>::type, GeoMesh>> \ -operator op \ -( \ - const tmp<DimensionedField<Type1, GeoMesh>>& tdf1, \ - const tmp<DimensionedField<Type2, GeoMesh>>& tdf2 \ -); \ - \ -template<class Form, class Type, class GeoMesh> \ -tmp<DimensionedField<typename product<Type, Form>::type, GeoMesh>> \ -operator op \ -( \ - const DimensionedField<Type, GeoMesh>& df1, \ - const dimensioned<Form>& dvs \ -); \ - \ -template<class Form, class Cmpt, int nCmpt, class Type, class GeoMesh> \ -tmp<DimensionedField<typename product<Form, Type>::type, GeoMesh>> \ -operator op \ -( \ - const DimensionedField<Type, GeoMesh>& df1, \ - const VectorSpace<Form,Cmpt,nCmpt>& vs \ -); \ - \ -template<class Form, class Type, class GeoMesh> \ -tmp<DimensionedField<typename product<Type, Form>::type, GeoMesh>> \ -operator op \ -( \ - const tmp<DimensionedField<Type, GeoMesh>>& tdf1, \ - const dimensioned<Form>& dvs \ -); \ - \ -template<class Form, class Cmpt, int nCmpt, class Type, class GeoMesh> \ -tmp<DimensionedField<typename product<Form, Type>::type, GeoMesh>> \ -operator op \ -( \ - const tmp<DimensionedField<Type, GeoMesh>>& tdf1, \ - const VectorSpace<Form,Cmpt,nCmpt>& vs \ -); \ - \ -template<class Form, class Type, class GeoMesh> \ -tmp<DimensionedField<typename product<Form, Type>::type, GeoMesh>> \ -operator op \ -( \ - const dimensioned<Form>& dvs, \ - const DimensionedField<Type, GeoMesh>& df1 \ -); \ - \ -template<class Form, class Cmpt, int nCmpt, class Type, class GeoMesh> \ -tmp<DimensionedField<typename product<Form, Type>::type, GeoMesh>> \ -operator op \ -( \ - const VectorSpace<Form,Cmpt,nCmpt>& vs, \ - const DimensionedField<Type, GeoMesh>& df1 \ -); \ - \ -template<class Form, class Type, class GeoMesh> \ -tmp<DimensionedField<typename product<Form, Type>::type, GeoMesh>> \ -operator op \ -( \ - const dimensioned<Form>& dvs, \ - const tmp<DimensionedField<Type, GeoMesh>>& tdf1 \ -); \ - \ -template<class Form, class Cmpt, int nCmpt, class Type, class GeoMesh> \ -tmp<DimensionedField<typename product<Form, Type>::type, GeoMesh>> \ -operator op \ -( \ - const VectorSpace<Form,Cmpt,nCmpt>& vs, \ - const tmp<DimensionedField<Type, GeoMesh>>& tdf1 \ +#define PRODUCT_OPERATOR(product, op, opFunc) \ + \ +template<class Type1, class Type2, class GeoMesh> \ +tmp<DimensionedField<typename product<Type1, Type2>::type, GeoMesh>> \ +operator op \ +( \ + const DimensionedField<Type1, GeoMesh>& df1, \ + const DimensionedField<Type2, GeoMesh>& df2 \ +); \ + \ +template<class Type1, class Type2, class GeoMesh> \ +tmp<DimensionedField<typename product<Type1, Type2>::type, GeoMesh>> \ +operator op \ +( \ + const DimensionedField<Type1, GeoMesh>& df1, \ + const tmp<DimensionedField<Type2, GeoMesh>>& tdf2 \ +); \ + \ +template<class Type1, class Type2, class GeoMesh> \ +tmp<DimensionedField<typename product<Type1, Type2>::type, GeoMesh>> \ +operator op \ +( \ + const tmp<DimensionedField<Type1, GeoMesh>>& tdf1, \ + const DimensionedField<Type2, GeoMesh>& df2 \ +); \ + \ +template<class Type1, class Type2, class GeoMesh> \ +tmp<DimensionedField<typename product<Type1, Type2>::type, GeoMesh>> \ +operator op \ +( \ + const tmp<DimensionedField<Type1, GeoMesh>>& tdf1, \ + const tmp<DimensionedField<Type2, GeoMesh>>& tdf2 \ +); \ + \ +template<class Form, class Type, class GeoMesh> \ +tmp<DimensionedField<typename product<Type, Form>::type, GeoMesh>> \ +operator op \ +( \ + const DimensionedField<Type, GeoMesh>& df1, \ + const dimensioned<Form>& dvs \ +); \ + \ +template<class Form, class Cmpt, int nCmpt, class Type, class GeoMesh> \ +tmp<DimensionedField<typename product<Form, Type>::type, GeoMesh>> \ +operator op \ +( \ + const DimensionedField<Type, GeoMesh>& df1, \ + const VectorSpace<Form,Cmpt,nCmpt>& vs \ +); \ + \ +template<class Form, class Type, class GeoMesh> \ +tmp<DimensionedField<typename product<Type, Form>::type, GeoMesh>> \ +operator op \ +( \ + const tmp<DimensionedField<Type, GeoMesh>>& tdf1, \ + const dimensioned<Form>& dvs \ +); \ + \ +template<class Form, class Cmpt, int nCmpt, class Type, class GeoMesh> \ +tmp<DimensionedField<typename product<Form, Type>::type, GeoMesh>> \ +operator op \ +( \ + const tmp<DimensionedField<Type, GeoMesh>>& tdf1, \ + const VectorSpace<Form,Cmpt,nCmpt>& vs \ +); \ + \ +template<class Form, class Type, class GeoMesh> \ +tmp<DimensionedField<typename product<Form, Type>::type, GeoMesh>> \ +operator op \ +( \ + const dimensioned<Form>& dvs, \ + const DimensionedField<Type, GeoMesh>& df1 \ +); \ + \ +template<class Form, class Cmpt, int nCmpt, class Type, class GeoMesh> \ +tmp<DimensionedField<typename product<Form, Type>::type, GeoMesh>> \ +operator op \ +( \ + const VectorSpace<Form,Cmpt,nCmpt>& vs, \ + const DimensionedField<Type, GeoMesh>& df1 \ +); \ + \ +template<class Form, class Type, class GeoMesh> \ +tmp<DimensionedField<typename product<Form, Type>::type, GeoMesh>> \ +operator op \ +( \ + const dimensioned<Form>& dvs, \ + const tmp<DimensionedField<Type, GeoMesh>>& tdf1 \ +); \ + \ +template<class Form, class Cmpt, int nCmpt, class Type, class GeoMesh> \ +tmp<DimensionedField<typename product<Form, Type>::type, GeoMesh>> \ +operator op \ +( \ + const VectorSpace<Form,Cmpt,nCmpt>& vs, \ + const tmp<DimensionedField<Type, GeoMesh>>& tdf1 \ ); PRODUCT_OPERATOR(typeOfSum, +, add) diff --git a/src/OpenFOAM/fields/DimensionedFields/DimensionedField/DimensionedFieldFunctionsM.C b/src/OpenFOAM/fields/DimensionedFields/DimensionedField/DimensionedFieldFunctionsM.C index bd33ca2c607..4fe75afd3f7 100644 --- a/src/OpenFOAM/fields/DimensionedFields/DimensionedField/DimensionedFieldFunctionsM.C +++ b/src/OpenFOAM/fields/DimensionedFields/DimensionedField/DimensionedFieldFunctionsM.C @@ -27,662 +27,662 @@ License // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -#define UNARY_FUNCTION(ReturnType, Type1, Func, Dfunc) \ - \ -TEMPLATE \ -tmp<DimensionedField<ReturnType, GeoMesh>> Func \ -( \ - const DimensionedField<Type1, GeoMesh>& df1 \ -) \ -{ \ - tmp<DimensionedField<ReturnType, GeoMesh>> tRes \ - ( \ - new DimensionedField<ReturnType, GeoMesh> \ - ( \ - IOobject \ - ( \ - #Func "(" + df1.name() + ')', \ - df1.instance(), \ - df1.db() \ - ), \ - df1.mesh(), \ - Dfunc(df1.dimensions()) \ - ) \ - ); \ - \ - Func(tRes().field(), df1.field()); \ - \ - return tRes; \ -} \ - \ -TEMPLATE \ -tmp<DimensionedField<ReturnType, GeoMesh>> Func \ -( \ - const tmp<DimensionedField<Type1, GeoMesh>>& tdf1 \ -) \ -{ \ - const DimensionedField<Type1, GeoMesh>& df1 = tdf1(); \ - \ - tmp<DimensionedField<ReturnType, GeoMesh>> tRes \ - ( \ - reuseTmpDimensionedField<ReturnType, Type1, GeoMesh>::New \ - ( \ - tdf1, \ - #Func "(" + df1.name() + ')', \ - Dfunc(df1.dimensions()) \ - ) \ - ); \ - \ - Func(tRes().field(), df1.field()); \ - \ - reuseTmpDimensionedField<ReturnType, Type1, GeoMesh>::clear(tdf1); \ - \ - return tRes; \ +#define UNARY_FUNCTION(ReturnType, Type1, Func, Dfunc) \ + \ +TEMPLATE \ +tmp<DimensionedField<ReturnType, GeoMesh>> Func \ +( \ + const DimensionedField<Type1, GeoMesh>& df1 \ +) \ +{ \ + tmp<DimensionedField<ReturnType, GeoMesh>> tRes \ + ( \ + new DimensionedField<ReturnType, GeoMesh> \ + ( \ + IOobject \ + ( \ + #Func "(" + df1.name() + ')', \ + df1.instance(), \ + df1.db() \ + ), \ + df1.mesh(), \ + Dfunc(df1.dimensions()) \ + ) \ + ); \ + \ + Func(tRes().field(), df1.field()); \ + \ + return tRes; \ +} \ + \ +TEMPLATE \ +tmp<DimensionedField<ReturnType, GeoMesh>> Func \ +( \ + const tmp<DimensionedField<Type1, GeoMesh>>& tdf1 \ +) \ +{ \ + const DimensionedField<Type1, GeoMesh>& df1 = tdf1(); \ + \ + tmp<DimensionedField<ReturnType, GeoMesh>> tRes \ + ( \ + reuseTmpDimensionedField<ReturnType, Type1, GeoMesh>::New \ + ( \ + tdf1, \ + #Func "(" + df1.name() + ')', \ + Dfunc(df1.dimensions()) \ + ) \ + ); \ + \ + Func(tRes().field(), df1.field()); \ + \ + reuseTmpDimensionedField<ReturnType, Type1, GeoMesh>::clear(tdf1); \ + \ + return tRes; \ } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -#define UNARY_OPERATOR(ReturnType, Type1, Op, OpFunc, Dfunc) \ - \ -TEMPLATE \ -tmp<DimensionedField<ReturnType, GeoMesh>> operator Op \ -( \ - const DimensionedField<Type1, GeoMesh>& df1 \ -) \ -{ \ - tmp<DimensionedField<ReturnType, GeoMesh>> tRes \ - ( \ - new DimensionedField<ReturnType, GeoMesh> \ - ( \ - IOobject \ - ( \ - #Op + df1.name(), \ - df1.instance(), \ - df1.db() \ - ), \ - df1.mesh(), \ - Dfunc(df1.dimensions()) \ - ) \ - ); \ - \ - Foam::OpFunc(tRes().field(), df1.field()); \ - \ - return tRes; \ -} \ - \ -TEMPLATE \ -tmp<DimensionedField<ReturnType, GeoMesh>> operator Op \ -( \ - const tmp<DimensionedField<Type1, GeoMesh>>& tdf1 \ -) \ -{ \ - const DimensionedField<Type1, GeoMesh>& df1 = tdf1(); \ - \ - tmp<DimensionedField<ReturnType, GeoMesh>> tRes \ - ( \ - reuseTmpDimensionedField<ReturnType, Type1, GeoMesh>::New \ - ( \ - tdf1, \ - #Op + df1.name(), \ - Dfunc(df1.dimensions()) \ - ) \ - ); \ - \ - Foam::OpFunc(tRes().field(), df1.field()); \ - \ - reuseTmpDimensionedField<ReturnType, Type1, GeoMesh>::clear(tdf1); \ - \ - return tRes; \ +#define UNARY_OPERATOR(ReturnType, Type1, Op, OpFunc, Dfunc) \ + \ +TEMPLATE \ +tmp<DimensionedField<ReturnType, GeoMesh>> operator Op \ +( \ + const DimensionedField<Type1, GeoMesh>& df1 \ +) \ +{ \ + tmp<DimensionedField<ReturnType, GeoMesh>> tRes \ + ( \ + new DimensionedField<ReturnType, GeoMesh> \ + ( \ + IOobject \ + ( \ + #Op + df1.name(), \ + df1.instance(), \ + df1.db() \ + ), \ + df1.mesh(), \ + Dfunc(df1.dimensions()) \ + ) \ + ); \ + \ + Foam::OpFunc(tRes().field(), df1.field()); \ + \ + return tRes; \ +} \ + \ +TEMPLATE \ +tmp<DimensionedField<ReturnType, GeoMesh>> operator Op \ +( \ + const tmp<DimensionedField<Type1, GeoMesh>>& tdf1 \ +) \ +{ \ + const DimensionedField<Type1, GeoMesh>& df1 = tdf1(); \ + \ + tmp<DimensionedField<ReturnType, GeoMesh>> tRes \ + ( \ + reuseTmpDimensionedField<ReturnType, Type1, GeoMesh>::New \ + ( \ + tdf1, \ + #Op + df1.name(), \ + Dfunc(df1.dimensions()) \ + ) \ + ); \ + \ + Foam::OpFunc(tRes().field(), df1.field()); \ + \ + reuseTmpDimensionedField<ReturnType, Type1, GeoMesh>::clear(tdf1); \ + \ + return tRes; \ } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -#define BINARY_FUNCTION(ReturnType, Type1, Type2, Func) \ - \ -TEMPLATE \ -tmp<DimensionedField<ReturnType, GeoMesh>> Func \ -( \ - const DimensionedField<Type1, GeoMesh>& df1, \ - const DimensionedField<Type2, GeoMesh>& df2 \ -) \ -{ \ - tmp<DimensionedField<ReturnType, GeoMesh>> tRes \ - ( \ - new DimensionedField<ReturnType, GeoMesh> \ - ( \ - IOobject \ - ( \ - #Func "(" + df1.name() + ',' + df2.name() + ')', \ - df1.instance(), \ - df1.db() \ - ), \ - df1.mesh(), \ - Func(df1.dimensions(), df2.dimensions()) \ - ) \ - ); \ - \ - Func(tRes().field(), df1.field(), df2.field()); \ - \ - return tRes; \ -} \ - \ -TEMPLATE \ -tmp<DimensionedField<ReturnType, GeoMesh>> Func \ -( \ - const DimensionedField<Type1, GeoMesh>& df1, \ - const tmp<DimensionedField<Type2, GeoMesh>>& tdf2 \ -) \ -{ \ - const DimensionedField<Type2, GeoMesh>& df2 = tdf2(); \ - \ - tmp<DimensionedField<ReturnType, GeoMesh>> tRes \ - ( \ - reuseTmpDimensionedField<ReturnType, Type2, GeoMesh>::New \ - ( \ - tdf2, \ - #Func "(" + df1.name() + ',' + df2.name() + ')', \ - Func(df1.dimensions(), df2.dimensions()) \ - ) \ - ); \ - \ - Func(tRes().field(), df1.field(), df2.field()); \ - \ - reuseTmpDimensionedField<ReturnType, Type2, GeoMesh>::clear(tdf2); \ - \ - return tRes; \ -} \ - \ -TEMPLATE \ -tmp<DimensionedField<ReturnType, GeoMesh>> Func \ -( \ - const tmp<DimensionedField<Type1, GeoMesh>>& tdf1, \ - const DimensionedField<Type2, GeoMesh>& df2 \ -) \ -{ \ - const DimensionedField<Type1, GeoMesh>& df1 = tdf1(); \ - \ - tmp<DimensionedField<ReturnType, GeoMesh>> tRes \ - ( \ - reuseTmpDimensionedField<ReturnType, Type1, GeoMesh>::New \ - ( \ - tdf1, \ - #Func "(" + df1.name() + ',' + df2.name() + ')', \ - Func(df1.dimensions(), df2.dimensions()) \ - ) \ - ); \ - \ - Func(tRes().field(), df1.field(), df2.field()); \ - \ - reuseTmpDimensionedField<ReturnType, Type1, GeoMesh>::clear(tdf1); \ - \ - return tRes; \ -} \ - \ -TEMPLATE \ -tmp<DimensionedField<ReturnType, GeoMesh>> Func \ -( \ - const tmp<DimensionedField<Type1, GeoMesh>>& tdf1, \ - const tmp<DimensionedField<Type2, GeoMesh>>& tdf2 \ -) \ -{ \ - const DimensionedField<Type1, GeoMesh>& df1 = tdf1(); \ - const DimensionedField<Type2, GeoMesh>& df2 = tdf2(); \ - \ - tmp<DimensionedField<ReturnType, GeoMesh>> tRes \ - ( \ - reuseTmpTmpDimensionedField \ - <ReturnType, Type1, Type1, Type2, GeoMesh>::New \ - ( \ - tdf1, \ - tdf2, \ - #Func "(" + df1.name() + ',' + df2.name() + ')', \ - Func(df1.dimensions(), df2.dimensions()) \ - ) \ - ); \ - \ - Func(tRes().field(), df1.field(), df2.field()); \ - \ - reuseTmpTmpDimensionedField<ReturnType, Type1, Type1, Type2, GeoMesh> \ - ::clear(tdf1, tdf2); \ - \ - return tRes; \ +#define BINARY_FUNCTION(ReturnType, Type1, Type2, Func) \ + \ +TEMPLATE \ +tmp<DimensionedField<ReturnType, GeoMesh>> Func \ +( \ + const DimensionedField<Type1, GeoMesh>& df1, \ + const DimensionedField<Type2, GeoMesh>& df2 \ +) \ +{ \ + tmp<DimensionedField<ReturnType, GeoMesh>> tRes \ + ( \ + new DimensionedField<ReturnType, GeoMesh> \ + ( \ + IOobject \ + ( \ + #Func "(" + df1.name() + ',' + df2.name() + ')', \ + df1.instance(), \ + df1.db() \ + ), \ + df1.mesh(), \ + Func(df1.dimensions(), df2.dimensions()) \ + ) \ + ); \ + \ + Func(tRes().field(), df1.field(), df2.field()); \ + \ + return tRes; \ +} \ + \ +TEMPLATE \ +tmp<DimensionedField<ReturnType, GeoMesh>> Func \ +( \ + const DimensionedField<Type1, GeoMesh>& df1, \ + const tmp<DimensionedField<Type2, GeoMesh>>& tdf2 \ +) \ +{ \ + const DimensionedField<Type2, GeoMesh>& df2 = tdf2(); \ + \ + tmp<DimensionedField<ReturnType, GeoMesh>> tRes \ + ( \ + reuseTmpDimensionedField<ReturnType, Type2, GeoMesh>::New \ + ( \ + tdf2, \ + #Func "(" + df1.name() + ',' + df2.name() + ')', \ + Func(df1.dimensions(), df2.dimensions()) \ + ) \ + ); \ + \ + Func(tRes().field(), df1.field(), df2.field()); \ + \ + reuseTmpDimensionedField<ReturnType, Type2, GeoMesh>::clear(tdf2); \ + \ + return tRes; \ +} \ + \ +TEMPLATE \ +tmp<DimensionedField<ReturnType, GeoMesh>> Func \ +( \ + const tmp<DimensionedField<Type1, GeoMesh>>& tdf1, \ + const DimensionedField<Type2, GeoMesh>& df2 \ +) \ +{ \ + const DimensionedField<Type1, GeoMesh>& df1 = tdf1(); \ + \ + tmp<DimensionedField<ReturnType, GeoMesh>> tRes \ + ( \ + reuseTmpDimensionedField<ReturnType, Type1, GeoMesh>::New \ + ( \ + tdf1, \ + #Func "(" + df1.name() + ',' + df2.name() + ')', \ + Func(df1.dimensions(), df2.dimensions()) \ + ) \ + ); \ + \ + Func(tRes().field(), df1.field(), df2.field()); \ + \ + reuseTmpDimensionedField<ReturnType, Type1, GeoMesh>::clear(tdf1); \ + \ + return tRes; \ +} \ + \ +TEMPLATE \ +tmp<DimensionedField<ReturnType, GeoMesh>> Func \ +( \ + const tmp<DimensionedField<Type1, GeoMesh>>& tdf1, \ + const tmp<DimensionedField<Type2, GeoMesh>>& tdf2 \ +) \ +{ \ + const DimensionedField<Type1, GeoMesh>& df1 = tdf1(); \ + const DimensionedField<Type2, GeoMesh>& df2 = tdf2(); \ + \ + tmp<DimensionedField<ReturnType, GeoMesh>> tRes \ + ( \ + reuseTmpTmpDimensionedField \ + <ReturnType, Type1, Type1, Type2, GeoMesh>::New \ + ( \ + tdf1, \ + tdf2, \ + #Func "(" + df1.name() + ',' + df2.name() + ')', \ + Func(df1.dimensions(), df2.dimensions()) \ + ) \ + ); \ + \ + Func(tRes().field(), df1.field(), df2.field()); \ + \ + reuseTmpTmpDimensionedField<ReturnType, Type1, Type1, Type2, GeoMesh> \ + ::clear(tdf1, tdf2); \ + \ + return tRes; \ } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -#define BINARY_TYPE_FUNCTION_SF(ReturnType, Type1, Type2, Func) \ - \ -TEMPLATE \ -tmp<DimensionedField<ReturnType, GeoMesh>> Func \ -( \ - const dimensioned<Type1>& dt1, \ - const DimensionedField<Type2, GeoMesh>& df2 \ -) \ -{ \ - tmp<DimensionedField<ReturnType, GeoMesh>> tRes \ - ( \ - new DimensionedField<ReturnType, GeoMesh> \ - ( \ - IOobject \ - ( \ - #Func "(" + dt1.name() + ',' + df2.name() + ')', \ - df2.instance(), \ - df2.db() \ - ), \ - df2.mesh(), \ - Func(dt1.dimensions(), df2.dimensions()) \ - ) \ - ); \ - \ - Func(tRes().field(), dt1.value(), df2.field()); \ - \ - return tRes; \ -} \ - \ -TEMPLATE \ -tmp<DimensionedField<ReturnType, GeoMesh>> Func \ -( \ - const Type1& t1, \ - const DimensionedField<Type2, GeoMesh>& df2 \ -) \ -{ \ - return Func(dimensioned<Type1>(t1), df2); \ -} \ - \ - \ -TEMPLATE \ -tmp<DimensionedField<ReturnType, GeoMesh>> Func \ -( \ - const dimensioned<Type1>& dt1, \ - const tmp<DimensionedField<Type2, GeoMesh>>& tdf2 \ -) \ -{ \ - const DimensionedField<Type2, GeoMesh>& df2 = tdf2(); \ - \ - tmp<DimensionedField<ReturnType, GeoMesh>> tRes \ - ( \ - reuseTmpDimensionedField<ReturnType, Type2, GeoMesh>::New \ - ( \ - tdf2, \ - #Func "(" + dt1.name() + ',' + df2.name() + ')', \ - Func(dt1.dimensions(), df2.dimensions()) \ - ) \ - ); \ - \ - Func(tRes().field(), dt1.value(), df2.field()); \ - \ - reuseTmpDimensionedField<ReturnType, Type2, GeoMesh>::clear(tdf2); \ - \ - return tRes; \ -} \ - \ -TEMPLATE \ -tmp<DimensionedField<ReturnType, GeoMesh>> Func \ -( \ - const Type1& t1, \ - const tmp<DimensionedField<Type2, GeoMesh>>& tdf2 \ -) \ -{ \ - return Func(dimensioned<Type2>(t1), tdf2); \ +#define BINARY_TYPE_FUNCTION_SF(ReturnType, Type1, Type2, Func) \ + \ +TEMPLATE \ +tmp<DimensionedField<ReturnType, GeoMesh>> Func \ +( \ + const dimensioned<Type1>& dt1, \ + const DimensionedField<Type2, GeoMesh>& df2 \ +) \ +{ \ + tmp<DimensionedField<ReturnType, GeoMesh>> tRes \ + ( \ + new DimensionedField<ReturnType, GeoMesh> \ + ( \ + IOobject \ + ( \ + #Func "(" + dt1.name() + ',' + df2.name() + ')', \ + df2.instance(), \ + df2.db() \ + ), \ + df2.mesh(), \ + Func(dt1.dimensions(), df2.dimensions()) \ + ) \ + ); \ + \ + Func(tRes().field(), dt1.value(), df2.field()); \ + \ + return tRes; \ +} \ + \ +TEMPLATE \ +tmp<DimensionedField<ReturnType, GeoMesh>> Func \ +( \ + const Type1& t1, \ + const DimensionedField<Type2, GeoMesh>& df2 \ +) \ +{ \ + return Func(dimensioned<Type1>(t1), df2); \ +} \ + \ + \ +TEMPLATE \ +tmp<DimensionedField<ReturnType, GeoMesh>> Func \ +( \ + const dimensioned<Type1>& dt1, \ + const tmp<DimensionedField<Type2, GeoMesh>>& tdf2 \ +) \ +{ \ + const DimensionedField<Type2, GeoMesh>& df2 = tdf2(); \ + \ + tmp<DimensionedField<ReturnType, GeoMesh>> tRes \ + ( \ + reuseTmpDimensionedField<ReturnType, Type2, GeoMesh>::New \ + ( \ + tdf2, \ + #Func "(" + dt1.name() + ',' + df2.name() + ')', \ + Func(dt1.dimensions(), df2.dimensions()) \ + ) \ + ); \ + \ + Func(tRes().field(), dt1.value(), df2.field()); \ + \ + reuseTmpDimensionedField<ReturnType, Type2, GeoMesh>::clear(tdf2); \ + \ + return tRes; \ +} \ + \ +TEMPLATE \ +tmp<DimensionedField<ReturnType, GeoMesh>> Func \ +( \ + const Type1& t1, \ + const tmp<DimensionedField<Type2, GeoMesh>>& tdf2 \ +) \ +{ \ + return Func(dimensioned<Type2>(t1), tdf2); \ } -#define BINARY_TYPE_FUNCTION_FS(ReturnType, Type1, Type2, Func) \ - \ -TEMPLATE \ -tmp<DimensionedField<ReturnType, GeoMesh>> Func \ -( \ - const DimensionedField<Type1, GeoMesh>& df1, \ - const dimensioned<Type2>& dt2 \ -) \ -{ \ - tmp<DimensionedField<ReturnType, GeoMesh>> tRes \ - ( \ - new DimensionedField<ReturnType, GeoMesh> \ - ( \ - IOobject \ - ( \ - #Func "(" + df1.name() + ',' + dt2.name() + ')', \ - df1.instance(), \ - df1.db() \ - ), \ - df1.mesh(), \ - Func(df1.dimensions(), dt2.dimensions()) \ - ) \ - ); \ - \ - Func(tRes().field(), df1.field(), dt2.value()); \ - \ - return tRes; \ -} \ - \ -TEMPLATE \ -tmp<DimensionedField<ReturnType, GeoMesh>> Func \ -( \ - const DimensionedField<Type1, GeoMesh>& df1, \ - const Type2& t2 \ -) \ -{ \ - return Func(df1, dimensioned<Type2>(t2)); \ -} \ - \ - \ -TEMPLATE \ -tmp<DimensionedField<ReturnType, GeoMesh>> Func \ -( \ - const tmp<DimensionedField<Type1, GeoMesh>>& tdf1, \ - const dimensioned<Type2>& dt2 \ -) \ -{ \ - const DimensionedField<Type1, GeoMesh>& df1 = tdf1(); \ - \ - tmp<DimensionedField<ReturnType, GeoMesh>> tRes \ - ( \ - reuseTmpDimensionedField<ReturnType, Type1, GeoMesh>::New \ - ( \ - tdf1, \ - #Func "(" + df1.name() + ',' + dt2.name() + ')', \ - Func(df1.dimensions(), dt2.dimensions()) \ - ) \ - ); \ - \ - Func(tRes().field(), df1.field(), dt2.value()); \ - \ - reuseTmpDimensionedField<ReturnType, Type1, GeoMesh>::clear(tdf1); \ - \ - return tRes; \ -} \ - \ -TEMPLATE \ -tmp<DimensionedField<ReturnType, GeoMesh>> Func \ -( \ - const tmp<DimensionedField<Type1, GeoMesh>>& tdf1, \ - const Type2& t2 \ -) \ -{ \ - return Func(tdf1, dimensioned<Type2>(t2)); \ +#define BINARY_TYPE_FUNCTION_FS(ReturnType, Type1, Type2, Func) \ + \ +TEMPLATE \ +tmp<DimensionedField<ReturnType, GeoMesh>> Func \ +( \ + const DimensionedField<Type1, GeoMesh>& df1, \ + const dimensioned<Type2>& dt2 \ +) \ +{ \ + tmp<DimensionedField<ReturnType, GeoMesh>> tRes \ + ( \ + new DimensionedField<ReturnType, GeoMesh> \ + ( \ + IOobject \ + ( \ + #Func "(" + df1.name() + ',' + dt2.name() + ')', \ + df1.instance(), \ + df1.db() \ + ), \ + df1.mesh(), \ + Func(df1.dimensions(), dt2.dimensions()) \ + ) \ + ); \ + \ + Func(tRes().field(), df1.field(), dt2.value()); \ + \ + return tRes; \ +} \ + \ +TEMPLATE \ +tmp<DimensionedField<ReturnType, GeoMesh>> Func \ +( \ + const DimensionedField<Type1, GeoMesh>& df1, \ + const Type2& t2 \ +) \ +{ \ + return Func(df1, dimensioned<Type2>(t2)); \ +} \ + \ + \ +TEMPLATE \ +tmp<DimensionedField<ReturnType, GeoMesh>> Func \ +( \ + const tmp<DimensionedField<Type1, GeoMesh>>& tdf1, \ + const dimensioned<Type2>& dt2 \ +) \ +{ \ + const DimensionedField<Type1, GeoMesh>& df1 = tdf1(); \ + \ + tmp<DimensionedField<ReturnType, GeoMesh>> tRes \ + ( \ + reuseTmpDimensionedField<ReturnType, Type1, GeoMesh>::New \ + ( \ + tdf1, \ + #Func "(" + df1.name() + ',' + dt2.name() + ')', \ + Func(df1.dimensions(), dt2.dimensions()) \ + ) \ + ); \ + \ + Func(tRes().field(), df1.field(), dt2.value()); \ + \ + reuseTmpDimensionedField<ReturnType, Type1, GeoMesh>::clear(tdf1); \ + \ + return tRes; \ +} \ + \ +TEMPLATE \ +tmp<DimensionedField<ReturnType, GeoMesh>> Func \ +( \ + const tmp<DimensionedField<Type1, GeoMesh>>& tdf1, \ + const Type2& t2 \ +) \ +{ \ + return Func(tdf1, dimensioned<Type2>(t2)); \ } -#define BINARY_TYPE_FUNCTION(ReturnType, Type1, Type2, Func) \ - BINARY_TYPE_FUNCTION_SF(ReturnType, Type1, Type2, Func) \ +#define BINARY_TYPE_FUNCTION(ReturnType, Type1, Type2, Func) \ + BINARY_TYPE_FUNCTION_SF(ReturnType, Type1, Type2, Func) \ BINARY_TYPE_FUNCTION_FS(ReturnType, Type1, Type2, Func) // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -#define BINARY_OPERATOR(ReturnType, Type1, Type2, Op, OpName, OpFunc) \ - \ -TEMPLATE \ -tmp<DimensionedField<ReturnType, GeoMesh>> operator Op \ -( \ - const DimensionedField<Type1, GeoMesh>& df1, \ - const DimensionedField<Type2, GeoMesh>& df2 \ -) \ -{ \ - tmp<DimensionedField<ReturnType, GeoMesh>> tRes \ - ( \ - new DimensionedField<ReturnType, GeoMesh> \ - ( \ - IOobject \ - ( \ - '(' + df1.name() + OpName + df2.name() + ')', \ - df1.instance(), \ - df1.db() \ - ), \ - df1.mesh(), \ - df1.dimensions() Op df2.dimensions() \ - ) \ - ); \ - \ - Foam::OpFunc(tRes().field(), df1.field(), df2.field()); \ - \ - return tRes; \ -} \ - \ -TEMPLATE \ -tmp<DimensionedField<ReturnType, GeoMesh>> operator Op \ -( \ - const DimensionedField<Type1, GeoMesh>& df1, \ - const tmp<DimensionedField<Type2, GeoMesh>>& tdf2 \ -) \ -{ \ - const DimensionedField<Type2, GeoMesh>& df2 = tdf2(); \ - \ - tmp<DimensionedField<ReturnType, GeoMesh>> tRes \ - ( \ - reuseTmpDimensionedField<ReturnType, Type2, GeoMesh>::New \ - ( \ - tdf2, \ - '(' + df1.name() + OpName + df2.name() + ')', \ - df1.dimensions() Op df2.dimensions() \ - ) \ - ); \ - \ - Foam::OpFunc(tRes().field(), df1.field(), df2.field()); \ - \ - reuseTmpDimensionedField<ReturnType, Type2, GeoMesh>::clear(tdf2); \ - \ - return tRes; \ -} \ - \ -TEMPLATE \ -tmp<DimensionedField<ReturnType, GeoMesh>> operator Op \ -( \ - const tmp<DimensionedField<Type1, GeoMesh>>& tdf1, \ - const DimensionedField<Type2, GeoMesh>& df2 \ -) \ -{ \ - const DimensionedField<Type1, GeoMesh>& df1 = tdf1(); \ - \ - tmp<DimensionedField<ReturnType, GeoMesh>> tRes \ - ( \ - reuseTmpDimensionedField<ReturnType, Type1, GeoMesh>::New \ - ( \ - tdf1, \ - '(' + df1.name() + OpName + df2.name() + ')', \ - df1.dimensions() Op df2.dimensions() \ - ) \ - ); \ - \ - Foam::OpFunc(tRes().field(), df1.field(), df2.field()); \ - \ - reuseTmpDimensionedField<ReturnType, Type1, GeoMesh>::clear(tdf1); \ - \ - return tRes; \ -} \ - \ -TEMPLATE \ -tmp<DimensionedField<ReturnType, GeoMesh>> operator Op \ -( \ - const tmp<DimensionedField<Type1, GeoMesh>>& tdf1, \ - const tmp<DimensionedField<Type2, GeoMesh>>& tdf2 \ -) \ -{ \ - const DimensionedField<Type1, GeoMesh>& df1 = tdf1(); \ - const DimensionedField<Type2, GeoMesh>& df2 = tdf2(); \ - \ - tmp<DimensionedField<ReturnType, GeoMesh>> tRes \ - ( \ - reuseTmpTmpDimensionedField \ - <ReturnType, Type1, Type1, Type2, GeoMesh>::New \ - ( \ - tdf1, \ - tdf2, \ - '(' + df1.name() + OpName + df2.name() + ')', \ - df1.dimensions() Op df2.dimensions() \ - ) \ - ); \ - \ - Foam::OpFunc(tRes().field(), df1.field(), df2.field()); \ - \ - reuseTmpTmpDimensionedField<ReturnType, Type1, Type1, Type2, GeoMesh>:: \ - clear(tdf1, tdf2); \ - \ - return tRes; \ +#define BINARY_OPERATOR(ReturnType, Type1, Type2, Op, OpName, OpFunc) \ + \ +TEMPLATE \ +tmp<DimensionedField<ReturnType, GeoMesh>> operator Op \ +( \ + const DimensionedField<Type1, GeoMesh>& df1, \ + const DimensionedField<Type2, GeoMesh>& df2 \ +) \ +{ \ + tmp<DimensionedField<ReturnType, GeoMesh>> tRes \ + ( \ + new DimensionedField<ReturnType, GeoMesh> \ + ( \ + IOobject \ + ( \ + '(' + df1.name() + OpName + df2.name() + ')', \ + df1.instance(), \ + df1.db() \ + ), \ + df1.mesh(), \ + df1.dimensions() Op df2.dimensions() \ + ) \ + ); \ + \ + Foam::OpFunc(tRes().field(), df1.field(), df2.field()); \ + \ + return tRes; \ +} \ + \ +TEMPLATE \ +tmp<DimensionedField<ReturnType, GeoMesh>> operator Op \ +( \ + const DimensionedField<Type1, GeoMesh>& df1, \ + const tmp<DimensionedField<Type2, GeoMesh>>& tdf2 \ +) \ +{ \ + const DimensionedField<Type2, GeoMesh>& df2 = tdf2(); \ + \ + tmp<DimensionedField<ReturnType, GeoMesh>> tRes \ + ( \ + reuseTmpDimensionedField<ReturnType, Type2, GeoMesh>::New \ + ( \ + tdf2, \ + '(' + df1.name() + OpName + df2.name() + ')', \ + df1.dimensions() Op df2.dimensions() \ + ) \ + ); \ + \ + Foam::OpFunc(tRes().field(), df1.field(), df2.field()); \ + \ + reuseTmpDimensionedField<ReturnType, Type2, GeoMesh>::clear(tdf2); \ + \ + return tRes; \ +} \ + \ +TEMPLATE \ +tmp<DimensionedField<ReturnType, GeoMesh>> operator Op \ +( \ + const tmp<DimensionedField<Type1, GeoMesh>>& tdf1, \ + const DimensionedField<Type2, GeoMesh>& df2 \ +) \ +{ \ + const DimensionedField<Type1, GeoMesh>& df1 = tdf1(); \ + \ + tmp<DimensionedField<ReturnType, GeoMesh>> tRes \ + ( \ + reuseTmpDimensionedField<ReturnType, Type1, GeoMesh>::New \ + ( \ + tdf1, \ + '(' + df1.name() + OpName + df2.name() + ')', \ + df1.dimensions() Op df2.dimensions() \ + ) \ + ); \ + \ + Foam::OpFunc(tRes().field(), df1.field(), df2.field()); \ + \ + reuseTmpDimensionedField<ReturnType, Type1, GeoMesh>::clear(tdf1); \ + \ + return tRes; \ +} \ + \ +TEMPLATE \ +tmp<DimensionedField<ReturnType, GeoMesh>> operator Op \ +( \ + const tmp<DimensionedField<Type1, GeoMesh>>& tdf1, \ + const tmp<DimensionedField<Type2, GeoMesh>>& tdf2 \ +) \ +{ \ + const DimensionedField<Type1, GeoMesh>& df1 = tdf1(); \ + const DimensionedField<Type2, GeoMesh>& df2 = tdf2(); \ + \ + tmp<DimensionedField<ReturnType, GeoMesh>> tRes \ + ( \ + reuseTmpTmpDimensionedField \ + <ReturnType, Type1, Type1, Type2, GeoMesh>::New \ + ( \ + tdf1, \ + tdf2, \ + '(' + df1.name() + OpName + df2.name() + ')', \ + df1.dimensions() Op df2.dimensions() \ + ) \ + ); \ + \ + Foam::OpFunc(tRes().field(), df1.field(), df2.field()); \ + \ + reuseTmpTmpDimensionedField<ReturnType, Type1, Type1, Type2, GeoMesh>:: \ + clear(tdf1, tdf2); \ + \ + return tRes; \ } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // #define BINARY_TYPE_OPERATOR_SF(ReturnType, Type1, Type2, Op, OpName, OpFunc) \ - \ -TEMPLATE \ -tmp<DimensionedField<ReturnType, GeoMesh>> operator Op \ -( \ - const dimensioned<Type1>& dt1, \ - const DimensionedField<Type2, GeoMesh>& df2 \ -) \ -{ \ - tmp<DimensionedField<ReturnType, GeoMesh>> tRes \ - ( \ - new DimensionedField<ReturnType, GeoMesh> \ - ( \ - IOobject \ - ( \ - '(' + dt1.name() + OpName + df2.name() + ')', \ - df2.instance(), \ - df2.db() \ - ), \ - df2.mesh(), \ - dt1.dimensions() Op df2.dimensions() \ - ) \ - ); \ - \ - Foam::OpFunc(tRes().field(), dt1.value(), df2.field()); \ - \ - return tRes; \ -} \ - \ -TEMPLATE \ -tmp<DimensionedField<ReturnType, GeoMesh>> operator Op \ -( \ - const Type1& t1, \ - const DimensionedField<Type2, GeoMesh>& df2 \ -) \ -{ \ - return dimensioned<Type1>(t1) Op df2; \ -} \ - \ - \ -TEMPLATE \ -tmp<DimensionedField<ReturnType, GeoMesh>> operator Op \ -( \ - const dimensioned<Type1>& dt1, \ - const tmp<DimensionedField<Type2, GeoMesh>>& tdf2 \ -) \ -{ \ - const DimensionedField<Type2, GeoMesh>& df2 = tdf2(); \ - \ - tmp<DimensionedField<ReturnType, GeoMesh>> tRes \ - ( \ - reuseTmpDimensionedField<ReturnType, Type2, GeoMesh>::New \ - ( \ - tdf2, \ - '(' + dt1.name() + OpName + df2.name() + ')', \ - dt1.dimensions() Op df2.dimensions() \ - ) \ - ); \ - \ - Foam::OpFunc(tRes().field(), dt1.value(), tdf2().field()); \ - \ - reuseTmpDimensionedField<ReturnType, Type2, GeoMesh>::clear(tdf2); \ - \ - return tRes; \ -} \ - \ -TEMPLATE \ -tmp<DimensionedField<ReturnType, GeoMesh>> operator Op \ -( \ - const Type1& t1, \ - const tmp<DimensionedField<Type2, GeoMesh>>& tdf2 \ -) \ -{ \ - return dimensioned<Type1>(t1) Op tdf2; \ + \ +TEMPLATE \ +tmp<DimensionedField<ReturnType, GeoMesh>> operator Op \ +( \ + const dimensioned<Type1>& dt1, \ + const DimensionedField<Type2, GeoMesh>& df2 \ +) \ +{ \ + tmp<DimensionedField<ReturnType, GeoMesh>> tRes \ + ( \ + new DimensionedField<ReturnType, GeoMesh> \ + ( \ + IOobject \ + ( \ + '(' + dt1.name() + OpName + df2.name() + ')', \ + df2.instance(), \ + df2.db() \ + ), \ + df2.mesh(), \ + dt1.dimensions() Op df2.dimensions() \ + ) \ + ); \ + \ + Foam::OpFunc(tRes().field(), dt1.value(), df2.field()); \ + \ + return tRes; \ +} \ + \ +TEMPLATE \ +tmp<DimensionedField<ReturnType, GeoMesh>> operator Op \ +( \ + const Type1& t1, \ + const DimensionedField<Type2, GeoMesh>& df2 \ +) \ +{ \ + return dimensioned<Type1>(t1) Op df2; \ +} \ + \ + \ +TEMPLATE \ +tmp<DimensionedField<ReturnType, GeoMesh>> operator Op \ +( \ + const dimensioned<Type1>& dt1, \ + const tmp<DimensionedField<Type2, GeoMesh>>& tdf2 \ +) \ +{ \ + const DimensionedField<Type2, GeoMesh>& df2 = tdf2(); \ + \ + tmp<DimensionedField<ReturnType, GeoMesh>> tRes \ + ( \ + reuseTmpDimensionedField<ReturnType, Type2, GeoMesh>::New \ + ( \ + tdf2, \ + '(' + dt1.name() + OpName + df2.name() + ')', \ + dt1.dimensions() Op df2.dimensions() \ + ) \ + ); \ + \ + Foam::OpFunc(tRes().field(), dt1.value(), tdf2().field()); \ + \ + reuseTmpDimensionedField<ReturnType, Type2, GeoMesh>::clear(tdf2); \ + \ + return tRes; \ +} \ + \ +TEMPLATE \ +tmp<DimensionedField<ReturnType, GeoMesh>> operator Op \ +( \ + const Type1& t1, \ + const tmp<DimensionedField<Type2, GeoMesh>>& tdf2 \ +) \ +{ \ + return dimensioned<Type1>(t1) Op tdf2; \ } #define BINARY_TYPE_OPERATOR_FS(ReturnType, Type1, Type2, Op, OpName, OpFunc) \ - \ -TEMPLATE \ -tmp<DimensionedField<ReturnType, GeoMesh>> operator Op \ -( \ - const DimensionedField<Type1, GeoMesh>& df1, \ - const dimensioned<Type2>& dt2 \ -) \ -{ \ - tmp<DimensionedField<ReturnType, GeoMesh>> tRes \ - ( \ - new DimensionedField<ReturnType, GeoMesh> \ - ( \ - IOobject \ - ( \ - '(' + df1.name() + OpName + dt2.name() + ')', \ - df1.instance(), \ - df1.db() \ - ), \ - df1.mesh(), \ - df1.dimensions() Op dt2.dimensions() \ - ) \ - ); \ - \ - Foam::OpFunc(tRes().field(), df1.field(), dt2.value()); \ - \ - return tRes; \ -} \ - \ -TEMPLATE \ -tmp<DimensionedField<ReturnType, GeoMesh>> operator Op \ -( \ - const DimensionedField<Type1, GeoMesh>& df1, \ - const Type2& t2 \ -) \ -{ \ - return df1 Op dimensioned<Type2>(t2); \ -} \ - \ - \ -TEMPLATE \ -tmp<DimensionedField<ReturnType, GeoMesh>> operator Op \ -( \ - const tmp<DimensionedField<Type1, GeoMesh>>& tdf1, \ - const dimensioned<Type2>& dt2 \ -) \ -{ \ - const DimensionedField<Type1, GeoMesh>& df1 = tdf1(); \ - \ - tmp<DimensionedField<ReturnType, GeoMesh>> tRes \ - ( \ - reuseTmpDimensionedField<ReturnType, Type1, GeoMesh>::New \ - ( \ - tdf1, \ - '(' + df1.name() + OpName + dt2.name() + ')', \ - df1.dimensions() Op dt2.dimensions() \ - ) \ - ); \ - \ - Foam::OpFunc(tRes().field(), tdf1().field(), dt2.value()); \ - \ - reuseTmpDimensionedField<ReturnType, Type1, GeoMesh>::clear(tdf1); \ - \ - return tRes; \ -} \ - \ -TEMPLATE \ -tmp<DimensionedField<ReturnType, GeoMesh>> operator Op \ -( \ - const tmp<DimensionedField<Type1, GeoMesh>>& tdf1, \ - const Type2& t2 \ -) \ -{ \ - return tdf1 Op dimensioned<Type2>(t2); \ + \ +TEMPLATE \ +tmp<DimensionedField<ReturnType, GeoMesh>> operator Op \ +( \ + const DimensionedField<Type1, GeoMesh>& df1, \ + const dimensioned<Type2>& dt2 \ +) \ +{ \ + tmp<DimensionedField<ReturnType, GeoMesh>> tRes \ + ( \ + new DimensionedField<ReturnType, GeoMesh> \ + ( \ + IOobject \ + ( \ + '(' + df1.name() + OpName + dt2.name() + ')', \ + df1.instance(), \ + df1.db() \ + ), \ + df1.mesh(), \ + df1.dimensions() Op dt2.dimensions() \ + ) \ + ); \ + \ + Foam::OpFunc(tRes().field(), df1.field(), dt2.value()); \ + \ + return tRes; \ +} \ + \ +TEMPLATE \ +tmp<DimensionedField<ReturnType, GeoMesh>> operator Op \ +( \ + const DimensionedField<Type1, GeoMesh>& df1, \ + const Type2& t2 \ +) \ +{ \ + return df1 Op dimensioned<Type2>(t2); \ +} \ + \ + \ +TEMPLATE \ +tmp<DimensionedField<ReturnType, GeoMesh>> operator Op \ +( \ + const tmp<DimensionedField<Type1, GeoMesh>>& tdf1, \ + const dimensioned<Type2>& dt2 \ +) \ +{ \ + const DimensionedField<Type1, GeoMesh>& df1 = tdf1(); \ + \ + tmp<DimensionedField<ReturnType, GeoMesh>> tRes \ + ( \ + reuseTmpDimensionedField<ReturnType, Type1, GeoMesh>::New \ + ( \ + tdf1, \ + '(' + df1.name() + OpName + dt2.name() + ')', \ + df1.dimensions() Op dt2.dimensions() \ + ) \ + ); \ + \ + Foam::OpFunc(tRes().field(), tdf1().field(), dt2.value()); \ + \ + reuseTmpDimensionedField<ReturnType, Type1, GeoMesh>::clear(tdf1); \ + \ + return tRes; \ +} \ + \ +TEMPLATE \ +tmp<DimensionedField<ReturnType, GeoMesh>> operator Op \ +( \ + const tmp<DimensionedField<Type1, GeoMesh>>& tdf1, \ + const Type2& t2 \ +) \ +{ \ + return tdf1 Op dimensioned<Type2>(t2); \ } -#define BINARY_TYPE_OPERATOR(ReturnType, Type1, Type2, Op, OpName, OpFunc) \ - BINARY_TYPE_OPERATOR_SF(ReturnType, Type1, Type2, Op, OpName, OpFunc) \ +#define BINARY_TYPE_OPERATOR(ReturnType, Type1, Type2, Op, OpName, OpFunc) \ + BINARY_TYPE_OPERATOR_SF(ReturnType, Type1, Type2, Op, OpName, OpFunc) \ BINARY_TYPE_OPERATOR_FS(ReturnType, Type1, Type2, Op, OpName, OpFunc) diff --git a/src/OpenFOAM/fields/DimensionedFields/DimensionedField/DimensionedFieldFunctionsM.H b/src/OpenFOAM/fields/DimensionedFields/DimensionedField/DimensionedFieldFunctionsM.H index 1ed114443c6..444192f399a 100644 --- a/src/OpenFOAM/fields/DimensionedFields/DimensionedField/DimensionedFieldFunctionsM.H +++ b/src/OpenFOAM/fields/DimensionedFields/DimensionedField/DimensionedFieldFunctionsM.H @@ -25,239 +25,239 @@ License // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -#define UNARY_FUNCTION(ReturnType, Type1, Func, Dfunc) \ - \ -TEMPLATE \ -tmp<DimensionedField<ReturnType, GeoMesh>> Func \ -( \ - const DimensionedField<Type1, GeoMesh>& df \ -); \ - \ -TEMPLATE \ -tmp<DimensionedField<ReturnType, GeoMesh>> Func \ -( \ - const tmp<DimensionedField<Type1, GeoMesh>>& tdf1 \ +#define UNARY_FUNCTION(ReturnType, Type1, Func, Dfunc) \ + \ +TEMPLATE \ +tmp<DimensionedField<ReturnType, GeoMesh>> Func \ +( \ + const DimensionedField<Type1, GeoMesh>& df \ +); \ + \ +TEMPLATE \ +tmp<DimensionedField<ReturnType, GeoMesh>> Func \ +( \ + const tmp<DimensionedField<Type1, GeoMesh>>& tdf1 \ ); // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -#define UNARY_OPERATOR(ReturnType, Type1, Op, opFunc, Dfunc) \ - \ -TEMPLATE \ -tmp<DimensionedField<ReturnType, GeoMesh>> operator Op \ -( \ - const DimensionedField<Type1, GeoMesh>& df1 \ -); \ - \ -TEMPLATE \ -tmp<DimensionedField<ReturnType, GeoMesh>> operator Op \ -( \ - const tmp<DimensionedField<Type1, GeoMesh>>& tdf1 \ +#define UNARY_OPERATOR(ReturnType, Type1, Op, opFunc, Dfunc) \ + \ +TEMPLATE \ +tmp<DimensionedField<ReturnType, GeoMesh>> operator Op \ +( \ + const DimensionedField<Type1, GeoMesh>& df1 \ +); \ + \ +TEMPLATE \ +tmp<DimensionedField<ReturnType, GeoMesh>> operator Op \ +( \ + const tmp<DimensionedField<Type1, GeoMesh>>& tdf1 \ ); // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -#define BINARY_FUNCTION(ReturnType, Type1, Type2, Func) \ - \ -TEMPLATE \ -tmp<DimensionedField<ReturnType, GeoMesh>> Func \ -( \ - const DimensionedField<Type1, GeoMesh>& df1, \ - const DimensionedField<Type2, GeoMesh>& df2 \ -); \ - \ -TEMPLATE \ -tmp<DimensionedField<ReturnType, GeoMesh>> Func \ -( \ - const DimensionedField<Type1, GeoMesh>& df1, \ - const tmp<DimensionedField<Type2, GeoMesh>>& tdf2 \ -); \ - \ -TEMPLATE \ -tmp<DimensionedField<ReturnType, GeoMesh>> Func \ -( \ - const tmp<DimensionedField<Type1, GeoMesh>>& tdf1, \ - const DimensionedField<Type2, GeoMesh>& df2 \ -); \ - \ -TEMPLATE \ -tmp<DimensionedField<ReturnType, GeoMesh>> Func \ -( \ - const tmp<DimensionedField<Type1, GeoMesh>>& tdf1, \ - const tmp<DimensionedField<Type2, GeoMesh>>& tdf2 \ +#define BINARY_FUNCTION(ReturnType, Type1, Type2, Func) \ + \ +TEMPLATE \ +tmp<DimensionedField<ReturnType, GeoMesh>> Func \ +( \ + const DimensionedField<Type1, GeoMesh>& df1, \ + const DimensionedField<Type2, GeoMesh>& df2 \ +); \ + \ +TEMPLATE \ +tmp<DimensionedField<ReturnType, GeoMesh>> Func \ +( \ + const DimensionedField<Type1, GeoMesh>& df1, \ + const tmp<DimensionedField<Type2, GeoMesh>>& tdf2 \ +); \ + \ +TEMPLATE \ +tmp<DimensionedField<ReturnType, GeoMesh>> Func \ +( \ + const tmp<DimensionedField<Type1, GeoMesh>>& tdf1, \ + const DimensionedField<Type2, GeoMesh>& df2 \ +); \ + \ +TEMPLATE \ +tmp<DimensionedField<ReturnType, GeoMesh>> Func \ +( \ + const tmp<DimensionedField<Type1, GeoMesh>>& tdf1, \ + const tmp<DimensionedField<Type2, GeoMesh>>& tdf2 \ ); // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -#define BINARY_TYPE_FUNCTION_SF(ReturnType, Type1, Type2, Func) \ - \ -TEMPLATE \ -tmp<DimensionedField<ReturnType, GeoMesh>> Func \ -( \ - const dimensioned<Type1>& dt1, \ - const DimensionedField<Type2, GeoMesh>& df2 \ -); \ - \ -TEMPLATE \ -tmp<DimensionedField<ReturnType, GeoMesh>> Func \ -( \ - const Type1& t1, \ - const DimensionedField<Type2, GeoMesh>& df2 \ -); \ - \ -TEMPLATE \ -tmp<DimensionedField<ReturnType, GeoMesh>> Func \ -( \ - const dimensioned<Type1>& dt1, \ - const tmp<DimensionedField<Type2, GeoMesh>>& tdf2 \ -); \ - \ -TEMPLATE \ -tmp<DimensionedField<ReturnType, GeoMesh>> Func \ -( \ - const Type1& t1, \ - const tmp<DimensionedField<Type2, GeoMesh>>& tdf2 \ +#define BINARY_TYPE_FUNCTION_SF(ReturnType, Type1, Type2, Func) \ + \ +TEMPLATE \ +tmp<DimensionedField<ReturnType, GeoMesh>> Func \ +( \ + const dimensioned<Type1>& dt1, \ + const DimensionedField<Type2, GeoMesh>& df2 \ +); \ + \ +TEMPLATE \ +tmp<DimensionedField<ReturnType, GeoMesh>> Func \ +( \ + const Type1& t1, \ + const DimensionedField<Type2, GeoMesh>& df2 \ +); \ + \ +TEMPLATE \ +tmp<DimensionedField<ReturnType, GeoMesh>> Func \ +( \ + const dimensioned<Type1>& dt1, \ + const tmp<DimensionedField<Type2, GeoMesh>>& tdf2 \ +); \ + \ +TEMPLATE \ +tmp<DimensionedField<ReturnType, GeoMesh>> Func \ +( \ + const Type1& t1, \ + const tmp<DimensionedField<Type2, GeoMesh>>& tdf2 \ ); -#define BINARY_TYPE_FUNCTION_FS(ReturnType, Type1, Type2, Func) \ - \ -TEMPLATE \ -tmp<DimensionedField<ReturnType, GeoMesh>> Func \ -( \ - const DimensionedField<Type1, GeoMesh>& df1, \ - const dimensioned<Type2>& dt2 \ -); \ - \ -TEMPLATE \ -tmp<DimensionedField<ReturnType, GeoMesh>> Func \ -( \ - const DimensionedField<Type1, GeoMesh>& df1, \ - const Type2& t2 \ -); \ - \ -TEMPLATE \ -tmp<DimensionedField<ReturnType, GeoMesh>> Func \ -( \ - const tmp<DimensionedField<Type1, GeoMesh>>& tdf1, \ - const dimensioned<Type2>& dt2 \ -); \ - \ -TEMPLATE \ -tmp<DimensionedField<ReturnType, GeoMesh>> Func \ -( \ - const tmp<DimensionedField<Type1, GeoMesh>>& tdf2, \ - const Type2& t2 \ +#define BINARY_TYPE_FUNCTION_FS(ReturnType, Type1, Type2, Func) \ + \ +TEMPLATE \ +tmp<DimensionedField<ReturnType, GeoMesh>> Func \ +( \ + const DimensionedField<Type1, GeoMesh>& df1, \ + const dimensioned<Type2>& dt2 \ +); \ + \ +TEMPLATE \ +tmp<DimensionedField<ReturnType, GeoMesh>> Func \ +( \ + const DimensionedField<Type1, GeoMesh>& df1, \ + const Type2& t2 \ +); \ + \ +TEMPLATE \ +tmp<DimensionedField<ReturnType, GeoMesh>> Func \ +( \ + const tmp<DimensionedField<Type1, GeoMesh>>& tdf1, \ + const dimensioned<Type2>& dt2 \ +); \ + \ +TEMPLATE \ +tmp<DimensionedField<ReturnType, GeoMesh>> Func \ +( \ + const tmp<DimensionedField<Type1, GeoMesh>>& tdf2, \ + const Type2& t2 \ ); -#define BINARY_TYPE_FUNCTION(ReturnType, Type1, Type2, Func) \ - BINARY_TYPE_FUNCTION_SF(ReturnType, Type1, Type2, Func) \ +#define BINARY_TYPE_FUNCTION(ReturnType, Type1, Type2, Func) \ + BINARY_TYPE_FUNCTION_SF(ReturnType, Type1, Type2, Func) \ BINARY_TYPE_FUNCTION_FS(ReturnType, Type1, Type2, Func) // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -#define BINARY_OPERATOR(ReturnType, Type1, Type2, Op, OpName, OpFunc) \ - \ -TEMPLATE \ -tmp<DimensionedField<ReturnType, GeoMesh>> operator Op \ -( \ - const DimensionedField<Type1, GeoMesh>& df1, \ - const DimensionedField<Type2, GeoMesh>& df2 \ -); \ - \ -TEMPLATE \ -tmp<DimensionedField<ReturnType, GeoMesh>> operator Op \ -( \ - const DimensionedField<Type1, GeoMesh>& df1, \ - const tmp<DimensionedField<Type2, GeoMesh>>& tdf2 \ -); \ - \ -TEMPLATE \ -tmp<DimensionedField<ReturnType, GeoMesh>> operator Op \ -( \ - const tmp<DimensionedField<Type1, GeoMesh>>& tdf1, \ - const DimensionedField<Type2, GeoMesh>& df2 \ -); \ - \ -TEMPLATE \ -tmp<DimensionedField<ReturnType, GeoMesh>> operator Op \ -( \ - const tmp<DimensionedField<Type1, GeoMesh>>& tdf1, \ - const tmp<DimensionedField<Type2, GeoMesh>>& tdf2 \ +#define BINARY_OPERATOR(ReturnType, Type1, Type2, Op, OpName, OpFunc) \ + \ +TEMPLATE \ +tmp<DimensionedField<ReturnType, GeoMesh>> operator Op \ +( \ + const DimensionedField<Type1, GeoMesh>& df1, \ + const DimensionedField<Type2, GeoMesh>& df2 \ +); \ + \ +TEMPLATE \ +tmp<DimensionedField<ReturnType, GeoMesh>> operator Op \ +( \ + const DimensionedField<Type1, GeoMesh>& df1, \ + const tmp<DimensionedField<Type2, GeoMesh>>& tdf2 \ +); \ + \ +TEMPLATE \ +tmp<DimensionedField<ReturnType, GeoMesh>> operator Op \ +( \ + const tmp<DimensionedField<Type1, GeoMesh>>& tdf1, \ + const DimensionedField<Type2, GeoMesh>& df2 \ +); \ + \ +TEMPLATE \ +tmp<DimensionedField<ReturnType, GeoMesh>> operator Op \ +( \ + const tmp<DimensionedField<Type1, GeoMesh>>& tdf1, \ + const tmp<DimensionedField<Type2, GeoMesh>>& tdf2 \ ); // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // #define BINARY_TYPE_OPERATOR_SF(ReturnType, Type1, Type2, Op, OpName, OpFunc) \ - \ -TEMPLATE \ -tmp<DimensionedField<ReturnType, GeoMesh>> operator Op \ -( \ - const dimensioned<Type1>& dt1, \ - const DimensionedField<Type2, GeoMesh>& df2 \ -); \ - \ -TEMPLATE \ -tmp<DimensionedField<ReturnType, GeoMesh>> operator Op \ -( \ - const Type1& t1, \ - const DimensionedField<Type2, GeoMesh>& df2 \ -); \ - \ -TEMPLATE \ -tmp<DimensionedField<ReturnType, GeoMesh>> operator Op \ -( \ - const dimensioned<Type1>& dt1, \ - const tmp<DimensionedField<Type2, GeoMesh>>& tdf2 \ -); \ - \ -TEMPLATE \ -tmp<DimensionedField<ReturnType, GeoMesh>> operator Op \ -( \ - const Type1& t1, \ - const tmp<DimensionedField<Type2, GeoMesh>>& tdf2 \ + \ +TEMPLATE \ +tmp<DimensionedField<ReturnType, GeoMesh>> operator Op \ +( \ + const dimensioned<Type1>& dt1, \ + const DimensionedField<Type2, GeoMesh>& df2 \ +); \ + \ +TEMPLATE \ +tmp<DimensionedField<ReturnType, GeoMesh>> operator Op \ +( \ + const Type1& t1, \ + const DimensionedField<Type2, GeoMesh>& df2 \ +); \ + \ +TEMPLATE \ +tmp<DimensionedField<ReturnType, GeoMesh>> operator Op \ +( \ + const dimensioned<Type1>& dt1, \ + const tmp<DimensionedField<Type2, GeoMesh>>& tdf2 \ +); \ + \ +TEMPLATE \ +tmp<DimensionedField<ReturnType, GeoMesh>> operator Op \ +( \ + const Type1& t1, \ + const tmp<DimensionedField<Type2, GeoMesh>>& tdf2 \ ); #define BINARY_TYPE_OPERATOR_FS(ReturnType, Type1, Type2, Op, OpName, OpFunc) \ - \ -TEMPLATE \ -tmp<DimensionedField<ReturnType, GeoMesh>> operator Op \ -( \ - const DimensionedField<Type1, GeoMesh>& df1, \ - const dimensioned<Type2>& dt2 \ -); \ - \ -TEMPLATE \ -tmp<DimensionedField<ReturnType, GeoMesh>> operator Op \ -( \ - const DimensionedField<Type1, GeoMesh>& df1, \ - const Type2& t2 \ -); \ - \ -TEMPLATE \ -tmp<DimensionedField<ReturnType, GeoMesh>> operator Op \ -( \ - const tmp<DimensionedField<Type1, GeoMesh>>& tdf1, \ - const dimensioned<Type2>& dt2 \ -); \ - \ -TEMPLATE \ -tmp<DimensionedField<ReturnType, GeoMesh>> operator Op \ -( \ - const tmp<DimensionedField<Type1, GeoMesh>>& tdf1, \ - const Type2& t2 \ + \ +TEMPLATE \ +tmp<DimensionedField<ReturnType, GeoMesh>> operator Op \ +( \ + const DimensionedField<Type1, GeoMesh>& df1, \ + const dimensioned<Type2>& dt2 \ +); \ + \ +TEMPLATE \ +tmp<DimensionedField<ReturnType, GeoMesh>> operator Op \ +( \ + const DimensionedField<Type1, GeoMesh>& df1, \ + const Type2& t2 \ +); \ + \ +TEMPLATE \ +tmp<DimensionedField<ReturnType, GeoMesh>> operator Op \ +( \ + const tmp<DimensionedField<Type1, GeoMesh>>& tdf1, \ + const dimensioned<Type2>& dt2 \ +); \ + \ +TEMPLATE \ +tmp<DimensionedField<ReturnType, GeoMesh>> operator Op \ +( \ + const tmp<DimensionedField<Type1, GeoMesh>>& tdf1, \ + const Type2& t2 \ ); -#define BINARY_TYPE_OPERATOR(ReturnType, Type1, Type2, Op, OpName, OpFunc) \ - BINARY_TYPE_OPERATOR_SF(ReturnType, Type1, Type2, Op, OpName, OpFunc) \ +#define BINARY_TYPE_OPERATOR(ReturnType, Type1, Type2, Op, OpName, OpFunc) \ + BINARY_TYPE_OPERATOR_SF(ReturnType, Type1, Type2, Op, OpName, OpFunc) \ BINARY_TYPE_OPERATOR_FS(ReturnType, Type1, Type2, Op, OpName, OpFunc) diff --git a/src/OpenFOAM/fields/DimensionedFields/DimensionedScalarField/DimensionedScalarField.C b/src/OpenFOAM/fields/DimensionedFields/DimensionedScalarField/DimensionedScalarField.C index 5426d79c533..238f230daa5 100644 --- a/src/OpenFOAM/fields/DimensionedFields/DimensionedScalarField/DimensionedScalarField.C +++ b/src/OpenFOAM/fields/DimensionedFields/DimensionedScalarField/DimensionedScalarField.C @@ -667,73 +667,73 @@ UNARY_FUNCTION(scalar, scalar, y1, trans) // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -#define BesselFunc(func) \ - \ -template<class GeoMesh> \ -tmp<DimensionedField<scalar, GeoMesh>> func \ -( \ - const int n, \ - const DimensionedField<scalar, GeoMesh>& dsf \ -) \ -{ \ - if (!dsf.dimensions().dimensionless()) \ - { \ - FatalErrorInFunction \ - << "dsf not dimensionless" \ - << abort(FatalError); \ - } \ - \ - tmp<DimensionedField<scalar, GeoMesh>> tFunc \ - ( \ - new DimensionedField<scalar, GeoMesh> \ - ( \ - IOobject \ - ( \ - #func "(" + name(n) + ',' + dsf.name() + ')', \ - dsf.instance(), \ - dsf.db() \ - ), \ - dsf.mesh(), \ - dimless \ - ) \ - ); \ - \ - func(tFunc().field(), n, dsf.field()); \ - \ - return tFunc; \ -} \ - \ -template<class GeoMesh> \ -tmp<DimensionedField<scalar, GeoMesh>> func \ -( \ - const int n, \ - const tmp<DimensionedField<scalar, GeoMesh>>& tdsf \ -) \ -{ \ - const DimensionedField<scalar, GeoMesh>& dsf = tdsf(); \ - \ - if (!dsf.dimensions().dimensionless()) \ - { \ - FatalErrorInFunction \ - << " : dsf not dimensionless" \ - << abort(FatalError); \ - } \ - \ - tmp<DimensionedField<scalar, GeoMesh>> tFunc \ - ( \ - reuseTmpDimensionedField<scalar, scalar, GeoMesh>::New \ - ( \ - tdsf, \ - #func "(" + name(n) + ',' + dsf.name() + ')', \ - dimless \ - ) \ - ); \ - \ - func(tFunc().field(), n, dsf.field()); \ - \ - reuseTmpDimensionedField<scalar, scalar, GeoMesh>::clear(tdsf); \ - \ - return tFunc; \ +#define BesselFunc(func) \ + \ +template<class GeoMesh> \ +tmp<DimensionedField<scalar, GeoMesh>> func \ +( \ + const int n, \ + const DimensionedField<scalar, GeoMesh>& dsf \ +) \ +{ \ + if (!dsf.dimensions().dimensionless()) \ + { \ + FatalErrorInFunction \ + << "dsf not dimensionless" \ + << abort(FatalError); \ + } \ + \ + tmp<DimensionedField<scalar, GeoMesh>> tFunc \ + ( \ + new DimensionedField<scalar, GeoMesh> \ + ( \ + IOobject \ + ( \ + #func "(" + name(n) + ',' + dsf.name() + ')', \ + dsf.instance(), \ + dsf.db() \ + ), \ + dsf.mesh(), \ + dimless \ + ) \ + ); \ + \ + func(tFunc().field(), n, dsf.field()); \ + \ + return tFunc; \ +} \ + \ +template<class GeoMesh> \ +tmp<DimensionedField<scalar, GeoMesh>> func \ +( \ + const int n, \ + const tmp<DimensionedField<scalar, GeoMesh>>& tdsf \ +) \ +{ \ + const DimensionedField<scalar, GeoMesh>& dsf = tdsf(); \ + \ + if (!dsf.dimensions().dimensionless()) \ + { \ + FatalErrorInFunction \ + << " : dsf not dimensionless" \ + << abort(FatalError); \ + } \ + \ + tmp<DimensionedField<scalar, GeoMesh>> tFunc \ + ( \ + reuseTmpDimensionedField<scalar, scalar, GeoMesh>::New \ + ( \ + tdsf, \ + #func "(" + name(n) + ',' + dsf.name() + ')', \ + dimless \ + ) \ + ); \ + \ + func(tFunc().field(), n, dsf.field()); \ + \ + reuseTmpDimensionedField<scalar, scalar, GeoMesh>::clear(tdsf); \ + \ + return tFunc; \ } BesselFunc(jn) diff --git a/src/OpenFOAM/fields/DimensionedFields/DimensionedScalarField/DimensionedScalarField.H b/src/OpenFOAM/fields/DimensionedFields/DimensionedScalarField/DimensionedScalarField.H index 11202231761..efd3b9c2319 100644 --- a/src/OpenFOAM/fields/DimensionedFields/DimensionedScalarField/DimensionedScalarField.H +++ b/src/OpenFOAM/fields/DimensionedFields/DimensionedScalarField/DimensionedScalarField.H @@ -124,17 +124,17 @@ UNARY_FUNCTION(scalar, scalar, y1, trans) #define BesselFunc(func) \ \ template<class GeoMesh> \ -tmp<DimensionedField<scalar, GeoMesh>> func \ +tmp<DimensionedField<scalar, GeoMesh>> func \ ( \ const int n, \ const DimensionedField<scalar, GeoMesh>& \ ); \ \ template<class GeoMesh> \ -tmp<DimensionedField<scalar, GeoMesh>> func \ +tmp<DimensionedField<scalar, GeoMesh>> func \ ( \ const int n, \ - const tmp<DimensionedField<scalar, GeoMesh>>& \ + const tmp<DimensionedField<scalar, GeoMesh>>& \ ); BesselFunc(jn) diff --git a/src/OpenFOAM/fields/FieldFields/FieldField/FieldField.C b/src/OpenFOAM/fields/FieldFields/FieldField/FieldField.C index c15243f392e..21fc405c8b0 100644 --- a/src/OpenFOAM/fields/FieldFields/FieldField/FieldField.C +++ b/src/OpenFOAM/fields/FieldFields/FieldField/FieldField.C @@ -326,34 +326,34 @@ void FieldField<Field, Type>::operator=(const Type& t) } -#define COMPUTED_ASSIGNMENT(TYPE, op) \ - \ -template<template<class> class Field, class Type> \ -void FieldField<Field, Type>::operator op(const FieldField<Field, TYPE>& f) \ -{ \ - forAll(*this, i) \ - { \ - this->operator[](i) op f[i]; \ - } \ -} \ - \ -template<template<class> class Field, class Type> \ -void FieldField<Field, Type>::operator op \ -( \ - const tmp<FieldField<Field, TYPE>>& tf \ -) \ -{ \ - operator op(tf()); \ - tf.clear(); \ -} \ - \ -template<template<class> class Field, class Type> \ -void FieldField<Field, Type>::operator op(const TYPE& t) \ -{ \ - forAll(*this, i) \ - { \ - this->operator[](i) op t; \ - } \ +#define COMPUTED_ASSIGNMENT(TYPE, op) \ + \ +template<template<class> class Field, class Type> \ +void FieldField<Field, Type>::operator op(const FieldField<Field, TYPE>& f) \ +{ \ + forAll(*this, i) \ + { \ + this->operator[](i) op f[i]; \ + } \ +} \ + \ +template<template<class> class Field, class Type> \ +void FieldField<Field, Type>::operator op \ +( \ + const tmp<FieldField<Field, TYPE>>& tf \ +) \ +{ \ + operator op(tf()); \ + tf.clear(); \ +} \ + \ +template<template<class> class Field, class Type> \ +void FieldField<Field, Type>::operator op(const TYPE& t) \ +{ \ + forAll(*this, i) \ + { \ + this->operator[](i) op t; \ + } \ } COMPUTED_ASSIGNMENT(Type, +=) diff --git a/src/OpenFOAM/fields/FieldFields/FieldField/FieldFieldFunctions.C b/src/OpenFOAM/fields/FieldFields/FieldField/FieldFieldFunctions.C index 3c5b726de69..02219f4243a 100644 --- a/src/OpenFOAM/fields/FieldFields/FieldField/FieldFieldFunctions.C +++ b/src/OpenFOAM/fields/FieldFields/FieldField/FieldFieldFunctions.C @@ -397,14 +397,14 @@ tmp<FieldField<Field, Type>> cmptMag } -#define TMP_UNARY_FUNCTION(returnType, func) \ - \ -template<template<class> class Field, class Type> \ -returnType func(const tmp<FieldField<Field, Type>>& tf1) \ -{ \ - returnType res = func(tf1()); \ - tf1.clear(); \ - return res; \ +#define TMP_UNARY_FUNCTION(returnType, func) \ + \ +template<template<class> class Field, class Type> \ +returnType func(const tmp<FieldField<Field, Type>>& tf1) \ +{ \ + returnType res = func(tf1()); \ + tf1.clear(); \ + return res; \ } template<template<class> class Field, class Type> @@ -548,15 +548,15 @@ TMP_UNARY_FUNCTION(Type, average) #include "PstreamReduceOps.H" -#define G_UNARY_FUNCTION(returnType, gFunc, func, rFunc) \ - \ -template<template<class> class Field, class Type> \ -returnType gFunc(const FieldField<Field, Type>& f) \ -{ \ - returnType res = func(f); \ - reduce(res, rFunc##Op<Type>()); \ - return res; \ -} \ +#define G_UNARY_FUNCTION(returnType, gFunc, func, rFunc) \ + \ +template<template<class> class Field, class Type> \ +returnType gFunc(const FieldField<Field, Type>& f) \ +{ \ + returnType res = func(f); \ + reduce(res, rFunc##Op<Type>()); \ + return res; \ +} \ TMP_UNARY_FUNCTION(returnType, gFunc) G_UNARY_FUNCTION(Type, gMax, max, max) @@ -655,7 +655,7 @@ template \ class Type1, \ class Type2 \ > \ -tmp<FieldField<Field1, typename product<Type1, Type2>::type>> \ +tmp<FieldField<Field1, typename product<Type1, Type2>::type>> \ operator op \ ( \ const FieldField<Field1, Type1>& f1, \ @@ -663,7 +663,7 @@ operator op \ ) \ { \ typedef typename product<Type1, Type2>::type productType; \ - tmp<FieldField<Field1, productType>> tRes \ + tmp<FieldField<Field1, productType>> tRes \ ( \ FieldField<Field1, productType>::NewCalculatedType(f1) \ ); \ @@ -672,15 +672,15 @@ operator op \ } \ \ template<template<class> class Field, class Type1, class Type2> \ -tmp<FieldField<Field, typename product<Type1, Type2>::type>> \ +tmp<FieldField<Field, typename product<Type1, Type2>::type>> \ operator op \ ( \ const FieldField<Field, Type1>& f1, \ - const tmp<FieldField<Field, Type2>>& tf2 \ + const tmp<FieldField<Field, Type2>>& tf2 \ ) \ { \ typedef typename product<Type1, Type2>::type productType; \ - tmp<FieldField<Field, productType>> tRes \ + tmp<FieldField<Field, productType>> tRes \ ( \ reuseTmpFieldField<Field, productType, Type2>::New(tf2) \ ); \ @@ -696,15 +696,15 @@ template \ class Type1, \ class Type2 \ > \ -tmp<FieldField<Field, typename product<Type1, Type2>::type>> \ +tmp<FieldField<Field, typename product<Type1, Type2>::type>> \ operator op \ ( \ const FieldField<Field1, Type1>& f1, \ - const tmp<FieldField<Field2, Type2>>& tf2 \ + const tmp<FieldField<Field2, Type2>>& tf2 \ ) \ { \ typedef typename product<Type1, Type2>::type productType; \ - tmp<FieldField<Field1, productType>> tRes \ + tmp<FieldField<Field1, productType>> tRes \ ( \ FieldField<Field1, productType>::NewCalculatedType(f1) \ ); \ @@ -720,15 +720,15 @@ template \ class Type1, \ class Type2 \ > \ -tmp<FieldField<Field1, typename product<Type1, Type2>::type>> \ +tmp<FieldField<Field1, typename product<Type1, Type2>::type>> \ operator op \ ( \ - const tmp<FieldField<Field1, Type1>>& tf1, \ + const tmp<FieldField<Field1, Type1>>& tf1, \ const FieldField<Field2, Type2>& f2 \ ) \ { \ typedef typename product<Type1, Type2>::type productType; \ - tmp<FieldField<Field1, productType>> tRes \ + tmp<FieldField<Field1, productType>> tRes \ ( \ reuseTmpFieldField<Field1, productType, Type1>::New(tf1) \ ); \ @@ -744,15 +744,15 @@ template \ class Type1, \ class Type2 \ > \ -tmp<FieldField<Field1, typename product<Type1, Type2>::type>> \ +tmp<FieldField<Field1, typename product<Type1, Type2>::type>> \ operator op \ ( \ - const tmp<FieldField<Field1, Type1>>& tf1, \ - const tmp<FieldField<Field2, Type2>>& tf2 \ + const tmp<FieldField<Field1, Type1>>& tf1, \ + const tmp<FieldField<Field2, Type2>>& tf2 \ ) \ { \ typedef typename product<Type1, Type2>::type productType; \ - tmp<FieldField<Field1, productType>> tRes \ + tmp<FieldField<Field1, productType>> tRes \ ( \ reuseTmpTmpFieldField<Field1, productType, Type1, Type1, Type2>::New \ (tf1, tf2) \ @@ -780,7 +780,7 @@ void opFunc \ \ template \ <template<class> class Field, class Type, class Form, class Cmpt, int nCmpt> \ -tmp<FieldField<Field, typename product<Type, Form>::type>> \ +tmp<FieldField<Field, typename product<Type, Form>::type>> \ operator op \ ( \ const FieldField<Field, Type>& f1, \ @@ -788,7 +788,7 @@ operator op \ ) \ { \ typedef typename product<Type, Form>::type productType; \ - tmp<FieldField<Field, productType>> tRes \ + tmp<FieldField<Field, productType>> tRes \ ( \ FieldField<Field, productType>::NewCalculatedType(f1) \ ); \ @@ -798,15 +798,15 @@ operator op \ \ template \ <template<class> class Field, class Type, class Form, class Cmpt, int nCmpt> \ -tmp<FieldField<Field, typename product<Type, Form>::type>> \ +tmp<FieldField<Field, typename product<Type, Form>::type>> \ operator op \ ( \ - const tmp<FieldField<Field, Type>>& tf1, \ + const tmp<FieldField<Field, Type>>& tf1, \ const VectorSpace<Form,Cmpt,nCmpt>& vs \ ) \ { \ typedef typename product<Type, Form>::type productType; \ - tmp<FieldField<Field, productType>> tRes \ + tmp<FieldField<Field, productType>> tRes \ ( \ reuseTmpFieldField<Field, productType, Type>::New(tf1) \ ); \ @@ -832,7 +832,7 @@ void opFunc \ \ template \ <template<class> class Field, class Form, class Cmpt, int nCmpt, class Type> \ -tmp<FieldField<Field, typename product<Form, Type>::type>> \ +tmp<FieldField<Field, typename product<Form, Type>::type>> \ operator op \ ( \ const VectorSpace<Form,Cmpt,nCmpt>& vs, \ @@ -840,7 +840,7 @@ operator op \ ) \ { \ typedef typename product<Form, Type>::type productType; \ - tmp<FieldField<Field, productType>> tRes \ + tmp<FieldField<Field, productType>> tRes \ ( \ FieldField<Field, productType>::NewCalculatedType(f1) \ ); \ @@ -850,15 +850,15 @@ operator op \ \ template \ <template<class> class Field, class Form, class Cmpt, int nCmpt, class Type> \ -tmp<FieldField<Field, typename product<Form, Type>::type>> \ +tmp<FieldField<Field, typename product<Form, Type>::type>> \ operator op \ ( \ const VectorSpace<Form,Cmpt,nCmpt>& vs, \ - const tmp<FieldField<Field, Type>>& tf1 \ + const tmp<FieldField<Field, Type>>& tf1 \ ) \ { \ typedef typename product<Form, Type>::type productType; \ - tmp<FieldField<Field, productType>> tRes \ + tmp<FieldField<Field, productType>> tRes \ ( \ reuseTmpFieldField<Field, productType, Type>::New(tf1) \ ); \ diff --git a/src/OpenFOAM/fields/FieldFields/FieldField/FieldFieldFunctions.H b/src/OpenFOAM/fields/FieldFields/FieldField/FieldFieldFunctions.H index 5860c6e4edc..0800ab98694 100644 --- a/src/OpenFOAM/fields/FieldFields/FieldField/FieldFieldFunctions.H +++ b/src/OpenFOAM/fields/FieldFields/FieldField/FieldFieldFunctions.H @@ -185,9 +185,9 @@ tmp<FieldField<Field, Type>> cmptMag ); -#define TMP_UNARY_FUNCTION(returnType, func) \ - \ -template<template<class> class Field, class Type> \ +#define TMP_UNARY_FUNCTION(returnType, func) \ + \ +template<template<class> class Field, class Type> \ returnType func(const tmp<FieldField<Field, Type>>& tf1); template<template<class> class Field, class Type> @@ -216,10 +216,10 @@ Type average(const FieldField<Field, Type>& f); TMP_UNARY_FUNCTION(Type, average) -#define G_UNARY_FUNCTION(returnType, gFunc, func, rFunc) \ - \ -template<template<class> class Field, class Type> \ -returnType gFunc(const FieldField<Field, Type>& f); \ +#define G_UNARY_FUNCTION(returnType, gFunc, func, rFunc) \ + \ +template<template<class> class Field, class Type> \ +returnType gFunc(const FieldField<Field, Type>& f); \ TMP_UNARY_FUNCTION(returnType, gFunc) G_UNARY_FUNCTION(Type, gMax, max, max) @@ -288,7 +288,7 @@ template \ class Type1, \ class Type2 \ > \ -tmp<FieldField<Field1, typename product<Type1, Type2>::type>> \ +tmp<FieldField<Field1, typename product<Type1, Type2>::type>> \ operator op \ ( \ const FieldField<Field1, Type1>& f1, \ @@ -296,11 +296,11 @@ operator op \ ); \ \ template<template<class> class Field, class Type1, class Type2> \ -tmp<FieldField<Field, typename product<Type1, Type2>::type>> \ +tmp<FieldField<Field, typename product<Type1, Type2>::type>> \ operator op \ ( \ const FieldField<Field, Type1>& f1, \ - const tmp<FieldField<Field, Type2>>& tf2 \ + const tmp<FieldField<Field, Type2>>& tf2 \ ); \ \ template \ @@ -310,11 +310,11 @@ template \ class Type1, \ class Type2 \ > \ -tmp<FieldField<Field1, typename product<Type1, Type2>::type>> \ +tmp<FieldField<Field1, typename product<Type1, Type2>::type>> \ operator op \ ( \ const FieldField<Field1, Type1>& f1, \ - const tmp<FieldField<Field2, Type2>>& tf2 \ + const tmp<FieldField<Field2, Type2>>& tf2 \ ); \ \ template \ @@ -324,10 +324,10 @@ template \ class Type1, \ class Type2 \ > \ -tmp<FieldField<Field1, typename product<Type1, Type2>::type>> \ +tmp<FieldField<Field1, typename product<Type1, Type2>::type>> \ operator op \ ( \ - const tmp<FieldField<Field1, Type1>>& tf1, \ + const tmp<FieldField<Field1, Type1>>& tf1, \ const FieldField<Field2, Type2>& f2 \ ); \ \ @@ -338,11 +338,11 @@ template \ class Type1, \ class Type2 \ > \ -tmp<FieldField<Field1, typename product<Type1, Type2>::type>> \ +tmp<FieldField<Field1, typename product<Type1, Type2>::type>> \ operator op \ ( \ - const tmp<FieldField<Field1, Type1>>& tf1, \ - const tmp<FieldField<Field2, Type2>>& tf2 \ + const tmp<FieldField<Field1, Type1>>& tf1, \ + const tmp<FieldField<Field2, Type2>>& tf2 \ ); \ \ template \ @@ -356,7 +356,7 @@ void opFunc \ \ template \ <template<class> class Field, class Type, class Form, class Cmpt, int nCmpt> \ -tmp<FieldField<Field, typename product<Type, Form>::type>> \ +tmp<FieldField<Field, typename product<Type, Form>::type>> \ operator op \ ( \ const FieldField<Field, Type>& f1, \ @@ -365,10 +365,10 @@ operator op \ \ template \ <template<class> class Field, class Type, class Form, class Cmpt, int nCmpt> \ -tmp<FieldField<Field, typename product<Type, Form>::type>> \ +tmp<FieldField<Field, typename product<Type, Form>::type>> \ operator op \ ( \ - const tmp<FieldField<Field, Type>>& tf1, \ + const tmp<FieldField<Field, Type>>& tf1, \ const VectorSpace<Form,Cmpt,nCmpt>& vs \ ); \ \ @@ -383,7 +383,7 @@ void opFunc \ \ template \ <template<class> class Field, class Form, class Cmpt, int nCmpt, class Type> \ -tmp<FieldField<Field, typename product<Form, Type>::type>> \ +tmp<FieldField<Field, typename product<Form, Type>::type>> \ operator op \ ( \ const VectorSpace<Form,Cmpt,nCmpt>& vs, \ @@ -392,11 +392,11 @@ operator op \ \ template \ <template<class> class Field, class Form, class Cmpt, int nCmpt, class Type> \ -tmp<FieldField<Field, typename product<Form, Type>::type>> \ +tmp<FieldField<Field, typename product<Form, Type>::type>> \ operator op \ ( \ const VectorSpace<Form,Cmpt,nCmpt>& vs, \ - const tmp<FieldField<Field, Type>>& tf1 \ + const tmp<FieldField<Field, Type>>& tf1 \ ); PRODUCT_OPERATOR(typeOfSum, +, add) diff --git a/src/OpenFOAM/fields/FieldFields/FieldField/FieldFieldFunctionsM.C b/src/OpenFOAM/fields/FieldFields/FieldField/FieldFieldFunctionsM.C index e3097337701..03df3f8b9ed 100644 --- a/src/OpenFOAM/fields/FieldFields/FieldField/FieldFieldFunctionsM.C +++ b/src/OpenFOAM/fields/FieldFields/FieldField/FieldFieldFunctionsM.C @@ -28,469 +28,469 @@ License // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -#define UNARY_FUNCTION(ReturnType, Type, Func) \ - \ -TEMPLATE \ -void Func \ -( \ - FieldField<Field, ReturnType>& res, \ - const FieldField<Field, Type>& f \ -) \ -{ \ - forAll(res, i) \ - { \ - Func(res[i], f[i]); \ - } \ -} \ - \ -TEMPLATE \ -tmp<FieldField<Field, ReturnType>> Func \ -( \ - const FieldField<Field, Type>& f \ -) \ -{ \ - tmp<FieldField<Field, ReturnType>> tRes \ - ( \ - FieldField<Field, ReturnType>::NewCalculatedType(f) \ - ); \ - Func(tRes(), f); \ - return tRes; \ -} \ - \ -TEMPLATE \ -tmp<FieldField<Field, ReturnType>> Func \ -( \ - const tmp<FieldField<Field, Type>>& tf \ -) \ -{ \ - tmp<FieldField<Field, ReturnType>> tRes \ - ( \ - reuseTmpFieldField<Field, Type, Type>::New(tf) \ - ); \ - Func(tRes(), tf()); \ - reuseTmpFieldField<Field, Type, Type>::clear(tf); \ - return tRes; \ +#define UNARY_FUNCTION(ReturnType, Type, Func) \ + \ +TEMPLATE \ +void Func \ +( \ + FieldField<Field, ReturnType>& res, \ + const FieldField<Field, Type>& f \ +) \ +{ \ + forAll(res, i) \ + { \ + Func(res[i], f[i]); \ + } \ +} \ + \ +TEMPLATE \ +tmp<FieldField<Field, ReturnType>> Func \ +( \ + const FieldField<Field, Type>& f \ +) \ +{ \ + tmp<FieldField<Field, ReturnType>> tRes \ + ( \ + FieldField<Field, ReturnType>::NewCalculatedType(f) \ + ); \ + Func(tRes(), f); \ + return tRes; \ +} \ + \ +TEMPLATE \ +tmp<FieldField<Field, ReturnType>> Func \ +( \ + const tmp<FieldField<Field, Type>>& tf \ +) \ +{ \ + tmp<FieldField<Field, ReturnType>> tRes \ + ( \ + reuseTmpFieldField<Field, Type, Type>::New(tf) \ + ); \ + Func(tRes(), tf()); \ + reuseTmpFieldField<Field, Type, Type>::clear(tf); \ + return tRes; \ } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -#define UNARY_OPERATOR(ReturnType, Type, Op, OpFunc) \ - \ -TEMPLATE \ -void OpFunc \ -( \ - FieldField<Field, ReturnType>& res, \ - const FieldField<Field, Type>& f \ -) \ -{ \ - forAll(res, i) \ - { \ - OpFunc(res[i], f[i]); \ - } \ -} \ - \ -TEMPLATE \ -tmp<FieldField<Field, ReturnType>> operator Op \ -( \ - const FieldField<Field, Type>& f \ -) \ -{ \ - tmp<FieldField<Field, ReturnType>> tRes \ - ( \ - FieldField<Field, Type>::NewCalculatedType(f) \ - ); \ - OpFunc(tRes(), f); \ - return tRes; \ -} \ - \ -TEMPLATE \ -tmp<FieldField<Field, ReturnType>> operator Op \ -( \ - const tmp<FieldField<Field, Type>>& tf \ -) \ -{ \ - tmp<FieldField<Field, ReturnType>> tRes \ - ( \ - reuseTmpFieldField<Field, Type, Type>::New(tf) \ - ); \ - OpFunc(tRes(), tf()); \ - reuseTmpFieldField<Field, Type, Type>::clear(tf); \ - return tRes; \ +#define UNARY_OPERATOR(ReturnType, Type, Op, OpFunc) \ + \ +TEMPLATE \ +void OpFunc \ +( \ + FieldField<Field, ReturnType>& res, \ + const FieldField<Field, Type>& f \ +) \ +{ \ + forAll(res, i) \ + { \ + OpFunc(res[i], f[i]); \ + } \ +} \ + \ +TEMPLATE \ +tmp<FieldField<Field, ReturnType>> operator Op \ +( \ + const FieldField<Field, Type>& f \ +) \ +{ \ + tmp<FieldField<Field, ReturnType>> tRes \ + ( \ + FieldField<Field, Type>::NewCalculatedType(f) \ + ); \ + OpFunc(tRes(), f); \ + return tRes; \ +} \ + \ +TEMPLATE \ +tmp<FieldField<Field, ReturnType>> operator Op \ +( \ + const tmp<FieldField<Field, Type>>& tf \ +) \ +{ \ + tmp<FieldField<Field, ReturnType>> tRes \ + ( \ + reuseTmpFieldField<Field, Type, Type>::New(tf) \ + ); \ + OpFunc(tRes(), tf()); \ + reuseTmpFieldField<Field, Type, Type>::clear(tf); \ + return tRes; \ } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -#define BINARY_FUNCTION(ReturnType, Type1, Type2, Func) \ - \ -TEMPLATE \ -void Func \ -( \ - FieldField<Field, ReturnType>& f, \ - const FieldField<Field, Type1>& f1, \ - const FieldField<Field, Type2>& f2 \ -) \ -{ \ - forAll(f, i) \ - { \ - Func(f[i], f1[i], f2[i]); \ - } \ -} \ - \ -TEMPLATE \ -tmp<FieldField<Field, ReturnType>> Func \ -( \ - const FieldField<Field, Type1>& f1, \ - const FieldField<Field, Type2>& f2 \ -) \ -{ \ - tmp<FieldField<Field, ReturnType>> tRes \ - ( \ - FieldField<Field, Type1>::NewCalculatedType(f1) \ - ); \ - Func(tRes(), f1, f2); \ - return tRes; \ -} \ - \ -TEMPLATE \ -tmp<FieldField<Field, ReturnType>> Func \ -( \ - const FieldField<Field, Type1>& f1, \ - const tmp<FieldField<Field, Type2>>& tf2 \ -) \ -{ \ - tmp<FieldField<Field, ReturnType>> tRes \ - ( \ - reuseTmpFieldField<Field, ReturnType, Type2>::New(tf2) \ - ); \ - Func(tRes(), f1, tf2()); \ - reuseTmpFieldField<Field, ReturnType, Type2>::clear(tf2); \ - return tRes; \ -} \ - \ -TEMPLATE \ -tmp<FieldField<Field, ReturnType>> Func \ -( \ - const tmp<FieldField<Field, Type1>>& tf1, \ - const FieldField<Field, Type2>& f2 \ -) \ -{ \ - tmp<FieldField<Field, ReturnType>> tRes \ - ( \ - reuseTmpFieldField<Field, ReturnType, Type1>::New(tf1) \ - ); \ - Func(tRes(), tf1(), f2); \ - reuseTmpFieldField<Field, ReturnType, Type1>::clear(tf1); \ - return tRes; \ -} \ - \ -TEMPLATE \ -tmp<FieldField<Field, ReturnType>> Func \ -( \ - const tmp<FieldField<Field, Type1>>& tf1, \ - const tmp<FieldField<Field, Type2>>& tf2 \ -) \ -{ \ - tmp<FieldField<Field, ReturnType>> tRes \ - ( \ - reuseTmpTmpFieldField<Field, ReturnType, Type1, Type1, Type2>:: \ - New(tf1, tf2) \ - ); \ - Func(tRes(), tf1(), tf2()); \ - reuseTmpTmpFieldField<Field, ReturnType, Type1, Type1, Type2>:: \ - clear(tf1, tf2); \ - return tRes; \ +#define BINARY_FUNCTION(ReturnType, Type1, Type2, Func) \ + \ +TEMPLATE \ +void Func \ +( \ + FieldField<Field, ReturnType>& f, \ + const FieldField<Field, Type1>& f1, \ + const FieldField<Field, Type2>& f2 \ +) \ +{ \ + forAll(f, i) \ + { \ + Func(f[i], f1[i], f2[i]); \ + } \ +} \ + \ +TEMPLATE \ +tmp<FieldField<Field, ReturnType>> Func \ +( \ + const FieldField<Field, Type1>& f1, \ + const FieldField<Field, Type2>& f2 \ +) \ +{ \ + tmp<FieldField<Field, ReturnType>> tRes \ + ( \ + FieldField<Field, Type1>::NewCalculatedType(f1) \ + ); \ + Func(tRes(), f1, f2); \ + return tRes; \ +} \ + \ +TEMPLATE \ +tmp<FieldField<Field, ReturnType>> Func \ +( \ + const FieldField<Field, Type1>& f1, \ + const tmp<FieldField<Field, Type2>>& tf2 \ +) \ +{ \ + tmp<FieldField<Field, ReturnType>> tRes \ + ( \ + reuseTmpFieldField<Field, ReturnType, Type2>::New(tf2) \ + ); \ + Func(tRes(), f1, tf2()); \ + reuseTmpFieldField<Field, ReturnType, Type2>::clear(tf2); \ + return tRes; \ +} \ + \ +TEMPLATE \ +tmp<FieldField<Field, ReturnType>> Func \ +( \ + const tmp<FieldField<Field, Type1>>& tf1, \ + const FieldField<Field, Type2>& f2 \ +) \ +{ \ + tmp<FieldField<Field, ReturnType>> tRes \ + ( \ + reuseTmpFieldField<Field, ReturnType, Type1>::New(tf1) \ + ); \ + Func(tRes(), tf1(), f2); \ + reuseTmpFieldField<Field, ReturnType, Type1>::clear(tf1); \ + return tRes; \ +} \ + \ +TEMPLATE \ +tmp<FieldField<Field, ReturnType>> Func \ +( \ + const tmp<FieldField<Field, Type1>>& tf1, \ + const tmp<FieldField<Field, Type2>>& tf2 \ +) \ +{ \ + tmp<FieldField<Field, ReturnType>> tRes \ + ( \ + reuseTmpTmpFieldField<Field, ReturnType, Type1, Type1, Type2>:: \ + New(tf1, tf2) \ + ); \ + Func(tRes(), tf1(), tf2()); \ + reuseTmpTmpFieldField<Field, ReturnType, Type1, Type1, Type2>:: \ + clear(tf1, tf2); \ + return tRes; \ } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -#define BINARY_TYPE_FUNCTION_SF(ReturnType, Type1, Type2, Func) \ - \ -TEMPLATE \ -void Func \ -( \ - FieldField<Field, ReturnType>& f, \ - const FieldField<Field, Type1>& f1, \ - const Type2& s \ -) \ -{ \ - forAll(f, i) \ - { \ - Func(f[i], f1[i], s); \ - } \ -} \ - \ -TEMPLATE \ -tmp<FieldField<Field, ReturnType>> Func \ -( \ - const FieldField<Field, Type1>& f1, \ - const Type2& s \ -) \ -{ \ - tmp<FieldField<Field, ReturnType>> tRes \ - ( \ - FieldField<Field, Type1>::NewCalculatedType(f1) \ - ); \ - Func(tRes(), f1, s); \ - return tRes; \ -} \ - \ -TEMPLATE \ -tmp<FieldField<Field, ReturnType>> Func \ -( \ - const tmp<FieldField<Field, Type1>>& tf1, \ - const Type2& s \ -) \ -{ \ - tmp<FieldField<Field, ReturnType>> tRes \ - ( \ - reuseTmpFieldField<Field, ReturnType, Type1>::New(tf1) \ - ); \ - Func(tRes(), tf1(), s); \ - reuseTmpFieldField<Field, ReturnType, Type1>::clear(tf1); \ - return tRes; \ +#define BINARY_TYPE_FUNCTION_SF(ReturnType, Type1, Type2, Func) \ + \ +TEMPLATE \ +void Func \ +( \ + FieldField<Field, ReturnType>& f, \ + const FieldField<Field, Type1>& f1, \ + const Type2& s \ +) \ +{ \ + forAll(f, i) \ + { \ + Func(f[i], f1[i], s); \ + } \ +} \ + \ +TEMPLATE \ +tmp<FieldField<Field, ReturnType>> Func \ +( \ + const FieldField<Field, Type1>& f1, \ + const Type2& s \ +) \ +{ \ + tmp<FieldField<Field, ReturnType>> tRes \ + ( \ + FieldField<Field, Type1>::NewCalculatedType(f1) \ + ); \ + Func(tRes(), f1, s); \ + return tRes; \ +} \ + \ +TEMPLATE \ +tmp<FieldField<Field, ReturnType>> Func \ +( \ + const tmp<FieldField<Field, Type1>>& tf1, \ + const Type2& s \ +) \ +{ \ + tmp<FieldField<Field, ReturnType>> tRes \ + ( \ + reuseTmpFieldField<Field, ReturnType, Type1>::New(tf1) \ + ); \ + Func(tRes(), tf1(), s); \ + reuseTmpFieldField<Field, ReturnType, Type1>::clear(tf1); \ + return tRes; \ } -#define BINARY_TYPE_FUNCTION_FS(ReturnType, Type1, Type2, Func) \ - \ -TEMPLATE \ -void Func \ -( \ - FieldField<Field, ReturnType>& f, \ - const Type1& s, \ - const FieldField<Field, Type2>& f2 \ -) \ -{ \ - forAll(f, i) \ - { \ - Func(f[i], s, f2[i]); \ - } \ -} \ - \ -TEMPLATE \ -tmp<FieldField<Field, ReturnType>> Func \ -( \ - const Type1& s, \ - const FieldField<Field, Type2>& f2 \ -) \ -{ \ - tmp<FieldField<Field, ReturnType>> tRes \ - ( \ - FieldField<Field, Type2>::NewCalculatedType(f2) \ - ); \ - Func(tRes(), s, f2); \ - return tRes; \ -} \ - \ -TEMPLATE \ -tmp<FieldField<Field, ReturnType>> Func \ -( \ - const Type1& s, \ - const tmp<FieldField<Field, Type2>>& tf2 \ -) \ -{ \ - tmp<FieldField<Field, ReturnType>> tRes \ - ( \ - reuseTmpFieldField<Field, ReturnType, Type2>::New(tf2) \ - ); \ - Func(tRes(), s, tf2()); \ - reuseTmpFieldField<Field, ReturnType, Type2>::clear(tf2); \ - return tRes; \ +#define BINARY_TYPE_FUNCTION_FS(ReturnType, Type1, Type2, Func) \ + \ +TEMPLATE \ +void Func \ +( \ + FieldField<Field, ReturnType>& f, \ + const Type1& s, \ + const FieldField<Field, Type2>& f2 \ +) \ +{ \ + forAll(f, i) \ + { \ + Func(f[i], s, f2[i]); \ + } \ +} \ + \ +TEMPLATE \ +tmp<FieldField<Field, ReturnType>> Func \ +( \ + const Type1& s, \ + const FieldField<Field, Type2>& f2 \ +) \ +{ \ + tmp<FieldField<Field, ReturnType>> tRes \ + ( \ + FieldField<Field, Type2>::NewCalculatedType(f2) \ + ); \ + Func(tRes(), s, f2); \ + return tRes; \ +} \ + \ +TEMPLATE \ +tmp<FieldField<Field, ReturnType>> Func \ +( \ + const Type1& s, \ + const tmp<FieldField<Field, Type2>>& tf2 \ +) \ +{ \ + tmp<FieldField<Field, ReturnType>> tRes \ + ( \ + reuseTmpFieldField<Field, ReturnType, Type2>::New(tf2) \ + ); \ + Func(tRes(), s, tf2()); \ + reuseTmpFieldField<Field, ReturnType, Type2>::clear(tf2); \ + return tRes; \ } -#define BINARY_TYPE_FUNCTION(ReturnType, Type1, Type2, Func) \ - BINARY_TYPE_FUNCTION_SF(ReturnType, Type1, Type2, Func) \ +#define BINARY_TYPE_FUNCTION(ReturnType, Type1, Type2, Func) \ + BINARY_TYPE_FUNCTION_SF(ReturnType, Type1, Type2, Func) \ BINARY_TYPE_FUNCTION_FS(ReturnType, Type1, Type2, Func) // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -#define BINARY_OPERATOR(ReturnType, Type1, Type2, Op, OpFunc) \ - \ -TEMPLATE \ -void OpFunc \ -( \ - FieldField<Field, ReturnType>& f, \ - const FieldField<Field, Type1>& f1, \ - const FieldField<Field, Type2>& f2 \ -) \ -{ \ - forAll(f, i) \ - { \ - OpFunc(f[i], f1[i], f2[i]); \ - } \ -} \ - \ -TEMPLATE \ -tmp<FieldField<Field, ReturnType>> operator Op \ -( \ - const FieldField<Field, Type1>& f1, \ - const FieldField<Field, Type2>& f2 \ -) \ -{ \ - tmp<FieldField<Field, ReturnType>> tRes \ - ( \ - FieldField<Field, ReturnType>::NewCalculatedType(f1) \ - ); \ - OpFunc(tRes(), f1, f2); \ - return tRes; \ -} \ - \ -TEMPLATE \ -tmp<FieldField<Field, ReturnType>> operator Op \ -( \ - const FieldField<Field, Type1>& f1, \ - const tmp<FieldField<Field, Type2>>& tf2 \ -) \ -{ \ - tmp<FieldField<Field, ReturnType>> tRes \ - ( \ - reuseTmpFieldField<Field, ReturnType, Type2>::New(tf2) \ - ); \ - OpFunc(tRes(), f1, tf2()); \ - reuseTmpFieldField<Field, ReturnType, Type2>::clear(tf2); \ - return tRes; \ -} \ - \ -TEMPLATE \ -tmp<FieldField<Field, ReturnType>> operator Op \ -( \ - const tmp<FieldField<Field, Type1>>& tf1, \ - const FieldField<Field, Type2>& f2 \ -) \ -{ \ - tmp<FieldField<Field, ReturnType>> tRes \ - ( \ - reuseTmpFieldField<Field, ReturnType, Type1>::New(tf1) \ - ); \ - OpFunc(tRes(), tf1(), f2); \ - reuseTmpFieldField<Field, ReturnType, Type1>::clear(tf1); \ - return tRes; \ -} \ - \ -TEMPLATE \ -tmp<FieldField<Field, ReturnType>> operator Op \ -( \ - const tmp<FieldField<Field, Type1>>& tf1, \ - const tmp<FieldField<Field, Type2>>& tf2 \ -) \ -{ \ - tmp<FieldField<Field, ReturnType>> tRes \ - ( \ - reuseTmpTmpFieldField<Field, ReturnType, Type1, Type1, Type2>:: \ - New(tf1, tf2) \ - ); \ - OpFunc(tRes(), tf1(), tf2()); \ - reuseTmpTmpFieldField<Field, ReturnType, Type1, Type1, Type2>:: \ - clear(tf1, tf2); \ - return tRes; \ +#define BINARY_OPERATOR(ReturnType, Type1, Type2, Op, OpFunc) \ + \ +TEMPLATE \ +void OpFunc \ +( \ + FieldField<Field, ReturnType>& f, \ + const FieldField<Field, Type1>& f1, \ + const FieldField<Field, Type2>& f2 \ +) \ +{ \ + forAll(f, i) \ + { \ + OpFunc(f[i], f1[i], f2[i]); \ + } \ +} \ + \ +TEMPLATE \ +tmp<FieldField<Field, ReturnType>> operator Op \ +( \ + const FieldField<Field, Type1>& f1, \ + const FieldField<Field, Type2>& f2 \ +) \ +{ \ + tmp<FieldField<Field, ReturnType>> tRes \ + ( \ + FieldField<Field, ReturnType>::NewCalculatedType(f1) \ + ); \ + OpFunc(tRes(), f1, f2); \ + return tRes; \ +} \ + \ +TEMPLATE \ +tmp<FieldField<Field, ReturnType>> operator Op \ +( \ + const FieldField<Field, Type1>& f1, \ + const tmp<FieldField<Field, Type2>>& tf2 \ +) \ +{ \ + tmp<FieldField<Field, ReturnType>> tRes \ + ( \ + reuseTmpFieldField<Field, ReturnType, Type2>::New(tf2) \ + ); \ + OpFunc(tRes(), f1, tf2()); \ + reuseTmpFieldField<Field, ReturnType, Type2>::clear(tf2); \ + return tRes; \ +} \ + \ +TEMPLATE \ +tmp<FieldField<Field, ReturnType>> operator Op \ +( \ + const tmp<FieldField<Field, Type1>>& tf1, \ + const FieldField<Field, Type2>& f2 \ +) \ +{ \ + tmp<FieldField<Field, ReturnType>> tRes \ + ( \ + reuseTmpFieldField<Field, ReturnType, Type1>::New(tf1) \ + ); \ + OpFunc(tRes(), tf1(), f2); \ + reuseTmpFieldField<Field, ReturnType, Type1>::clear(tf1); \ + return tRes; \ +} \ + \ +TEMPLATE \ +tmp<FieldField<Field, ReturnType>> operator Op \ +( \ + const tmp<FieldField<Field, Type1>>& tf1, \ + const tmp<FieldField<Field, Type2>>& tf2 \ +) \ +{ \ + tmp<FieldField<Field, ReturnType>> tRes \ + ( \ + reuseTmpTmpFieldField<Field, ReturnType, Type1, Type1, Type2>:: \ + New(tf1, tf2) \ + ); \ + OpFunc(tRes(), tf1(), tf2()); \ + reuseTmpTmpFieldField<Field, ReturnType, Type1, Type1, Type2>:: \ + clear(tf1, tf2); \ + return tRes; \ } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -#define BINARY_TYPE_OPERATOR_SF(ReturnType, Type1, Type2, Op, OpFunc) \ - \ -TEMPLATE \ -void OpFunc \ -( \ - FieldField<Field, ReturnType>& f, \ - const Type1& s, \ - const FieldField<Field, Type2>& f2 \ -) \ -{ \ - forAll(f, i) \ - { \ - OpFunc(f[i], s, f2[i]); \ - } \ -} \ - \ -TEMPLATE \ -tmp<FieldField<Field, ReturnType>> operator Op \ -( \ - const Type1& s, \ - const FieldField<Field, Type2>& f2 \ -) \ -{ \ - tmp<FieldField<Field, ReturnType>> tRes \ - ( \ - FieldField<Field, Type2>::NewCalculatedType(f2) \ - ); \ - OpFunc(tRes(), s, f2); \ - return tRes; \ -} \ - \ -TEMPLATE \ -tmp<FieldField<Field, ReturnType>> operator Op \ -( \ - const Type1& s, \ - const tmp<FieldField<Field, Type2>>& tf2 \ -) \ -{ \ - tmp<FieldField<Field, ReturnType>> tRes \ - ( \ - reuseTmpFieldField<Field, ReturnType, Type2>::New(tf2) \ - ); \ - OpFunc(tRes(), s, tf2()); \ - reuseTmpFieldField<Field, ReturnType, Type2>::clear(tf2); \ - return tRes; \ +#define BINARY_TYPE_OPERATOR_SF(ReturnType, Type1, Type2, Op, OpFunc) \ + \ +TEMPLATE \ +void OpFunc \ +( \ + FieldField<Field, ReturnType>& f, \ + const Type1& s, \ + const FieldField<Field, Type2>& f2 \ +) \ +{ \ + forAll(f, i) \ + { \ + OpFunc(f[i], s, f2[i]); \ + } \ +} \ + \ +TEMPLATE \ +tmp<FieldField<Field, ReturnType>> operator Op \ +( \ + const Type1& s, \ + const FieldField<Field, Type2>& f2 \ +) \ +{ \ + tmp<FieldField<Field, ReturnType>> tRes \ + ( \ + FieldField<Field, Type2>::NewCalculatedType(f2) \ + ); \ + OpFunc(tRes(), s, f2); \ + return tRes; \ +} \ + \ +TEMPLATE \ +tmp<FieldField<Field, ReturnType>> operator Op \ +( \ + const Type1& s, \ + const tmp<FieldField<Field, Type2>>& tf2 \ +) \ +{ \ + tmp<FieldField<Field, ReturnType>> tRes \ + ( \ + reuseTmpFieldField<Field, ReturnType, Type2>::New(tf2) \ + ); \ + OpFunc(tRes(), s, tf2()); \ + reuseTmpFieldField<Field, ReturnType, Type2>::clear(tf2); \ + return tRes; \ } -#define BINARY_TYPE_OPERATOR_FS(ReturnType, Type1, Type2, Op, OpFunc) \ - \ -TEMPLATE \ -void OpFunc \ -( \ - FieldField<Field, ReturnType>& f, \ - const FieldField<Field, Type1>& f1, \ - const Type2& s \ -) \ -{ \ - forAll(f, i) \ - { \ - OpFunc(f[i], f1[i], s); \ - } \ -} \ - \ -TEMPLATE \ -tmp<FieldField<Field, ReturnType>> operator Op \ -( \ - const FieldField<Field, Type1>& f1, \ - const Type2& s \ -) \ -{ \ - tmp<FieldField<Field, ReturnType>> tRes \ - ( \ - FieldField<Field, Type1>::NewCalculatedType(f1) \ - ); \ - OpFunc(tRes(), f1, s); \ - return tRes; \ -} \ - \ -TEMPLATE \ -tmp<FieldField<Field, ReturnType>> operator Op \ -( \ - const tmp<FieldField<Field, Type1>>& tf1, \ - const Type2& s \ -) \ -{ \ - tmp<FieldField<Field, ReturnType>> tRes \ - ( \ - reuseTmpFieldField<Field, ReturnType, Type1>::New(tf1) \ - ); \ - OpFunc(tRes(), tf1(), s); \ - reuseTmpFieldField<Field, ReturnType, Type1>::clear(tf1); \ - return tRes; \ +#define BINARY_TYPE_OPERATOR_FS(ReturnType, Type1, Type2, Op, OpFunc) \ + \ +TEMPLATE \ +void OpFunc \ +( \ + FieldField<Field, ReturnType>& f, \ + const FieldField<Field, Type1>& f1, \ + const Type2& s \ +) \ +{ \ + forAll(f, i) \ + { \ + OpFunc(f[i], f1[i], s); \ + } \ +} \ + \ +TEMPLATE \ +tmp<FieldField<Field, ReturnType>> operator Op \ +( \ + const FieldField<Field, Type1>& f1, \ + const Type2& s \ +) \ +{ \ + tmp<FieldField<Field, ReturnType>> tRes \ + ( \ + FieldField<Field, Type1>::NewCalculatedType(f1) \ + ); \ + OpFunc(tRes(), f1, s); \ + return tRes; \ +} \ + \ +TEMPLATE \ +tmp<FieldField<Field, ReturnType>> operator Op \ +( \ + const tmp<FieldField<Field, Type1>>& tf1, \ + const Type2& s \ +) \ +{ \ + tmp<FieldField<Field, ReturnType>> tRes \ + ( \ + reuseTmpFieldField<Field, ReturnType, Type1>::New(tf1) \ + ); \ + OpFunc(tRes(), tf1(), s); \ + reuseTmpFieldField<Field, ReturnType, Type1>::clear(tf1); \ + return tRes; \ } -#define BINARY_TYPE_OPERATOR(ReturnType, Type1, Type2, Op, OpFunc) \ - BINARY_TYPE_OPERATOR_SF(ReturnType, Type1, Type2, Op, OpFunc) \ +#define BINARY_TYPE_OPERATOR(ReturnType, Type1, Type2, Op, OpFunc) \ + BINARY_TYPE_OPERATOR_SF(ReturnType, Type1, Type2, Op, OpFunc) \ BINARY_TYPE_OPERATOR_FS(ReturnType, Type1, Type2, Op, OpFunc) // ************************************************************************* // diff --git a/src/OpenFOAM/fields/FieldFields/FieldField/FieldFieldFunctionsM.H b/src/OpenFOAM/fields/FieldFields/FieldField/FieldFieldFunctionsM.H index 6cc3ad76abc..d00ff6603c2 100644 --- a/src/OpenFOAM/fields/FieldFields/FieldField/FieldFieldFunctionsM.H +++ b/src/OpenFOAM/fields/FieldFields/FieldField/FieldFieldFunctionsM.H @@ -30,245 +30,245 @@ Description // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -#define UNARY_FUNCTION(ReturnType, Type1, Func) \ - \ -TEMPLATE \ -void Func \ -( \ - FieldField<Field, ReturnType>& res, \ - const FieldField<Field, Type1>& f \ -); \ - \ -TEMPLATE \ -tmp<FieldField<Field, ReturnType>> Func \ -( \ - const FieldField<Field, Type1>& f \ -); \ - \ -TEMPLATE \ -tmp<FieldField<Field, ReturnType>> Func \ -( \ - const tmp<FieldField<Field, Type1>>& tf \ +#define UNARY_FUNCTION(ReturnType, Type1, Func) \ + \ +TEMPLATE \ +void Func \ +( \ + FieldField<Field, ReturnType>& res, \ + const FieldField<Field, Type1>& f \ +); \ + \ +TEMPLATE \ +tmp<FieldField<Field, ReturnType>> Func \ +( \ + const FieldField<Field, Type1>& f \ +); \ + \ +TEMPLATE \ +tmp<FieldField<Field, ReturnType>> Func \ +( \ + const tmp<FieldField<Field, Type1>>& tf \ ); // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -#define UNARY_OPERATOR(ReturnType, Type1, Op, OpFunc) \ - \ -TEMPLATE \ -void OpFunc \ -( \ - FieldField<Field, ReturnType>& res, \ - const FieldField<Field, Type1>& f \ -); \ - \ -TEMPLATE \ -tmp<FieldField<Field, ReturnType>> operator Op \ -( \ - const FieldField<Field, Type1>& f \ -); \ - \ -TEMPLATE \ -tmp<FieldField<Field, ReturnType>> operator Op \ -( \ - const tmp<FieldField<Field, Type1>>& tf \ +#define UNARY_OPERATOR(ReturnType, Type1, Op, OpFunc) \ + \ +TEMPLATE \ +void OpFunc \ +( \ + FieldField<Field, ReturnType>& res, \ + const FieldField<Field, Type1>& f \ +); \ + \ +TEMPLATE \ +tmp<FieldField<Field, ReturnType>> operator Op \ +( \ + const FieldField<Field, Type1>& f \ +); \ + \ +TEMPLATE \ +tmp<FieldField<Field, ReturnType>> operator Op \ +( \ + const tmp<FieldField<Field, Type1>>& tf \ ); // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -#define BINARY_FUNCTION(ReturnType, Type1, Type2, Func) \ - \ -TEMPLATE \ -void func \ -( \ - FieldField<Field, ReturnType>& f, \ - const FieldField<Field, Type1>& f1, \ - const FieldField<Field, Type2>& f2 \ -); \ - \ -TEMPLATE \ -tmp<FieldField<Field, ReturnType>> func \ -( \ - const FieldField<Field, Type1>& f1, \ - const FieldField<Field, Type2>& f2 \ -); \ - \ -TEMPLATE \ -tmp<FieldField<Field, ReturnType>> func \ -( \ - const FieldField<Field, Type1>& f1, \ - const tmp<FieldField<Field, Type2>>& tf2 \ -); \ - \ -TEMPLATE \ -tmp<FieldField<Field, ReturnType>> func \ -( \ - const tmp<FieldField<Field, Type1>>& tf1, \ - const FieldField<Field, Type2>& f2 \ -); \ - \ -TEMPLATE \ -tmp<FieldField<Field, ReturnType>> func \ -( \ - const tmp<FieldField<Field, Type1>>& tf1, \ - const tmp<FieldField<Field, Type2>>& tf2 \ +#define BINARY_FUNCTION(ReturnType, Type1, Type2, Func) \ + \ +TEMPLATE \ +void func \ +( \ + FieldField<Field, ReturnType>& f, \ + const FieldField<Field, Type1>& f1, \ + const FieldField<Field, Type2>& f2 \ +); \ + \ +TEMPLATE \ +tmp<FieldField<Field, ReturnType>> func \ +( \ + const FieldField<Field, Type1>& f1, \ + const FieldField<Field, Type2>& f2 \ +); \ + \ +TEMPLATE \ +tmp<FieldField<Field, ReturnType>> func \ +( \ + const FieldField<Field, Type1>& f1, \ + const tmp<FieldField<Field, Type2>>& tf2 \ +); \ + \ +TEMPLATE \ +tmp<FieldField<Field, ReturnType>> func \ +( \ + const tmp<FieldField<Field, Type1>>& tf1, \ + const FieldField<Field, Type2>& f2 \ +); \ + \ +TEMPLATE \ +tmp<FieldField<Field, ReturnType>> func \ +( \ + const tmp<FieldField<Field, Type1>>& tf1, \ + const tmp<FieldField<Field, Type2>>& tf2 \ ); // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -#define BINARY_TYPE_FUNCTION_SF(ReturnType, Type1, Type2, Func) \ - \ -TEMPLATE \ -void func \ -( \ - FieldField<Field, ReturnType>& f, \ - const Type1& s1, \ - const FieldField<Field, Type2>& f2 \ -); \ - \ -TEMPLATE \ -tmp<FieldField<Field, ReturnType>> func \ -( \ - const Type1& s1, \ - const FieldField<Field, Type1>& f2 \ -); \ - \ -TEMPLATE \ -tmp<FieldField<Field, ReturnType>> func \ -( \ - const Type1& s1, \ - const tmp<FieldField<Field, Type1>>& tf2 \ +#define BINARY_TYPE_FUNCTION_SF(ReturnType, Type1, Type2, Func) \ + \ +TEMPLATE \ +void func \ +( \ + FieldField<Field, ReturnType>& f, \ + const Type1& s1, \ + const FieldField<Field, Type2>& f2 \ +); \ + \ +TEMPLATE \ +tmp<FieldField<Field, ReturnType>> func \ +( \ + const Type1& s1, \ + const FieldField<Field, Type1>& f2 \ +); \ + \ +TEMPLATE \ +tmp<FieldField<Field, ReturnType>> func \ +( \ + const Type1& s1, \ + const tmp<FieldField<Field, Type1>>& tf2 \ ); -#define BINARY_TYPE_FUNCTION_FS(ReturnType, Type1, Type2, Func) \ - \ -TEMPLATE \ -void func \ -( \ - FieldField<Field, ReturnType>& f, \ - const FieldField<Field, Type1>& f1, \ - const Type2& s \ -); \ - \ -TEMPLATE \ -tmp<FieldField<Field, ReturnType>> func \ -( \ - const FieldField<Field, Type1>& f1, \ - const Type2& s \ -); \ - \ -TEMPLATE \ -tmp<FieldField<Field, ReturnType>> func \ -( \ - const tmp<FieldField<Field, Type1>>& tf1, \ - const Type2& s \ +#define BINARY_TYPE_FUNCTION_FS(ReturnType, Type1, Type2, Func) \ + \ +TEMPLATE \ +void func \ +( \ + FieldField<Field, ReturnType>& f, \ + const FieldField<Field, Type1>& f1, \ + const Type2& s \ +); \ + \ +TEMPLATE \ +tmp<FieldField<Field, ReturnType>> func \ +( \ + const FieldField<Field, Type1>& f1, \ + const Type2& s \ +); \ + \ +TEMPLATE \ +tmp<FieldField<Field, ReturnType>> func \ +( \ + const tmp<FieldField<Field, Type1>>& tf1, \ + const Type2& s \ ); -#define BINARY_TYPE_FUNCTION(ReturnType, Type1, Type2, Func) \ - BINARY_TYPE_FUNCTION_SF(ReturnType, Type1, Type2, Func) \ +#define BINARY_TYPE_FUNCTION(ReturnType, Type1, Type2, Func) \ + BINARY_TYPE_FUNCTION_SF(ReturnType, Type1, Type2, Func) \ BINARY_TYPE_FUNCTION_FS(ReturnType, Type1, Type2, Func) // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -#define BINARY_OPERATOR(ReturnType, Type1, Type2, Op, OpFunc) \ - \ -TEMPLATE \ -void OpFunc \ -( \ - FieldField<Field, ReturnType>& f, \ - const FieldField<Field, Type1>& f1, \ - const FieldField<Field, Type2>& f2 \ -); \ - \ -TEMPLATE \ -tmp<FieldField<Field, ReturnType>> operator Op \ -( \ - const FieldField<Field, Type1>& f1, \ - const FieldField<Field, Type2>& f2 \ -); \ - \ -TEMPLATE \ -tmp<FieldField<Field, ReturnType>> operator Op \ -( \ - const FieldField<Field, Type1>& f1, \ - const tmp<FieldField<Field, Type2>>& tf2 \ -); \ - \ -TEMPLATE \ -tmp<FieldField<Field, ReturnType>> operator Op \ -( \ - const tmp<FieldField<Field, Type1>>& tf1, \ - const FieldField<Field, Type2>& f2 \ -); \ - \ -TEMPLATE \ -tmp<FieldField<Field, ReturnType>> operator Op \ -( \ - const tmp<FieldField<Field, Type1>>& tf1, \ - const tmp<FieldField<Field, Type2>>& tf2 \ +#define BINARY_OPERATOR(ReturnType, Type1, Type2, Op, OpFunc) \ + \ +TEMPLATE \ +void OpFunc \ +( \ + FieldField<Field, ReturnType>& f, \ + const FieldField<Field, Type1>& f1, \ + const FieldField<Field, Type2>& f2 \ +); \ + \ +TEMPLATE \ +tmp<FieldField<Field, ReturnType>> operator Op \ +( \ + const FieldField<Field, Type1>& f1, \ + const FieldField<Field, Type2>& f2 \ +); \ + \ +TEMPLATE \ +tmp<FieldField<Field, ReturnType>> operator Op \ +( \ + const FieldField<Field, Type1>& f1, \ + const tmp<FieldField<Field, Type2>>& tf2 \ +); \ + \ +TEMPLATE \ +tmp<FieldField<Field, ReturnType>> operator Op \ +( \ + const tmp<FieldField<Field, Type1>>& tf1, \ + const FieldField<Field, Type2>& f2 \ +); \ + \ +TEMPLATE \ +tmp<FieldField<Field, ReturnType>> operator Op \ +( \ + const tmp<FieldField<Field, Type1>>& tf1, \ + const tmp<FieldField<Field, Type2>>& tf2 \ ); // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -#define BINARY_TYPE_OPERATOR_SF(ReturnType, Type1, Type2, Op, OpFunc) \ - \ -TEMPLATE \ -void OpFunc \ -( \ - FieldField<Field, ReturnType>& f, \ - const Type1& s1, \ - const FieldField<Field, Type2>& f2 \ -); \ - \ -TEMPLATE \ -tmp<FieldField<Field, ReturnType>> operator Op \ -( \ - const Type1& s1, \ - const FieldField<Field, Type2>& f2 \ -); \ - \ -TEMPLATE \ -tmp<FieldField<Field, ReturnType>> operator Op \ -( \ - const Type1& s1, \ - const tmp<FieldField<Field, Type2>>& tf2 \ +#define BINARY_TYPE_OPERATOR_SF(ReturnType, Type1, Type2, Op, OpFunc) \ + \ +TEMPLATE \ +void OpFunc \ +( \ + FieldField<Field, ReturnType>& f, \ + const Type1& s1, \ + const FieldField<Field, Type2>& f2 \ +); \ + \ +TEMPLATE \ +tmp<FieldField<Field, ReturnType>> operator Op \ +( \ + const Type1& s1, \ + const FieldField<Field, Type2>& f2 \ +); \ + \ +TEMPLATE \ +tmp<FieldField<Field, ReturnType>> operator Op \ +( \ + const Type1& s1, \ + const tmp<FieldField<Field, Type2>>& tf2 \ ); -#define BINARY_TYPE_OPERATOR_FS(ReturnType, Type1, Type2, Op, OpFunc) \ - \ -TEMPLATE \ -void OpFunc \ -( \ - FieldField<Field, ReturnType>& f, \ - const FieldField<Field, Type1>& f1, \ - const Type2& s2 \ -); \ - \ -TEMPLATE \ -tmp<FieldField<Field, ReturnType>> operator Op \ -( \ - const FieldField<Field, Type1>& f1, \ - const Type2& s2 \ -); \ - \ -TEMPLATE \ -tmp<FieldField<Field, ReturnType>> operator Op \ -( \ - const tmp<FieldField<Field, Type1>>& tf1, \ - const Type2& s2 \ +#define BINARY_TYPE_OPERATOR_FS(ReturnType, Type1, Type2, Op, OpFunc) \ + \ +TEMPLATE \ +void OpFunc \ +( \ + FieldField<Field, ReturnType>& f, \ + const FieldField<Field, Type1>& f1, \ + const Type2& s2 \ +); \ + \ +TEMPLATE \ +tmp<FieldField<Field, ReturnType>> operator Op \ +( \ + const FieldField<Field, Type1>& f1, \ + const Type2& s2 \ +); \ + \ +TEMPLATE \ +tmp<FieldField<Field, ReturnType>> operator Op \ +( \ + const tmp<FieldField<Field, Type1>>& tf1, \ + const Type2& s2 \ ); -#define BINARY_TYPE_OPERATOR(ReturnType, Type1, Type2, Op, OpFunc) \ - BINARY_TYPE_OPERATOR_SF(ReturnType, Type1, Type2, Op, OpFunc) \ +#define BINARY_TYPE_OPERATOR(ReturnType, Type1, Type2, Op, OpFunc) \ + BINARY_TYPE_OPERATOR_SF(ReturnType, Type1, Type2, Op, OpFunc) \ BINARY_TYPE_OPERATOR_FS(ReturnType, Type1, Type2, Op, OpFunc) diff --git a/src/OpenFOAM/fields/FieldFields/scalarFieldField/scalarFieldField.C b/src/OpenFOAM/fields/FieldFields/scalarFieldField/scalarFieldField.C index 43e52ab90f6..ab97ba00202 100644 --- a/src/OpenFOAM/fields/FieldFields/scalarFieldField/scalarFieldField.C +++ b/src/OpenFOAM/fields/FieldFields/scalarFieldField/scalarFieldField.C @@ -135,51 +135,51 @@ UNARY_FUNCTION(scalar, scalar, y0) UNARY_FUNCTION(scalar, scalar, y1) -#define BesselFunc(func) \ - \ -template<template<class> class Field> \ -void func \ -( \ - FieldField<Field, scalar>& res, \ - const int n, \ - const FieldField<Field, scalar>& sf \ -) \ -{ \ - forAll(res, i) \ - { \ - func(res[i], n, sf[i]); \ - } \ -} \ - \ -template<template<class> class Field> \ -tmp<FieldField<Field, scalar>> func \ -( \ - const int n, \ - const FieldField<Field, scalar>& sf \ -) \ -{ \ - tmp<FieldField<Field, scalar>> tRes \ - ( \ - FieldField<Field, scalar>::NewCalculatedType(sf) \ - ); \ - func(tRes(), n, sf); \ - return tRes; \ -} \ - \ -template<template<class> class Field> \ -tmp<FieldField<Field, scalar>> func \ -( \ - const int n, \ - const tmp<FieldField<Field, scalar>>& tsf \ -) \ -{ \ - tmp<FieldField<Field, scalar>> tRes \ - ( \ - reuseTmpFieldField<Field, scalar, scalar>::New(tsf) \ - ); \ - func(tRes(), n, tsf()); \ - reuseTmpFieldField<Field, scalar, scalar>::clear(tsf); \ - return tRes; \ +#define BesselFunc(func) \ + \ +template<template<class> class Field> \ +void func \ +( \ + FieldField<Field, scalar>& res, \ + const int n, \ + const FieldField<Field, scalar>& sf \ +) \ +{ \ + forAll(res, i) \ + { \ + func(res[i], n, sf[i]); \ + } \ +} \ + \ +template<template<class> class Field> \ +tmp<FieldField<Field, scalar>> func \ +( \ + const int n, \ + const FieldField<Field, scalar>& sf \ +) \ +{ \ + tmp<FieldField<Field, scalar>> tRes \ + ( \ + FieldField<Field, scalar>::NewCalculatedType(sf) \ + ); \ + func(tRes(), n, sf); \ + return tRes; \ +} \ + \ +template<template<class> class Field> \ +tmp<FieldField<Field, scalar>> func \ +( \ + const int n, \ + const tmp<FieldField<Field, scalar>>& tsf \ +) \ +{ \ + tmp<FieldField<Field, scalar>> tRes \ + ( \ + reuseTmpFieldField<Field, scalar, scalar>::New(tsf) \ + ); \ + func(tRes(), n, tsf()); \ + reuseTmpFieldField<Field, scalar, scalar>::clear(tsf); \ + return tRes; \ } BesselFunc(jn) diff --git a/src/OpenFOAM/fields/FieldFields/scalarFieldField/scalarFieldField.H b/src/OpenFOAM/fields/FieldFields/scalarFieldField/scalarFieldField.H index 3a214a3ee42..208a719074c 100644 --- a/src/OpenFOAM/fields/FieldFields/scalarFieldField/scalarFieldField.H +++ b/src/OpenFOAM/fields/FieldFields/scalarFieldField/scalarFieldField.H @@ -128,14 +128,14 @@ UNARY_FUNCTION(scalar, scalar, y0) UNARY_FUNCTION(scalar, scalar, y1) -#define BesselFunc(func) \ -void func \ -( \ - FieldField<Field, scalar>& Res, \ - const int n, \ - const FieldField<Field, scalar>& sf \ -); \ -tmp<scalarField> func(const int n, const FieldField<Field, scalar>&); \ +#define BesselFunc(func) \ +void func \ +( \ + FieldField<Field, scalar>& Res, \ + const int n, \ + const FieldField<Field, scalar>& sf \ +); \ +tmp<scalarField> func(const int n, const FieldField<Field, scalar>&); \ tmp<scalarField> func(const int n, const tmp<FieldField<Field, scalar>>&); BesselFunc(jn) diff --git a/src/OpenFOAM/fields/Fields/Field/Field.C b/src/OpenFOAM/fields/Fields/Field/Field.C index 5d66bdb349b..73dbc688c15 100644 --- a/src/OpenFOAM/fields/Fields/Field/Field.C +++ b/src/OpenFOAM/fields/Fields/Field/Field.C @@ -712,25 +712,25 @@ void Foam::Field<Type>::operator=(const VectorSpace<Form,Cmpt,nCmpt>& vs) } -#define COMPUTED_ASSIGNMENT(TYPE, op) \ - \ -template<class Type> \ -void Foam::Field<Type>::operator op(const UList<TYPE>& f) \ -{ \ - TFOR_ALL_F_OP_F(Type, *this, op, TYPE, f) \ -} \ - \ -template<class Type> \ -void Foam::Field<Type>::operator op(const tmp<Field<TYPE>>& tf) \ -{ \ - operator op(tf()); \ - tf.clear(); \ -} \ - \ -template<class Type> \ -void Foam::Field<Type>::operator op(const TYPE& t) \ -{ \ - TFOR_ALL_F_OP_S(Type, *this, op, TYPE, t) \ +#define COMPUTED_ASSIGNMENT(TYPE, op) \ + \ +template<class Type> \ +void Foam::Field<Type>::operator op(const UList<TYPE>& f) \ +{ \ + TFOR_ALL_F_OP_F(Type, *this, op, TYPE, f) \ +} \ + \ +template<class Type> \ +void Foam::Field<Type>::operator op(const tmp<Field<TYPE>>& tf) \ +{ \ + operator op(tf()); \ + tf.clear(); \ +} \ + \ +template<class Type> \ +void Foam::Field<Type>::operator op(const TYPE& t) \ +{ \ + TFOR_ALL_F_OP_S(Type, *this, op, TYPE, t) \ } COMPUTED_ASSIGNMENT(Type, +=) diff --git a/src/OpenFOAM/fields/Fields/Field/FieldFunctions.C b/src/OpenFOAM/fields/Fields/Field/FieldFunctions.C index e8703cd1b8f..c581ba23628 100644 --- a/src/OpenFOAM/fields/Fields/Field/FieldFunctions.C +++ b/src/OpenFOAM/fields/Fields/Field/FieldFunctions.C @@ -297,14 +297,14 @@ tmp<Field<Type>> cmptMag(const tmp<Field<Type>>& tf) } -#define TMP_UNARY_FUNCTION(ReturnType, Func) \ - \ -template<class Type> \ -ReturnType Func(const tmp<Field<Type>>& tf1) \ -{ \ - ReturnType res = Func(tf1()); \ - tf1.clear(); \ - return res; \ +#define TMP_UNARY_FUNCTION(ReturnType, Func) \ + \ +template<class Type> \ +ReturnType Func(const tmp<Field<Type>>& tf1) \ +{ \ + ReturnType res = Func(tf1()); \ + tf1.clear(); \ + return res; \ } template<class Type> @@ -527,15 +527,15 @@ Type average(const UList<Type>& f) TMP_UNARY_FUNCTION(Type, average) -#define G_UNARY_FUNCTION(ReturnType, gFunc, Func, rFunc) \ - \ -template<class Type> \ -ReturnType gFunc(const UList<Type>& f, const label comm) \ -{ \ - ReturnType res = Func(f); \ - reduce(res, rFunc##Op<Type>(), Pstream::msgType(), comm); \ - return res; \ -} \ +#define G_UNARY_FUNCTION(ReturnType, gFunc, Func, rFunc) \ + \ +template<class Type> \ +ReturnType gFunc(const UList<Type>& f, const label comm) \ +{ \ + ReturnType res = Func(f); \ + reduce(res, rFunc##Op<Type>(), Pstream::msgType(), comm); \ + return res; \ +} \ TMP_UNARY_FUNCTION(ReturnType, gFunc) G_UNARY_FUNCTION(Type, gMax, max, max) @@ -633,137 +633,137 @@ BINARY_TYPE_OPERATOR_FS(Type, Type, scalar, /, divide) // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -#define PRODUCT_OPERATOR(product, Op, OpFunc) \ - \ -template<class Type1, class Type2> \ -void OpFunc \ -( \ - Field<typename product<Type1, Type2>::type>& res, \ - const UList<Type1>& f1, \ - const UList<Type2>& f2 \ -) \ -{ \ - typedef typename product<Type1, Type2>::type productType; \ - TFOR_ALL_F_OP_F_OP_F(productType, res, =, Type1, f1, Op, Type2, f2) \ -} \ - \ -template<class Type1, class Type2> \ -tmp<Field<typename product<Type1, Type2>::type>> \ -operator Op(const UList<Type1>& f1, const UList<Type2>& f2) \ -{ \ - typedef typename product<Type1, Type2>::type productType; \ - tmp<Field<productType>> tRes(new Field<productType>(f1.size())); \ - OpFunc(tRes(), f1, f2); \ - return tRes; \ -} \ - \ -template<class Type1, class Type2> \ -tmp<Field<typename product<Type1, Type2>::type>> \ -operator Op(const UList<Type1>& f1, const tmp<Field<Type2>>& tf2) \ -{ \ - typedef typename product<Type1, Type2>::type productType; \ - tmp<Field<productType>> tRes = reuseTmp<productType, Type2>::New(tf2); \ - OpFunc(tRes(), f1, tf2()); \ - reuseTmp<productType, Type2>::clear(tf2); \ - return tRes; \ -} \ - \ -template<class Type1, class Type2> \ -tmp<Field<typename product<Type1, Type2>::type>> \ -operator Op(const tmp<Field<Type1>>& tf1, const UList<Type2>& f2) \ -{ \ - typedef typename product<Type1, Type2>::type productType; \ - tmp<Field<productType>> tRes = reuseTmp<productType, Type1>::New(tf1); \ - OpFunc(tRes(), tf1(), f2); \ - reuseTmp<productType, Type1>::clear(tf1); \ - return tRes; \ -} \ - \ -template<class Type1, class Type2> \ -tmp<Field<typename product<Type1, Type2>::type>> \ -operator Op(const tmp<Field<Type1>>& tf1, const tmp<Field<Type2>>& tf2) \ -{ \ - typedef typename product<Type1, Type2>::type productType; \ - tmp<Field<productType>> tRes = \ - reuseTmpTmp<productType, Type1, Type1, Type2>::New(tf1, tf2); \ - OpFunc(tRes(), tf1(), tf2()); \ - reuseTmpTmp<productType, Type1, Type1, Type2>::clear(tf1, tf2); \ - return tRes; \ -} \ - \ -template<class Type, class Form, class Cmpt, int nCmpt> \ -void OpFunc \ -( \ - Field<typename product<Type, Form>::type>& res, \ - const UList<Type>& f1, \ - const VectorSpace<Form,Cmpt,nCmpt>& vs \ -) \ -{ \ - typedef typename product<Type, Form>::type productType; \ - TFOR_ALL_F_OP_F_OP_S \ +#define PRODUCT_OPERATOR(product, Op, OpFunc) \ + \ +template<class Type1, class Type2> \ +void OpFunc \ +( \ + Field<typename product<Type1, Type2>::type>& res, \ + const UList<Type1>& f1, \ + const UList<Type2>& f2 \ +) \ +{ \ + typedef typename product<Type1, Type2>::type productType; \ + TFOR_ALL_F_OP_F_OP_F(productType, res, =, Type1, f1, Op, Type2, f2) \ +} \ + \ +template<class Type1, class Type2> \ +tmp<Field<typename product<Type1, Type2>::type>> \ +operator Op(const UList<Type1>& f1, const UList<Type2>& f2) \ +{ \ + typedef typename product<Type1, Type2>::type productType; \ + tmp<Field<productType>> tRes(new Field<productType>(f1.size())); \ + OpFunc(tRes(), f1, f2); \ + return tRes; \ +} \ + \ +template<class Type1, class Type2> \ +tmp<Field<typename product<Type1, Type2>::type>> \ +operator Op(const UList<Type1>& f1, const tmp<Field<Type2>>& tf2) \ +{ \ + typedef typename product<Type1, Type2>::type productType; \ + tmp<Field<productType>> tRes = reuseTmp<productType, Type2>::New(tf2); \ + OpFunc(tRes(), f1, tf2()); \ + reuseTmp<productType, Type2>::clear(tf2); \ + return tRes; \ +} \ + \ +template<class Type1, class Type2> \ +tmp<Field<typename product<Type1, Type2>::type>> \ +operator Op(const tmp<Field<Type1>>& tf1, const UList<Type2>& f2) \ +{ \ + typedef typename product<Type1, Type2>::type productType; \ + tmp<Field<productType>> tRes = reuseTmp<productType, Type1>::New(tf1); \ + OpFunc(tRes(), tf1(), f2); \ + reuseTmp<productType, Type1>::clear(tf1); \ + return tRes; \ +} \ + \ +template<class Type1, class Type2> \ +tmp<Field<typename product<Type1, Type2>::type>> \ +operator Op(const tmp<Field<Type1>>& tf1, const tmp<Field<Type2>>& tf2) \ +{ \ + typedef typename product<Type1, Type2>::type productType; \ + tmp<Field<productType>> tRes = \ + reuseTmpTmp<productType, Type1, Type1, Type2>::New(tf1, tf2); \ + OpFunc(tRes(), tf1(), tf2()); \ + reuseTmpTmp<productType, Type1, Type1, Type2>::clear(tf1, tf2); \ + return tRes; \ +} \ + \ +template<class Type, class Form, class Cmpt, int nCmpt> \ +void OpFunc \ +( \ + Field<typename product<Type, Form>::type>& res, \ + const UList<Type>& f1, \ + const VectorSpace<Form,Cmpt,nCmpt>& vs \ +) \ +{ \ + typedef typename product<Type, Form>::type productType; \ + TFOR_ALL_F_OP_F_OP_S \ (productType, res, =,Type, f1, Op, Form, static_cast<const Form&>(vs))\ -} \ - \ -template<class Type, class Form, class Cmpt, int nCmpt> \ -tmp<Field<typename product<Type, Form>::type>> \ -operator Op(const UList<Type>& f1, const VectorSpace<Form,Cmpt,nCmpt>& vs) \ -{ \ - typedef typename product<Type, Form>::type productType; \ - tmp<Field<productType>> tRes(new Field<productType>(f1.size())); \ - OpFunc(tRes(), f1, static_cast<const Form&>(vs)); \ - return tRes; \ -} \ - \ -template<class Type, class Form, class Cmpt, int nCmpt> \ -tmp<Field<typename product<Type, Form>::type>> \ -operator Op \ -( \ - const tmp<Field<Type>>& tf1, \ - const VectorSpace<Form,Cmpt,nCmpt>& vs \ -) \ -{ \ - typedef typename product<Type, Form>::type productType; \ - tmp<Field<productType>> tRes = reuseTmp<productType, Type>::New(tf1); \ - OpFunc(tRes(), tf1(), static_cast<const Form&>(vs)); \ - reuseTmp<productType, Type>::clear(tf1); \ - return tRes; \ -} \ - \ -template<class Form, class Cmpt, int nCmpt, class Type> \ -void OpFunc \ -( \ - Field<typename product<Form, Type>::type>& res, \ - const VectorSpace<Form,Cmpt,nCmpt>& vs, \ - const UList<Type>& f1 \ -) \ -{ \ - typedef typename product<Form, Type>::type productType; \ - TFOR_ALL_F_OP_S_OP_F \ +} \ + \ +template<class Type, class Form, class Cmpt, int nCmpt> \ +tmp<Field<typename product<Type, Form>::type>> \ +operator Op(const UList<Type>& f1, const VectorSpace<Form,Cmpt,nCmpt>& vs) \ +{ \ + typedef typename product<Type, Form>::type productType; \ + tmp<Field<productType>> tRes(new Field<productType>(f1.size())); \ + OpFunc(tRes(), f1, static_cast<const Form&>(vs)); \ + return tRes; \ +} \ + \ +template<class Type, class Form, class Cmpt, int nCmpt> \ +tmp<Field<typename product<Type, Form>::type>> \ +operator Op \ +( \ + const tmp<Field<Type>>& tf1, \ + const VectorSpace<Form,Cmpt,nCmpt>& vs \ +) \ +{ \ + typedef typename product<Type, Form>::type productType; \ + tmp<Field<productType>> tRes = reuseTmp<productType, Type>::New(tf1); \ + OpFunc(tRes(), tf1(), static_cast<const Form&>(vs)); \ + reuseTmp<productType, Type>::clear(tf1); \ + return tRes; \ +} \ + \ +template<class Form, class Cmpt, int nCmpt, class Type> \ +void OpFunc \ +( \ + Field<typename product<Form, Type>::type>& res, \ + const VectorSpace<Form,Cmpt,nCmpt>& vs, \ + const UList<Type>& f1 \ +) \ +{ \ + typedef typename product<Form, Type>::type productType; \ + TFOR_ALL_F_OP_S_OP_F \ (productType, res, =,Form,static_cast<const Form&>(vs), Op, Type, f1) \ -} \ - \ -template<class Form, class Cmpt, int nCmpt, class Type> \ -tmp<Field<typename product<Form, Type>::type>> \ -operator Op(const VectorSpace<Form,Cmpt,nCmpt>& vs, const UList<Type>& f1) \ -{ \ - typedef typename product<Form, Type>::type productType; \ - tmp<Field<productType>> tRes(new Field<productType>(f1.size())); \ - OpFunc(tRes(), static_cast<const Form&>(vs), f1); \ - return tRes; \ -} \ - \ -template<class Form, class Cmpt, int nCmpt, class Type> \ -tmp<Field<typename product<Form, Type>::type>> \ -operator Op \ -( \ - const VectorSpace<Form,Cmpt,nCmpt>& vs, const tmp<Field<Type>>& tf1 \ -) \ -{ \ - typedef typename product<Form, Type>::type productType; \ - tmp<Field<productType>> tRes = reuseTmp<productType, Type>::New(tf1); \ - OpFunc(tRes(), static_cast<const Form&>(vs), tf1()); \ - reuseTmp<productType, Type>::clear(tf1); \ - return tRes; \ +} \ + \ +template<class Form, class Cmpt, int nCmpt, class Type> \ +tmp<Field<typename product<Form, Type>::type>> \ +operator Op(const VectorSpace<Form,Cmpt,nCmpt>& vs, const UList<Type>& f1) \ +{ \ + typedef typename product<Form, Type>::type productType; \ + tmp<Field<productType>> tRes(new Field<productType>(f1.size())); \ + OpFunc(tRes(), static_cast<const Form&>(vs), f1); \ + return tRes; \ +} \ + \ +template<class Form, class Cmpt, int nCmpt, class Type> \ +tmp<Field<typename product<Form, Type>::type>> \ +operator Op \ +( \ + const VectorSpace<Form,Cmpt,nCmpt>& vs, const tmp<Field<Type>>& tf1 \ +) \ +{ \ + typedef typename product<Form, Type>::type productType; \ + tmp<Field<productType>> tRes = reuseTmp<productType, Type>::New(tf1); \ + OpFunc(tRes(), static_cast<const Form&>(vs), tf1()); \ + reuseTmp<productType, Type>::clear(tf1); \ + return tRes; \ } PRODUCT_OPERATOR(typeOfSum, +, add) diff --git a/src/OpenFOAM/fields/Fields/Field/FieldFunctions.H b/src/OpenFOAM/fields/Fields/Field/FieldFunctions.H index 682139da608..56c422a5fd1 100644 --- a/src/OpenFOAM/fields/Fields/Field/FieldFunctions.H +++ b/src/OpenFOAM/fields/Fields/Field/FieldFunctions.H @@ -151,9 +151,9 @@ tmp<Field<Type>> cmptMag(const UList<Type>& f); template<class Type> tmp<Field<Type>> cmptMag(const tmp<Field<Type>>& tf); -#define TMP_UNARY_FUNCTION(ReturnType, Func) \ - \ -template<class Type> \ +#define TMP_UNARY_FUNCTION(ReturnType, Func) \ + \ +template<class Type> \ ReturnType Func(const tmp<Field<Type>>& tf1); template<class Type> @@ -209,9 +209,9 @@ Type average(const UList<Type>& f); TMP_UNARY_FUNCTION(Type, average) -#define G_UNARY_FUNCTION(ReturnType, gFunc, Func, rFunc) \ - \ -template<class Type> \ +#define G_UNARY_FUNCTION(ReturnType, gFunc, Func, rFunc) \ + \ +template<class Type> \ ReturnType gFunc(const UList<Type>& f, const label comm = UPstream::worldComm);\ TMP_UNARY_FUNCTION(ReturnType, gFunc) @@ -281,62 +281,62 @@ BINARY_TYPE_OPERATOR_FS(Type, Type, scalar, /, divide) // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -#define PRODUCT_OPERATOR(product, Op, OpFunc) \ - \ -template<class Type1, class Type2> \ -void OpFunc \ -( \ - Field<typename product<Type1, Type2>::type>& res, \ - const UList<Type1>& f1, \ - const UList<Type2>& f2 \ -); \ - \ -template<class Type1, class Type2> \ -tmp<Field<typename product<Type1, Type2>::type>> \ -operator Op(const UList<Type1>& f1, const UList<Type2>& f2); \ - \ -template<class Type1, class Type2> \ -tmp<Field<typename product<Type1, Type2>::type>> \ -operator Op(const UList<Type1>& f1, const tmp<Field<Type2>>& tf2); \ - \ -template<class Type1, class Type2> \ -tmp<Field<typename product<Type1, Type2>::type>> \ -operator Op(const tmp<Field<Type1>>& tf1, const UList<Type2>& f2); \ - \ -template<class Type1, class Type2> \ -tmp<Field<typename product<Type1, Type2>::type>> \ -operator Op(const tmp<Field<Type1>>& tf1, const tmp<Field<Type2>>& tf2); \ - \ -template<class Type, class Form, class Cmpt, int nCmpt> \ -void OpFunc \ -( \ - Field<typename product<Type, Form>::type>& res, \ - const UList<Type>& f1, \ - const VectorSpace<Form,Cmpt,nCmpt>& vs \ -); \ - \ -template<class Type, class Form, class Cmpt, int nCmpt> \ -tmp<Field<typename product<Type, Form>::type>> \ -operator Op(const UList<Type>& f1, const VectorSpace<Form,Cmpt,nCmpt>& vs); \ - \ -template<class Type, class Form, class Cmpt, int nCmpt> \ -tmp<Field<typename product<Type, Form>::type>> \ +#define PRODUCT_OPERATOR(product, Op, OpFunc) \ + \ +template<class Type1, class Type2> \ +void OpFunc \ +( \ + Field<typename product<Type1, Type2>::type>& res, \ + const UList<Type1>& f1, \ + const UList<Type2>& f2 \ +); \ + \ +template<class Type1, class Type2> \ +tmp<Field<typename product<Type1, Type2>::type>> \ +operator Op(const UList<Type1>& f1, const UList<Type2>& f2); \ + \ +template<class Type1, class Type2> \ +tmp<Field<typename product<Type1, Type2>::type>> \ +operator Op(const UList<Type1>& f1, const tmp<Field<Type2>>& tf2); \ + \ +template<class Type1, class Type2> \ +tmp<Field<typename product<Type1, Type2>::type>> \ +operator Op(const tmp<Field<Type1>>& tf1, const UList<Type2>& f2); \ + \ +template<class Type1, class Type2> \ +tmp<Field<typename product<Type1, Type2>::type>> \ +operator Op(const tmp<Field<Type1>>& tf1, const tmp<Field<Type2>>& tf2); \ + \ +template<class Type, class Form, class Cmpt, int nCmpt> \ +void OpFunc \ +( \ + Field<typename product<Type, Form>::type>& res, \ + const UList<Type>& f1, \ + const VectorSpace<Form,Cmpt,nCmpt>& vs \ +); \ + \ +template<class Type, class Form, class Cmpt, int nCmpt> \ +tmp<Field<typename product<Type, Form>::type>> \ +operator Op(const UList<Type>& f1, const VectorSpace<Form,Cmpt,nCmpt>& vs); \ + \ +template<class Type, class Form, class Cmpt, int nCmpt> \ +tmp<Field<typename product<Type, Form>::type>> \ operator Op(const tmp<Field<Type>>&tf1,const VectorSpace<Form,Cmpt,nCmpt>&vs);\ - \ -template<class Form, class Cmpt, int nCmpt, class Type> \ -void OpFunc \ -( \ - Field<typename product<Form, Type>::type>& res, \ - const VectorSpace<Form,Cmpt,nCmpt>& vs, \ - const UList<Type>& f1 \ -); \ - \ -template<class Form, class Cmpt, int nCmpt, class Type> \ -tmp<Field<typename product<Form, Type>::type>> \ -operator Op(const VectorSpace<Form,Cmpt,nCmpt>& vs, const UList<Type>& f1); \ - \ -template<class Form, class Cmpt, int nCmpt, class Type> \ -tmp<Field<typename product<Form, Type>::type>> \ + \ +template<class Form, class Cmpt, int nCmpt, class Type> \ +void OpFunc \ +( \ + Field<typename product<Form, Type>::type>& res, \ + const VectorSpace<Form,Cmpt,nCmpt>& vs, \ + const UList<Type>& f1 \ +); \ + \ +template<class Form, class Cmpt, int nCmpt, class Type> \ +tmp<Field<typename product<Form, Type>::type>> \ +operator Op(const VectorSpace<Form,Cmpt,nCmpt>& vs, const UList<Type>& f1); \ + \ +template<class Form, class Cmpt, int nCmpt, class Type> \ +tmp<Field<typename product<Form, Type>::type>> \ operator Op(const VectorSpace<Form,Cmpt,nCmpt>&vs,const tmp<Field<Type>>&tf1); PRODUCT_OPERATOR(typeOfSum, +, add) diff --git a/src/OpenFOAM/fields/Fields/Field/FieldFunctionsM.C b/src/OpenFOAM/fields/Fields/Field/FieldFunctionsM.C index 1a2840a7865..e9b20528f31 100644 --- a/src/OpenFOAM/fields/Fields/Field/FieldFunctionsM.C +++ b/src/OpenFOAM/fields/Fields/Field/FieldFunctionsM.C @@ -28,372 +28,372 @@ License // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -#define UNARY_FUNCTION(ReturnType, Type, Func) \ - \ -TEMPLATE \ -void Func(Field<ReturnType>& res, const UList<Type>& f) \ -{ \ - TFOR_ALL_F_OP_FUNC_F(ReturnType, res, =, ::Foam::Func, Type, f) \ -} \ - \ -TEMPLATE \ -tmp<Field<ReturnType>> Func(const UList<Type>& f) \ -{ \ - tmp<Field<ReturnType>> tRes(new Field<ReturnType>(f.size())); \ - Func(tRes(), f); \ - return tRes; \ -} \ - \ -TEMPLATE \ -tmp<Field<ReturnType>> Func(const tmp<Field<Type>>& tf) \ -{ \ - tmp<Field<ReturnType>> tRes = reuseTmp<ReturnType, Type>::New(tf); \ - Func(tRes(), tf()); \ - reuseTmp<ReturnType, Type>::clear(tf); \ - return tRes; \ +#define UNARY_FUNCTION(ReturnType, Type, Func) \ + \ +TEMPLATE \ +void Func(Field<ReturnType>& res, const UList<Type>& f) \ +{ \ + TFOR_ALL_F_OP_FUNC_F(ReturnType, res, =, ::Foam::Func, Type, f) \ +} \ + \ +TEMPLATE \ +tmp<Field<ReturnType>> Func(const UList<Type>& f) \ +{ \ + tmp<Field<ReturnType>> tRes(new Field<ReturnType>(f.size())); \ + Func(tRes(), f); \ + return tRes; \ +} \ + \ +TEMPLATE \ +tmp<Field<ReturnType>> Func(const tmp<Field<Type>>& tf) \ +{ \ + tmp<Field<ReturnType>> tRes = reuseTmp<ReturnType, Type>::New(tf); \ + Func(tRes(), tf()); \ + reuseTmp<ReturnType, Type>::clear(tf); \ + return tRes; \ } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -#define UNARY_OPERATOR(ReturnType, Type, Op, OpFunc) \ - \ -TEMPLATE \ -void OpFunc(Field<ReturnType>& res, const UList<Type>& f) \ -{ \ - TFOR_ALL_F_OP_OP_F(ReturnType, res, =, Op, Type, f) \ -} \ - \ -TEMPLATE \ -tmp<Field<ReturnType>> operator Op(const UList<Type>& f) \ -{ \ - tmp<Field<ReturnType>> tRes(new Field<ReturnType>(f.size())); \ - OpFunc(tRes(), f); \ - return tRes; \ -} \ - \ -TEMPLATE \ -tmp<Field<ReturnType>> operator Op(const tmp<Field<Type>>& tf) \ -{ \ - tmp<Field<ReturnType>> tRes = reuseTmp<ReturnType, Type>::New(tf); \ - OpFunc(tRes(), tf()); \ - reuseTmp<ReturnType, Type>::clear(tf); \ - return tRes; \ +#define UNARY_OPERATOR(ReturnType, Type, Op, OpFunc) \ + \ +TEMPLATE \ +void OpFunc(Field<ReturnType>& res, const UList<Type>& f) \ +{ \ + TFOR_ALL_F_OP_OP_F(ReturnType, res, =, Op, Type, f) \ +} \ + \ +TEMPLATE \ +tmp<Field<ReturnType>> operator Op(const UList<Type>& f) \ +{ \ + tmp<Field<ReturnType>> tRes(new Field<ReturnType>(f.size())); \ + OpFunc(tRes(), f); \ + return tRes; \ +} \ + \ +TEMPLATE \ +tmp<Field<ReturnType>> operator Op(const tmp<Field<Type>>& tf) \ +{ \ + tmp<Field<ReturnType>> tRes = reuseTmp<ReturnType, Type>::New(tf); \ + OpFunc(tRes(), tf()); \ + reuseTmp<ReturnType, Type>::clear(tf); \ + return tRes; \ } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -#define BINARY_FUNCTION(ReturnType, Type1, Type2, Func) \ - \ -TEMPLATE \ -void Func \ -( \ - Field<ReturnType>& res, \ - const UList<Type1>& f1, \ - const UList<Type2>& f2 \ -) \ -{ \ - TFOR_ALL_F_OP_FUNC_F_F \ - ( \ - ReturnType, res, =, ::Foam::Func, Type1, f1, Type2, f2 \ - ) \ -} \ - \ -TEMPLATE \ -tmp<Field<ReturnType>> Func \ -( \ - const UList<Type1>& f1, \ - const UList<Type2>& f2 \ -) \ -{ \ - tmp<Field<ReturnType>> tRes(new Field<ReturnType>(f1.size())); \ - Func(tRes(), f1, f2); \ - return tRes; \ -} \ - \ -TEMPLATE \ -tmp<Field<ReturnType>> Func \ -( \ - const UList<Type1>& f1, \ - const tmp<Field<Type2>>& tf2 \ -) \ -{ \ - tmp<Field<ReturnType>> tRes = reuseTmp<ReturnType, Type2>::New(tf2); \ - Func(tRes(), f1, tf2()); \ - reuseTmp<ReturnType, Type2>::clear(tf2); \ - return tRes; \ -} \ - \ -TEMPLATE \ -tmp<Field<ReturnType>> Func \ -( \ - const tmp<Field<Type1>>& tf1, \ - const UList<Type2>& f2 \ -) \ -{ \ - tmp<Field<ReturnType>> tRes = reuseTmp<ReturnType, Type1>::New(tf1); \ - Func(tRes(), tf1(), f2); \ - reuseTmp<ReturnType, Type1>::clear(tf1); \ - return tRes; \ -} \ - \ -TEMPLATE \ -tmp<Field<ReturnType>> Func \ -( \ - const tmp<Field<Type1>>& tf1, \ - const tmp<Field<Type2>>& tf2 \ -) \ -{ \ - tmp<Field<ReturnType>> tRes = \ - reuseTmpTmp<ReturnType, Type1, Type1, Type2>::New(tf1, tf2); \ - Func(tRes(), tf1(), tf2()); \ - reuseTmpTmp<ReturnType, Type1, Type1, Type2>::clear(tf1, tf2); \ - return tRes; \ +#define BINARY_FUNCTION(ReturnType, Type1, Type2, Func) \ + \ +TEMPLATE \ +void Func \ +( \ + Field<ReturnType>& res, \ + const UList<Type1>& f1, \ + const UList<Type2>& f2 \ +) \ +{ \ + TFOR_ALL_F_OP_FUNC_F_F \ + ( \ + ReturnType, res, =, ::Foam::Func, Type1, f1, Type2, f2 \ + ) \ +} \ + \ +TEMPLATE \ +tmp<Field<ReturnType>> Func \ +( \ + const UList<Type1>& f1, \ + const UList<Type2>& f2 \ +) \ +{ \ + tmp<Field<ReturnType>> tRes(new Field<ReturnType>(f1.size())); \ + Func(tRes(), f1, f2); \ + return tRes; \ +} \ + \ +TEMPLATE \ +tmp<Field<ReturnType>> Func \ +( \ + const UList<Type1>& f1, \ + const tmp<Field<Type2>>& tf2 \ +) \ +{ \ + tmp<Field<ReturnType>> tRes = reuseTmp<ReturnType, Type2>::New(tf2); \ + Func(tRes(), f1, tf2()); \ + reuseTmp<ReturnType, Type2>::clear(tf2); \ + return tRes; \ +} \ + \ +TEMPLATE \ +tmp<Field<ReturnType>> Func \ +( \ + const tmp<Field<Type1>>& tf1, \ + const UList<Type2>& f2 \ +) \ +{ \ + tmp<Field<ReturnType>> tRes = reuseTmp<ReturnType, Type1>::New(tf1); \ + Func(tRes(), tf1(), f2); \ + reuseTmp<ReturnType, Type1>::clear(tf1); \ + return tRes; \ +} \ + \ +TEMPLATE \ +tmp<Field<ReturnType>> Func \ +( \ + const tmp<Field<Type1>>& tf1, \ + const tmp<Field<Type2>>& tf2 \ +) \ +{ \ + tmp<Field<ReturnType>> tRes = \ + reuseTmpTmp<ReturnType, Type1, Type1, Type2>::New(tf1, tf2); \ + Func(tRes(), tf1(), tf2()); \ + reuseTmpTmp<ReturnType, Type1, Type1, Type2>::clear(tf1, tf2); \ + return tRes; \ } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -#define BINARY_TYPE_FUNCTION_SF(ReturnType, Type1, Type2, Func) \ - \ -TEMPLATE \ -void Func \ -( \ - Field<ReturnType>& res, \ - const Type1& s1, \ - const UList<Type2>& f2 \ -) \ -{ \ - TFOR_ALL_F_OP_FUNC_S_F \ - ( \ - ReturnType, res, =, ::Foam::Func, Type1, s1, Type2, f2 \ - ) \ -} \ - \ -TEMPLATE \ -tmp<Field<ReturnType>> Func \ -( \ - const Type1& s1, \ - const UList<Type2>& f2 \ -) \ -{ \ - tmp<Field<ReturnType>> tRes(new Field<ReturnType>(f2.size())); \ - Func(tRes(), s1, f2); \ - return tRes; \ -} \ - \ -TEMPLATE \ -tmp<Field<ReturnType>> Func \ -( \ - const Type1& s1, \ - const tmp<Field<Type2>>& tf2 \ -) \ -{ \ - tmp<Field<ReturnType>> tRes = reuseTmp<ReturnType, Type2>::New(tf2); \ - Func(tRes(), s1, tf2()); \ - reuseTmp<ReturnType, Type2>::clear(tf2); \ - return tRes; \ +#define BINARY_TYPE_FUNCTION_SF(ReturnType, Type1, Type2, Func) \ + \ +TEMPLATE \ +void Func \ +( \ + Field<ReturnType>& res, \ + const Type1& s1, \ + const UList<Type2>& f2 \ +) \ +{ \ + TFOR_ALL_F_OP_FUNC_S_F \ + ( \ + ReturnType, res, =, ::Foam::Func, Type1, s1, Type2, f2 \ + ) \ +} \ + \ +TEMPLATE \ +tmp<Field<ReturnType>> Func \ +( \ + const Type1& s1, \ + const UList<Type2>& f2 \ +) \ +{ \ + tmp<Field<ReturnType>> tRes(new Field<ReturnType>(f2.size())); \ + Func(tRes(), s1, f2); \ + return tRes; \ +} \ + \ +TEMPLATE \ +tmp<Field<ReturnType>> Func \ +( \ + const Type1& s1, \ + const tmp<Field<Type2>>& tf2 \ +) \ +{ \ + tmp<Field<ReturnType>> tRes = reuseTmp<ReturnType, Type2>::New(tf2); \ + Func(tRes(), s1, tf2()); \ + reuseTmp<ReturnType, Type2>::clear(tf2); \ + return tRes; \ } -#define BINARY_TYPE_FUNCTION_FS(ReturnType, Type1, Type2, Func) \ - \ -TEMPLATE \ -void Func \ -( \ - Field<ReturnType>& res, \ - const UList<Type1>& f1, \ - const Type2& s2 \ -) \ -{ \ - TFOR_ALL_F_OP_FUNC_F_S \ - ( \ - ReturnType, res, =, ::Foam::Func, Type1, f1, Type2, s2 \ - ) \ -} \ - \ -TEMPLATE \ -tmp<Field<ReturnType>> Func \ -( \ - const UList<Type1>& f1, \ - const Type2& s2 \ -) \ -{ \ - tmp<Field<ReturnType>> tRes(new Field<ReturnType>(f1.size())); \ - Func(tRes(), f1, s2); \ - return tRes; \ -} \ - \ -TEMPLATE \ -tmp<Field<ReturnType>> Func \ -( \ - const tmp<Field<Type1>>& tf1, \ - const Type2& s2 \ -) \ -{ \ - tmp<Field<ReturnType>> tRes = reuseTmp<ReturnType, Type1>::New(tf1); \ - Func(tRes(), tf1(), s2); \ - reuseTmp<ReturnType, Type1>::clear(tf1); \ - return tRes; \ +#define BINARY_TYPE_FUNCTION_FS(ReturnType, Type1, Type2, Func) \ + \ +TEMPLATE \ +void Func \ +( \ + Field<ReturnType>& res, \ + const UList<Type1>& f1, \ + const Type2& s2 \ +) \ +{ \ + TFOR_ALL_F_OP_FUNC_F_S \ + ( \ + ReturnType, res, =, ::Foam::Func, Type1, f1, Type2, s2 \ + ) \ +} \ + \ +TEMPLATE \ +tmp<Field<ReturnType>> Func \ +( \ + const UList<Type1>& f1, \ + const Type2& s2 \ +) \ +{ \ + tmp<Field<ReturnType>> tRes(new Field<ReturnType>(f1.size())); \ + Func(tRes(), f1, s2); \ + return tRes; \ +} \ + \ +TEMPLATE \ +tmp<Field<ReturnType>> Func \ +( \ + const tmp<Field<Type1>>& tf1, \ + const Type2& s2 \ +) \ +{ \ + tmp<Field<ReturnType>> tRes = reuseTmp<ReturnType, Type1>::New(tf1); \ + Func(tRes(), tf1(), s2); \ + reuseTmp<ReturnType, Type1>::clear(tf1); \ + return tRes; \ } -#define BINARY_TYPE_FUNCTION(ReturnType, Type1, Type2, Func) \ - BINARY_TYPE_FUNCTION_SF(ReturnType, Type1, Type2, Func) \ +#define BINARY_TYPE_FUNCTION(ReturnType, Type1, Type2, Func) \ + BINARY_TYPE_FUNCTION_SF(ReturnType, Type1, Type2, Func) \ BINARY_TYPE_FUNCTION_FS(ReturnType, Type1, Type2, Func) // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -#define BINARY_OPERATOR(ReturnType, Type1, Type2, Op, OpFunc) \ - \ -TEMPLATE \ -void OpFunc \ -( \ - Field<ReturnType>& res, \ - const UList<Type1>& f1, \ - const UList<Type2>& f2 \ -) \ -{ \ - TFOR_ALL_F_OP_F_OP_F(ReturnType, res, =, Type1, f1, Op, Type2, f2) \ -} \ - \ -TEMPLATE \ -tmp<Field<ReturnType>> operator Op \ -( \ - const UList<Type1>& f1, \ - const UList<Type2>& f2 \ -) \ -{ \ - tmp<Field<ReturnType>> tRes(new Field<ReturnType>(f1.size())); \ - OpFunc(tRes(), f1, f2); \ - return tRes; \ -} \ - \ -TEMPLATE \ -tmp<Field<ReturnType>> operator Op \ -( \ - const UList<Type1>& f1, \ - const tmp<Field<Type2>>& tf2 \ -) \ -{ \ - tmp<Field<ReturnType>> tRes = reuseTmp<ReturnType, Type2>::New(tf2); \ - OpFunc(tRes(), f1, tf2()); \ - reuseTmp<ReturnType, Type2>::clear(tf2); \ - return tRes; \ -} \ - \ -TEMPLATE \ -tmp<Field<ReturnType>> operator Op \ -( \ - const tmp<Field<Type1>>& tf1, \ - const UList<Type2>& f2 \ -) \ -{ \ - tmp<Field<ReturnType>> tRes = reuseTmp<ReturnType, Type1>::New(tf1); \ - OpFunc(tRes(), tf1(), f2); \ - reuseTmp<ReturnType, Type1>::clear(tf1); \ - return tRes; \ -} \ - \ -TEMPLATE \ -tmp<Field<ReturnType>> operator Op \ -( \ - const tmp<Field<Type1>>& tf1, \ - const tmp<Field<Type2>>& tf2 \ -) \ -{ \ - tmp<Field<ReturnType>> tRes = \ - reuseTmpTmp<ReturnType, Type1, Type1, Type2>::New(tf1, tf2); \ - OpFunc(tRes(), tf1(), tf2()); \ - reuseTmpTmp<ReturnType, Type1, Type1, Type2>::clear(tf1, tf2); \ - return tRes; \ +#define BINARY_OPERATOR(ReturnType, Type1, Type2, Op, OpFunc) \ + \ +TEMPLATE \ +void OpFunc \ +( \ + Field<ReturnType>& res, \ + const UList<Type1>& f1, \ + const UList<Type2>& f2 \ +) \ +{ \ + TFOR_ALL_F_OP_F_OP_F(ReturnType, res, =, Type1, f1, Op, Type2, f2) \ +} \ + \ +TEMPLATE \ +tmp<Field<ReturnType>> operator Op \ +( \ + const UList<Type1>& f1, \ + const UList<Type2>& f2 \ +) \ +{ \ + tmp<Field<ReturnType>> tRes(new Field<ReturnType>(f1.size())); \ + OpFunc(tRes(), f1, f2); \ + return tRes; \ +} \ + \ +TEMPLATE \ +tmp<Field<ReturnType>> operator Op \ +( \ + const UList<Type1>& f1, \ + const tmp<Field<Type2>>& tf2 \ +) \ +{ \ + tmp<Field<ReturnType>> tRes = reuseTmp<ReturnType, Type2>::New(tf2); \ + OpFunc(tRes(), f1, tf2()); \ + reuseTmp<ReturnType, Type2>::clear(tf2); \ + return tRes; \ +} \ + \ +TEMPLATE \ +tmp<Field<ReturnType>> operator Op \ +( \ + const tmp<Field<Type1>>& tf1, \ + const UList<Type2>& f2 \ +) \ +{ \ + tmp<Field<ReturnType>> tRes = reuseTmp<ReturnType, Type1>::New(tf1); \ + OpFunc(tRes(), tf1(), f2); \ + reuseTmp<ReturnType, Type1>::clear(tf1); \ + return tRes; \ +} \ + \ +TEMPLATE \ +tmp<Field<ReturnType>> operator Op \ +( \ + const tmp<Field<Type1>>& tf1, \ + const tmp<Field<Type2>>& tf2 \ +) \ +{ \ + tmp<Field<ReturnType>> tRes = \ + reuseTmpTmp<ReturnType, Type1, Type1, Type2>::New(tf1, tf2); \ + OpFunc(tRes(), tf1(), tf2()); \ + reuseTmpTmp<ReturnType, Type1, Type1, Type2>::clear(tf1, tf2); \ + return tRes; \ } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -#define BINARY_TYPE_OPERATOR_SF(ReturnType, Type1, Type2, Op, OpFunc) \ - \ -TEMPLATE \ -void OpFunc \ -( \ - Field<ReturnType>& res, \ - const Type1& s1, \ - const UList<Type2>& f2 \ -) \ -{ \ - TFOR_ALL_F_OP_S_OP_F(ReturnType, res, =, Type1, s1, Op, Type2, f2) \ -} \ - \ -TEMPLATE \ -tmp<Field<ReturnType>> operator Op \ -( \ - const Type1& s1, \ - const UList<Type2>& f2 \ -) \ -{ \ - tmp<Field<ReturnType>> tRes(new Field<ReturnType>(f2.size())); \ - OpFunc(tRes(), s1, f2); \ - return tRes; \ -} \ - \ -TEMPLATE \ -tmp<Field<ReturnType>> operator Op \ -( \ - const Type1& s1, \ - const tmp<Field<Type2>>& tf2 \ -) \ -{ \ - tmp<Field<ReturnType>> tRes = reuseTmp<ReturnType, Type2>::New(tf2); \ - OpFunc(tRes(), s1, tf2()); \ - reuseTmp<ReturnType, Type2>::clear(tf2); \ - return tRes; \ +#define BINARY_TYPE_OPERATOR_SF(ReturnType, Type1, Type2, Op, OpFunc) \ + \ +TEMPLATE \ +void OpFunc \ +( \ + Field<ReturnType>& res, \ + const Type1& s1, \ + const UList<Type2>& f2 \ +) \ +{ \ + TFOR_ALL_F_OP_S_OP_F(ReturnType, res, =, Type1, s1, Op, Type2, f2) \ +} \ + \ +TEMPLATE \ +tmp<Field<ReturnType>> operator Op \ +( \ + const Type1& s1, \ + const UList<Type2>& f2 \ +) \ +{ \ + tmp<Field<ReturnType>> tRes(new Field<ReturnType>(f2.size())); \ + OpFunc(tRes(), s1, f2); \ + return tRes; \ +} \ + \ +TEMPLATE \ +tmp<Field<ReturnType>> operator Op \ +( \ + const Type1& s1, \ + const tmp<Field<Type2>>& tf2 \ +) \ +{ \ + tmp<Field<ReturnType>> tRes = reuseTmp<ReturnType, Type2>::New(tf2); \ + OpFunc(tRes(), s1, tf2()); \ + reuseTmp<ReturnType, Type2>::clear(tf2); \ + return tRes; \ } -#define BINARY_TYPE_OPERATOR_FS(ReturnType, Type1, Type2, Op, OpFunc) \ - \ -TEMPLATE \ -void OpFunc \ -( \ - Field<ReturnType>& res, \ - const UList<Type1>& f1, \ - const Type2& s2 \ -) \ -{ \ - TFOR_ALL_F_OP_F_OP_S(ReturnType, res, =, Type1, f1, Op, Type2, s2) \ -} \ - \ -TEMPLATE \ -tmp<Field<ReturnType>> operator Op \ -( \ - const UList<Type1>& f1, \ - const Type2& s2 \ -) \ -{ \ - tmp<Field<ReturnType>> tRes(new Field<ReturnType>(f1.size())); \ - OpFunc(tRes(), f1, s2); \ - return tRes; \ -} \ - \ -TEMPLATE \ -tmp<Field<ReturnType>> operator Op \ -( \ - const tmp<Field<Type1>>& tf1, \ - const Type2& s2 \ -) \ -{ \ - tmp<Field<ReturnType>> tRes = reuseTmp<ReturnType, Type1>::New(tf1); \ - OpFunc(tRes(), tf1(), s2); \ - reuseTmp<ReturnType, Type1>::clear(tf1); \ - return tRes; \ +#define BINARY_TYPE_OPERATOR_FS(ReturnType, Type1, Type2, Op, OpFunc) \ + \ +TEMPLATE \ +void OpFunc \ +( \ + Field<ReturnType>& res, \ + const UList<Type1>& f1, \ + const Type2& s2 \ +) \ +{ \ + TFOR_ALL_F_OP_F_OP_S(ReturnType, res, =, Type1, f1, Op, Type2, s2) \ +} \ + \ +TEMPLATE \ +tmp<Field<ReturnType>> operator Op \ +( \ + const UList<Type1>& f1, \ + const Type2& s2 \ +) \ +{ \ + tmp<Field<ReturnType>> tRes(new Field<ReturnType>(f1.size())); \ + OpFunc(tRes(), f1, s2); \ + return tRes; \ +} \ + \ +TEMPLATE \ +tmp<Field<ReturnType>> operator Op \ +( \ + const tmp<Field<Type1>>& tf1, \ + const Type2& s2 \ +) \ +{ \ + tmp<Field<ReturnType>> tRes = reuseTmp<ReturnType, Type1>::New(tf1); \ + OpFunc(tRes(), tf1(), s2); \ + reuseTmp<ReturnType, Type1>::clear(tf1); \ + return tRes; \ } -#define BINARY_TYPE_OPERATOR(ReturnType, Type1, Type2, Op, OpFunc) \ - BINARY_TYPE_OPERATOR_SF(ReturnType, Type1, Type2, Op, OpFunc) \ +#define BINARY_TYPE_OPERATOR(ReturnType, Type1, Type2, Op, OpFunc) \ + BINARY_TYPE_OPERATOR_SF(ReturnType, Type1, Type2, Op, OpFunc) \ BINARY_TYPE_OPERATOR_FS(ReturnType, Type1, Type2, Op, OpFunc) diff --git a/src/OpenFOAM/fields/Fields/Field/FieldFunctionsM.H b/src/OpenFOAM/fields/Fields/Field/FieldFunctionsM.H index 4d0993e767b..89fdfa40678 100644 --- a/src/OpenFOAM/fields/Fields/Field/FieldFunctionsM.H +++ b/src/OpenFOAM/fields/Fields/Field/FieldFunctionsM.H @@ -30,221 +30,221 @@ Description // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -#define UNARY_FUNCTION(ReturnType, Type1, Func) \ - \ -TEMPLATE \ -void Func(Field<ReturnType>& res, const UList<Type1>& f); \ -TEMPLATE \ -tmp<Field<ReturnType>> Func(const UList<Type1>& f); \ -TEMPLATE \ +#define UNARY_FUNCTION(ReturnType, Type1, Func) \ + \ +TEMPLATE \ +void Func(Field<ReturnType>& res, const UList<Type1>& f); \ +TEMPLATE \ +tmp<Field<ReturnType>> Func(const UList<Type1>& f); \ +TEMPLATE \ tmp<Field<ReturnType>> Func(const tmp<Field<Type1>>& tf); // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -#define UNARY_OPERATOR(ReturnType, Type1, Op, OpFunc) \ - \ -TEMPLATE \ -void OpFunc(Field<ReturnType>& res, const UList<Type1>& f); \ -TEMPLATE \ -tmp<Field<ReturnType>> operator Op(const UList<Type1>& f); \ -TEMPLATE \ +#define UNARY_OPERATOR(ReturnType, Type1, Op, OpFunc) \ + \ +TEMPLATE \ +void OpFunc(Field<ReturnType>& res, const UList<Type1>& f); \ +TEMPLATE \ +tmp<Field<ReturnType>> operator Op(const UList<Type1>& f); \ +TEMPLATE \ tmp<Field<ReturnType>> operator Op(const tmp<Field<Type1>>& tf); // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -#define BINARY_FUNCTION(ReturnType, Type1, Type2, Func) \ - \ -TEMPLATE \ -void Func \ -( \ - Field<ReturnType>& f, \ - const UList<Type1>& f1, \ - const UList<Type2>& f2 \ -); \ - \ -TEMPLATE \ -tmp<Field<ReturnType>> Func \ -( \ - const UList<Type1>& f1, \ - const UList<Type2>& f2 \ -); \ - \ -TEMPLATE \ -tmp<Field<ReturnType>> Func \ -( \ - const UList<Type1>& f1, \ - const tmp<Field<Type2>>& tf2 \ -); \ - \ -TEMPLATE \ -tmp<Field<ReturnType>> Func \ -( \ - const tmp<Field<Type1>>& tf1, \ - const UList<Type2>& f2 \ -); \ - \ -TEMPLATE \ -tmp<Field<ReturnType>> Func \ -( \ - const tmp<Field<Type1>>& tf1, \ - const tmp<Field<Type2>>& tf2 \ +#define BINARY_FUNCTION(ReturnType, Type1, Type2, Func) \ + \ +TEMPLATE \ +void Func \ +( \ + Field<ReturnType>& f, \ + const UList<Type1>& f1, \ + const UList<Type2>& f2 \ +); \ + \ +TEMPLATE \ +tmp<Field<ReturnType>> Func \ +( \ + const UList<Type1>& f1, \ + const UList<Type2>& f2 \ +); \ + \ +TEMPLATE \ +tmp<Field<ReturnType>> Func \ +( \ + const UList<Type1>& f1, \ + const tmp<Field<Type2>>& tf2 \ +); \ + \ +TEMPLATE \ +tmp<Field<ReturnType>> Func \ +( \ + const tmp<Field<Type1>>& tf1, \ + const UList<Type2>& f2 \ +); \ + \ +TEMPLATE \ +tmp<Field<ReturnType>> Func \ +( \ + const tmp<Field<Type1>>& tf1, \ + const tmp<Field<Type2>>& tf2 \ ); // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -#define BINARY_TYPE_FUNCTION_SF(ReturnType, Type1, Type2, Func) \ - \ -TEMPLATE \ -void Func \ -( \ - Field<ReturnType>& f, \ - const Type1& s1, \ - const UList<Type2>& f2 \ -); \ - \ -TEMPLATE \ -tmp<Field<ReturnType>> Func \ -( \ - const Type1& s1, \ - const UList<Type2>& f2 \ -); \ - \ -TEMPLATE \ -tmp<Field<ReturnType>> Func \ -( \ - const Type1& s1, \ - const tmp<Field<Type2>>& tf2 \ +#define BINARY_TYPE_FUNCTION_SF(ReturnType, Type1, Type2, Func) \ + \ +TEMPLATE \ +void Func \ +( \ + Field<ReturnType>& f, \ + const Type1& s1, \ + const UList<Type2>& f2 \ +); \ + \ +TEMPLATE \ +tmp<Field<ReturnType>> Func \ +( \ + const Type1& s1, \ + const UList<Type2>& f2 \ +); \ + \ +TEMPLATE \ +tmp<Field<ReturnType>> Func \ +( \ + const Type1& s1, \ + const tmp<Field<Type2>>& tf2 \ ); -#define BINARY_TYPE_FUNCTION_FS(ReturnType, Type1, Type2, Func) \ - \ -TEMPLATE \ -void Func \ -( \ - Field<ReturnType>& f, \ - const UList<Type1>& f1, \ - const Type2& s2 \ -); \ - \ -TEMPLATE \ -tmp<Field<ReturnType>> Func \ -( \ - const UList<Type1>& f1, \ - const Type2& s2 \ -); \ - \ -TEMPLATE \ -tmp<Field<ReturnType>> Func \ -( \ - const tmp<Field<Type1>>& tf1, \ - const Type2& s2 \ +#define BINARY_TYPE_FUNCTION_FS(ReturnType, Type1, Type2, Func) \ + \ +TEMPLATE \ +void Func \ +( \ + Field<ReturnType>& f, \ + const UList<Type1>& f1, \ + const Type2& s2 \ +); \ + \ +TEMPLATE \ +tmp<Field<ReturnType>> Func \ +( \ + const UList<Type1>& f1, \ + const Type2& s2 \ +); \ + \ +TEMPLATE \ +tmp<Field<ReturnType>> Func \ +( \ + const tmp<Field<Type1>>& tf1, \ + const Type2& s2 \ ); -#define BINARY_TYPE_FUNCTION(ReturnType, Type1, Type2, Func) \ - BINARY_TYPE_FUNCTION_SF(ReturnType, Type1, Type2, Func) \ +#define BINARY_TYPE_FUNCTION(ReturnType, Type1, Type2, Func) \ + BINARY_TYPE_FUNCTION_SF(ReturnType, Type1, Type2, Func) \ BINARY_TYPE_FUNCTION_FS(ReturnType, Type1, Type2, Func) // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -#define BINARY_OPERATOR(ReturnType, Type1, Type2, Op, OpFunc) \ - \ -TEMPLATE \ -void OpFunc \ -( \ - Field<ReturnType>& f, \ - const UList<Type1>& f1, \ - const UList<Type2>& f2 \ -); \ - \ -TEMPLATE \ -tmp<Field<ReturnType>> operator Op \ -( \ - const UList<Type1>& f1, \ - const UList<Type2>& f2 \ -); \ - \ -TEMPLATE \ -tmp<Field<ReturnType>> operator Op \ -( \ - const UList<Type1>& f1, \ - const tmp<Field<Type2>>& tf2 \ -); \ - \ -TEMPLATE \ -tmp<Field<ReturnType>> operator Op \ -( \ - const tmp<Field<Type1>>& tf1, \ - const UList<Type2>& f2 \ -); \ - \ -TEMPLATE \ -tmp<Field<ReturnType>> operator Op \ -( \ - const tmp<Field<Type1>>& tf1, \ - const tmp<Field<Type2>>& tf2 \ +#define BINARY_OPERATOR(ReturnType, Type1, Type2, Op, OpFunc) \ + \ +TEMPLATE \ +void OpFunc \ +( \ + Field<ReturnType>& f, \ + const UList<Type1>& f1, \ + const UList<Type2>& f2 \ +); \ + \ +TEMPLATE \ +tmp<Field<ReturnType>> operator Op \ +( \ + const UList<Type1>& f1, \ + const UList<Type2>& f2 \ +); \ + \ +TEMPLATE \ +tmp<Field<ReturnType>> operator Op \ +( \ + const UList<Type1>& f1, \ + const tmp<Field<Type2>>& tf2 \ +); \ + \ +TEMPLATE \ +tmp<Field<ReturnType>> operator Op \ +( \ + const tmp<Field<Type1>>& tf1, \ + const UList<Type2>& f2 \ +); \ + \ +TEMPLATE \ +tmp<Field<ReturnType>> operator Op \ +( \ + const tmp<Field<Type1>>& tf1, \ + const tmp<Field<Type2>>& tf2 \ ); // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -#define BINARY_TYPE_OPERATOR_SF(ReturnType, Type1, Type2, Op, OpFunc) \ - \ -TEMPLATE \ -void OpFunc \ -( \ - Field<ReturnType>& f, \ - const Type1& s1, \ - const UList<Type2>& f2 \ -); \ - \ -TEMPLATE \ -tmp<Field<ReturnType>> operator Op \ -( \ - const Type1& s1, \ - const UList<Type2>& f2 \ -); \ - \ -TEMPLATE \ -tmp<Field<ReturnType>> operator Op \ -( \ - const Type1& s1, \ - const tmp<Field<Type2>>& tf2 \ +#define BINARY_TYPE_OPERATOR_SF(ReturnType, Type1, Type2, Op, OpFunc) \ + \ +TEMPLATE \ +void OpFunc \ +( \ + Field<ReturnType>& f, \ + const Type1& s1, \ + const UList<Type2>& f2 \ +); \ + \ +TEMPLATE \ +tmp<Field<ReturnType>> operator Op \ +( \ + const Type1& s1, \ + const UList<Type2>& f2 \ +); \ + \ +TEMPLATE \ +tmp<Field<ReturnType>> operator Op \ +( \ + const Type1& s1, \ + const tmp<Field<Type2>>& tf2 \ ); -#define BINARY_TYPE_OPERATOR_FS(ReturnType, Type1, Type2, Op, OpFunc) \ - \ -TEMPLATE \ -void OpFunc \ -( \ - Field<ReturnType>& f, \ - const UList<Type1>& f1, \ - const Type2& s2 \ -); \ - \ -TEMPLATE \ -tmp<Field<ReturnType>> operator Op \ -( \ - const UList<Type1>& f1, \ - const Type2& s2 \ -); \ - \ -TEMPLATE \ -tmp<Field<ReturnType>> operator Op \ -( \ - const tmp<Field<Type1>>& tf1, \ - const Type2& s2 \ +#define BINARY_TYPE_OPERATOR_FS(ReturnType, Type1, Type2, Op, OpFunc) \ + \ +TEMPLATE \ +void OpFunc \ +( \ + Field<ReturnType>& f, \ + const UList<Type1>& f1, \ + const Type2& s2 \ +); \ + \ +TEMPLATE \ +tmp<Field<ReturnType>> operator Op \ +( \ + const UList<Type1>& f1, \ + const Type2& s2 \ +); \ + \ +TEMPLATE \ +tmp<Field<ReturnType>> operator Op \ +( \ + const tmp<Field<Type1>>& tf1, \ + const Type2& s2 \ ); -#define BINARY_TYPE_OPERATOR(ReturnType, Type1, Type2, Op, OpFunc) \ - BINARY_TYPE_OPERATOR_SF(ReturnType, Type1, Type2, Op, OpFunc) \ +#define BINARY_TYPE_OPERATOR(ReturnType, Type1, Type2, Op, OpFunc) \ + BINARY_TYPE_OPERATOR_SF(ReturnType, Type1, Type2, Op, OpFunc) \ BINARY_TYPE_OPERATOR_FS(ReturnType, Type1, Type2, Op, OpFunc) diff --git a/src/OpenFOAM/fields/Fields/Field/FieldM.H b/src/OpenFOAM/fields/Fields/Field/FieldM.H index ff3861d4e7c..dc542bdb755 100644 --- a/src/OpenFOAM/fields/Fields/Field/FieldM.H +++ b/src/OpenFOAM/fields/Fields/Field/FieldM.H @@ -109,250 +109,250 @@ void checkFields // member function : this f1 OP fUNC f2 -#define TFOR_ALL_F_OP_FUNC_F(typeF1, f1, OP, FUNC, typeF2, f2) \ - \ - /* check the two fields have same Field<Type> mesh */ \ - checkFields(f1, f2, "f1 " #OP " " #FUNC "(f2)"); \ - \ - /* set access to f1, f2 and f3 at end of each field */ \ - List_ACCESS(typeF1, f1, f1P); \ - List_CONST_ACCESS(typeF2, f2, f2P); \ - \ - /* loop through fields performing f1 OP1 f2 OP2 f3 */ \ - List_FOR_ALL(f1, i) \ - List_ELEM(f1, f1P, i) OP FUNC(List_ELEM(f2, f2P, i)); \ - List_END_FOR_ALL \ - - -#define TFOR_ALL_F_OP_F_FUNC(typeF1, f1, OP, typeF2, f2, FUNC) \ - \ - /* check the two fields have same Field<Type> mesh */ \ - checkFields(f1, f2, "f1 " #OP " f2" #FUNC); \ - \ - /* set access to f1, f2 and f3 at end of each field */ \ - List_ACCESS(typeF1, f1, f1P); \ - List_CONST_ACCESS(typeF2, f2, f2P); \ - \ - /* loop through fields performing f1 OP1 f2 OP2 f3 */ \ - List_FOR_ALL(f1, i) \ - List_ELEM(f1, f1P, i) OP List_ELEM(f2, f2P, i).FUNC(); \ - List_END_FOR_ALL \ +#define TFOR_ALL_F_OP_FUNC_F(typeF1, f1, OP, FUNC, typeF2, f2) \ + \ + /* check the two fields have same Field<Type> mesh */ \ + checkFields(f1, f2, "f1 " #OP " " #FUNC "(f2)"); \ + \ + /* set access to f1, f2 and f3 at end of each field */ \ + List_ACCESS(typeF1, f1, f1P); \ + List_CONST_ACCESS(typeF2, f2, f2P); \ + \ + /* loop through fields performing f1 OP1 f2 OP2 f3 */ \ + List_FOR_ALL(f1, i) \ + List_ELEM(f1, f1P, i) OP FUNC(List_ELEM(f2, f2P, i)); \ + List_END_FOR_ALL \ + + +#define TFOR_ALL_F_OP_F_FUNC(typeF1, f1, OP, typeF2, f2, FUNC) \ + \ + /* check the two fields have same Field<Type> mesh */ \ + checkFields(f1, f2, "f1 " #OP " f2" #FUNC); \ + \ + /* set access to f1, f2 and f3 at end of each field */ \ + List_ACCESS(typeF1, f1, f1P); \ + List_CONST_ACCESS(typeF2, f2, f2P); \ + \ + /* loop through fields performing f1 OP1 f2 OP2 f3 */ \ + List_FOR_ALL(f1, i) \ + List_ELEM(f1, f1P, i) OP List_ELEM(f2, f2P, i).FUNC(); \ + List_END_FOR_ALL \ // member function : this field f1 OP fUNC f2, f3 #define TFOR_ALL_F_OP_FUNC_F_F(typeF1, f1, OP, FUNC, typeF2, f2, typeF3, f3)\ - \ - /* check the three fields have same Field<Type> mesh */ \ - checkFields(f1, f2, f3, "f1 " #OP " " #FUNC "(f2, f3)"); \ - \ - /* set access to f1, f2 and f3 at end of each field */ \ - List_ACCESS(typeF1, f1, f1P); \ - List_CONST_ACCESS(typeF2, f2, f2P); \ - List_CONST_ACCESS(typeF3, f3, f3P); \ - \ - /* loop through fields performing f1 OP1 f2 OP2 f3 */ \ - List_FOR_ALL(f1, i) \ - List_ELEM(f1, f1P, i) \ - OP FUNC(List_ELEM(f2, f2P, i), List_ELEM(f3, f3P, i)); \ - List_END_FOR_ALL \ + \ + /* check the three fields have same Field<Type> mesh */ \ + checkFields(f1, f2, f3, "f1 " #OP " " #FUNC "(f2, f3)"); \ + \ + /* set access to f1, f2 and f3 at end of each field */ \ + List_ACCESS(typeF1, f1, f1P); \ + List_CONST_ACCESS(typeF2, f2, f2P); \ + List_CONST_ACCESS(typeF3, f3, f3P); \ + \ + /* loop through fields performing f1 OP1 f2 OP2 f3 */ \ + List_FOR_ALL(f1, i) \ + List_ELEM(f1, f1P, i) \ + OP FUNC(List_ELEM(f2, f2P, i), List_ELEM(f3, f3P, i)); \ + List_END_FOR_ALL \ // member function : this field f1 OP fUNC f2, f3 -#define TFOR_ALL_S_OP_FUNC_F_F(typeS, s, OP, FUNC, typeF1, f1, typeF2, f2) \ - \ - /* check the two fields have same Field<Type> mesh */ \ - checkFields(f1, f2, "s " #OP " " #FUNC "(f1, f2)"); \ - \ - /* set access to f1 and f2 at end of each field */ \ - List_CONST_ACCESS(typeF1, f1, f1P); \ - List_CONST_ACCESS(typeF2, f2, f2P); \ - \ - /* loop through fields performing s OP FUNC(f1, f2) */ \ - List_FOR_ALL(f1, i) \ - (s) OP FUNC(List_ELEM(f1, f1P, i), List_ELEM(f2, f2P, i)); \ - List_END_FOR_ALL \ +#define TFOR_ALL_S_OP_FUNC_F_F(typeS, s, OP, FUNC, typeF1, f1, typeF2, f2) \ + \ + /* check the two fields have same Field<Type> mesh */ \ + checkFields(f1, f2, "s " #OP " " #FUNC "(f1, f2)"); \ + \ + /* set access to f1 and f2 at end of each field */ \ + List_CONST_ACCESS(typeF1, f1, f1P); \ + List_CONST_ACCESS(typeF2, f2, f2P); \ + \ + /* loop through fields performing s OP FUNC(f1, f2) */ \ + List_FOR_ALL(f1, i) \ + (s) OP FUNC(List_ELEM(f1, f1P, i), List_ELEM(f2, f2P, i)); \ + List_END_FOR_ALL \ // member function : this f1 OP fUNC f2, s -#define TFOR_ALL_F_OP_FUNC_F_S(typeF1, f1, OP, FUNC, typeF2, f2, typeS, s) \ - \ - /* check the two fields have same Field<Type> mesh */ \ - checkFields(f1, f2, "f1 " #OP " " #FUNC "(f2, s)"); \ - \ - /* set access to f1, f2 and f3 at end of each field */ \ - List_ACCESS(typeF1, f1, f1P); \ - List_CONST_ACCESS(typeF2, f2, f2P); \ - \ - /* loop through fields performing f1 OP1 f2 OP2 f3 */ \ - List_FOR_ALL(f1, i) \ - List_ELEM(f1, f1P, i) OP FUNC(List_ELEM(f2, f2P, i), (s)); \ +#define TFOR_ALL_F_OP_FUNC_F_S(typeF1, f1, OP, FUNC, typeF2, f2, typeS, s) \ + \ + /* check the two fields have same Field<Type> mesh */ \ + checkFields(f1, f2, "f1 " #OP " " #FUNC "(f2, s)"); \ + \ + /* set access to f1, f2 and f3 at end of each field */ \ + List_ACCESS(typeF1, f1, f1P); \ + List_CONST_ACCESS(typeF2, f2, f2P); \ + \ + /* loop through fields performing f1 OP1 f2 OP2 f3 */ \ + List_FOR_ALL(f1, i) \ + List_ELEM(f1, f1P, i) OP FUNC(List_ELEM(f2, f2P, i), (s)); \ List_END_FOR_ALL // member function : s1 OP fUNC f, s2 -#define TFOR_ALL_S_OP_FUNC_F_S(typeS1, s1, OP, FUNC, typeF, f, typeS2, s2) \ - \ - /* set access to f at end of field */ \ - List_CONST_ACCESS(typeF, f, fP); \ - \ - /* loop through fields performing f1 OP1 f2 OP2 f3 */ \ - List_FOR_ALL(f, i) \ - (s1) OP FUNC(List_ELEM(f, fP, i), (s2)); \ - List_END_FOR_ALL \ +#define TFOR_ALL_S_OP_FUNC_F_S(typeS1, s1, OP, FUNC, typeF, f, typeS2, s2) \ + \ + /* set access to f at end of field */ \ + List_CONST_ACCESS(typeF, f, fP); \ + \ + /* loop through fields performing f1 OP1 f2 OP2 f3 */ \ + List_FOR_ALL(f, i) \ + (s1) OP FUNC(List_ELEM(f, fP, i), (s2)); \ + List_END_FOR_ALL \ // member function : this f1 OP fUNC s, f2 -#define TFOR_ALL_F_OP_FUNC_S_F(typeF1, f1, OP, FUNC, typeS, s, typeF2, f2) \ - \ - /* check the two fields have same Field<Type> mesh */ \ - checkFields(f1, f2, "f1 " #OP " " #FUNC "(s, f2)"); \ - \ - /* set access to f1, f2 and f3 at end of each field */ \ - List_ACCESS(typeF1, f1, f1P); \ - List_CONST_ACCESS(typeF2, f2, f2P); \ - \ - /* loop through fields performing f1 OP1 f2 OP2 f3 */ \ - List_FOR_ALL(f1, i) \ - List_ELEM(f1, f1P, i) OP FUNC((s), List_ELEM(f2, f2P, i)); \ - List_END_FOR_ALL \ +#define TFOR_ALL_F_OP_FUNC_S_F(typeF1, f1, OP, FUNC, typeS, s, typeF2, f2) \ + \ + /* check the two fields have same Field<Type> mesh */ \ + checkFields(f1, f2, "f1 " #OP " " #FUNC "(s, f2)"); \ + \ + /* set access to f1, f2 and f3 at end of each field */ \ + List_ACCESS(typeF1, f1, f1P); \ + List_CONST_ACCESS(typeF2, f2, f2P); \ + \ + /* loop through fields performing f1 OP1 f2 OP2 f3 */ \ + List_FOR_ALL(f1, i) \ + List_ELEM(f1, f1P, i) OP FUNC((s), List_ELEM(f2, f2P, i)); \ + List_END_FOR_ALL \ // member function : this f1 OP fUNC s, f2 #define TFOR_ALL_F_OP_FUNC_S_S(typeF1, f1, OP, FUNC, typeS1, s1, typeS2, s2)\ - \ - /* set access to f1 at end of field */ \ - List_ACCESS(typeF1, f1, f1P); \ - \ - /* loop through fields performing f1 OP1 FUNC(s1, s2) */ \ - List_FOR_ALL(f1, i) \ - List_ELEM(f1, f1P, i) OP FUNC((s1), (s2)); \ - List_END_FOR_ALL \ + \ + /* set access to f1 at end of field */ \ + List_ACCESS(typeF1, f1, f1P); \ + \ + /* loop through fields performing f1 OP1 FUNC(s1, s2) */ \ + List_FOR_ALL(f1, i) \ + List_ELEM(f1, f1P, i) OP FUNC((s1), (s2)); \ + List_END_FOR_ALL \ // member function : this f1 OP1 f2 OP2 FUNC s -#define TFOR_ALL_F_OP_F_FUNC_S(typeF1, f1, OP, typeF2, f2, FUNC, typeS, s) \ - \ - /* check the two fields have same Field<Type> mesh */ \ - checkFields(f1, f2, "f1 " #OP " f2 " #FUNC "(s)"); \ - \ - /* set access to f1, f2 and f3 at end of each field */ \ - List_ACCESS(typeF1, f1, f1P); \ - List_CONST_ACCESS(typeF2, f2, f2P); \ - \ - /* loop through fields performing f1 OP1 f2 OP2 f3 */ \ - List_FOR_ALL(f1, i) \ - List_ELEM(f1, f1P, i) OP List_ELEM(f2, f2P, i) FUNC((s)); \ - List_END_FOR_ALL \ +#define TFOR_ALL_F_OP_F_FUNC_S(typeF1, f1, OP, typeF2, f2, FUNC, typeS, s) \ + \ + /* check the two fields have same Field<Type> mesh */ \ + checkFields(f1, f2, "f1 " #OP " f2 " #FUNC "(s)"); \ + \ + /* set access to f1, f2 and f3 at end of each field */ \ + List_ACCESS(typeF1, f1, f1P); \ + List_CONST_ACCESS(typeF2, f2, f2P); \ + \ + /* loop through fields performing f1 OP1 f2 OP2 f3 */ \ + List_FOR_ALL(f1, i) \ + List_ELEM(f1, f1P, i) OP List_ELEM(f2, f2P, i) FUNC((s)); \ + List_END_FOR_ALL \ // define high performance macro functions for Field<Type> operations // member operator : this field f1 OP1 f2 OP2 f3 -#define TFOR_ALL_F_OP_F_OP_F(typeF1, f1, OP1, typeF2, f2, OP2, typeF3, f3) \ - \ - /* check the three fields have same Field<Type> mesh */ \ - checkFields(f1, f2, f3, "f1 " #OP1 " f2 " #OP2 " f3"); \ - \ - /* set access to f1, f2 and f3 at end of each field */ \ - List_ACCESS(typeF1, f1, f1P); \ - List_CONST_ACCESS(typeF2, f2, f2P); \ - List_CONST_ACCESS(typeF3, f3, f3P); \ - \ - /* loop through fields performing f1 OP1 f2 OP2 f3 */ \ - List_FOR_ALL(f1, i) \ - List_ELEM(f1, f1P, i) OP1 List_ELEM(f2, f2P, i) \ - OP2 List_ELEM(f3, f3P, i); \ - List_END_FOR_ALL \ +#define TFOR_ALL_F_OP_F_OP_F(typeF1, f1, OP1, typeF2, f2, OP2, typeF3, f3) \ + \ + /* check the three fields have same Field<Type> mesh */ \ + checkFields(f1, f2, f3, "f1 " #OP1 " f2 " #OP2 " f3"); \ + \ + /* set access to f1, f2 and f3 at end of each field */ \ + List_ACCESS(typeF1, f1, f1P); \ + List_CONST_ACCESS(typeF2, f2, f2P); \ + List_CONST_ACCESS(typeF3, f3, f3P); \ + \ + /* loop through fields performing f1 OP1 f2 OP2 f3 */ \ + List_FOR_ALL(f1, i) \ + List_ELEM(f1, f1P, i) OP1 List_ELEM(f2, f2P, i) \ + OP2 List_ELEM(f3, f3P, i); \ + List_END_FOR_ALL \ // member operator : this field f1 OP1 s OP2 f2 -#define TFOR_ALL_F_OP_S_OP_F(typeF1, f1, OP1, typeS, s, OP2, typeF2, f2) \ - \ - /* check the two fields have same Field<Type> mesh */ \ - checkFields(f1, f2, "f1 " #OP1 " s " #OP2 " f2"); \ - \ - /* set access to f1 and f2 at end of each field */ \ - List_ACCESS(typeF1, f1, f1P); \ - List_CONST_ACCESS(typeF2, f2, f2P); \ - \ - /* loop through fields performing f1 OP1 s OP2 f2 */ \ - List_FOR_ALL(f1, i) \ - List_ELEM(f1, f1P, i) OP1 (s) OP2 List_ELEM(f2, f2P, i); \ - List_END_FOR_ALL \ +#define TFOR_ALL_F_OP_S_OP_F(typeF1, f1, OP1, typeS, s, OP2, typeF2, f2) \ + \ + /* check the two fields have same Field<Type> mesh */ \ + checkFields(f1, f2, "f1 " #OP1 " s " #OP2 " f2"); \ + \ + /* set access to f1 and f2 at end of each field */ \ + List_ACCESS(typeF1, f1, f1P); \ + List_CONST_ACCESS(typeF2, f2, f2P); \ + \ + /* loop through fields performing f1 OP1 s OP2 f2 */ \ + List_FOR_ALL(f1, i) \ + List_ELEM(f1, f1P, i) OP1 (s) OP2 List_ELEM(f2, f2P, i); \ + List_END_FOR_ALL \ // member operator : this field f1 OP1 f2 OP2 s -#define TFOR_ALL_F_OP_F_OP_S(typeF1, f1, OP1, typeF2, f2, OP2, typeS, s) \ - \ - /* check the two fields have same Field<Type> mesh */ \ - checkFields(f1, f2, "f1 " #OP1 " f2 " #OP2 " s"); \ - \ - /* set access to f1 and f2 at end of each field */ \ - List_ACCESS(typeF1, f1, f1P); \ - List_CONST_ACCESS(typeF2, f2, f2P); \ - \ - /* loop through fields performing f1 OP1 s OP2 f2 */ \ - List_FOR_ALL(f1, i) \ - List_ELEM(f1, f1P, i) OP1 List_ELEM(f2, f2P, i) OP2 (s); \ - List_END_FOR_ALL \ +#define TFOR_ALL_F_OP_F_OP_S(typeF1, f1, OP1, typeF2, f2, OP2, typeS, s) \ + \ + /* check the two fields have same Field<Type> mesh */ \ + checkFields(f1, f2, "f1 " #OP1 " f2 " #OP2 " s"); \ + \ + /* set access to f1 and f2 at end of each field */ \ + List_ACCESS(typeF1, f1, f1P); \ + List_CONST_ACCESS(typeF2, f2, f2P); \ + \ + /* loop through fields performing f1 OP1 s OP2 f2 */ \ + List_FOR_ALL(f1, i) \ + List_ELEM(f1, f1P, i) OP1 List_ELEM(f2, f2P, i) OP2 (s); \ + List_END_FOR_ALL \ // member operator : this field f1 OP f2 -#define TFOR_ALL_F_OP_F(typeF1, f1, OP, typeF2, f2) \ - \ - /* check the two fields have same Field<Type> mesh */ \ - checkFields(f1, f2, "f1 " #OP " f2"); \ - \ - /* set pointer to f1P at end of f1 and */ \ - /* f2.p at end of f2 */ \ - List_ACCESS(typeF1, f1, f1P); \ - List_CONST_ACCESS(typeF2, f2, f2P); \ - \ - /* loop through fields performing f1 OP f2 */ \ - List_FOR_ALL(f1, i) \ - List_ELEM(f1, f1P, i) OP List_ELEM(f2, f2P, i); \ - List_END_FOR_ALL \ +#define TFOR_ALL_F_OP_F(typeF1, f1, OP, typeF2, f2) \ + \ + /* check the two fields have same Field<Type> mesh */ \ + checkFields(f1, f2, "f1 " #OP " f2"); \ + \ + /* set pointer to f1P at end of f1 and */ \ + /* f2.p at end of f2 */ \ + List_ACCESS(typeF1, f1, f1P); \ + List_CONST_ACCESS(typeF2, f2, f2P); \ + \ + /* loop through fields performing f1 OP f2 */ \ + List_FOR_ALL(f1, i) \ + List_ELEM(f1, f1P, i) OP List_ELEM(f2, f2P, i); \ + List_END_FOR_ALL \ // member operator : this field f1 OP1 OP2 f2 -#define TFOR_ALL_F_OP_OP_F(typeF1, f1, OP1, OP2, typeF2, f2) \ - \ - /* check the two fields have same Field<Type> mesh */ \ - checkFields(f1, f2, #OP1 " " #OP2 " f2"); \ - \ - /* set pointer to f1P at end of f1 and */ \ - /* f2.p at end of f2 */ \ - List_ACCESS(typeF1, f1, f1P); \ - List_CONST_ACCESS(typeF2, f2, f2P); \ - \ - /* loop through fields performing f1 OP1 OP2 f2 */ \ - List_FOR_ALL(f1, i) \ - List_ELEM(f1, f1P, i) OP1 OP2 List_ELEM(f2, f2P, i); \ - List_END_FOR_ALL \ +#define TFOR_ALL_F_OP_OP_F(typeF1, f1, OP1, OP2, typeF2, f2) \ + \ + /* check the two fields have same Field<Type> mesh */ \ + checkFields(f1, f2, #OP1 " " #OP2 " f2"); \ + \ + /* set pointer to f1P at end of f1 and */ \ + /* f2.p at end of f2 */ \ + List_ACCESS(typeF1, f1, f1P); \ + List_CONST_ACCESS(typeF2, f2, f2P); \ + \ + /* loop through fields performing f1 OP1 OP2 f2 */ \ + List_FOR_ALL(f1, i) \ + List_ELEM(f1, f1P, i) OP1 OP2 List_ELEM(f2, f2P, i); \ + List_END_FOR_ALL \ // member operator : this field f OP s -#define TFOR_ALL_F_OP_S(typeF, f, OP, typeS, s) \ - \ - /* set access to f at end of field */ \ - List_ACCESS(typeF, f, fP); \ - \ - /* loop through field performing f OP s */ \ - List_FOR_ALL(f, i) \ - List_ELEM(f, fP, i) OP (s); \ - List_END_FOR_ALL \ +#define TFOR_ALL_F_OP_S(typeF, f, OP, typeS, s) \ + \ + /* set access to f at end of field */ \ + List_ACCESS(typeF, f, fP); \ + \ + /* loop through field performing f OP s */ \ + List_FOR_ALL(f, i) \ + List_ELEM(f, fP, i) OP (s); \ + List_END_FOR_ALL \ // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -360,41 +360,41 @@ void checkFields // friend operator function : s OP f, allocates storage for s -#define TFOR_ALL_S_OP_F(typeS, s, OP, typeF, f) \ - \ - /* set access to f at end of field */ \ - List_CONST_ACCESS(typeF, f, fP); \ - \ - /* loop through field performing s OP f */ \ - List_FOR_ALL(f, i) \ - (s) OP List_ELEM(f, fP, i); \ +#define TFOR_ALL_S_OP_F(typeS, s, OP, typeF, f) \ + \ + /* set access to f at end of field */ \ + List_CONST_ACCESS(typeF, f, fP); \ + \ + /* loop through field performing s OP f */ \ + List_FOR_ALL(f, i) \ + (s) OP List_ELEM(f, fP, i); \ List_END_FOR_ALL // friend operator function : s OP1 f1 OP2 f2, allocates storage for s -#define TFOR_ALL_S_OP_F_OP_F(typeS, s, OP1, typeF1, f1, OP2, typeF2, f2) \ - \ - /* set access to f1 and f2 at end of each field */ \ - List_CONST_ACCESS(typeF1, f1, f1P); \ - List_CONST_ACCESS(typeF2, f2, f2P); \ - \ - /* loop through field performing s OP f */ \ - List_FOR_ALL(f1, i) \ - (s) OP1 List_ELEM(f1, f1P, i) OP2 List_ELEM(f2, f2P, i); \ +#define TFOR_ALL_S_OP_F_OP_F(typeS, s, OP1, typeF1, f1, OP2, typeF2, f2) \ + \ + /* set access to f1 and f2 at end of each field */ \ + List_CONST_ACCESS(typeF1, f1, f1P); \ + List_CONST_ACCESS(typeF2, f2, f2P); \ + \ + /* loop through field performing s OP f */ \ + List_FOR_ALL(f1, i) \ + (s) OP1 List_ELEM(f1, f1P, i) OP2 List_ELEM(f2, f2P, i); \ List_END_FOR_ALL // friend operator function : s OP FUNC(f), allocates storage for s -#define TFOR_ALL_S_OP_FUNC_F(typeS, s, OP, FUNC, typeF, f) \ - \ - /* set access to f at end of field */ \ - List_CONST_ACCESS(typeF, f, fP); \ - \ - /* loop through field performing s OP f */ \ - List_FOR_ALL(f, i) \ - (s) OP FUNC(List_ELEM(f, fP, i)); \ +#define TFOR_ALL_S_OP_FUNC_F(typeS, s, OP, FUNC, typeF, f) \ + \ + /* set access to f at end of field */ \ + List_CONST_ACCESS(typeF, f, fP); \ + \ + /* loop through field performing s OP f */ \ + List_FOR_ALL(f, i) \ + (s) OP FUNC(List_ELEM(f, fP, i)); \ List_END_FOR_ALL diff --git a/src/OpenFOAM/fields/Fields/scalarField/scalarField.C b/src/OpenFOAM/fields/Fields/scalarField/scalarField.C index e7400669af4..75d7cc7c7a1 100644 --- a/src/OpenFOAM/fields/Fields/scalarField/scalarField.C +++ b/src/OpenFOAM/fields/Fields/scalarField/scalarField.C @@ -164,25 +164,25 @@ UNARY_FUNCTION(scalar, scalar, atmToPa) UNARY_FUNCTION(scalar, scalar, paToAtm) -#define BesselFunc(func) \ -void func(scalarField& res, const int n, const UList<scalar>& sf) \ -{ \ - TFOR_ALL_F_OP_FUNC_S_F(scalar, res, =, ::Foam::func, int, n, scalar, sf) \ -} \ - \ -tmp<scalarField> func(const int n, const UList<scalar>& sf) \ -{ \ - tmp<scalarField> tRes(new scalarField(sf.size())); \ - func(tRes(), n, sf); \ - return tRes; \ -} \ - \ -tmp<scalarField> func(const int n, const tmp<scalarField>& tsf) \ -{ \ - tmp<scalarField> tRes = reuseTmp<scalar, scalar>::New(tsf); \ - func(tRes(), n, tsf()); \ - reuseTmp<scalar, scalar>::clear(tsf); \ - return tRes; \ +#define BesselFunc(func) \ +void func(scalarField& res, const int n, const UList<scalar>& sf) \ +{ \ + TFOR_ALL_F_OP_FUNC_S_F(scalar, res, =, ::Foam::func, int, n, scalar, sf) \ +} \ + \ +tmp<scalarField> func(const int n, const UList<scalar>& sf) \ +{ \ + tmp<scalarField> tRes(new scalarField(sf.size())); \ + func(tRes(), n, sf); \ + return tRes; \ +} \ + \ +tmp<scalarField> func(const int n, const tmp<scalarField>& tsf) \ +{ \ + tmp<scalarField> tRes = reuseTmp<scalar, scalar>::New(tsf); \ + func(tRes(), n, tsf()); \ + reuseTmp<scalar, scalar>::clear(tsf); \ + return tRes; \ } BesselFunc(jn) diff --git a/src/OpenFOAM/fields/GeometricFields/GeometricField/GeometricField.C b/src/OpenFOAM/fields/GeometricFields/GeometricField/GeometricField.C index 452e2149972..c88a4ac4835 100644 --- a/src/OpenFOAM/fields/GeometricFields/GeometricField/GeometricField.C +++ b/src/OpenFOAM/fields/GeometricFields/GeometricField/GeometricField.C @@ -1162,38 +1162,38 @@ void Foam::GeometricField<Type, PatchField, GeoMesh>::operator== } -#define COMPUTED_ASSIGNMENT(TYPE, op) \ - \ -template<class Type, template<class> class PatchField, class GeoMesh> \ -void Foam::GeometricField<Type, PatchField, GeoMesh>::operator op \ -( \ - const GeometricField<TYPE, PatchField, GeoMesh>& gf \ -) \ -{ \ - checkField(*this, gf, #op); \ - \ - dimensionedInternalField() op gf.dimensionedInternalField(); \ - boundaryField() op gf.boundaryField(); \ -} \ - \ -template<class Type, template<class> class PatchField, class GeoMesh> \ -void Foam::GeometricField<Type, PatchField, GeoMesh>::operator op \ -( \ - const tmp<GeometricField<TYPE, PatchField, GeoMesh>>& tgf \ -) \ -{ \ - operator op(tgf()); \ - tgf.clear(); \ -} \ - \ -template<class Type, template<class> class PatchField, class GeoMesh> \ -void Foam::GeometricField<Type, PatchField, GeoMesh>::operator op \ -( \ - const dimensioned<TYPE>& dt \ -) \ -{ \ - dimensionedInternalField() op dt; \ - boundaryField() op dt.value(); \ +#define COMPUTED_ASSIGNMENT(TYPE, op) \ + \ +template<class Type, template<class> class PatchField, class GeoMesh> \ +void Foam::GeometricField<Type, PatchField, GeoMesh>::operator op \ +( \ + const GeometricField<TYPE, PatchField, GeoMesh>& gf \ +) \ +{ \ + checkField(*this, gf, #op); \ + \ + dimensionedInternalField() op gf.dimensionedInternalField(); \ + boundaryField() op gf.boundaryField(); \ +} \ + \ +template<class Type, template<class> class PatchField, class GeoMesh> \ +void Foam::GeometricField<Type, PatchField, GeoMesh>::operator op \ +( \ + const tmp<GeometricField<TYPE, PatchField, GeoMesh>>& tgf \ +) \ +{ \ + operator op(tgf()); \ + tgf.clear(); \ +} \ + \ +template<class Type, template<class> class PatchField, class GeoMesh> \ +void Foam::GeometricField<Type, PatchField, GeoMesh>::operator op \ +( \ + const dimensioned<TYPE>& dt \ +) \ +{ \ + dimensionedInternalField() op dt; \ + boundaryField() op dt.value(); \ } COMPUTED_ASSIGNMENT(Type, +=) diff --git a/src/OpenFOAM/fields/GeometricFields/GeometricField/GeometricFieldFunctions.C b/src/OpenFOAM/fields/GeometricFields/GeometricField/GeometricFieldFunctions.C index 9dbc5cfb0d2..a315c3e3c80 100644 --- a/src/OpenFOAM/fields/GeometricFields/GeometricField/GeometricFieldFunctions.C +++ b/src/OpenFOAM/fields/GeometricFields/GeometricField/GeometricFieldFunctions.C @@ -475,31 +475,31 @@ cmptAv(const tmp<GeometricField<Type, PatchField, GeoMesh>>& tgf) } -#define UNARY_REDUCTION_FUNCTION_WITH_BOUNDARY(returnType, func, gFunc) \ - \ -template<class Type, template<class> class PatchField, class GeoMesh> \ -dimensioned<returnType> func \ -( \ - const GeometricField<Type, PatchField, GeoMesh>& gf \ -) \ -{ \ - return dimensioned<Type> \ - ( \ - #func "(" + gf.name() + ')', \ - gf.dimensions(), \ - Foam::func(gFunc(gf.internalField()), gFunc(gf.boundaryField())) \ - ); \ -} \ - \ -template<class Type, template<class> class PatchField, class GeoMesh> \ -dimensioned<returnType> func \ -( \ - const tmp<GeometricField<Type, PatchField, GeoMesh>>& tgf1 \ -) \ -{ \ - dimensioned<returnType> res = func(tgf1()); \ - tgf1.clear(); \ - return res; \ +#define UNARY_REDUCTION_FUNCTION_WITH_BOUNDARY(returnType, func, gFunc) \ + \ +template<class Type, template<class> class PatchField, class GeoMesh> \ +dimensioned<returnType> func \ +( \ + const GeometricField<Type, PatchField, GeoMesh>& gf \ +) \ +{ \ + return dimensioned<Type> \ + ( \ + #func "(" + gf.name() + ')', \ + gf.dimensions(), \ + Foam::func(gFunc(gf.internalField()), gFunc(gf.boundaryField())) \ + ); \ +} \ + \ +template<class Type, template<class> class PatchField, class GeoMesh> \ +dimensioned<returnType> func \ +( \ + const tmp<GeometricField<Type, PatchField, GeoMesh>>& tgf1 \ +) \ +{ \ + dimensioned<returnType> res = func(tgf1()); \ + tgf1.clear(); \ + return res; \ } UNARY_REDUCTION_FUNCTION_WITH_BOUNDARY(Type, max, gMax) @@ -508,31 +508,31 @@ UNARY_REDUCTION_FUNCTION_WITH_BOUNDARY(Type, min, gMin) #undef UNARY_REDUCTION_FUNCTION_WITH_BOUNDARY -#define UNARY_REDUCTION_FUNCTION(returnType, func, gFunc) \ - \ -template<class Type, template<class> class PatchField, class GeoMesh> \ -dimensioned<returnType> func \ -( \ - const GeometricField<Type, PatchField, GeoMesh>& gf \ -) \ -{ \ - return dimensioned<Type> \ - ( \ - #func "(" + gf.name() + ')', \ - gf.dimensions(), \ - gFunc(gf.internalField()) \ - ); \ -} \ - \ -template<class Type, template<class> class PatchField, class GeoMesh> \ -dimensioned<returnType> func \ -( \ - const tmp<GeometricField<Type, PatchField, GeoMesh>>& tgf1 \ -) \ -{ \ - dimensioned<returnType> res = func(tgf1()); \ - tgf1.clear(); \ - return res; \ +#define UNARY_REDUCTION_FUNCTION(returnType, func, gFunc) \ + \ +template<class Type, template<class> class PatchField, class GeoMesh> \ +dimensioned<returnType> func \ +( \ + const GeometricField<Type, PatchField, GeoMesh>& gf \ +) \ +{ \ + return dimensioned<Type> \ + ( \ + #func "(" + gf.name() + ')', \ + gf.dimensions(), \ + gFunc(gf.internalField()) \ + ); \ +} \ + \ +template<class Type, template<class> class PatchField, class GeoMesh> \ +dimensioned<returnType> func \ +( \ + const tmp<GeometricField<Type, PatchField, GeoMesh>>& tgf1 \ +) \ +{ \ + dimensioned<returnType> res = func(tgf1()); \ + tgf1.clear(); \ + return res; \ } UNARY_REDUCTION_FUNCTION(Type, sum, gSum) @@ -569,380 +569,380 @@ BINARY_TYPE_OPERATOR_FS(Type, Type, scalar, /, '|', divide) // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -#define PRODUCT_OPERATOR(product, op, opFunc) \ - \ -template \ -<class Type1, class Type2, template<class> class PatchField, class GeoMesh> \ -void opFunc \ -( \ - GeometricField \ - <typename product<Type1, Type2>::type, PatchField, GeoMesh>& gf, \ - const GeometricField<Type1, PatchField, GeoMesh>& gf1, \ - const GeometricField<Type2, PatchField, GeoMesh>& gf2 \ -) \ -{ \ +#define PRODUCT_OPERATOR(product, op, opFunc) \ + \ +template \ +<class Type1, class Type2, template<class> class PatchField, class GeoMesh> \ +void opFunc \ +( \ + GeometricField \ + <typename product<Type1, Type2>::type, PatchField, GeoMesh>& gf, \ + const GeometricField<Type1, PatchField, GeoMesh>& gf1, \ + const GeometricField<Type2, PatchField, GeoMesh>& gf2 \ +) \ +{ \ Foam::opFunc(gf.internalField(), gf1.internalField(), gf2.internalField());\ Foam::opFunc(gf.boundaryField(), gf1.boundaryField(), gf2.boundaryField());\ -} \ - \ -template \ -<class Type1, class Type2, template<class> class PatchField, class GeoMesh> \ -tmp \ -< \ +} \ + \ +template \ +<class Type1, class Type2, template<class> class PatchField, class GeoMesh> \ +tmp \ +< \ GeometricField<typename product<Type1, Type2>::type, PatchField, GeoMesh> \ -> \ -operator op \ -( \ - const GeometricField<Type1, PatchField, GeoMesh>& gf1, \ - const GeometricField<Type2, PatchField, GeoMesh>& gf2 \ -) \ -{ \ - typedef typename product<Type1, Type2>::type productType; \ - tmp<GeometricField<productType, PatchField, GeoMesh>> tRes \ - ( \ - new GeometricField<productType, PatchField, GeoMesh> \ - ( \ - IOobject \ - ( \ - '(' + gf1.name() + #op + gf2.name() + ')', \ - gf1.instance(), \ - gf1.db(), \ - IOobject::NO_READ, \ - IOobject::NO_WRITE \ - ), \ - gf1.mesh(), \ - gf1.dimensions() op gf2.dimensions() \ - ) \ - ); \ - \ - Foam::opFunc(tRes(), gf1, gf2); \ - \ - return tRes; \ -} \ - \ -template \ -<class Type1, class Type2, template<class> class PatchField, class GeoMesh> \ -tmp \ -< \ +> \ +operator op \ +( \ + const GeometricField<Type1, PatchField, GeoMesh>& gf1, \ + const GeometricField<Type2, PatchField, GeoMesh>& gf2 \ +) \ +{ \ + typedef typename product<Type1, Type2>::type productType; \ + tmp<GeometricField<productType, PatchField, GeoMesh>> tRes \ + ( \ + new GeometricField<productType, PatchField, GeoMesh> \ + ( \ + IOobject \ + ( \ + '(' + gf1.name() + #op + gf2.name() + ')', \ + gf1.instance(), \ + gf1.db(), \ + IOobject::NO_READ, \ + IOobject::NO_WRITE \ + ), \ + gf1.mesh(), \ + gf1.dimensions() op gf2.dimensions() \ + ) \ + ); \ + \ + Foam::opFunc(tRes(), gf1, gf2); \ + \ + return tRes; \ +} \ + \ +template \ +<class Type1, class Type2, template<class> class PatchField, class GeoMesh> \ +tmp \ +< \ GeometricField<typename product<Type1, Type2>::type, PatchField, GeoMesh> \ -> \ -operator op \ -( \ - const GeometricField<Type1, PatchField, GeoMesh>& gf1, \ - const tmp<GeometricField<Type2, PatchField, GeoMesh>>& tgf2 \ -) \ -{ \ - typedef typename product<Type1, Type2>::type productType; \ - \ - const GeometricField<Type2, PatchField, GeoMesh>& gf2 = tgf2(); \ - \ - tmp<GeometricField<productType, PatchField, GeoMesh>> tRes = \ - reuseTmpGeometricField<productType, Type2, PatchField, GeoMesh>::New \ - ( \ - tgf2, \ - '(' + gf1.name() + #op + gf2.name() + ')', \ - gf1.dimensions() op gf2.dimensions() \ - ); \ - \ - Foam::opFunc(tRes(), gf1, gf2); \ - \ - reuseTmpGeometricField<productType, Type2, PatchField, GeoMesh> \ - ::clear(tgf2); \ - \ - return tRes; \ -} \ - \ -template \ -<class Type1, class Type2, template<class> class PatchField, class GeoMesh> \ -tmp \ -< \ +> \ +operator op \ +( \ + const GeometricField<Type1, PatchField, GeoMesh>& gf1, \ + const tmp<GeometricField<Type2, PatchField, GeoMesh>>& tgf2 \ +) \ +{ \ + typedef typename product<Type1, Type2>::type productType; \ + \ + const GeometricField<Type2, PatchField, GeoMesh>& gf2 = tgf2(); \ + \ + tmp<GeometricField<productType, PatchField, GeoMesh>> tRes = \ + reuseTmpGeometricField<productType, Type2, PatchField, GeoMesh>::New \ + ( \ + tgf2, \ + '(' + gf1.name() + #op + gf2.name() + ')', \ + gf1.dimensions() op gf2.dimensions() \ + ); \ + \ + Foam::opFunc(tRes(), gf1, gf2); \ + \ + reuseTmpGeometricField<productType, Type2, PatchField, GeoMesh> \ + ::clear(tgf2); \ + \ + return tRes; \ +} \ + \ +template \ +<class Type1, class Type2, template<class> class PatchField, class GeoMesh> \ +tmp \ +< \ GeometricField<typename product<Type1, Type2>::type, PatchField, GeoMesh> \ -> \ -operator op \ -( \ - const tmp<GeometricField<Type1, PatchField, GeoMesh>>& tgf1, \ - const GeometricField<Type2, PatchField, GeoMesh>& gf2 \ -) \ -{ \ - typedef typename product<Type1, Type2>::type productType; \ - \ - const GeometricField<Type1, PatchField, GeoMesh>& gf1 = tgf1(); \ - \ - tmp<GeometricField<productType, PatchField, GeoMesh>> tRes = \ - reuseTmpGeometricField<productType, Type1, PatchField, GeoMesh>::New \ - ( \ - tgf1, \ - '(' + gf1.name() + #op + gf2.name() + ')', \ - gf1.dimensions() op gf2.dimensions() \ - ); \ - \ - Foam::opFunc(tRes(), gf1, gf2); \ - \ - reuseTmpGeometricField<productType, Type1, PatchField, GeoMesh> \ - ::clear(tgf1); \ - \ - return tRes; \ -} \ - \ -template \ -<class Type1, class Type2, template<class> class PatchField, class GeoMesh> \ -tmp \ -< \ +> \ +operator op \ +( \ + const tmp<GeometricField<Type1, PatchField, GeoMesh>>& tgf1, \ + const GeometricField<Type2, PatchField, GeoMesh>& gf2 \ +) \ +{ \ + typedef typename product<Type1, Type2>::type productType; \ + \ + const GeometricField<Type1, PatchField, GeoMesh>& gf1 = tgf1(); \ + \ + tmp<GeometricField<productType, PatchField, GeoMesh>> tRes = \ + reuseTmpGeometricField<productType, Type1, PatchField, GeoMesh>::New \ + ( \ + tgf1, \ + '(' + gf1.name() + #op + gf2.name() + ')', \ + gf1.dimensions() op gf2.dimensions() \ + ); \ + \ + Foam::opFunc(tRes(), gf1, gf2); \ + \ + reuseTmpGeometricField<productType, Type1, PatchField, GeoMesh> \ + ::clear(tgf1); \ + \ + return tRes; \ +} \ + \ +template \ +<class Type1, class Type2, template<class> class PatchField, class GeoMesh> \ +tmp \ +< \ GeometricField<typename product<Type1, Type2>::type, PatchField, GeoMesh> \ -> \ -operator op \ -( \ - const tmp<GeometricField<Type1, PatchField, GeoMesh>>& tgf1, \ - const tmp<GeometricField<Type2, PatchField, GeoMesh>>& tgf2 \ -) \ -{ \ - typedef typename product<Type1, Type2>::type productType; \ - \ - const GeometricField<Type1, PatchField, GeoMesh>& gf1 = tgf1(); \ - const GeometricField<Type2, PatchField, GeoMesh>& gf2 = tgf2(); \ - \ - tmp<GeometricField<productType, PatchField, GeoMesh>> tRes = \ - reuseTmpTmpGeometricField \ - <productType, Type1, Type1, Type2, PatchField, GeoMesh>::New \ - ( \ - tgf1, \ - tgf2, \ - '(' + gf1.name() + #op + gf2.name() + ')', \ - gf1.dimensions() op gf2.dimensions() \ - ); \ - \ - Foam::opFunc(tRes(), gf1, gf2); \ - \ - reuseTmpTmpGeometricField \ - <productType, Type1, Type1, Type2, PatchField, GeoMesh> \ - ::clear(tgf1, tgf2); \ - \ - return tRes; \ -} \ - \ -template \ -<class Form, class Type, template<class> class PatchField, class GeoMesh> \ -void opFunc \ -( \ - GeometricField \ - <typename product<Type, Form>::type, PatchField, GeoMesh>& gf, \ - const GeometricField<Type, PatchField, GeoMesh>& gf1, \ - const dimensioned<Form>& dvs \ -) \ -{ \ - Foam::opFunc(gf.internalField(), gf1.internalField(), dvs.value()); \ - Foam::opFunc(gf.boundaryField(), gf1.boundaryField(), dvs.value()); \ -} \ - \ -template \ -<class Form, class Type, template<class> class PatchField, class GeoMesh> \ +> \ +operator op \ +( \ + const tmp<GeometricField<Type1, PatchField, GeoMesh>>& tgf1, \ + const tmp<GeometricField<Type2, PatchField, GeoMesh>>& tgf2 \ +) \ +{ \ + typedef typename product<Type1, Type2>::type productType; \ + \ + const GeometricField<Type1, PatchField, GeoMesh>& gf1 = tgf1(); \ + const GeometricField<Type2, PatchField, GeoMesh>& gf2 = tgf2(); \ + \ + tmp<GeometricField<productType, PatchField, GeoMesh>> tRes = \ + reuseTmpTmpGeometricField \ + <productType, Type1, Type1, Type2, PatchField, GeoMesh>::New \ + ( \ + tgf1, \ + tgf2, \ + '(' + gf1.name() + #op + gf2.name() + ')', \ + gf1.dimensions() op gf2.dimensions() \ + ); \ + \ + Foam::opFunc(tRes(), gf1, gf2); \ + \ + reuseTmpTmpGeometricField \ + <productType, Type1, Type1, Type2, PatchField, GeoMesh> \ + ::clear(tgf1, tgf2); \ + \ + return tRes; \ +} \ + \ +template \ +<class Form, class Type, template<class> class PatchField, class GeoMesh> \ +void opFunc \ +( \ + GeometricField \ + <typename product<Type, Form>::type, PatchField, GeoMesh>& gf, \ + const GeometricField<Type, PatchField, GeoMesh>& gf1, \ + const dimensioned<Form>& dvs \ +) \ +{ \ + Foam::opFunc(gf.internalField(), gf1.internalField(), dvs.value()); \ + Foam::opFunc(gf.boundaryField(), gf1.boundaryField(), dvs.value()); \ +} \ + \ +template \ +<class Form, class Type, template<class> class PatchField, class GeoMesh> \ tmp<GeometricField<typename product<Type, Form>::type, PatchField, GeoMesh>> \ -operator op \ -( \ - const GeometricField<Type, PatchField, GeoMesh>& gf1, \ - const dimensioned<Form>& dvs \ -) \ -{ \ - typedef typename product<Type, Form>::type productType; \ - \ - tmp<GeometricField<productType, PatchField, GeoMesh>> tRes \ - ( \ - new GeometricField<productType, PatchField, GeoMesh> \ - ( \ - IOobject \ - ( \ - '(' + gf1.name() + #op + dvs.name() + ')', \ - gf1.instance(), \ - gf1.db(), \ - IOobject::NO_READ, \ - IOobject::NO_WRITE \ - ), \ - gf1.mesh(), \ - gf1.dimensions() op dvs.dimensions() \ - ) \ - ); \ - \ - Foam::opFunc(tRes(), gf1, dvs); \ - \ - return tRes; \ -} \ - \ -template \ -< \ - class Form, \ - class Cmpt, \ - int nCmpt, \ - class Type, template<class> class PatchField, \ - class GeoMesh \ -> \ +operator op \ +( \ + const GeometricField<Type, PatchField, GeoMesh>& gf1, \ + const dimensioned<Form>& dvs \ +) \ +{ \ + typedef typename product<Type, Form>::type productType; \ + \ + tmp<GeometricField<productType, PatchField, GeoMesh>> tRes \ + ( \ + new GeometricField<productType, PatchField, GeoMesh> \ + ( \ + IOobject \ + ( \ + '(' + gf1.name() + #op + dvs.name() + ')', \ + gf1.instance(), \ + gf1.db(), \ + IOobject::NO_READ, \ + IOobject::NO_WRITE \ + ), \ + gf1.mesh(), \ + gf1.dimensions() op dvs.dimensions() \ + ) \ + ); \ + \ + Foam::opFunc(tRes(), gf1, dvs); \ + \ + return tRes; \ +} \ + \ +template \ +< \ + class Form, \ + class Cmpt, \ + int nCmpt, \ + class Type, template<class> class PatchField, \ + class GeoMesh \ +> \ tmp<GeometricField<typename product<Form, Type>::type, PatchField, GeoMesh>> \ -operator op \ -( \ - const GeometricField<Type, PatchField, GeoMesh>& gf1, \ - const VectorSpace<Form,Cmpt,nCmpt>& vs \ -) \ -{ \ - return gf1 op dimensioned<Form>(static_cast<const Form&>(vs)); \ -} \ - \ - \ -template \ -<class Form, class Type, template<class> class PatchField, class GeoMesh> \ +operator op \ +( \ + const GeometricField<Type, PatchField, GeoMesh>& gf1, \ + const VectorSpace<Form,Cmpt,nCmpt>& vs \ +) \ +{ \ + return gf1 op dimensioned<Form>(static_cast<const Form&>(vs)); \ +} \ + \ + \ +template \ +<class Form, class Type, template<class> class PatchField, class GeoMesh> \ tmp<GeometricField<typename product<Type, Form>::type, PatchField, GeoMesh>> \ -operator op \ -( \ - const tmp<GeometricField<Type, PatchField, GeoMesh>>& tgf1, \ - const dimensioned<Form>& dvs \ -) \ -{ \ - typedef typename product<Type, Form>::type productType; \ - \ - const GeometricField<Type, PatchField, GeoMesh>& gf1 = tgf1(); \ - \ - tmp<GeometricField<productType, PatchField, GeoMesh>> tRes = \ - reuseTmpGeometricField<productType, Type, PatchField, GeoMesh>::New \ - ( \ - tgf1, \ - '(' + gf1.name() + #op + dvs.name() + ')', \ - gf1.dimensions() op dvs.dimensions() \ - ); \ - \ - Foam::opFunc(tRes(), gf1, dvs); \ - \ - reuseTmpGeometricField<productType, Type, PatchField, GeoMesh> \ - ::clear(tgf1); \ - \ - return tRes; \ -} \ - \ -template \ -< \ - class Form, \ - class Cmpt, \ - int nCmpt, \ - class Type, template<class> class PatchField, \ - class GeoMesh \ -> \ +operator op \ +( \ + const tmp<GeometricField<Type, PatchField, GeoMesh>>& tgf1, \ + const dimensioned<Form>& dvs \ +) \ +{ \ + typedef typename product<Type, Form>::type productType; \ + \ + const GeometricField<Type, PatchField, GeoMesh>& gf1 = tgf1(); \ + \ + tmp<GeometricField<productType, PatchField, GeoMesh>> tRes = \ + reuseTmpGeometricField<productType, Type, PatchField, GeoMesh>::New \ + ( \ + tgf1, \ + '(' + gf1.name() + #op + dvs.name() + ')', \ + gf1.dimensions() op dvs.dimensions() \ + ); \ + \ + Foam::opFunc(tRes(), gf1, dvs); \ + \ + reuseTmpGeometricField<productType, Type, PatchField, GeoMesh> \ + ::clear(tgf1); \ + \ + return tRes; \ +} \ + \ +template \ +< \ + class Form, \ + class Cmpt, \ + int nCmpt, \ + class Type, template<class> class PatchField, \ + class GeoMesh \ +> \ tmp<GeometricField<typename product<Form, Type>::type, PatchField, GeoMesh>> \ -operator op \ -( \ - const tmp<GeometricField<Type, PatchField, GeoMesh>>& tgf1, \ - const VectorSpace<Form,Cmpt,nCmpt>& vs \ -) \ -{ \ - return tgf1 op dimensioned<Form>(static_cast<const Form&>(vs)); \ -} \ - \ - \ -template \ -<class Form, class Type, template<class> class PatchField, class GeoMesh> \ -void opFunc \ -( \ - GeometricField \ - <typename product<Form, Type>::type, PatchField, GeoMesh>& gf, \ - const dimensioned<Form>& dvs, \ - const GeometricField<Type, PatchField, GeoMesh>& gf1 \ -) \ -{ \ - Foam::opFunc(gf.internalField(), dvs.value(), gf1.internalField()); \ - Foam::opFunc(gf.boundaryField(), dvs.value(), gf1.boundaryField()); \ -} \ - \ -template \ -<class Form, class Type, template<class> class PatchField, class GeoMesh> \ +operator op \ +( \ + const tmp<GeometricField<Type, PatchField, GeoMesh>>& tgf1, \ + const VectorSpace<Form,Cmpt,nCmpt>& vs \ +) \ +{ \ + return tgf1 op dimensioned<Form>(static_cast<const Form&>(vs)); \ +} \ + \ + \ +template \ +<class Form, class Type, template<class> class PatchField, class GeoMesh> \ +void opFunc \ +( \ + GeometricField \ + <typename product<Form, Type>::type, PatchField, GeoMesh>& gf, \ + const dimensioned<Form>& dvs, \ + const GeometricField<Type, PatchField, GeoMesh>& gf1 \ +) \ +{ \ + Foam::opFunc(gf.internalField(), dvs.value(), gf1.internalField()); \ + Foam::opFunc(gf.boundaryField(), dvs.value(), gf1.boundaryField()); \ +} \ + \ +template \ +<class Form, class Type, template<class> class PatchField, class GeoMesh> \ tmp<GeometricField<typename product<Form, Type>::type, PatchField, GeoMesh>> \ -operator op \ -( \ - const dimensioned<Form>& dvs, \ - const GeometricField<Type, PatchField, GeoMesh>& gf1 \ -) \ -{ \ - typedef typename product<Form, Type>::type productType; \ - tmp<GeometricField<productType, PatchField, GeoMesh>> tRes \ - ( \ - new GeometricField<productType, PatchField, GeoMesh> \ - ( \ - IOobject \ - ( \ - '(' + dvs.name() + #op + gf1.name() + ')', \ - gf1.instance(), \ - gf1.db(), \ - IOobject::NO_READ, \ - IOobject::NO_WRITE \ - ), \ - gf1.mesh(), \ - dvs.dimensions() op gf1.dimensions() \ - ) \ - ); \ - \ - Foam::opFunc(tRes(), dvs, gf1); \ - \ - return tRes; \ -} \ - \ -template \ -< \ - class Form, \ - class Cmpt, \ - int nCmpt, \ - class Type, template<class> class PatchField, \ - class GeoMesh \ -> \ +operator op \ +( \ + const dimensioned<Form>& dvs, \ + const GeometricField<Type, PatchField, GeoMesh>& gf1 \ +) \ +{ \ + typedef typename product<Form, Type>::type productType; \ + tmp<GeometricField<productType, PatchField, GeoMesh>> tRes \ + ( \ + new GeometricField<productType, PatchField, GeoMesh> \ + ( \ + IOobject \ + ( \ + '(' + dvs.name() + #op + gf1.name() + ')', \ + gf1.instance(), \ + gf1.db(), \ + IOobject::NO_READ, \ + IOobject::NO_WRITE \ + ), \ + gf1.mesh(), \ + dvs.dimensions() op gf1.dimensions() \ + ) \ + ); \ + \ + Foam::opFunc(tRes(), dvs, gf1); \ + \ + return tRes; \ +} \ + \ +template \ +< \ + class Form, \ + class Cmpt, \ + int nCmpt, \ + class Type, template<class> class PatchField, \ + class GeoMesh \ +> \ tmp<GeometricField<typename product<Form, Type>::type, PatchField, GeoMesh>> \ -operator op \ -( \ - const VectorSpace<Form,Cmpt,nCmpt>& vs, \ - const GeometricField<Type, PatchField, GeoMesh>& gf1 \ -) \ -{ \ - return dimensioned<Form>(static_cast<const Form&>(vs)) op gf1; \ -} \ - \ -template \ -<class Form, class Type, template<class> class PatchField, class GeoMesh> \ +operator op \ +( \ + const VectorSpace<Form,Cmpt,nCmpt>& vs, \ + const GeometricField<Type, PatchField, GeoMesh>& gf1 \ +) \ +{ \ + return dimensioned<Form>(static_cast<const Form&>(vs)) op gf1; \ +} \ + \ +template \ +<class Form, class Type, template<class> class PatchField, class GeoMesh> \ tmp<GeometricField<typename product<Form, Type>::type, PatchField, GeoMesh>> \ -operator op \ -( \ - const dimensioned<Form>& dvs, \ - const tmp<GeometricField<Type, PatchField, GeoMesh>>& tgf1 \ -) \ -{ \ - typedef typename product<Form, Type>::type productType; \ - \ - const GeometricField<Type, PatchField, GeoMesh>& gf1 = tgf1(); \ - \ - tmp<GeometricField<productType, PatchField, GeoMesh>> tRes = \ - reuseTmpGeometricField<productType, Type, PatchField, GeoMesh>::New \ - ( \ - tgf1, \ - '(' + dvs.name() + #op + gf1.name() + ')', \ - dvs.dimensions() op gf1.dimensions() \ - ); \ - \ - Foam::opFunc(tRes(), dvs, gf1); \ - \ - reuseTmpGeometricField<productType, Type, PatchField, GeoMesh> \ - ::clear(tgf1); \ - \ - return tRes; \ -} \ - \ -template \ -< \ - class Form, \ - class Cmpt, \ - int nCmpt, \ - class Type, template<class> class PatchField, \ - class GeoMesh \ -> \ +operator op \ +( \ + const dimensioned<Form>& dvs, \ + const tmp<GeometricField<Type, PatchField, GeoMesh>>& tgf1 \ +) \ +{ \ + typedef typename product<Form, Type>::type productType; \ + \ + const GeometricField<Type, PatchField, GeoMesh>& gf1 = tgf1(); \ + \ + tmp<GeometricField<productType, PatchField, GeoMesh>> tRes = \ + reuseTmpGeometricField<productType, Type, PatchField, GeoMesh>::New \ + ( \ + tgf1, \ + '(' + dvs.name() + #op + gf1.name() + ')', \ + dvs.dimensions() op gf1.dimensions() \ + ); \ + \ + Foam::opFunc(tRes(), dvs, gf1); \ + \ + reuseTmpGeometricField<productType, Type, PatchField, GeoMesh> \ + ::clear(tgf1); \ + \ + return tRes; \ +} \ + \ +template \ +< \ + class Form, \ + class Cmpt, \ + int nCmpt, \ + class Type, template<class> class PatchField, \ + class GeoMesh \ +> \ tmp<GeometricField<typename product<Form, Type>::type, PatchField, GeoMesh>> \ -operator op \ -( \ - const VectorSpace<Form,Cmpt,nCmpt>& vs, \ - const tmp<GeometricField<Type, PatchField, GeoMesh>>& tgf1 \ -) \ -{ \ - return dimensioned<Form>(static_cast<const Form&>(vs)) op tgf1; \ +operator op \ +( \ + const VectorSpace<Form,Cmpt,nCmpt>& vs, \ + const tmp<GeometricField<Type, PatchField, GeoMesh>>& tgf1 \ +) \ +{ \ + return dimensioned<Form>(static_cast<const Form&>(vs)) op tgf1; \ } PRODUCT_OPERATOR(typeOfSum, +, add) diff --git a/src/OpenFOAM/fields/GeometricFields/GeometricField/GeometricFieldFunctions.H b/src/OpenFOAM/fields/GeometricFields/GeometricField/GeometricFieldFunctions.H index 6c7d7c3d9bb..51205ba2925 100644 --- a/src/OpenFOAM/fields/GeometricFields/GeometricField/GeometricFieldFunctions.H +++ b/src/OpenFOAM/fields/GeometricFields/GeometricField/GeometricFieldFunctions.H @@ -194,18 +194,18 @@ tmp cmptAv(const tmp<GeometricField<Type, PatchField, GeoMesh>>& tgf); -#define UNARY_REDUCTION_FUNCTION_WITH_BOUNDARY(returnType, func, gFunc) \ - \ -template<class Type, template<class> class PatchField, class GeoMesh> \ -dimensioned<returnType> func \ -( \ - const GeometricField<Type, PatchField, GeoMesh>& gf \ -); \ - \ -template<class Type, template<class> class PatchField, class GeoMesh> \ -dimensioned<returnType> func \ -( \ - const tmp<GeometricField<Type, PatchField, GeoMesh>>& tgf1 \ +#define UNARY_REDUCTION_FUNCTION_WITH_BOUNDARY(returnType, func, gFunc) \ + \ +template<class Type, template<class> class PatchField, class GeoMesh> \ +dimensioned<returnType> func \ +( \ + const GeometricField<Type, PatchField, GeoMesh>& gf \ +); \ + \ +template<class Type, template<class> class PatchField, class GeoMesh> \ +dimensioned<returnType> func \ +( \ + const tmp<GeometricField<Type, PatchField, GeoMesh>>& tgf1 \ ); UNARY_REDUCTION_FUNCTION_WITH_BOUNDARY(Type, max, gMax) @@ -214,18 +214,18 @@ UNARY_REDUCTION_FUNCTION_WITH_BOUNDARY(Type, min, gMin) #undef UNARY_REDUCTION_FUNCTION_WITH_BOUNDARY -#define UNARY_REDUCTION_FUNCTION(returnType, func, gFunc) \ - \ -template<class Type, template<class> class PatchField, class GeoMesh> \ -dimensioned<returnType> func \ -( \ - const GeometricField<Type, PatchField, GeoMesh>& gf \ -); \ - \ -template<class Type, template<class> class PatchField, class GeoMesh> \ -dimensioned<returnType> func \ -( \ - const tmp<GeometricField<Type, PatchField, GeoMesh>>& tgf1 \ +#define UNARY_REDUCTION_FUNCTION(returnType, func, gFunc) \ + \ +template<class Type, template<class> class PatchField, class GeoMesh> \ +dimensioned<returnType> func \ +( \ + const GeometricField<Type, PatchField, GeoMesh>& gf \ +); \ + \ +template<class Type, template<class> class PatchField, class GeoMesh> \ +dimensioned<returnType> func \ +( \ + const tmp<GeometricField<Type, PatchField, GeoMesh>>& tgf1 \ ); UNARY_REDUCTION_FUNCTION(Type, sum, gSum) @@ -262,216 +262,216 @@ BINARY_TYPE_OPERATOR_FS(Type, Type, scalar, /, '|', divide) // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -#define PRODUCT_OPERATOR(product, op, opFunc) \ - \ -template \ -<class Type1, class Type2, template<class> class PatchField, class GeoMesh> \ -void opFunc \ -( \ - GeometricField \ - <typename product<Type1, Type2>::type, PatchField, GeoMesh>& gf, \ - const GeometricField<Type1, PatchField, GeoMesh>& gf1, \ - const GeometricField<Type2, PatchField, GeoMesh>& gf2 \ -); \ - \ -template \ -<class Type1, class Type2, template<class> class PatchField, class GeoMesh> \ -tmp \ -< \ - GeometricField \ - <typename product<Type1, Type2>::type, PatchField, GeoMesh> \ -> \ -operator op \ -( \ - const GeometricField<Type1, PatchField, GeoMesh>& gf1, \ - const GeometricField<Type2, PatchField, GeoMesh>& gf2 \ -); \ - \ -template \ -<class Type1, class Type2, template<class> class PatchField, class GeoMesh> \ -tmp \ -< \ - GeometricField \ - <typename product<Type1, Type2>::type, PatchField, GeoMesh> \ -> \ -operator op \ -( \ - const GeometricField<Type1, PatchField, GeoMesh>& gf1, \ - const tmp<GeometricField<Type2, PatchField, GeoMesh>>& tgf2 \ -); \ - \ -template \ -<class Type1, class Type2, template<class> class PatchField, class GeoMesh> \ -tmp \ -< \ - GeometricField \ - <typename product<Type1, Type2>::type, PatchField, GeoMesh> \ -> \ -operator op \ -( \ - const tmp<GeometricField<Type1, PatchField, GeoMesh>>& tgf1, \ - const GeometricField<Type2, PatchField, GeoMesh>& gf2 \ -); \ - \ -template \ -<class Type1, class Type2, template<class> class PatchField, class GeoMesh> \ -tmp \ -< \ - GeometricField \ - <typename product<Type1, Type2>::type, PatchField, GeoMesh> \ -> \ -operator op \ -( \ - const tmp<GeometricField<Type1, PatchField, GeoMesh>>& tgf1, \ - const tmp<GeometricField<Type2, PatchField, GeoMesh>>& tgf2 \ -); \ - \ -template \ -<class Form, class Type, template<class> class PatchField, class GeoMesh> \ -void opFunc \ -( \ - GeometricField \ - <typename product<Type, Form>::type, PatchField, GeoMesh>& gf, \ - const GeometricField<Type, PatchField, GeoMesh>& gf1, \ - const dimensioned<Form>& dvs \ -); \ - \ -template \ -<class Form, class Type, template<class> class PatchField, class GeoMesh> \ -tmp \ -< \ - GeometricField \ - <typename product<Type, Form>::type, PatchField, GeoMesh> \ -> \ -operator op \ -( \ - const GeometricField<Type, PatchField, GeoMesh>& gf1, \ - const dimensioned<Form>& dvs \ -); \ - \ -template \ -< \ - class Form, \ - class Cmpt, \ - int nCmpt, \ - class Type, template<class> class PatchField, \ - class GeoMesh \ -> \ -tmp \ -< \ - GeometricField \ - <typename product<Form, Type>::type, PatchField, GeoMesh> \ -> \ -operator op \ -( \ - const GeometricField<Type, PatchField, GeoMesh>& gf1, \ - const VectorSpace<Form,Cmpt,nCmpt>& vs \ -); \ - \ -template \ -<class Form, class Type, template<class> class PatchField, class GeoMesh> \ -tmp \ -< \ - GeometricField \ - <typename product<Type, Form>::type, PatchField, GeoMesh> \ -> \ -operator op \ -( \ - const tmp<GeometricField<Type, PatchField, GeoMesh>>& tgf1, \ - const dimensioned<Form>& dvs \ -); \ - \ -template \ -< \ - class Form, \ - class Cmpt, \ - int nCmpt, \ - class Type, template<class> class PatchField, \ - class GeoMesh \ -> \ -tmp \ -< \ - GeometricField \ - <typename product<Form, Type>::type, PatchField, GeoMesh> \ -> \ -operator op \ -( \ - const tmp<GeometricField<Type, PatchField, GeoMesh>>& tgf1, \ - const VectorSpace<Form,Cmpt,nCmpt>& vs \ -); \ - \ -template \ -<class Form, class Type, template<class> class PatchField, class GeoMesh> \ -void opFunc \ -( \ - GeometricField \ - <typename product<Form, Type>::type, PatchField, GeoMesh>& gf, \ - const dimensioned<Form>& dvs, \ - const GeometricField<Type, PatchField, GeoMesh>& gf1 \ -); \ - \ -template \ -<class Form, class Type, template<class> class PatchField, class GeoMesh> \ -tmp \ -< \ - GeometricField \ - <typename product<Form, Type>::type, PatchField, GeoMesh> \ -> \ -operator op \ -( \ - const dimensioned<Form>& dvs, \ - const GeometricField<Type, PatchField, GeoMesh>& gf1 \ -); \ - \ -template \ -< \ - class Form, \ - class Cmpt, \ - int nCmpt, \ - class Type, template<class> class PatchField, \ - class GeoMesh \ -> \ -tmp \ -< \ - GeometricField \ - <typename product<Form, Type>::type, PatchField, GeoMesh> \ -> \ -operator op \ -( \ - const VectorSpace<Form,Cmpt,nCmpt>& vs, \ - const GeometricField<Type, PatchField, GeoMesh>& gf1 \ -); \ - \ -template \ -<class Form, class Type, template<class> class PatchField, class GeoMesh> \ -tmp \ -< \ - GeometricField \ - <typename product<Form, Type>::type, PatchField, GeoMesh> \ -> \ -operator op \ -( \ - const dimensioned<Form>& dvs, \ - const tmp<GeometricField<Type, PatchField, GeoMesh>>& tgf1 \ -); \ - \ -template \ -< \ - class Form, \ - class Cmpt, \ - int nCmpt, \ - class Type, template<class> class PatchField, \ - class GeoMesh \ -> \ -tmp \ -< \ - GeometricField \ - <typename product<Form, Type>::type, PatchField, GeoMesh> \ -> \ -operator op \ -( \ - const VectorSpace<Form,Cmpt,nCmpt>& vs, \ - const tmp<GeometricField<Type, PatchField, GeoMesh>>& tgf1 \ +#define PRODUCT_OPERATOR(product, op, opFunc) \ + \ +template \ +<class Type1, class Type2, template<class> class PatchField, class GeoMesh> \ +void opFunc \ +( \ + GeometricField \ + <typename product<Type1, Type2>::type, PatchField, GeoMesh>& gf, \ + const GeometricField<Type1, PatchField, GeoMesh>& gf1, \ + const GeometricField<Type2, PatchField, GeoMesh>& gf2 \ +); \ + \ +template \ +<class Type1, class Type2, template<class> class PatchField, class GeoMesh> \ +tmp \ +< \ + GeometricField \ + <typename product<Type1, Type2>::type, PatchField, GeoMesh> \ +> \ +operator op \ +( \ + const GeometricField<Type1, PatchField, GeoMesh>& gf1, \ + const GeometricField<Type2, PatchField, GeoMesh>& gf2 \ +); \ + \ +template \ +<class Type1, class Type2, template<class> class PatchField, class GeoMesh> \ +tmp \ +< \ + GeometricField \ + <typename product<Type1, Type2>::type, PatchField, GeoMesh> \ +> \ +operator op \ +( \ + const GeometricField<Type1, PatchField, GeoMesh>& gf1, \ + const tmp<GeometricField<Type2, PatchField, GeoMesh>>& tgf2 \ +); \ + \ +template \ +<class Type1, class Type2, template<class> class PatchField, class GeoMesh> \ +tmp \ +< \ + GeometricField \ + <typename product<Type1, Type2>::type, PatchField, GeoMesh> \ +> \ +operator op \ +( \ + const tmp<GeometricField<Type1, PatchField, GeoMesh>>& tgf1, \ + const GeometricField<Type2, PatchField, GeoMesh>& gf2 \ +); \ + \ +template \ +<class Type1, class Type2, template<class> class PatchField, class GeoMesh> \ +tmp \ +< \ + GeometricField \ + <typename product<Type1, Type2>::type, PatchField, GeoMesh> \ +> \ +operator op \ +( \ + const tmp<GeometricField<Type1, PatchField, GeoMesh>>& tgf1, \ + const tmp<GeometricField<Type2, PatchField, GeoMesh>>& tgf2 \ +); \ + \ +template \ +<class Form, class Type, template<class> class PatchField, class GeoMesh> \ +void opFunc \ +( \ + GeometricField \ + <typename product<Type, Form>::type, PatchField, GeoMesh>& gf, \ + const GeometricField<Type, PatchField, GeoMesh>& gf1, \ + const dimensioned<Form>& dvs \ +); \ + \ +template \ +<class Form, class Type, template<class> class PatchField, class GeoMesh> \ +tmp \ +< \ + GeometricField \ + <typename product<Type, Form>::type, PatchField, GeoMesh> \ +> \ +operator op \ +( \ + const GeometricField<Type, PatchField, GeoMesh>& gf1, \ + const dimensioned<Form>& dvs \ +); \ + \ +template \ +< \ + class Form, \ + class Cmpt, \ + int nCmpt, \ + class Type, template<class> class PatchField, \ + class GeoMesh \ +> \ +tmp \ +< \ + GeometricField \ + <typename product<Form, Type>::type, PatchField, GeoMesh> \ +> \ +operator op \ +( \ + const GeometricField<Type, PatchField, GeoMesh>& gf1, \ + const VectorSpace<Form,Cmpt,nCmpt>& vs \ +); \ + \ +template \ +<class Form, class Type, template<class> class PatchField, class GeoMesh> \ +tmp \ +< \ + GeometricField \ + <typename product<Type, Form>::type, PatchField, GeoMesh> \ +> \ +operator op \ +( \ + const tmp<GeometricField<Type, PatchField, GeoMesh>>& tgf1, \ + const dimensioned<Form>& dvs \ +); \ + \ +template \ +< \ + class Form, \ + class Cmpt, \ + int nCmpt, \ + class Type, template<class> class PatchField, \ + class GeoMesh \ +> \ +tmp \ +< \ + GeometricField \ + <typename product<Form, Type>::type, PatchField, GeoMesh> \ +> \ +operator op \ +( \ + const tmp<GeometricField<Type, PatchField, GeoMesh>>& tgf1, \ + const VectorSpace<Form,Cmpt,nCmpt>& vs \ +); \ + \ +template \ +<class Form, class Type, template<class> class PatchField, class GeoMesh> \ +void opFunc \ +( \ + GeometricField \ + <typename product<Form, Type>::type, PatchField, GeoMesh>& gf, \ + const dimensioned<Form>& dvs, \ + const GeometricField<Type, PatchField, GeoMesh>& gf1 \ +); \ + \ +template \ +<class Form, class Type, template<class> class PatchField, class GeoMesh> \ +tmp \ +< \ + GeometricField \ + <typename product<Form, Type>::type, PatchField, GeoMesh> \ +> \ +operator op \ +( \ + const dimensioned<Form>& dvs, \ + const GeometricField<Type, PatchField, GeoMesh>& gf1 \ +); \ + \ +template \ +< \ + class Form, \ + class Cmpt, \ + int nCmpt, \ + class Type, template<class> class PatchField, \ + class GeoMesh \ +> \ +tmp \ +< \ + GeometricField \ + <typename product<Form, Type>::type, PatchField, GeoMesh> \ +> \ +operator op \ +( \ + const VectorSpace<Form,Cmpt,nCmpt>& vs, \ + const GeometricField<Type, PatchField, GeoMesh>& gf1 \ +); \ + \ +template \ +<class Form, class Type, template<class> class PatchField, class GeoMesh> \ +tmp \ +< \ + GeometricField \ + <typename product<Form, Type>::type, PatchField, GeoMesh> \ +> \ +operator op \ +( \ + const dimensioned<Form>& dvs, \ + const tmp<GeometricField<Type, PatchField, GeoMesh>>& tgf1 \ +); \ + \ +template \ +< \ + class Form, \ + class Cmpt, \ + int nCmpt, \ + class Type, template<class> class PatchField, \ + class GeoMesh \ +> \ +tmp \ +< \ + GeometricField \ + <typename product<Form, Type>::type, PatchField, GeoMesh> \ +> \ +operator op \ +( \ + const VectorSpace<Form,Cmpt,nCmpt>& vs, \ + const tmp<GeometricField<Type, PatchField, GeoMesh>>& tgf1 \ ); PRODUCT_OPERATOR(typeOfSum, +, add) diff --git a/src/OpenFOAM/fields/GeometricFields/GeometricField/GeometricFieldFunctionsM.C b/src/OpenFOAM/fields/GeometricFields/GeometricField/GeometricFieldFunctionsM.C index ef97074ca40..01d84a1a623 100644 --- a/src/OpenFOAM/fields/GeometricFields/GeometricField/GeometricFieldFunctionsM.C +++ b/src/OpenFOAM/fields/GeometricFields/GeometricField/GeometricFieldFunctionsM.C @@ -32,787 +32,787 @@ namespace Foam // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -#define UNARY_FUNCTION(ReturnType, Type1, Func, Dfunc) \ - \ -TEMPLATE \ -void Func \ -( \ - GeometricField<ReturnType, PatchField, GeoMesh>& res, \ - const GeometricField<Type1, PatchField, GeoMesh>& gf1 \ -) \ -{ \ - Foam::Func(res.internalField(), gf1.internalField()); \ - Foam::Func(res.boundaryField(), gf1.boundaryField()); \ -} \ - \ -TEMPLATE \ -tmp<GeometricField<ReturnType, PatchField, GeoMesh>> Func \ -( \ - const GeometricField<Type1, PatchField, GeoMesh>& gf1 \ -) \ -{ \ - tmp<GeometricField<ReturnType, PatchField, GeoMesh>> tRes \ - ( \ - new GeometricField<ReturnType, PatchField, GeoMesh> \ - ( \ - IOobject \ - ( \ - #Func "(" + gf1.name() + ')', \ - gf1.instance(), \ - gf1.db(), \ - IOobject::NO_READ, \ - IOobject::NO_WRITE \ - ), \ - gf1.mesh(), \ - Dfunc(gf1.dimensions()) \ - ) \ - ); \ - \ - Foam::Func(tRes(), gf1); \ - \ - return tRes; \ -} \ - \ -TEMPLATE \ -tmp<GeometricField<ReturnType, PatchField, GeoMesh>> Func \ -( \ - const tmp<GeometricField<Type1, PatchField, GeoMesh>>& tgf1 \ -) \ -{ \ - const GeometricField<Type1, PatchField, GeoMesh>& gf1 = tgf1(); \ - \ - tmp<GeometricField<ReturnType, PatchField, GeoMesh>> tRes \ - ( \ - reuseTmpGeometricField<ReturnType, Type1, PatchField, GeoMesh>::New \ - ( \ - tgf1, \ - #Func "(" + gf1.name() + ')', \ - Dfunc(gf1.dimensions()) \ - ) \ - ); \ - \ - Foam::Func(tRes(), gf1); \ - \ - reuseTmpGeometricField \ - <ReturnType, Type1, PatchField, GeoMesh>::clear(tgf1); \ - \ - return tRes; \ +#define UNARY_FUNCTION(ReturnType, Type1, Func, Dfunc) \ + \ +TEMPLATE \ +void Func \ +( \ + GeometricField<ReturnType, PatchField, GeoMesh>& res, \ + const GeometricField<Type1, PatchField, GeoMesh>& gf1 \ +) \ +{ \ + Foam::Func(res.internalField(), gf1.internalField()); \ + Foam::Func(res.boundaryField(), gf1.boundaryField()); \ +} \ + \ +TEMPLATE \ +tmp<GeometricField<ReturnType, PatchField, GeoMesh>> Func \ +( \ + const GeometricField<Type1, PatchField, GeoMesh>& gf1 \ +) \ +{ \ + tmp<GeometricField<ReturnType, PatchField, GeoMesh>> tRes \ + ( \ + new GeometricField<ReturnType, PatchField, GeoMesh> \ + ( \ + IOobject \ + ( \ + #Func "(" + gf1.name() + ')', \ + gf1.instance(), \ + gf1.db(), \ + IOobject::NO_READ, \ + IOobject::NO_WRITE \ + ), \ + gf1.mesh(), \ + Dfunc(gf1.dimensions()) \ + ) \ + ); \ + \ + Foam::Func(tRes(), gf1); \ + \ + return tRes; \ +} \ + \ +TEMPLATE \ +tmp<GeometricField<ReturnType, PatchField, GeoMesh>> Func \ +( \ + const tmp<GeometricField<Type1, PatchField, GeoMesh>>& tgf1 \ +) \ +{ \ + const GeometricField<Type1, PatchField, GeoMesh>& gf1 = tgf1(); \ + \ + tmp<GeometricField<ReturnType, PatchField, GeoMesh>> tRes \ + ( \ + reuseTmpGeometricField<ReturnType, Type1, PatchField, GeoMesh>::New \ + ( \ + tgf1, \ + #Func "(" + gf1.name() + ')', \ + Dfunc(gf1.dimensions()) \ + ) \ + ); \ + \ + Foam::Func(tRes(), gf1); \ + \ + reuseTmpGeometricField \ + <ReturnType, Type1, PatchField, GeoMesh>::clear(tgf1); \ + \ + return tRes; \ } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -#define UNARY_OPERATOR(ReturnType, Type1, Op, OpFunc, Dfunc) \ - \ -TEMPLATE \ -void OpFunc \ -( \ - GeometricField<ReturnType, PatchField, GeoMesh>& res, \ - const GeometricField<Type1, PatchField, GeoMesh>& gf1 \ -) \ -{ \ - Foam::OpFunc(res.internalField(), gf1.internalField()); \ - Foam::OpFunc(res.boundaryField(), gf1.boundaryField()); \ -} \ - \ -TEMPLATE \ -tmp<GeometricField<ReturnType, PatchField, GeoMesh>> operator Op \ -( \ - const GeometricField<Type1, PatchField, GeoMesh>& gf1 \ -) \ -{ \ - tmp<GeometricField<ReturnType, PatchField, GeoMesh>> tRes \ - ( \ - new GeometricField<ReturnType, PatchField, GeoMesh> \ - ( \ - IOobject \ - ( \ - #Op + gf1.name(), \ - gf1.instance(), \ - gf1.db(), \ - IOobject::NO_READ, \ - IOobject::NO_WRITE \ - ), \ - gf1.mesh(), \ - Dfunc(gf1.dimensions()) \ - ) \ - ); \ - \ - Foam::OpFunc(tRes(), gf1); \ - \ - return tRes; \ -} \ - \ -TEMPLATE \ -tmp<GeometricField<ReturnType, PatchField, GeoMesh>> operator Op \ -( \ - const tmp<GeometricField<Type1, PatchField, GeoMesh>>& tgf1 \ -) \ -{ \ - const GeometricField<Type1, PatchField, GeoMesh>& gf1 = tgf1(); \ - \ - tmp<GeometricField<ReturnType, PatchField, GeoMesh>> tRes \ - ( \ - reuseTmpGeometricField<ReturnType, Type1, PatchField, GeoMesh>::New \ - ( \ - tgf1, \ - #Op + gf1.name(), \ - Dfunc(gf1.dimensions()) \ - ) \ - ); \ - \ - Foam::OpFunc(tRes(), gf1); \ - \ - reuseTmpGeometricField \ - <ReturnType, Type1, PatchField, GeoMesh>::clear(tgf1); \ - \ - return tRes; \ +#define UNARY_OPERATOR(ReturnType, Type1, Op, OpFunc, Dfunc) \ + \ +TEMPLATE \ +void OpFunc \ +( \ + GeometricField<ReturnType, PatchField, GeoMesh>& res, \ + const GeometricField<Type1, PatchField, GeoMesh>& gf1 \ +) \ +{ \ + Foam::OpFunc(res.internalField(), gf1.internalField()); \ + Foam::OpFunc(res.boundaryField(), gf1.boundaryField()); \ +} \ + \ +TEMPLATE \ +tmp<GeometricField<ReturnType, PatchField, GeoMesh>> operator Op \ +( \ + const GeometricField<Type1, PatchField, GeoMesh>& gf1 \ +) \ +{ \ + tmp<GeometricField<ReturnType, PatchField, GeoMesh>> tRes \ + ( \ + new GeometricField<ReturnType, PatchField, GeoMesh> \ + ( \ + IOobject \ + ( \ + #Op + gf1.name(), \ + gf1.instance(), \ + gf1.db(), \ + IOobject::NO_READ, \ + IOobject::NO_WRITE \ + ), \ + gf1.mesh(), \ + Dfunc(gf1.dimensions()) \ + ) \ + ); \ + \ + Foam::OpFunc(tRes(), gf1); \ + \ + return tRes; \ +} \ + \ +TEMPLATE \ +tmp<GeometricField<ReturnType, PatchField, GeoMesh>> operator Op \ +( \ + const tmp<GeometricField<Type1, PatchField, GeoMesh>>& tgf1 \ +) \ +{ \ + const GeometricField<Type1, PatchField, GeoMesh>& gf1 = tgf1(); \ + \ + tmp<GeometricField<ReturnType, PatchField, GeoMesh>> tRes \ + ( \ + reuseTmpGeometricField<ReturnType, Type1, PatchField, GeoMesh>::New \ + ( \ + tgf1, \ + #Op + gf1.name(), \ + Dfunc(gf1.dimensions()) \ + ) \ + ); \ + \ + Foam::OpFunc(tRes(), gf1); \ + \ + reuseTmpGeometricField \ + <ReturnType, Type1, PatchField, GeoMesh>::clear(tgf1); \ + \ + return tRes; \ } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -#define BINARY_FUNCTION(ReturnType, Type1, Type2, Func) \ - \ -TEMPLATE \ -void Func \ -( \ - GeometricField<ReturnType, PatchField, GeoMesh>& res, \ - const GeometricField<Type1, PatchField, GeoMesh>& gf1, \ - const GeometricField<Type2, PatchField, GeoMesh>& gf2 \ -) \ -{ \ +#define BINARY_FUNCTION(ReturnType, Type1, Type2, Func) \ + \ +TEMPLATE \ +void Func \ +( \ + GeometricField<ReturnType, PatchField, GeoMesh>& res, \ + const GeometricField<Type1, PatchField, GeoMesh>& gf1, \ + const GeometricField<Type2, PatchField, GeoMesh>& gf2 \ +) \ +{ \ Foam::Func(res.internalField(), gf1.internalField(), gf2.internalField());\ Foam::Func(res.boundaryField(), gf1.boundaryField(), gf2.boundaryField());\ -} \ - \ -TEMPLATE \ -tmp<GeometricField<ReturnType, PatchField, GeoMesh>> Func \ -( \ - const GeometricField<Type1, PatchField, GeoMesh>& gf1, \ - const GeometricField<Type2, PatchField, GeoMesh>& gf2 \ -) \ -{ \ - tmp<GeometricField<ReturnType, PatchField, GeoMesh>> tRes \ - ( \ - new GeometricField<ReturnType, PatchField, GeoMesh> \ - ( \ - IOobject \ - ( \ - #Func "(" + gf1.name() + ',' + gf2.name() + ')', \ - gf1.instance(), \ - gf1.db(), \ - IOobject::NO_READ, \ - IOobject::NO_WRITE \ - ), \ - gf1.mesh(), \ - Func(gf1.dimensions(), gf2.dimensions()) \ - ) \ - ); \ - \ - Foam::Func(tRes(), gf1, gf2); \ - \ - return tRes; \ -} \ - \ -TEMPLATE \ -tmp<GeometricField<ReturnType, PatchField, GeoMesh>> Func \ -( \ - const GeometricField<Type1, PatchField, GeoMesh>& gf1, \ - const tmp<GeometricField<Type2, PatchField, GeoMesh>>& tgf2 \ -) \ -{ \ - const GeometricField<Type2, PatchField, GeoMesh>& gf2 = tgf2(); \ - \ - tmp<GeometricField<ReturnType, PatchField, GeoMesh>> tRes \ - ( \ - reuseTmpGeometricField<ReturnType, Type2, PatchField, GeoMesh>::New \ - ( \ - tgf2, \ - #Func "(" + gf1.name() + ',' + gf2.name() + ')', \ - Func(gf1.dimensions(), gf2.dimensions()) \ - ) \ - ); \ - \ - Foam::Func(tRes(), gf1, gf2); \ - \ - reuseTmpGeometricField \ - <ReturnType, Type2, PatchField, GeoMesh>::clear(tgf2); \ - \ - return tRes; \ -} \ - \ -TEMPLATE \ -tmp<GeometricField<ReturnType, PatchField, GeoMesh>> Func \ -( \ - const tmp<GeometricField<Type1, PatchField, GeoMesh>>& tgf1, \ - const GeometricField<Type2, PatchField, GeoMesh>& gf2 \ -) \ -{ \ - const GeometricField<Type1, PatchField, GeoMesh>& gf1 = tgf1(); \ - \ - tmp<GeometricField<ReturnType, PatchField, GeoMesh>> tRes \ - ( \ - reuseTmpGeometricField<ReturnType, Type1, PatchField, GeoMesh>::New \ - ( \ - tgf1, \ - #Func "(" + gf1.name() + ',' + gf2.name() + ')', \ - Func(gf1.dimensions(), gf2.dimensions()) \ - ) \ - ); \ - \ - Foam::Func(tRes(), gf1, gf2); \ - \ - reuseTmpGeometricField \ - <ReturnType, Type1, PatchField, GeoMesh>::clear(tgf1); \ - \ - return tRes; \ -} \ - \ -TEMPLATE \ -tmp<GeometricField<ReturnType, PatchField, GeoMesh>> Func \ -( \ - const tmp<GeometricField<Type1, PatchField, GeoMesh>>& tgf1, \ - const tmp<GeometricField<Type2, PatchField, GeoMesh>>& tgf2 \ -) \ -{ \ - const GeometricField<Type1, PatchField, GeoMesh>& gf1 = tgf1(); \ - const GeometricField<Type2, PatchField, GeoMesh>& gf2 = tgf2(); \ - \ - tmp<GeometricField<ReturnType, PatchField, GeoMesh>> tRes \ - ( \ - reuseTmpTmpGeometricField \ - <ReturnType, Type1, Type1, Type2, PatchField, GeoMesh> \ - ::New \ - ( \ - tgf1, \ - tgf2, \ - #Func "(" + gf1.name() + ',' + gf2.name() + ')', \ - Func(gf1.dimensions(), gf2.dimensions()) \ - ) \ - ); \ - \ - Foam::Func(tRes(), gf1, gf2); \ - \ - reuseTmpTmpGeometricField \ - <ReturnType, Type1, Type1, Type2, PatchField, GeoMesh> \ - ::clear(tgf1, tgf2); \ - \ - return tRes; \ +} \ + \ +TEMPLATE \ +tmp<GeometricField<ReturnType, PatchField, GeoMesh>> Func \ +( \ + const GeometricField<Type1, PatchField, GeoMesh>& gf1, \ + const GeometricField<Type2, PatchField, GeoMesh>& gf2 \ +) \ +{ \ + tmp<GeometricField<ReturnType, PatchField, GeoMesh>> tRes \ + ( \ + new GeometricField<ReturnType, PatchField, GeoMesh> \ + ( \ + IOobject \ + ( \ + #Func "(" + gf1.name() + ',' + gf2.name() + ')', \ + gf1.instance(), \ + gf1.db(), \ + IOobject::NO_READ, \ + IOobject::NO_WRITE \ + ), \ + gf1.mesh(), \ + Func(gf1.dimensions(), gf2.dimensions()) \ + ) \ + ); \ + \ + Foam::Func(tRes(), gf1, gf2); \ + \ + return tRes; \ +} \ + \ +TEMPLATE \ +tmp<GeometricField<ReturnType, PatchField, GeoMesh>> Func \ +( \ + const GeometricField<Type1, PatchField, GeoMesh>& gf1, \ + const tmp<GeometricField<Type2, PatchField, GeoMesh>>& tgf2 \ +) \ +{ \ + const GeometricField<Type2, PatchField, GeoMesh>& gf2 = tgf2(); \ + \ + tmp<GeometricField<ReturnType, PatchField, GeoMesh>> tRes \ + ( \ + reuseTmpGeometricField<ReturnType, Type2, PatchField, GeoMesh>::New \ + ( \ + tgf2, \ + #Func "(" + gf1.name() + ',' + gf2.name() + ')', \ + Func(gf1.dimensions(), gf2.dimensions()) \ + ) \ + ); \ + \ + Foam::Func(tRes(), gf1, gf2); \ + \ + reuseTmpGeometricField \ + <ReturnType, Type2, PatchField, GeoMesh>::clear(tgf2); \ + \ + return tRes; \ +} \ + \ +TEMPLATE \ +tmp<GeometricField<ReturnType, PatchField, GeoMesh>> Func \ +( \ + const tmp<GeometricField<Type1, PatchField, GeoMesh>>& tgf1, \ + const GeometricField<Type2, PatchField, GeoMesh>& gf2 \ +) \ +{ \ + const GeometricField<Type1, PatchField, GeoMesh>& gf1 = tgf1(); \ + \ + tmp<GeometricField<ReturnType, PatchField, GeoMesh>> tRes \ + ( \ + reuseTmpGeometricField<ReturnType, Type1, PatchField, GeoMesh>::New \ + ( \ + tgf1, \ + #Func "(" + gf1.name() + ',' + gf2.name() + ')', \ + Func(gf1.dimensions(), gf2.dimensions()) \ + ) \ + ); \ + \ + Foam::Func(tRes(), gf1, gf2); \ + \ + reuseTmpGeometricField \ + <ReturnType, Type1, PatchField, GeoMesh>::clear(tgf1); \ + \ + return tRes; \ +} \ + \ +TEMPLATE \ +tmp<GeometricField<ReturnType, PatchField, GeoMesh>> Func \ +( \ + const tmp<GeometricField<Type1, PatchField, GeoMesh>>& tgf1, \ + const tmp<GeometricField<Type2, PatchField, GeoMesh>>& tgf2 \ +) \ +{ \ + const GeometricField<Type1, PatchField, GeoMesh>& gf1 = tgf1(); \ + const GeometricField<Type2, PatchField, GeoMesh>& gf2 = tgf2(); \ + \ + tmp<GeometricField<ReturnType, PatchField, GeoMesh>> tRes \ + ( \ + reuseTmpTmpGeometricField \ + <ReturnType, Type1, Type1, Type2, PatchField, GeoMesh> \ + ::New \ + ( \ + tgf1, \ + tgf2, \ + #Func "(" + gf1.name() + ',' + gf2.name() + ')', \ + Func(gf1.dimensions(), gf2.dimensions()) \ + ) \ + ); \ + \ + Foam::Func(tRes(), gf1, gf2); \ + \ + reuseTmpTmpGeometricField \ + <ReturnType, Type1, Type1, Type2, PatchField, GeoMesh> \ + ::clear(tgf1, tgf2); \ + \ + return tRes; \ } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -#define BINARY_TYPE_FUNCTION_SF(ReturnType, Type1, Type2, Func) \ - \ -TEMPLATE \ -void Func \ -( \ - GeometricField<ReturnType, PatchField, GeoMesh>& res, \ - const dimensioned<Type1>& dt1, \ - const GeometricField<Type2, PatchField, GeoMesh>& gf2 \ -) \ -{ \ - Foam::Func(res.internalField(), dt1.value(), gf2.internalField()); \ - Foam::Func(res.boundaryField(), dt1.value(), gf2.boundaryField()); \ -} \ - \ -TEMPLATE \ -tmp<GeometricField<ReturnType, PatchField, GeoMesh>> Func \ -( \ - const dimensioned<Type1>& dt1, \ - const GeometricField<Type2, PatchField, GeoMesh>& gf2 \ -) \ -{ \ - tmp<GeometricField<ReturnType, PatchField, GeoMesh>> tRes \ - ( \ - new GeometricField<ReturnType, PatchField, GeoMesh> \ - ( \ - IOobject \ - ( \ - #Func "(" + dt1.name() + ',' + gf2.name() + ')', \ - gf2.instance(), \ - gf2.db(), \ - IOobject::NO_READ, \ - IOobject::NO_WRITE \ - ), \ - gf2.mesh(), \ - Func(dt1.dimensions(), gf2.dimensions()) \ - ) \ - ); \ - \ - Foam::Func(tRes(), dt1, gf2); \ - \ - return tRes; \ -} \ - \ -TEMPLATE \ -tmp<GeometricField<ReturnType, PatchField, GeoMesh>> Func \ -( \ - const Type1& t1, \ - const GeometricField<Type2, PatchField, GeoMesh>& gf2 \ -) \ -{ \ - return Func(dimensioned<Type1>(t1), gf2); \ -} \ - \ - \ -TEMPLATE \ -tmp<GeometricField<ReturnType, PatchField, GeoMesh>> Func \ -( \ - const dimensioned<Type1>& dt1, \ - const tmp<GeometricField<Type2, PatchField, GeoMesh>>& tgf2 \ -) \ -{ \ - const GeometricField<Type2, PatchField, GeoMesh>& gf2 = tgf2(); \ - \ - tmp<GeometricField<ReturnType, PatchField, GeoMesh>> tRes \ - ( \ - reuseTmpGeometricField<ReturnType, Type2, PatchField, GeoMesh>::New \ - ( \ - tgf2, \ - #Func "(" + dt1.name() + gf2.name() + ',' + ')', \ - Func(dt1.dimensions(), gf2.dimensions()) \ - ) \ - ); \ - \ - Foam::Func(tRes(), dt1, gf2); \ - \ - reuseTmpGeometricField \ - <ReturnType, Type2, PatchField, GeoMesh>::clear(tgf2); \ - \ - return tRes; \ -} \ - \ -TEMPLATE \ -tmp<GeometricField<ReturnType, PatchField, GeoMesh>> Func \ -( \ - const Type1& t1, \ - const tmp<GeometricField<Type2, PatchField, GeoMesh>>& tgf2 \ -) \ -{ \ - return Func(dimensioned<Type1>(t1), tgf2); \ +#define BINARY_TYPE_FUNCTION_SF(ReturnType, Type1, Type2, Func) \ + \ +TEMPLATE \ +void Func \ +( \ + GeometricField<ReturnType, PatchField, GeoMesh>& res, \ + const dimensioned<Type1>& dt1, \ + const GeometricField<Type2, PatchField, GeoMesh>& gf2 \ +) \ +{ \ + Foam::Func(res.internalField(), dt1.value(), gf2.internalField()); \ + Foam::Func(res.boundaryField(), dt1.value(), gf2.boundaryField()); \ +} \ + \ +TEMPLATE \ +tmp<GeometricField<ReturnType, PatchField, GeoMesh>> Func \ +( \ + const dimensioned<Type1>& dt1, \ + const GeometricField<Type2, PatchField, GeoMesh>& gf2 \ +) \ +{ \ + tmp<GeometricField<ReturnType, PatchField, GeoMesh>> tRes \ + ( \ + new GeometricField<ReturnType, PatchField, GeoMesh> \ + ( \ + IOobject \ + ( \ + #Func "(" + dt1.name() + ',' + gf2.name() + ')', \ + gf2.instance(), \ + gf2.db(), \ + IOobject::NO_READ, \ + IOobject::NO_WRITE \ + ), \ + gf2.mesh(), \ + Func(dt1.dimensions(), gf2.dimensions()) \ + ) \ + ); \ + \ + Foam::Func(tRes(), dt1, gf2); \ + \ + return tRes; \ +} \ + \ +TEMPLATE \ +tmp<GeometricField<ReturnType, PatchField, GeoMesh>> Func \ +( \ + const Type1& t1, \ + const GeometricField<Type2, PatchField, GeoMesh>& gf2 \ +) \ +{ \ + return Func(dimensioned<Type1>(t1), gf2); \ +} \ + \ + \ +TEMPLATE \ +tmp<GeometricField<ReturnType, PatchField, GeoMesh>> Func \ +( \ + const dimensioned<Type1>& dt1, \ + const tmp<GeometricField<Type2, PatchField, GeoMesh>>& tgf2 \ +) \ +{ \ + const GeometricField<Type2, PatchField, GeoMesh>& gf2 = tgf2(); \ + \ + tmp<GeometricField<ReturnType, PatchField, GeoMesh>> tRes \ + ( \ + reuseTmpGeometricField<ReturnType, Type2, PatchField, GeoMesh>::New \ + ( \ + tgf2, \ + #Func "(" + dt1.name() + gf2.name() + ',' + ')', \ + Func(dt1.dimensions(), gf2.dimensions()) \ + ) \ + ); \ + \ + Foam::Func(tRes(), dt1, gf2); \ + \ + reuseTmpGeometricField \ + <ReturnType, Type2, PatchField, GeoMesh>::clear(tgf2); \ + \ + return tRes; \ +} \ + \ +TEMPLATE \ +tmp<GeometricField<ReturnType, PatchField, GeoMesh>> Func \ +( \ + const Type1& t1, \ + const tmp<GeometricField<Type2, PatchField, GeoMesh>>& tgf2 \ +) \ +{ \ + return Func(dimensioned<Type1>(t1), tgf2); \ } -#define BINARY_TYPE_FUNCTION_FS(ReturnType, Type1, Type2, Func) \ - \ -TEMPLATE \ -void Func \ -( \ - GeometricField<ReturnType, PatchField, GeoMesh>& res, \ - const GeometricField<Type1, PatchField, GeoMesh>& gf1, \ - const dimensioned<Type2>& dt2 \ -) \ -{ \ - Foam::Func(res.internalField(), gf1.internalField(), dt2.value()); \ - Foam::Func(res.boundaryField(), gf1.boundaryField(), dt2.value()); \ -} \ - \ -TEMPLATE \ -tmp<GeometricField<ReturnType, PatchField, GeoMesh>> Func \ -( \ - const GeometricField<Type1, PatchField, GeoMesh>& gf1, \ - const dimensioned<Type2>& dt2 \ -) \ -{ \ - tmp<GeometricField<ReturnType, PatchField, GeoMesh>> tRes \ - ( \ - new GeometricField<ReturnType, PatchField, GeoMesh> \ - ( \ - IOobject \ - ( \ - #Func "(" + gf1.name() + ',' + dt2.name() + ')', \ - gf1.instance(), \ - gf1.db(), \ - IOobject::NO_READ, \ - IOobject::NO_WRITE \ - ), \ - gf1.mesh(), \ - Func(gf1.dimensions(), dt2.dimensions()) \ - ) \ - ); \ - \ - Foam::Func(tRes(), gf1, dt2); \ - \ - return tRes; \ -} \ - \ -TEMPLATE \ -tmp<GeometricField<ReturnType, PatchField, GeoMesh>> Func \ -( \ - const GeometricField<Type1, PatchField, GeoMesh>& gf1, \ - const Type2& t2 \ -) \ -{ \ - return Func(gf1, dimensioned<Type2>(t2)); \ -} \ - \ - \ -TEMPLATE \ -tmp<GeometricField<ReturnType, PatchField, GeoMesh>> Func \ -( \ - const tmp<GeometricField<Type1, PatchField, GeoMesh>>& tgf1, \ - const dimensioned<Type2>& dt2 \ -) \ -{ \ - const GeometricField<Type1, PatchField, GeoMesh>& gf1 = tgf1(); \ - \ - tmp<GeometricField<ReturnType, PatchField, GeoMesh>> tRes \ - ( \ - reuseTmpGeometricField<ReturnType, Type1, PatchField, GeoMesh>::New \ - ( \ - tgf1, \ - #Func "(" + gf1.name() + ',' + dt2.name() + ')', \ - Func(gf1.dimensions(), dt2.dimensions()) \ - ) \ - ); \ - \ - Foam::Func(tRes(), gf1, dt2); \ - \ - reuseTmpGeometricField \ - <ReturnType, Type1, PatchField, GeoMesh>::clear(tgf1); \ - \ - return tRes; \ -} \ - \ -TEMPLATE \ -tmp<GeometricField<ReturnType, PatchField, GeoMesh>> Func \ -( \ - const tmp<GeometricField<Type1, PatchField, GeoMesh>>& tgf1, \ - const Type2& t2 \ -) \ -{ \ - return Func(tgf1, dimensioned<Type2>(t2)); \ +#define BINARY_TYPE_FUNCTION_FS(ReturnType, Type1, Type2, Func) \ + \ +TEMPLATE \ +void Func \ +( \ + GeometricField<ReturnType, PatchField, GeoMesh>& res, \ + const GeometricField<Type1, PatchField, GeoMesh>& gf1, \ + const dimensioned<Type2>& dt2 \ +) \ +{ \ + Foam::Func(res.internalField(), gf1.internalField(), dt2.value()); \ + Foam::Func(res.boundaryField(), gf1.boundaryField(), dt2.value()); \ +} \ + \ +TEMPLATE \ +tmp<GeometricField<ReturnType, PatchField, GeoMesh>> Func \ +( \ + const GeometricField<Type1, PatchField, GeoMesh>& gf1, \ + const dimensioned<Type2>& dt2 \ +) \ +{ \ + tmp<GeometricField<ReturnType, PatchField, GeoMesh>> tRes \ + ( \ + new GeometricField<ReturnType, PatchField, GeoMesh> \ + ( \ + IOobject \ + ( \ + #Func "(" + gf1.name() + ',' + dt2.name() + ')', \ + gf1.instance(), \ + gf1.db(), \ + IOobject::NO_READ, \ + IOobject::NO_WRITE \ + ), \ + gf1.mesh(), \ + Func(gf1.dimensions(), dt2.dimensions()) \ + ) \ + ); \ + \ + Foam::Func(tRes(), gf1, dt2); \ + \ + return tRes; \ +} \ + \ +TEMPLATE \ +tmp<GeometricField<ReturnType, PatchField, GeoMesh>> Func \ +( \ + const GeometricField<Type1, PatchField, GeoMesh>& gf1, \ + const Type2& t2 \ +) \ +{ \ + return Func(gf1, dimensioned<Type2>(t2)); \ +} \ + \ + \ +TEMPLATE \ +tmp<GeometricField<ReturnType, PatchField, GeoMesh>> Func \ +( \ + const tmp<GeometricField<Type1, PatchField, GeoMesh>>& tgf1, \ + const dimensioned<Type2>& dt2 \ +) \ +{ \ + const GeometricField<Type1, PatchField, GeoMesh>& gf1 = tgf1(); \ + \ + tmp<GeometricField<ReturnType, PatchField, GeoMesh>> tRes \ + ( \ + reuseTmpGeometricField<ReturnType, Type1, PatchField, GeoMesh>::New \ + ( \ + tgf1, \ + #Func "(" + gf1.name() + ',' + dt2.name() + ')', \ + Func(gf1.dimensions(), dt2.dimensions()) \ + ) \ + ); \ + \ + Foam::Func(tRes(), gf1, dt2); \ + \ + reuseTmpGeometricField \ + <ReturnType, Type1, PatchField, GeoMesh>::clear(tgf1); \ + \ + return tRes; \ +} \ + \ +TEMPLATE \ +tmp<GeometricField<ReturnType, PatchField, GeoMesh>> Func \ +( \ + const tmp<GeometricField<Type1, PatchField, GeoMesh>>& tgf1, \ + const Type2& t2 \ +) \ +{ \ + return Func(tgf1, dimensioned<Type2>(t2)); \ } -#define BINARY_TYPE_FUNCTION(ReturnType, Type1, Type2, Func) \ - BINARY_TYPE_FUNCTION_SF(ReturnType, Type1, Type2, Func) \ +#define BINARY_TYPE_FUNCTION(ReturnType, Type1, Type2, Func) \ + BINARY_TYPE_FUNCTION_SF(ReturnType, Type1, Type2, Func) \ BINARY_TYPE_FUNCTION_FS(ReturnType, Type1, Type2, Func) // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -#define BINARY_OPERATOR(ReturnType, Type1, Type2, Op, OpName, OpFunc) \ - \ -TEMPLATE \ -void OpFunc \ -( \ - GeometricField<ReturnType, PatchField, GeoMesh>& res, \ - const GeometricField<Type1, PatchField, GeoMesh>& gf1, \ - const GeometricField<Type2, PatchField, GeoMesh>& gf2 \ -) \ -{ \ - Foam::OpFunc \ - (res.internalField(), gf1.internalField(), gf2.internalField()); \ - Foam::OpFunc \ - (res.boundaryField(), gf1.boundaryField(), gf2.boundaryField()); \ -} \ - \ -TEMPLATE \ -tmp<GeometricField<ReturnType, PatchField, GeoMesh>> operator Op \ -( \ - const GeometricField<Type1, PatchField, GeoMesh>& gf1, \ - const GeometricField<Type2, PatchField, GeoMesh>& gf2 \ -) \ -{ \ - tmp<GeometricField<ReturnType, PatchField, GeoMesh>> tRes \ - ( \ - new GeometricField<ReturnType, PatchField, GeoMesh> \ - ( \ - IOobject \ - ( \ - '(' + gf1.name() + OpName + gf2.name() + ')', \ - gf1.instance(), \ - gf1.db(), \ - IOobject::NO_READ, \ - IOobject::NO_WRITE \ - ), \ - gf1.mesh(), \ - gf1.dimensions() Op gf2.dimensions() \ - ) \ - ); \ - \ - Foam::OpFunc(tRes(), gf1, gf2); \ - \ - return tRes; \ -} \ - \ -TEMPLATE \ -tmp<GeometricField<ReturnType, PatchField, GeoMesh>> operator Op \ -( \ - const GeometricField<Type1, PatchField, GeoMesh>& gf1, \ - const tmp<GeometricField<Type2, PatchField, GeoMesh>>& tgf2 \ -) \ -{ \ - const GeometricField<Type2, PatchField, GeoMesh>& gf2 = tgf2(); \ - \ - tmp<GeometricField<ReturnType, PatchField, GeoMesh>> tRes \ - ( \ - reuseTmpGeometricField<ReturnType, Type2, PatchField, GeoMesh>::New \ - ( \ - tgf2, \ - '(' + gf1.name() + OpName + gf2.name() + ')', \ - gf1.dimensions() Op gf2.dimensions() \ - ) \ - ); \ - \ - Foam::OpFunc(tRes(), gf1, gf2); \ - \ - reuseTmpGeometricField \ - <ReturnType, Type2, PatchField, GeoMesh>::clear(tgf2); \ - \ - return tRes; \ -} \ - \ -TEMPLATE \ -tmp<GeometricField<ReturnType, PatchField, GeoMesh>> operator Op \ -( \ - const tmp<GeometricField<Type1, PatchField, GeoMesh>>& tgf1, \ - const GeometricField<Type2, PatchField, GeoMesh>& gf2 \ -) \ -{ \ - const GeometricField<Type1, PatchField, GeoMesh>& gf1 = tgf1(); \ - \ - tmp<GeometricField<ReturnType, PatchField, GeoMesh>> tRes \ - ( \ - reuseTmpGeometricField<ReturnType, Type1, PatchField, GeoMesh>::New \ - ( \ - tgf1, \ - '(' + gf1.name() + OpName + gf2.name() + ')', \ - gf1.dimensions() Op gf2.dimensions() \ - ) \ - ); \ - \ - Foam::OpFunc(tRes(), gf1, gf2); \ - \ - reuseTmpGeometricField \ - <ReturnType, Type1, PatchField, GeoMesh>::clear(tgf1); \ - \ - return tRes; \ -} \ - \ -TEMPLATE \ -tmp<GeometricField<ReturnType, PatchField, GeoMesh>> operator Op \ -( \ - const tmp<GeometricField<Type1, PatchField, GeoMesh>>& tgf1, \ - const tmp<GeometricField<Type2, PatchField, GeoMesh>>& tgf2 \ -) \ -{ \ - const GeometricField<Type1, PatchField, GeoMesh>& gf1 = tgf1(); \ - const GeometricField<Type2, PatchField, GeoMesh>& gf2 = tgf2(); \ - \ - tmp<GeometricField<ReturnType, PatchField, GeoMesh>> tRes \ - ( \ - reuseTmpTmpGeometricField \ - <ReturnType, Type1, Type1, Type2, PatchField, GeoMesh>::New \ - ( \ - tgf1, \ - tgf2, \ - '(' + gf1.name() + OpName + gf2.name() + ')', \ - gf1.dimensions() Op gf2.dimensions() \ - ) \ - ); \ - \ - Foam::OpFunc(tRes(), gf1, gf2); \ - \ - reuseTmpTmpGeometricField \ - <ReturnType, Type1, Type1, Type2, PatchField, GeoMesh> \ - ::clear(tgf1, tgf2); \ - \ - return tRes; \ +#define BINARY_OPERATOR(ReturnType, Type1, Type2, Op, OpName, OpFunc) \ + \ +TEMPLATE \ +void OpFunc \ +( \ + GeometricField<ReturnType, PatchField, GeoMesh>& res, \ + const GeometricField<Type1, PatchField, GeoMesh>& gf1, \ + const GeometricField<Type2, PatchField, GeoMesh>& gf2 \ +) \ +{ \ + Foam::OpFunc \ + (res.internalField(), gf1.internalField(), gf2.internalField()); \ + Foam::OpFunc \ + (res.boundaryField(), gf1.boundaryField(), gf2.boundaryField()); \ +} \ + \ +TEMPLATE \ +tmp<GeometricField<ReturnType, PatchField, GeoMesh>> operator Op \ +( \ + const GeometricField<Type1, PatchField, GeoMesh>& gf1, \ + const GeometricField<Type2, PatchField, GeoMesh>& gf2 \ +) \ +{ \ + tmp<GeometricField<ReturnType, PatchField, GeoMesh>> tRes \ + ( \ + new GeometricField<ReturnType, PatchField, GeoMesh> \ + ( \ + IOobject \ + ( \ + '(' + gf1.name() + OpName + gf2.name() + ')', \ + gf1.instance(), \ + gf1.db(), \ + IOobject::NO_READ, \ + IOobject::NO_WRITE \ + ), \ + gf1.mesh(), \ + gf1.dimensions() Op gf2.dimensions() \ + ) \ + ); \ + \ + Foam::OpFunc(tRes(), gf1, gf2); \ + \ + return tRes; \ +} \ + \ +TEMPLATE \ +tmp<GeometricField<ReturnType, PatchField, GeoMesh>> operator Op \ +( \ + const GeometricField<Type1, PatchField, GeoMesh>& gf1, \ + const tmp<GeometricField<Type2, PatchField, GeoMesh>>& tgf2 \ +) \ +{ \ + const GeometricField<Type2, PatchField, GeoMesh>& gf2 = tgf2(); \ + \ + tmp<GeometricField<ReturnType, PatchField, GeoMesh>> tRes \ + ( \ + reuseTmpGeometricField<ReturnType, Type2, PatchField, GeoMesh>::New \ + ( \ + tgf2, \ + '(' + gf1.name() + OpName + gf2.name() + ')', \ + gf1.dimensions() Op gf2.dimensions() \ + ) \ + ); \ + \ + Foam::OpFunc(tRes(), gf1, gf2); \ + \ + reuseTmpGeometricField \ + <ReturnType, Type2, PatchField, GeoMesh>::clear(tgf2); \ + \ + return tRes; \ +} \ + \ +TEMPLATE \ +tmp<GeometricField<ReturnType, PatchField, GeoMesh>> operator Op \ +( \ + const tmp<GeometricField<Type1, PatchField, GeoMesh>>& tgf1, \ + const GeometricField<Type2, PatchField, GeoMesh>& gf2 \ +) \ +{ \ + const GeometricField<Type1, PatchField, GeoMesh>& gf1 = tgf1(); \ + \ + tmp<GeometricField<ReturnType, PatchField, GeoMesh>> tRes \ + ( \ + reuseTmpGeometricField<ReturnType, Type1, PatchField, GeoMesh>::New \ + ( \ + tgf1, \ + '(' + gf1.name() + OpName + gf2.name() + ')', \ + gf1.dimensions() Op gf2.dimensions() \ + ) \ + ); \ + \ + Foam::OpFunc(tRes(), gf1, gf2); \ + \ + reuseTmpGeometricField \ + <ReturnType, Type1, PatchField, GeoMesh>::clear(tgf1); \ + \ + return tRes; \ +} \ + \ +TEMPLATE \ +tmp<GeometricField<ReturnType, PatchField, GeoMesh>> operator Op \ +( \ + const tmp<GeometricField<Type1, PatchField, GeoMesh>>& tgf1, \ + const tmp<GeometricField<Type2, PatchField, GeoMesh>>& tgf2 \ +) \ +{ \ + const GeometricField<Type1, PatchField, GeoMesh>& gf1 = tgf1(); \ + const GeometricField<Type2, PatchField, GeoMesh>& gf2 = tgf2(); \ + \ + tmp<GeometricField<ReturnType, PatchField, GeoMesh>> tRes \ + ( \ + reuseTmpTmpGeometricField \ + <ReturnType, Type1, Type1, Type2, PatchField, GeoMesh>::New \ + ( \ + tgf1, \ + tgf2, \ + '(' + gf1.name() + OpName + gf2.name() + ')', \ + gf1.dimensions() Op gf2.dimensions() \ + ) \ + ); \ + \ + Foam::OpFunc(tRes(), gf1, gf2); \ + \ + reuseTmpTmpGeometricField \ + <ReturnType, Type1, Type1, Type2, PatchField, GeoMesh> \ + ::clear(tgf1, tgf2); \ + \ + return tRes; \ } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // #define BINARY_TYPE_OPERATOR_SF(ReturnType, Type1, Type2, Op, OpName, OpFunc) \ - \ -TEMPLATE \ -void OpFunc \ -( \ - GeometricField<ReturnType, PatchField, GeoMesh>& res, \ - const dimensioned<Type1>& dt1, \ - const GeometricField<Type2, PatchField, GeoMesh>& gf2 \ -) \ -{ \ - Foam::OpFunc(res.internalField(), dt1.value(), gf2.internalField()); \ - Foam::OpFunc(res.boundaryField(), dt1.value(), gf2.boundaryField()); \ -} \ - \ -TEMPLATE \ -tmp<GeometricField<ReturnType, PatchField, GeoMesh>> operator Op \ -( \ - const dimensioned<Type1>& dt1, \ - const GeometricField<Type2, PatchField, GeoMesh>& gf2 \ -) \ -{ \ - tmp<GeometricField<ReturnType, PatchField, GeoMesh>> tRes \ - ( \ - new GeometricField<ReturnType, PatchField, GeoMesh> \ - ( \ - IOobject \ - ( \ - '(' + dt1.name() + OpName + gf2.name() + ')', \ - gf2.instance(), \ - gf2.db(), \ - IOobject::NO_READ, \ - IOobject::NO_WRITE \ - ), \ - gf2.mesh(), \ - dt1.dimensions() Op gf2.dimensions() \ - ) \ - ); \ - \ - Foam::OpFunc(tRes(), dt1, gf2); \ - \ - return tRes; \ -} \ - \ -TEMPLATE \ -tmp<GeometricField<ReturnType, PatchField, GeoMesh>> operator Op \ -( \ - const Type1& t1, \ - const GeometricField<Type2, PatchField, GeoMesh>& gf2 \ -) \ -{ \ - return dimensioned<Type1>(t1) Op gf2; \ -} \ - \ - \ -TEMPLATE \ -tmp<GeometricField<ReturnType, PatchField, GeoMesh>> operator Op \ -( \ - const dimensioned<Type1>& dt1, \ - const tmp<GeometricField<Type2, PatchField, GeoMesh>>& tgf2 \ -) \ -{ \ - const GeometricField<Type2, PatchField, GeoMesh>& gf2 = tgf2(); \ - \ - tmp<GeometricField<ReturnType, PatchField, GeoMesh>> tRes \ - ( \ - reuseTmpGeometricField<ReturnType, Type2, PatchField, GeoMesh>::New \ - ( \ - tgf2, \ - '(' + dt1.name() + OpName + gf2.name() + ')', \ - dt1.dimensions() Op gf2.dimensions() \ - ) \ - ); \ - \ - Foam::OpFunc(tRes(), dt1, gf2); \ - \ - reuseTmpGeometricField<ReturnType, Type2, PatchField, GeoMesh> \ - ::clear(tgf2); \ - \ - return tRes; \ -} \ - \ -TEMPLATE \ -tmp<GeometricField<ReturnType, PatchField, GeoMesh>> operator Op \ -( \ - const Type1& t1, \ - const tmp<GeometricField<Type2, PatchField, GeoMesh>>& tgf2 \ -) \ -{ \ - return dimensioned<Type1>(t1) Op tgf2; \ + \ +TEMPLATE \ +void OpFunc \ +( \ + GeometricField<ReturnType, PatchField, GeoMesh>& res, \ + const dimensioned<Type1>& dt1, \ + const GeometricField<Type2, PatchField, GeoMesh>& gf2 \ +) \ +{ \ + Foam::OpFunc(res.internalField(), dt1.value(), gf2.internalField()); \ + Foam::OpFunc(res.boundaryField(), dt1.value(), gf2.boundaryField()); \ +} \ + \ +TEMPLATE \ +tmp<GeometricField<ReturnType, PatchField, GeoMesh>> operator Op \ +( \ + const dimensioned<Type1>& dt1, \ + const GeometricField<Type2, PatchField, GeoMesh>& gf2 \ +) \ +{ \ + tmp<GeometricField<ReturnType, PatchField, GeoMesh>> tRes \ + ( \ + new GeometricField<ReturnType, PatchField, GeoMesh> \ + ( \ + IOobject \ + ( \ + '(' + dt1.name() + OpName + gf2.name() + ')', \ + gf2.instance(), \ + gf2.db(), \ + IOobject::NO_READ, \ + IOobject::NO_WRITE \ + ), \ + gf2.mesh(), \ + dt1.dimensions() Op gf2.dimensions() \ + ) \ + ); \ + \ + Foam::OpFunc(tRes(), dt1, gf2); \ + \ + return tRes; \ +} \ + \ +TEMPLATE \ +tmp<GeometricField<ReturnType, PatchField, GeoMesh>> operator Op \ +( \ + const Type1& t1, \ + const GeometricField<Type2, PatchField, GeoMesh>& gf2 \ +) \ +{ \ + return dimensioned<Type1>(t1) Op gf2; \ +} \ + \ + \ +TEMPLATE \ +tmp<GeometricField<ReturnType, PatchField, GeoMesh>> operator Op \ +( \ + const dimensioned<Type1>& dt1, \ + const tmp<GeometricField<Type2, PatchField, GeoMesh>>& tgf2 \ +) \ +{ \ + const GeometricField<Type2, PatchField, GeoMesh>& gf2 = tgf2(); \ + \ + tmp<GeometricField<ReturnType, PatchField, GeoMesh>> tRes \ + ( \ + reuseTmpGeometricField<ReturnType, Type2, PatchField, GeoMesh>::New \ + ( \ + tgf2, \ + '(' + dt1.name() + OpName + gf2.name() + ')', \ + dt1.dimensions() Op gf2.dimensions() \ + ) \ + ); \ + \ + Foam::OpFunc(tRes(), dt1, gf2); \ + \ + reuseTmpGeometricField<ReturnType, Type2, PatchField, GeoMesh> \ + ::clear(tgf2); \ + \ + return tRes; \ +} \ + \ +TEMPLATE \ +tmp<GeometricField<ReturnType, PatchField, GeoMesh>> operator Op \ +( \ + const Type1& t1, \ + const tmp<GeometricField<Type2, PatchField, GeoMesh>>& tgf2 \ +) \ +{ \ + return dimensioned<Type1>(t1) Op tgf2; \ } #define BINARY_TYPE_OPERATOR_FS(ReturnType, Type1, Type2, Op, OpName, OpFunc) \ - \ -TEMPLATE \ -void OpFunc \ -( \ - GeometricField<ReturnType, PatchField, GeoMesh>& res, \ - const GeometricField<Type1, PatchField, GeoMesh>& gf1, \ - const dimensioned<Type2>& dt2 \ -) \ -{ \ - Foam::OpFunc(res.internalField(), gf1.internalField(), dt2.value()); \ - Foam::OpFunc(res.boundaryField(), gf1.boundaryField(), dt2.value()); \ -} \ - \ -TEMPLATE \ -tmp<GeometricField<ReturnType, PatchField, GeoMesh>> operator Op \ -( \ - const GeometricField<Type1, PatchField, GeoMesh>& gf1, \ - const dimensioned<Type2>& dt2 \ -) \ -{ \ - tmp<GeometricField<ReturnType, PatchField, GeoMesh>> tRes \ - ( \ - new GeometricField<ReturnType, PatchField, GeoMesh> \ - ( \ - IOobject \ - ( \ - '(' + gf1.name() + OpName + dt2.name() + ')', \ - gf1.instance(), \ - gf1.db(), \ - IOobject::NO_READ, \ - IOobject::NO_WRITE \ - ), \ - gf1.mesh(), \ - gf1.dimensions() Op dt2.dimensions() \ - ) \ - ); \ - \ - Foam::OpFunc(tRes(), gf1, dt2); \ - \ - return tRes; \ -} \ - \ -TEMPLATE \ -tmp<GeometricField<ReturnType, PatchField, GeoMesh>> operator Op \ -( \ - const GeometricField<Type1, PatchField, GeoMesh>& gf1, \ - const Type2& t2 \ -) \ -{ \ - return gf1 Op dimensioned<Type2>(t2); \ -} \ - \ - \ -TEMPLATE \ -tmp<GeometricField<ReturnType, PatchField, GeoMesh>> operator Op \ -( \ - const tmp<GeometricField<Type1, PatchField, GeoMesh>>& tgf1, \ - const dimensioned<Type2>& dt2 \ -) \ -{ \ - const GeometricField<Type1, PatchField, GeoMesh>& gf1 = tgf1(); \ - \ - tmp<GeometricField<ReturnType, PatchField, GeoMesh>> tRes \ - ( \ - reuseTmpGeometricField<ReturnType, Type1, PatchField, GeoMesh>::New \ - ( \ - tgf1, \ - '(' + gf1.name() + OpName + dt2.name() + ')', \ - gf1.dimensions() Op dt2.dimensions() \ - ) \ - ); \ - \ - Foam::OpFunc(tRes(), gf1, dt2); \ - \ - reuseTmpGeometricField<ReturnType, Type1, PatchField, GeoMesh> \ - ::clear(tgf1); \ - \ - return tRes; \ -} \ - \ -TEMPLATE \ -tmp<GeometricField<ReturnType, PatchField, GeoMesh>> operator Op \ -( \ - const tmp<GeometricField<Type1, PatchField, GeoMesh>>& tgf1, \ - const Type2& t2 \ -) \ -{ \ - return tgf1 Op dimensioned<Type2>(t2); \ + \ +TEMPLATE \ +void OpFunc \ +( \ + GeometricField<ReturnType, PatchField, GeoMesh>& res, \ + const GeometricField<Type1, PatchField, GeoMesh>& gf1, \ + const dimensioned<Type2>& dt2 \ +) \ +{ \ + Foam::OpFunc(res.internalField(), gf1.internalField(), dt2.value()); \ + Foam::OpFunc(res.boundaryField(), gf1.boundaryField(), dt2.value()); \ +} \ + \ +TEMPLATE \ +tmp<GeometricField<ReturnType, PatchField, GeoMesh>> operator Op \ +( \ + const GeometricField<Type1, PatchField, GeoMesh>& gf1, \ + const dimensioned<Type2>& dt2 \ +) \ +{ \ + tmp<GeometricField<ReturnType, PatchField, GeoMesh>> tRes \ + ( \ + new GeometricField<ReturnType, PatchField, GeoMesh> \ + ( \ + IOobject \ + ( \ + '(' + gf1.name() + OpName + dt2.name() + ')', \ + gf1.instance(), \ + gf1.db(), \ + IOobject::NO_READ, \ + IOobject::NO_WRITE \ + ), \ + gf1.mesh(), \ + gf1.dimensions() Op dt2.dimensions() \ + ) \ + ); \ + \ + Foam::OpFunc(tRes(), gf1, dt2); \ + \ + return tRes; \ +} \ + \ +TEMPLATE \ +tmp<GeometricField<ReturnType, PatchField, GeoMesh>> operator Op \ +( \ + const GeometricField<Type1, PatchField, GeoMesh>& gf1, \ + const Type2& t2 \ +) \ +{ \ + return gf1 Op dimensioned<Type2>(t2); \ +} \ + \ + \ +TEMPLATE \ +tmp<GeometricField<ReturnType, PatchField, GeoMesh>> operator Op \ +( \ + const tmp<GeometricField<Type1, PatchField, GeoMesh>>& tgf1, \ + const dimensioned<Type2>& dt2 \ +) \ +{ \ + const GeometricField<Type1, PatchField, GeoMesh>& gf1 = tgf1(); \ + \ + tmp<GeometricField<ReturnType, PatchField, GeoMesh>> tRes \ + ( \ + reuseTmpGeometricField<ReturnType, Type1, PatchField, GeoMesh>::New \ + ( \ + tgf1, \ + '(' + gf1.name() + OpName + dt2.name() + ')', \ + gf1.dimensions() Op dt2.dimensions() \ + ) \ + ); \ + \ + Foam::OpFunc(tRes(), gf1, dt2); \ + \ + reuseTmpGeometricField<ReturnType, Type1, PatchField, GeoMesh> \ + ::clear(tgf1); \ + \ + return tRes; \ +} \ + \ +TEMPLATE \ +tmp<GeometricField<ReturnType, PatchField, GeoMesh>> operator Op \ +( \ + const tmp<GeometricField<Type1, PatchField, GeoMesh>>& tgf1, \ + const Type2& t2 \ +) \ +{ \ + return tgf1 Op dimensioned<Type2>(t2); \ } -#define BINARY_TYPE_OPERATOR(ReturnType, Type1, Type2, Op, OpName, OpFunc) \ - BINARY_TYPE_OPERATOR_SF(ReturnType, Type1, Type2, Op, OpName, OpFunc) \ +#define BINARY_TYPE_OPERATOR(ReturnType, Type1, Type2, Op, OpName, OpFunc) \ + BINARY_TYPE_OPERATOR_SF(ReturnType, Type1, Type2, Op, OpName, OpFunc) \ BINARY_TYPE_OPERATOR_FS(ReturnType, Type1, Type2, Op, OpName, OpFunc) diff --git a/src/OpenFOAM/fields/GeometricFields/GeometricField/GeometricFieldFunctionsM.H b/src/OpenFOAM/fields/GeometricFields/GeometricField/GeometricFieldFunctionsM.H index 725fefb7272..3f0bbfdb64b 100644 --- a/src/OpenFOAM/fields/GeometricFields/GeometricField/GeometricFieldFunctionsM.H +++ b/src/OpenFOAM/fields/GeometricFields/GeometricField/GeometricFieldFunctionsM.H @@ -25,239 +25,239 @@ License // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -#define UNARY_FUNCTION(ReturnType, Type1, Func, Dfunc) \ - \ -TEMPLATE \ -tmp<GeometricField<ReturnType, PatchField, GeoMesh>> Func \ -( \ - const GeometricField<Type1, PatchField, GeoMesh>& df \ -); \ - \ -TEMPLATE \ -tmp<GeometricField<ReturnType, PatchField, GeoMesh>> Func \ -( \ - const tmp<GeometricField<Type1, PatchField, GeoMesh>>& tdf1 \ +#define UNARY_FUNCTION(ReturnType, Type1, Func, Dfunc) \ + \ +TEMPLATE \ +tmp<GeometricField<ReturnType, PatchField, GeoMesh>> Func \ +( \ + const GeometricField<Type1, PatchField, GeoMesh>& df \ +); \ + \ +TEMPLATE \ +tmp<GeometricField<ReturnType, PatchField, GeoMesh>> Func \ +( \ + const tmp<GeometricField<Type1, PatchField, GeoMesh>>& tdf1 \ ); // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -#define UNARY_OPERATOR(ReturnType, Type1, Op, opFunc, Dfunc) \ - \ -TEMPLATE \ -tmp<GeometricField<ReturnType, PatchField, GeoMesh>> operator Op \ -( \ - const GeometricField<Type1, PatchField, GeoMesh>& df1 \ -); \ - \ -TEMPLATE \ -tmp<GeometricField<ReturnType, PatchField, GeoMesh>> operator Op \ -( \ - const tmp<GeometricField<Type1, PatchField, GeoMesh>>& tdf1 \ +#define UNARY_OPERATOR(ReturnType, Type1, Op, opFunc, Dfunc) \ + \ +TEMPLATE \ +tmp<GeometricField<ReturnType, PatchField, GeoMesh>> operator Op \ +( \ + const GeometricField<Type1, PatchField, GeoMesh>& df1 \ +); \ + \ +TEMPLATE \ +tmp<GeometricField<ReturnType, PatchField, GeoMesh>> operator Op \ +( \ + const tmp<GeometricField<Type1, PatchField, GeoMesh>>& tdf1 \ ); // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -#define BINARY_FUNCTION(ReturnType, Type1, Type2, Func) \ - \ -TEMPLATE \ -tmp<GeometricField<ReturnType, PatchField, GeoMesh>> Func \ -( \ - const GeometricField<Type1, PatchField, GeoMesh>& df1, \ - const GeometricField<Type2, PatchField, GeoMesh>& df2 \ -); \ - \ -TEMPLATE \ -tmp<GeometricField<ReturnType, PatchField, GeoMesh>> Func \ -( \ - const GeometricField<Type1, PatchField, GeoMesh>& df1, \ - const tmp<GeometricField<Type2, PatchField, GeoMesh>>& tdf2 \ -); \ - \ -TEMPLATE \ -tmp<GeometricField<ReturnType, PatchField, GeoMesh>> Func \ -( \ - const tmp<GeometricField<Type1, PatchField, GeoMesh>>& tdf1, \ - const GeometricField<Type2, PatchField, GeoMesh>& df2 \ -); \ - \ -TEMPLATE \ -tmp<GeometricField<ReturnType, PatchField, GeoMesh>> Func \ -( \ - const tmp<GeometricField<Type1, PatchField, GeoMesh>>& tdf1, \ - const tmp<GeometricField<Type2, PatchField, GeoMesh>>& tdf2 \ +#define BINARY_FUNCTION(ReturnType, Type1, Type2, Func) \ + \ +TEMPLATE \ +tmp<GeometricField<ReturnType, PatchField, GeoMesh>> Func \ +( \ + const GeometricField<Type1, PatchField, GeoMesh>& df1, \ + const GeometricField<Type2, PatchField, GeoMesh>& df2 \ +); \ + \ +TEMPLATE \ +tmp<GeometricField<ReturnType, PatchField, GeoMesh>> Func \ +( \ + const GeometricField<Type1, PatchField, GeoMesh>& df1, \ + const tmp<GeometricField<Type2, PatchField, GeoMesh>>& tdf2 \ +); \ + \ +TEMPLATE \ +tmp<GeometricField<ReturnType, PatchField, GeoMesh>> Func \ +( \ + const tmp<GeometricField<Type1, PatchField, GeoMesh>>& tdf1, \ + const GeometricField<Type2, PatchField, GeoMesh>& df2 \ +); \ + \ +TEMPLATE \ +tmp<GeometricField<ReturnType, PatchField, GeoMesh>> Func \ +( \ + const tmp<GeometricField<Type1, PatchField, GeoMesh>>& tdf1, \ + const tmp<GeometricField<Type2, PatchField, GeoMesh>>& tdf2 \ ); // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -#define BINARY_TYPE_FUNCTION_SF(ReturnType, Type1, Type2, Func) \ - \ -TEMPLATE \ -tmp<GeometricField<ReturnType, PatchField, GeoMesh>> Func \ -( \ - const dimensioned<Type1>& dt1, \ - const GeometricField<Type2, PatchField, GeoMesh>& df2 \ -); \ - \ -TEMPLATE \ -tmp<GeometricField<ReturnType, PatchField, GeoMesh>> Func \ -( \ - const Type1& t1, \ - const GeometricField<Type2, PatchField, GeoMesh>& df2 \ -); \ - \ -TEMPLATE \ -tmp<GeometricField<ReturnType, PatchField, GeoMesh>> Func \ -( \ - const dimensioned<Type1>& dt1, \ - const tmp<GeometricField<Type2, PatchField, GeoMesh>>& tdf2 \ -); \ - \ -TEMPLATE \ -tmp<GeometricField<ReturnType, PatchField, GeoMesh>> Func \ -( \ - const Type1& t1, \ - const tmp<GeometricField<Type2, PatchField, GeoMesh>>& tdf2 \ +#define BINARY_TYPE_FUNCTION_SF(ReturnType, Type1, Type2, Func) \ + \ +TEMPLATE \ +tmp<GeometricField<ReturnType, PatchField, GeoMesh>> Func \ +( \ + const dimensioned<Type1>& dt1, \ + const GeometricField<Type2, PatchField, GeoMesh>& df2 \ +); \ + \ +TEMPLATE \ +tmp<GeometricField<ReturnType, PatchField, GeoMesh>> Func \ +( \ + const Type1& t1, \ + const GeometricField<Type2, PatchField, GeoMesh>& df2 \ +); \ + \ +TEMPLATE \ +tmp<GeometricField<ReturnType, PatchField, GeoMesh>> Func \ +( \ + const dimensioned<Type1>& dt1, \ + const tmp<GeometricField<Type2, PatchField, GeoMesh>>& tdf2 \ +); \ + \ +TEMPLATE \ +tmp<GeometricField<ReturnType, PatchField, GeoMesh>> Func \ +( \ + const Type1& t1, \ + const tmp<GeometricField<Type2, PatchField, GeoMesh>>& tdf2 \ ); -#define BINARY_TYPE_FUNCTION_FS(ReturnType, Type1, Type2, Func) \ - \ -TEMPLATE \ -tmp<GeometricField<ReturnType, PatchField, GeoMesh>> Func \ -( \ - const GeometricField<Type1, PatchField, GeoMesh>& df1, \ - const dimensioned<Type2>& dt2 \ -); \ - \ -TEMPLATE \ -tmp<GeometricField<ReturnType, PatchField, GeoMesh>> Func \ -( \ - const GeometricField<Type1, PatchField, GeoMesh>& df1, \ - const Type2& t2 \ -); \ - \ -TEMPLATE \ -tmp<GeometricField<ReturnType, PatchField, GeoMesh>> Func \ -( \ - const tmp<GeometricField<Type1, PatchField, GeoMesh>>& tdf1, \ - const dimensioned<Type2>& dt2 \ -); \ - \ -TEMPLATE \ -tmp<GeometricField<ReturnType, PatchField, GeoMesh>> Func \ -( \ - const tmp<GeometricField<Type1, PatchField, GeoMesh>>& tdf2, \ - const Type2& t2 \ +#define BINARY_TYPE_FUNCTION_FS(ReturnType, Type1, Type2, Func) \ + \ +TEMPLATE \ +tmp<GeometricField<ReturnType, PatchField, GeoMesh>> Func \ +( \ + const GeometricField<Type1, PatchField, GeoMesh>& df1, \ + const dimensioned<Type2>& dt2 \ +); \ + \ +TEMPLATE \ +tmp<GeometricField<ReturnType, PatchField, GeoMesh>> Func \ +( \ + const GeometricField<Type1, PatchField, GeoMesh>& df1, \ + const Type2& t2 \ +); \ + \ +TEMPLATE \ +tmp<GeometricField<ReturnType, PatchField, GeoMesh>> Func \ +( \ + const tmp<GeometricField<Type1, PatchField, GeoMesh>>& tdf1, \ + const dimensioned<Type2>& dt2 \ +); \ + \ +TEMPLATE \ +tmp<GeometricField<ReturnType, PatchField, GeoMesh>> Func \ +( \ + const tmp<GeometricField<Type1, PatchField, GeoMesh>>& tdf2, \ + const Type2& t2 \ ); -#define BINARY_TYPE_FUNCTION(ReturnType, Type1, Type2, Func) \ - BINARY_TYPE_FUNCTION_SF(ReturnType, Type1, Type2, Func) \ +#define BINARY_TYPE_FUNCTION(ReturnType, Type1, Type2, Func) \ + BINARY_TYPE_FUNCTION_SF(ReturnType, Type1, Type2, Func) \ BINARY_TYPE_FUNCTION_FS(ReturnType, Type1, Type2, Func) // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -#define BINARY_OPERATOR(ReturnType, Type1, Type2, Op, OpName, OpFunc) \ - \ -TEMPLATE \ -tmp<GeometricField<ReturnType, PatchField, GeoMesh>> operator Op \ -( \ - const GeometricField<Type1, PatchField, GeoMesh>& df1, \ - const GeometricField<Type2, PatchField, GeoMesh>& df2 \ -); \ - \ -TEMPLATE \ -tmp<GeometricField<ReturnType, PatchField, GeoMesh>> operator Op \ -( \ - const GeometricField<Type1, PatchField, GeoMesh>& df1, \ - const tmp<GeometricField<Type2, PatchField, GeoMesh>>& tdf2 \ -); \ - \ -TEMPLATE \ -tmp<GeometricField<ReturnType, PatchField, GeoMesh>> operator Op \ -( \ - const tmp<GeometricField<Type1, PatchField, GeoMesh>>& tdf1, \ - const GeometricField<Type2, PatchField, GeoMesh>& df2 \ -); \ - \ -TEMPLATE \ -tmp<GeometricField<ReturnType, PatchField, GeoMesh>> operator Op \ -( \ - const tmp<GeometricField<Type1, PatchField, GeoMesh>>& tdf1, \ - const tmp<GeometricField<Type2, PatchField, GeoMesh>>& tdf2 \ +#define BINARY_OPERATOR(ReturnType, Type1, Type2, Op, OpName, OpFunc) \ + \ +TEMPLATE \ +tmp<GeometricField<ReturnType, PatchField, GeoMesh>> operator Op \ +( \ + const GeometricField<Type1, PatchField, GeoMesh>& df1, \ + const GeometricField<Type2, PatchField, GeoMesh>& df2 \ +); \ + \ +TEMPLATE \ +tmp<GeometricField<ReturnType, PatchField, GeoMesh>> operator Op \ +( \ + const GeometricField<Type1, PatchField, GeoMesh>& df1, \ + const tmp<GeometricField<Type2, PatchField, GeoMesh>>& tdf2 \ +); \ + \ +TEMPLATE \ +tmp<GeometricField<ReturnType, PatchField, GeoMesh>> operator Op \ +( \ + const tmp<GeometricField<Type1, PatchField, GeoMesh>>& tdf1, \ + const GeometricField<Type2, PatchField, GeoMesh>& df2 \ +); \ + \ +TEMPLATE \ +tmp<GeometricField<ReturnType, PatchField, GeoMesh>> operator Op \ +( \ + const tmp<GeometricField<Type1, PatchField, GeoMesh>>& tdf1, \ + const tmp<GeometricField<Type2, PatchField, GeoMesh>>& tdf2 \ ); // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // #define BINARY_TYPE_OPERATOR_SF(ReturnType, Type1, Type2, Op, OpName, OpFunc) \ - \ -TEMPLATE \ -tmp<GeometricField<ReturnType, PatchField, GeoMesh>> operator Op \ -( \ - const dimensioned<Type1>& dt1, \ - const GeometricField<Type2, PatchField, GeoMesh>& df2 \ -); \ - \ -TEMPLATE \ -tmp<GeometricField<ReturnType, PatchField, GeoMesh>> operator Op \ -( \ - const Type1& t1, \ - const GeometricField<Type2, PatchField, GeoMesh>& df2 \ -); \ - \ -TEMPLATE \ -tmp<GeometricField<ReturnType, PatchField, GeoMesh>> operator Op \ -( \ - const dimensioned<Type1>& dt1, \ - const tmp<GeometricField<Type2, PatchField, GeoMesh>>& tdf2 \ -); \ - \ -TEMPLATE \ -tmp<GeometricField<ReturnType, PatchField, GeoMesh>> operator Op \ -( \ - const Type1& t1, \ - const tmp<GeometricField<Type2, PatchField, GeoMesh>>& tdf2 \ + \ +TEMPLATE \ +tmp<GeometricField<ReturnType, PatchField, GeoMesh>> operator Op \ +( \ + const dimensioned<Type1>& dt1, \ + const GeometricField<Type2, PatchField, GeoMesh>& df2 \ +); \ + \ +TEMPLATE \ +tmp<GeometricField<ReturnType, PatchField, GeoMesh>> operator Op \ +( \ + const Type1& t1, \ + const GeometricField<Type2, PatchField, GeoMesh>& df2 \ +); \ + \ +TEMPLATE \ +tmp<GeometricField<ReturnType, PatchField, GeoMesh>> operator Op \ +( \ + const dimensioned<Type1>& dt1, \ + const tmp<GeometricField<Type2, PatchField, GeoMesh>>& tdf2 \ +); \ + \ +TEMPLATE \ +tmp<GeometricField<ReturnType, PatchField, GeoMesh>> operator Op \ +( \ + const Type1& t1, \ + const tmp<GeometricField<Type2, PatchField, GeoMesh>>& tdf2 \ ); #define BINARY_TYPE_OPERATOR_FS(ReturnType, Type1, Type2, Op, OpName, OpFunc) \ - \ -TEMPLATE \ -tmp<GeometricField<ReturnType, PatchField, GeoMesh>> operator Op \ -( \ - const GeometricField<Type1, PatchField, GeoMesh>& df1, \ - const dimensioned<Type2>& dt2 \ -); \ - \ -TEMPLATE \ -tmp<GeometricField<ReturnType, PatchField, GeoMesh>> operator Op \ -( \ - const GeometricField<Type1, PatchField, GeoMesh>& df1, \ - const Type2& t2 \ -); \ - \ -TEMPLATE \ -tmp<GeometricField<ReturnType, PatchField, GeoMesh>> operator Op \ -( \ - const tmp<GeometricField<Type1, PatchField, GeoMesh>>& tdf1, \ - const dimensioned<Type2>& dt2 \ -); \ - \ -TEMPLATE \ -tmp<GeometricField<ReturnType, PatchField, GeoMesh>> operator Op \ -( \ - const tmp<GeometricField<Type1, PatchField, GeoMesh>>& tdf1, \ - const Type2& t2 \ + \ +TEMPLATE \ +tmp<GeometricField<ReturnType, PatchField, GeoMesh>> operator Op \ +( \ + const GeometricField<Type1, PatchField, GeoMesh>& df1, \ + const dimensioned<Type2>& dt2 \ +); \ + \ +TEMPLATE \ +tmp<GeometricField<ReturnType, PatchField, GeoMesh>> operator Op \ +( \ + const GeometricField<Type1, PatchField, GeoMesh>& df1, \ + const Type2& t2 \ +); \ + \ +TEMPLATE \ +tmp<GeometricField<ReturnType, PatchField, GeoMesh>> operator Op \ +( \ + const tmp<GeometricField<Type1, PatchField, GeoMesh>>& tdf1, \ + const dimensioned<Type2>& dt2 \ +); \ + \ +TEMPLATE \ +tmp<GeometricField<ReturnType, PatchField, GeoMesh>> operator Op \ +( \ + const tmp<GeometricField<Type1, PatchField, GeoMesh>>& tdf1, \ + const Type2& t2 \ ); -#define BINARY_TYPE_OPERATOR(ReturnType, Type1, Type2, Op, OpName, OpFunc) \ - BINARY_TYPE_OPERATOR_SF(ReturnType, Type1, Type2, Op, OpName, OpFunc) \ +#define BINARY_TYPE_OPERATOR(ReturnType, Type1, Type2, Op, OpName, OpFunc) \ + BINARY_TYPE_OPERATOR_SF(ReturnType, Type1, Type2, Op, OpName, OpFunc) \ BINARY_TYPE_OPERATOR_FS(ReturnType, Type1, Type2, Op, OpName, OpFunc) diff --git a/src/OpenFOAM/fields/GeometricFields/GeometricScalarField/GeometricScalarField.C b/src/OpenFOAM/fields/GeometricFields/GeometricScalarField/GeometricScalarField.C index 67f4486f116..a5a0d9b5cfb 100644 --- a/src/OpenFOAM/fields/GeometricFields/GeometricScalarField/GeometricScalarField.C +++ b/src/OpenFOAM/fields/GeometricFields/GeometricScalarField/GeometricScalarField.C @@ -791,88 +791,88 @@ UNARY_FUNCTION(scalar, scalar, y1, trans) // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -#define BesselFunc(func) \ - \ -template<template<class> class PatchField, class GeoMesh> \ -void func \ -( \ - GeometricField<scalar, PatchField, GeoMesh>& gsf, \ - const int n, \ - const GeometricField<scalar, PatchField, GeoMesh>& gsf1 \ -) \ -{ \ - func(gsf.internalField(), n, gsf1.internalField()); \ - func(gsf.boundaryField(), n, gsf1.boundaryField()); \ -} \ - \ -template<template<class> class PatchField, class GeoMesh> \ -tmp<GeometricField<scalar, PatchField, GeoMesh>> func \ -( \ - const int n, \ - const GeometricField<scalar, PatchField, GeoMesh>& gsf \ -) \ -{ \ - if (!gsf.dimensions().dimensionless()) \ - { \ - FatalErrorInFunction \ - << "gsf not dimensionless" \ - << abort(FatalError); \ - } \ - \ - tmp<GeometricField<scalar, PatchField, GeoMesh>> tFunc \ - ( \ - new GeometricField<scalar, PatchField, GeoMesh> \ - ( \ - IOobject \ - ( \ - #func "(" + gsf.name() + ')', \ - gsf.instance(), \ - gsf.db(), \ - IOobject::NO_READ, \ - IOobject::NO_WRITE \ - ), \ - gsf.mesh(), \ - dimless \ - ) \ - ); \ - \ - func(tFunc(), n, gsf); \ - \ - return tFunc; \ -} \ - \ -template<template<class> class PatchField, class GeoMesh> \ -tmp<GeometricField<scalar, PatchField, GeoMesh>> func \ -( \ - const int n, \ - const tmp<GeometricField<scalar, PatchField, GeoMesh>>& tgsf \ -) \ -{ \ - const GeometricField<scalar, PatchField, GeoMesh>& gsf = tgsf(); \ - \ - if (!gsf.dimensions().dimensionless()) \ - { \ - FatalErrorInFunction \ - << " : gsf not dimensionless" \ - << abort(FatalError); \ - } \ - \ - tmp<GeometricField<scalar, PatchField, GeoMesh>> tFunc \ - ( \ - reuseTmpGeometricField<scalar, scalar, PatchField, GeoMesh>::New \ - ( \ - tgsf, \ - #func "(" + gsf.name() + ')', \ - dimless \ - ) \ - ); \ - \ - func(tFunc(), n, gsf); \ - \ - reuseTmpGeometricField<scalar, scalar, PatchField, GeoMesh> \ - ::clear(tgsf); \ - \ - return tFunc; \ +#define BesselFunc(func) \ + \ +template<template<class> class PatchField, class GeoMesh> \ +void func \ +( \ + GeometricField<scalar, PatchField, GeoMesh>& gsf, \ + const int n, \ + const GeometricField<scalar, PatchField, GeoMesh>& gsf1 \ +) \ +{ \ + func(gsf.internalField(), n, gsf1.internalField()); \ + func(gsf.boundaryField(), n, gsf1.boundaryField()); \ +} \ + \ +template<template<class> class PatchField, class GeoMesh> \ +tmp<GeometricField<scalar, PatchField, GeoMesh>> func \ +( \ + const int n, \ + const GeometricField<scalar, PatchField, GeoMesh>& gsf \ +) \ +{ \ + if (!gsf.dimensions().dimensionless()) \ + { \ + FatalErrorInFunction \ + << "gsf not dimensionless" \ + << abort(FatalError); \ + } \ + \ + tmp<GeometricField<scalar, PatchField, GeoMesh>> tFunc \ + ( \ + new GeometricField<scalar, PatchField, GeoMesh> \ + ( \ + IOobject \ + ( \ + #func "(" + gsf.name() + ')', \ + gsf.instance(), \ + gsf.db(), \ + IOobject::NO_READ, \ + IOobject::NO_WRITE \ + ), \ + gsf.mesh(), \ + dimless \ + ) \ + ); \ + \ + func(tFunc(), n, gsf); \ + \ + return tFunc; \ +} \ + \ +template<template<class> class PatchField, class GeoMesh> \ +tmp<GeometricField<scalar, PatchField, GeoMesh>> func \ +( \ + const int n, \ + const tmp<GeometricField<scalar, PatchField, GeoMesh>>& tgsf \ +) \ +{ \ + const GeometricField<scalar, PatchField, GeoMesh>& gsf = tgsf(); \ + \ + if (!gsf.dimensions().dimensionless()) \ + { \ + FatalErrorInFunction \ + << " : gsf not dimensionless" \ + << abort(FatalError); \ + } \ + \ + tmp<GeometricField<scalar, PatchField, GeoMesh>> tFunc \ + ( \ + reuseTmpGeometricField<scalar, scalar, PatchField, GeoMesh>::New \ + ( \ + tgsf, \ + #func "(" + gsf.name() + ')', \ + dimless \ + ) \ + ); \ + \ + func(tFunc(), n, gsf); \ + \ + reuseTmpGeometricField<scalar, scalar, PatchField, GeoMesh> \ + ::clear(tgsf); \ + \ + return tFunc; \ } BesselFunc(jn) diff --git a/src/OpenFOAM/fields/GeometricFields/GeometricScalarField/GeometricScalarField.H b/src/OpenFOAM/fields/GeometricFields/GeometricScalarField/GeometricScalarField.H index 5090e5491d8..65ebaf9304b 100644 --- a/src/OpenFOAM/fields/GeometricFields/GeometricScalarField/GeometricScalarField.H +++ b/src/OpenFOAM/fields/GeometricFields/GeometricScalarField/GeometricScalarField.H @@ -140,17 +140,17 @@ void func \ ); \ \ template<template<class> class PatchField, class GeoMesh> \ -tmp<GeometricField<scalar, PatchField, GeoMesh>> func \ +tmp<GeometricField<scalar, PatchField, GeoMesh>> func \ ( \ const int n, \ const GeometricField<scalar, PatchField, GeoMesh>& \ ); \ \ template<template<class> class PatchField, class GeoMesh> \ -tmp<GeometricField<scalar, PatchField, GeoMesh>> func \ +tmp<GeometricField<scalar, PatchField, GeoMesh>> func \ ( \ const int n, \ - const tmp<GeometricField<scalar, PatchField, GeoMesh>>& \ + const tmp<GeometricField<scalar, PatchField, GeoMesh>>& \ ); BesselFunc(jn) diff --git a/src/OpenFOAM/fields/pointPatchFields/pointPatchField/pointPatchField.H b/src/OpenFOAM/fields/pointPatchFields/pointPatchField/pointPatchField.H index 45b3efba953..d7ef103d16a 100644 --- a/src/OpenFOAM/fields/pointPatchFields/pointPatchField/pointPatchField.H +++ b/src/OpenFOAM/fields/pointPatchFields/pointPatchField/pointPatchField.H @@ -528,82 +528,82 @@ const pointPatchField<Type>& operator+ #define addToPointPatchFieldRunTimeSelection(PatchTypeField, typePatchTypeField) \ - addToRunTimeSelectionTable \ - ( \ - PatchTypeField, \ - typePatchTypeField, \ - pointPatch \ - ); \ - addToRunTimeSelectionTable \ - ( \ - PatchTypeField, \ - typePatchTypeField, \ - patchMapper \ - ); \ - addToRunTimeSelectionTable \ - ( \ - PatchTypeField, \ - typePatchTypeField, \ - dictionary \ + addToRunTimeSelectionTable \ + ( \ + PatchTypeField, \ + typePatchTypeField, \ + pointPatch \ + ); \ + addToRunTimeSelectionTable \ + ( \ + PatchTypeField, \ + typePatchTypeField, \ + patchMapper \ + ); \ + addToRunTimeSelectionTable \ + ( \ + PatchTypeField, \ + typePatchTypeField, \ + dictionary \ ); // for non-templated patch fields -#define makePointPatchTypeField(PatchTypeField,typePatchTypeField) \ - defineTypeNameAndDebug(typePatchTypeField, 0); \ +#define makePointPatchTypeField(PatchTypeField,typePatchTypeField) \ + defineTypeNameAndDebug(typePatchTypeField, 0); \ addToPointPatchFieldRunTimeSelection(PatchTypeField, typePatchTypeField) // for templated patch fields -#define makeTemplatePointPatchTypeField(PatchTypeField, typePatchTypeField) \ - defineNamedTemplateTypeNameAndDebug(typePatchTypeField, 0); \ +#define makeTemplatePointPatchTypeField(PatchTypeField, typePatchTypeField) \ + defineNamedTemplateTypeNameAndDebug(typePatchTypeField, 0); \ addToPointPatchFieldRunTimeSelection(PatchTypeField, typePatchTypeField) -#define makePointPatchFields(type) \ - makeTemplatePointPatchTypeField \ - ( \ - pointPatchScalarField, \ - type##PointPatchScalarField \ - ); \ - makeTemplatePointPatchTypeField \ - ( \ - pointPatchVectorField, \ - type##PointPatchVectorField \ - ); \ - makeTemplatePointPatchTypeField \ - ( \ - pointPatchSphericalTensorField, \ - type##PointPatchSphericalTensorField \ - ); \ - makeTemplatePointPatchTypeField \ - ( \ - pointPatchSymmTensorField, \ - type##PointPatchSymmTensorField \ - ); \ - makeTemplatePointPatchTypeField \ - ( \ - pointPatchTensorField, \ - type##PointPatchTensorField \ +#define makePointPatchFields(type) \ + makeTemplatePointPatchTypeField \ + ( \ + pointPatchScalarField, \ + type##PointPatchScalarField \ + ); \ + makeTemplatePointPatchTypeField \ + ( \ + pointPatchVectorField, \ + type##PointPatchVectorField \ + ); \ + makeTemplatePointPatchTypeField \ + ( \ + pointPatchSphericalTensorField, \ + type##PointPatchSphericalTensorField \ + ); \ + makeTemplatePointPatchTypeField \ + ( \ + pointPatchSymmTensorField, \ + type##PointPatchSymmTensorField \ + ); \ + makeTemplatePointPatchTypeField \ + ( \ + pointPatchTensorField, \ + type##PointPatchTensorField \ ); -#define makePointPatchFieldsTypeName(type) \ - defineNamedTemplateTypeNameAndDebug(type##PointPatchScalarField, 0); \ - defineNamedTemplateTypeNameAndDebug(type##PointPatchVectorField, 0); \ - defineNamedTemplateTypeNameAndDebug \ - ( \ - type##PointPatchSphericalTensorField, 0 \ - ); \ - defineNamedTemplateTypeNameAndDebug(type##PointPatchSymmTensorField, 0); \ +#define makePointPatchFieldsTypeName(type) \ + defineNamedTemplateTypeNameAndDebug(type##PointPatchScalarField, 0); \ + defineNamedTemplateTypeNameAndDebug(type##PointPatchVectorField, 0); \ + defineNamedTemplateTypeNameAndDebug \ + ( \ + type##PointPatchSphericalTensorField, 0 \ + ); \ + defineNamedTemplateTypeNameAndDebug(type##PointPatchSymmTensorField, 0); \ defineNamedTemplateTypeNameAndDebug(type##PointPatchTensorField, 0) -#define makePointPatchFieldTypedefs(type) \ - typedef type##PointPatchField<scalar> type##PointPatchScalarField; \ - typedef type##PointPatchField<vector> type##PointPatchVectorField; \ - typedef type##PointPatchField<sphericalTensor> \ - type##PointPatchSphericalTensorField; \ +#define makePointPatchFieldTypedefs(type) \ + typedef type##PointPatchField<scalar> type##PointPatchScalarField; \ + typedef type##PointPatchField<vector> type##PointPatchVectorField; \ + typedef type##PointPatchField<sphericalTensor> \ + type##PointPatchSphericalTensorField; \ typedef type##PointPatchField<symmTensor> type##PointPatchSymmTensorField;\ typedef type##PointPatchField<tensor> type##PointPatchTensorField; diff --git a/src/OpenFOAM/fields/pointPatchFields/pointPatchField/pointPatchFieldFunctions.H b/src/OpenFOAM/fields/pointPatchFields/pointPatchField/pointPatchFieldFunctions.H index 9331774db25..5a6f0bb213c 100644 --- a/src/OpenFOAM/fields/pointPatchFields/pointPatchField/pointPatchFieldFunctions.H +++ b/src/OpenFOAM/fields/pointPatchFields/pointPatchField/pointPatchFieldFunctions.H @@ -101,24 +101,24 @@ inline void cmptMag {} -#define BINARY_FUNCTION(func) \ - \ -template<class Type> \ -inline void func \ -( \ - pointPatchField<Type>& f, \ - const pointPatchField<Type>& f1, \ - const pointPatchField<Type>& f2 \ -) \ -{} \ - \ -template<class Type> \ -inline void func \ -( \ - pointPatchField<Type>& f, \ - const pointPatchField<Type>& f1, \ - const Type& s \ -) \ +#define BINARY_FUNCTION(func) \ + \ +template<class Type> \ +inline void func \ +( \ + pointPatchField<Type>& f, \ + const pointPatchField<Type>& f1, \ + const pointPatchField<Type>& f2 \ +) \ +{} \ + \ +template<class Type> \ +inline void func \ +( \ + pointPatchField<Type>& f, \ + const pointPatchField<Type>& f1, \ + const Type& s \ +) \ {} BINARY_FUNCTION(max) @@ -129,54 +129,54 @@ BINARY_FUNCTION(cmptDivide) /* * * * * * * * * * * * * * * * Global operators * * * * * * * * * * * * * */ -#define UNARY_OPERATOR(op, opFunc) \ - \ -template<class Type> \ -inline void opFunc \ -( \ - pointPatchField<Type>& f, \ - const pointPatchField<Type>& f1 \ -) \ +#define UNARY_OPERATOR(op, opFunc) \ + \ +template<class Type> \ +inline void opFunc \ +( \ + pointPatchField<Type>& f, \ + const pointPatchField<Type>& f1 \ +) \ {} UNARY_OPERATOR(-, negate) -#define BINARY_OPERATOR(Type1, Type2, op, opFunc) \ - \ -template<class Type> \ -inline void opFunc \ -( \ - pointPatchField<Type>& f, \ - const pointPatchField<Type1>& f1, \ - const pointPatchField<Type2>& f2 \ -) \ +#define BINARY_OPERATOR(Type1, Type2, op, opFunc) \ + \ +template<class Type> \ +inline void opFunc \ +( \ + pointPatchField<Type>& f, \ + const pointPatchField<Type1>& f1, \ + const pointPatchField<Type2>& f2 \ +) \ {} BINARY_OPERATOR(scalar, Type, *, multiply) BINARY_OPERATOR(Type, scalar, *, multiply) BINARY_OPERATOR(Type, scalar, /, divide) -#define BINARY_TYPE_OPERATOR_SF(TYPE, op, opFunc) \ - \ -template<class Type> \ -inline void opFunc \ -( \ - pointPatchField<Type>& f, \ - const TYPE& s, \ - const pointPatchField<Type>& f1 \ -) \ +#define BINARY_TYPE_OPERATOR_SF(TYPE, op, opFunc) \ + \ +template<class Type> \ +inline void opFunc \ +( \ + pointPatchField<Type>& f, \ + const TYPE& s, \ + const pointPatchField<Type>& f1 \ +) \ {} -#define BINARY_TYPE_OPERATOR_FS(TYPE, op, opFunc) \ - \ -template<class Type> \ -inline void opFunc \ -( \ - pointPatchField<Type>& f, \ - const pointPatchField<Type>& f1, \ - const TYPE& s \ -) \ +#define BINARY_TYPE_OPERATOR_FS(TYPE, op, opFunc) \ + \ +template<class Type> \ +inline void opFunc \ +( \ + pointPatchField<Type>& f, \ + const pointPatchField<Type>& f1, \ + const TYPE& s \ +) \ {} @@ -185,52 +185,52 @@ BINARY_TYPE_OPERATOR_FS(scalar, *, multiply) BINARY_TYPE_OPERATOR_FS(scalar, /, divide) -#define PRODUCT_OPERATOR(product, op, opFunc) \ - \ -template \ -< \ - class Type1, \ - class Type2 \ -> \ -inline void opFunc \ -( \ - pointPatchField \ - <typename product<Type1, Type2>::type>& f, \ - const pointPatchField<Type1>& f1, \ - const pointPatchField<Type2>& f2 \ -) \ -{} \ - \ -template \ -< \ - class Type, \ - class Form, \ - class Cmpt, \ - int nCmpt \ -> \ -inline void opFunc \ -( \ - pointPatchField \ - <typename product<Type, Form>::type>& f, \ - const pointPatchField<Type>& f1, \ - const VectorSpace<Form,Cmpt,nCmpt>& vs \ -) \ -{} \ - \ -template \ -< \ - class Form, \ - class Cmpt, \ - int nCmpt, \ - class Type \ -> \ -inline void opFunc \ -( \ - pointPatchField \ - <typename product<Form, Type>::type>& f, \ - const VectorSpace<Form,Cmpt,nCmpt>& vs, \ - const pointPatchField<Type>& f1 \ -) \ +#define PRODUCT_OPERATOR(product, op, opFunc) \ + \ +template \ +< \ + class Type1, \ + class Type2 \ +> \ +inline void opFunc \ +( \ + pointPatchField \ + <typename product<Type1, Type2>::type>& f, \ + const pointPatchField<Type1>& f1, \ + const pointPatchField<Type2>& f2 \ +) \ +{} \ + \ +template \ +< \ + class Type, \ + class Form, \ + class Cmpt, \ + int nCmpt \ +> \ +inline void opFunc \ +( \ + pointPatchField \ + <typename product<Type, Form>::type>& f, \ + const pointPatchField<Type>& f1, \ + const VectorSpace<Form,Cmpt,nCmpt>& vs \ +) \ +{} \ + \ +template \ +< \ + class Form, \ + class Cmpt, \ + int nCmpt, \ + class Type \ +> \ +inline void opFunc \ +( \ + pointPatchField \ + <typename product<Form, Type>::type>& f, \ + const VectorSpace<Form,Cmpt,nCmpt>& vs, \ + const pointPatchField<Type>& f1 \ +) \ {} PRODUCT_OPERATOR(typeOfSum, +, add) diff --git a/src/OpenFOAM/fields/pointPatchFields/pointPatchField/pointPatchFields.C b/src/OpenFOAM/fields/pointPatchFields/pointPatchField/pointPatchFields.C index 7ed9f70e6d1..d6eff924813 100644 --- a/src/OpenFOAM/fields/pointPatchFields/pointPatchField/pointPatchFields.C +++ b/src/OpenFOAM/fields/pointPatchFields/pointPatchField/pointPatchFields.C @@ -32,16 +32,16 @@ namespace Foam // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // -#define makePointPatchField(pointPatchTypeField) \ - \ -defineNamedTemplateTypeNameAndDebug(pointPatchTypeField, 0); \ -template<> \ -int pointPatchTypeField::disallowGenericPointPatchField \ -( \ - debug::debugSwitch("disallowGenericPointPatchField", 0) \ -); \ -defineTemplateRunTimeSelectionTable(pointPatchTypeField, pointPatch); \ -defineTemplateRunTimeSelectionTable(pointPatchTypeField, patchMapper); \ +#define makePointPatchField(pointPatchTypeField) \ + \ +defineNamedTemplateTypeNameAndDebug(pointPatchTypeField, 0); \ +template<> \ +int pointPatchTypeField::disallowGenericPointPatchField \ +( \ + debug::debugSwitch("disallowGenericPointPatchField", 0) \ +); \ +defineTemplateRunTimeSelectionTable(pointPatchTypeField, pointPatch); \ +defineTemplateRunTimeSelectionTable(pointPatchTypeField, patchMapper); \ defineTemplateRunTimeSelectionTable(pointPatchTypeField, dictionary); makePointPatchField(pointPatchScalarField) diff --git a/src/OpenFOAM/global/constants/dimensionedConstants.H b/src/OpenFOAM/global/constants/dimensionedConstants.H index 188f755cac3..f6d1e6c6f82 100644 --- a/src/OpenFOAM/global/constants/dimensionedConstants.H +++ b/src/OpenFOAM/global/constants/dimensionedConstants.H @@ -93,100 +93,100 @@ T dimensionedConstant //- Defined dimensioned constant , lookup as \a Name -#define defineDimensionedConstant(Group,Switch,Tag,Name) \ - const Foam::dimensionedScalar Switch; \ - class add##Tag##ToDimensionedConstant \ - : \ - public Foam::simpleRegIOobject \ - { \ - public: \ - add##Tag##ToDimensionedConstant(const char* name) \ - : \ - Foam::simpleRegIOobject \ - (Foam::debug::addDimensionedConstantObject,name) \ - { \ - Foam::dimensionedScalar ds \ - ( \ - Foam::dimensionedConstant \ - ( \ - Group, \ - Name \ - ) \ - ); \ +#define defineDimensionedConstant(Group,Switch,Tag,Name) \ + const Foam::dimensionedScalar Switch; \ + class add##Tag##ToDimensionedConstant \ + : \ + public Foam::simpleRegIOobject \ + { \ + public: \ + add##Tag##ToDimensionedConstant(const char* name) \ + : \ + Foam::simpleRegIOobject \ + (Foam::debug::addDimensionedConstantObject,name) \ + { \ + Foam::dimensionedScalar ds \ + ( \ + Foam::dimensionedConstant \ + ( \ + Group, \ + Name \ + ) \ + ); \ Foam::dimensionedScalar& s = const_cast<Foam::dimensionedScalar&> \ - ( \ - Switch \ - ); \ - s.dimensions().reset(ds.dimensions()); \ - s = ds; \ - } \ - virtual ~add##Tag##ToDimensionedConstant() \ - {} \ - virtual void readData(Foam::Istream& is) \ - { \ - const_cast<Foam::dimensionedScalar&>(Switch) = \ - Foam::dimensionedConstant \ - ( \ - Group, \ - Name \ - ); \ - } \ - virtual void writeData(Foam::Ostream& os) const \ - { \ - os << Switch; \ - } \ - }; \ + ( \ + Switch \ + ); \ + s.dimensions().reset(ds.dimensions()); \ + s = ds; \ + } \ + virtual ~add##Tag##ToDimensionedConstant() \ + {} \ + virtual void readData(Foam::Istream& is) \ + { \ + const_cast<Foam::dimensionedScalar&>(Switch) = \ + Foam::dimensionedConstant \ + ( \ + Group, \ + Name \ + ); \ + } \ + virtual void writeData(Foam::Ostream& os) const \ + { \ + os << Switch; \ + } \ + }; \ add##Tag##ToDimensionedConstant add##Tag##ToDimensionedConstant_(Name) //- Defined dimensioned constant with default , lookup as \a Name #define defineDimensionedConstantWithDefault\ -(Group,Switch,DefaultExpr,Tag,Name) \ - const Foam::dimensionedScalar Switch; \ - class add##Tag##ToDimensionedConstantWithDefault \ - : \ - public Foam::simpleRegIOobject \ - { \ - public: \ - add##Tag##ToDimensionedConstantWithDefault(const char* name) \ - : \ - Foam::simpleRegIOobject \ - (Foam::debug::addDimensionedConstantObject,name) \ - { \ - Foam::dimensionedScalar ds \ - ( \ - Foam::dimensionedConstant \ - ( \ - Group, \ - Name, \ - Foam::dimensionedScalar(Name,DefaultExpr) \ - ) \ - ); \ +(Group,Switch,DefaultExpr,Tag,Name) \ + const Foam::dimensionedScalar Switch; \ + class add##Tag##ToDimensionedConstantWithDefault \ + : \ + public Foam::simpleRegIOobject \ + { \ + public: \ + add##Tag##ToDimensionedConstantWithDefault(const char* name) \ + : \ + Foam::simpleRegIOobject \ + (Foam::debug::addDimensionedConstantObject,name) \ + { \ + Foam::dimensionedScalar ds \ + ( \ + Foam::dimensionedConstant \ + ( \ + Group, \ + Name, \ + Foam::dimensionedScalar(Name,DefaultExpr) \ + ) \ + ); \ Foam::dimensionedScalar& s = const_cast<Foam::dimensionedScalar&> \ - ( \ - Switch \ - ); \ - s.dimensions().reset(ds.dimensions()); \ - s = ds; \ - } \ - virtual ~add##Tag##ToDimensionedConstantWithDefault() \ - {} \ - virtual void readData(Foam::Istream& is) \ - { \ - const_cast<Foam::dimensionedScalar&>(Switch) = \ - Foam::dimensionedConstant \ - ( \ - Group, \ - Name, \ - Foam::dimensionedScalar(Name,DefaultExpr) \ - ); \ - } \ - virtual void writeData(Foam::Ostream& os) const \ - { \ - os << Switch; \ - } \ - }; \ - add##Tag##ToDimensionedConstantWithDefault \ + ( \ + Switch \ + ); \ + s.dimensions().reset(ds.dimensions()); \ + s = ds; \ + } \ + virtual ~add##Tag##ToDimensionedConstantWithDefault() \ + {} \ + virtual void readData(Foam::Istream& is) \ + { \ + const_cast<Foam::dimensionedScalar&>(Switch) = \ + Foam::dimensionedConstant \ + ( \ + Group, \ + Name, \ + Foam::dimensionedScalar(Name,DefaultExpr) \ + ); \ + } \ + virtual void writeData(Foam::Ostream& os) const \ + { \ + os << Switch; \ + } \ + }; \ + add##Tag##ToDimensionedConstantWithDefault \ add##Tag##ToDimensionedConstantWithDefault_(Name) diff --git a/src/OpenFOAM/global/debug/defineDebugSwitch.H b/src/OpenFOAM/global/debug/defineDebugSwitch.H index 54731a1b6ef..85b60fb95be 100644 --- a/src/OpenFOAM/global/debug/defineDebugSwitch.H +++ b/src/OpenFOAM/global/debug/defineDebugSwitch.H @@ -74,64 +74,64 @@ public: } // End namespace Foam -#define registerTemplateDebugSwitchWithName(Type,Name) \ - template<> \ - const Foam::RegisterDebugSwitch<Type> \ +#define registerTemplateDebugSwitchWithName(Type,Name) \ + template<> \ + const Foam::RegisterDebugSwitch<Type> \ Foam::RegisterDebugSwitch<Type>::registerDebugSwitch(Name) //- Define the debug information, lookup as \a Name -#define registerDebugSwitchWithName(Type,Tag,Name) \ - class add##Tag##ToDebug \ - : \ - public ::Foam::simpleRegIOobject \ - { \ - public: \ - add##Tag##ToDebug(const char* name) \ - : \ - ::Foam::simpleRegIOobject(Foam::debug::addDebugObject, name) \ - {} \ - virtual ~add##Tag##ToDebug() \ - {} \ - virtual void readData(Foam::Istream& is) \ - { \ - Type::debug = readLabel(is); \ - } \ - virtual void writeData(Foam::Ostream& os) const \ - { \ - os << Type::debug; \ - } \ - }; \ +#define registerDebugSwitchWithName(Type,Tag,Name) \ + class add##Tag##ToDebug \ + : \ + public ::Foam::simpleRegIOobject \ + { \ + public: \ + add##Tag##ToDebug(const char* name) \ + : \ + ::Foam::simpleRegIOobject(Foam::debug::addDebugObject, name) \ + {} \ + virtual ~add##Tag##ToDebug() \ + {} \ + virtual void readData(Foam::Istream& is) \ + { \ + Type::debug = readLabel(is); \ + } \ + virtual void writeData(Foam::Ostream& os) const \ + { \ + os << Type::debug; \ + } \ + }; \ add##Tag##ToDebug add##Tag##ToDebug_(Name) //- Define the debug information, lookup as \a Name -#define defineDebugSwitchWithName(Type, Name, DebugSwitch) \ +#define defineDebugSwitchWithName(Type, Name, DebugSwitch) \ int Type::debug(::Foam::debug::debugSwitch(Name, DebugSwitch)) //- Define the debug information -#define defineDebugSwitch(Type, DebugSwitch) \ - defineDebugSwitchWithName(Type, Type::typeName_(), DebugSwitch); \ +#define defineDebugSwitch(Type, DebugSwitch) \ + defineDebugSwitchWithName(Type, Type::typeName_(), DebugSwitch); \ registerDebugSwitchWithName(Type, Type, Type::typeName_()) //- Define the debug information for templates, lookup as \a Name -# define defineTemplateDebugSwitchWithName(Type, Name, DebugSwitch) \ - template<> \ - defineDebugSwitchWithName(Type, Name, DebugSwitch); \ +# define defineTemplateDebugSwitchWithName(Type, Name, DebugSwitch) \ + template<> \ + defineDebugSwitchWithName(Type, Name, DebugSwitch); \ registerTemplateDebugSwitchWithName(Type, Name) //- Define the debug information for templates sub-classes, lookup as \a Name -# define defineTemplate2DebugSwitchWithName(Type, Name, DebugSwitch) \ - template<> \ - defineDebugSwitchWithName(Type, Name, DebugSwitch); \ +# define defineTemplate2DebugSwitchWithName(Type, Name, DebugSwitch) \ + template<> \ + defineDebugSwitchWithName(Type, Name, DebugSwitch); \ registerTemplateDebugSwitchWithName(Type, Name) //- Define the debug information for templates // Useful with typedefs -#define defineTemplateDebugSwitch(Type, DebugSwitch) \ +#define defineTemplateDebugSwitch(Type, DebugSwitch) \ defineTemplateDebugSwitchWithName(Type, #Type, DebugSwitch) //- Define the debug information directly for templates -#define defineNamedTemplateDebugSwitch(Type, DebugSwitch) \ +#define defineNamedTemplateDebugSwitch(Type, DebugSwitch) \ defineTemplateDebugSwitchWithName(Type, Type::typeName_(), DebugSwitch) @@ -139,11 +139,11 @@ public: //- Define the debug information for templates // Useful with typedefs -#define defineTemplate2DebugSwitch(Type, DebugSwitch) \ +#define defineTemplate2DebugSwitch(Type, DebugSwitch) \ defineTemplate2DebugSwitchWithName(Type, #Type, DebugSwitch) //- Define the debug information directly for templates -#define defineNamedTemplate2DebugSwitch(Type, DebugSwitch) \ +#define defineNamedTemplate2DebugSwitch(Type, DebugSwitch) \ defineTemplate2DebugSwitchWithName(Type, Type::typeName_(), DebugSwitch) diff --git a/src/OpenFOAM/interpolations/interpolationTable/tableReaders/tableReaders.C b/src/OpenFOAM/interpolations/interpolationTable/tableReaders/tableReaders.C index 7d7c8b3cd7f..43a3ea05ef0 100644 --- a/src/OpenFOAM/interpolations/interpolationTable/tableReaders/tableReaders.C +++ b/src/OpenFOAM/interpolations/interpolationTable/tableReaders/tableReaders.C @@ -32,8 +32,8 @@ namespace Foam // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // -#define defineTableReaderType(dataType) \ - defineNamedTemplateTypeNameAndDebug(tableReader<dataType >, 0); \ +#define defineTableReaderType(dataType) \ + defineNamedTemplateTypeNameAndDebug(tableReader<dataType >, 0); \ defineTemplatedRunTimeSelectionTable(tableReader, dictionary, dataType); defineTableReaderType(scalar); diff --git a/src/OpenFOAM/interpolations/interpolationTable/tableReaders/tableReaders.H b/src/OpenFOAM/interpolations/interpolationTable/tableReaders/tableReaders.H index a2353fdd228..6ac5d98a610 100644 --- a/src/OpenFOAM/interpolations/interpolationTable/tableReaders/tableReaders.H +++ b/src/OpenFOAM/interpolations/interpolationTable/tableReaders/tableReaders.H @@ -35,36 +35,36 @@ SourceFiles // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // Only used internally -#define makeTypeTableReadersTypeName(typeTableReader, dataType) \ - \ +#define makeTypeTableReadersTypeName(typeTableReader, dataType) \ + \ defineNamedTemplateTypeNameAndDebug(typeTableReader<dataType>, 0) // Sometimes used externally -#define makeTableReadersTypeName(typeTableReader) \ - \ - makeTypeTableReadersTypeName(typeTableReader, scalar); \ - makeTypeTableReadersTypeName(typeTableReader, vector); \ - makeTypeTableReadersTypeName(typeTableReader, sphericalTensor); \ - makeTypeTableReadersTypeName(typeTableReader, symmTensor); \ +#define makeTableReadersTypeName(typeTableReader) \ + \ + makeTypeTableReadersTypeName(typeTableReader, scalar); \ + makeTypeTableReadersTypeName(typeTableReader, vector); \ + makeTypeTableReadersTypeName(typeTableReader, sphericalTensor); \ + makeTypeTableReadersTypeName(typeTableReader, symmTensor); \ makeTypeTableReadersTypeName(typeTableReader, tensor) // Define type info for single dataType template instantiation (eg, vector) -#define makeTableReaderType(typeTableReader, dataType) \ - \ - defineNamedTemplateTypeNameAndDebug(typeTableReader<dataType>, 0); \ - addTemplatedToRunTimeSelectionTable \ - ( \ - tableReader, typeTableReader, dataType, dictionary \ +#define makeTableReaderType(typeTableReader, dataType) \ + \ + defineNamedTemplateTypeNameAndDebug(typeTableReader<dataType>, 0); \ + addTemplatedToRunTimeSelectionTable \ + ( \ + tableReader, typeTableReader, dataType, dictionary \ ) // Define type info for scalar, vector etc. instantiations -#define makeTableReaders(typeTableReader) \ - \ - makeTableReaderType(typeTableReader, scalar); \ - makeTableReaderType(typeTableReader, vector); \ - makeTableReaderType(typeTableReader, sphericalTensor); \ - makeTableReaderType(typeTableReader, symmTensor); \ +#define makeTableReaders(typeTableReader) \ + \ + makeTableReaderType(typeTableReader, scalar); \ + makeTableReaderType(typeTableReader, vector); \ + makeTableReaderType(typeTableReader, sphericalTensor); \ + makeTableReaderType(typeTableReader, symmTensor); \ makeTableReaderType(typeTableReader, tensor) diff --git a/src/OpenFOAM/matrices/LduMatrix/LduMatrix/LduMatrix.H b/src/OpenFOAM/matrices/LduMatrix/LduMatrix/LduMatrix.H index ef4d65de81f..22b740c4de4 100644 --- a/src/OpenFOAM/matrices/LduMatrix/LduMatrix/LduMatrix.H +++ b/src/OpenFOAM/matrices/LduMatrix/LduMatrix/LduMatrix.H @@ -664,130 +664,130 @@ public: // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -#define makeLduMatrix(Type, DType, LUType) \ - \ -typedef Foam::LduMatrix<Type, DType, LUType> \ - ldu##Type##DType##LUType##Matrix; \ - \ -defineNamedTemplateTypeNameAndDebug(ldu##Type##DType##LUType##Matrix, 0); \ - \ - \ -typedef LduMatrix<Type, DType, LUType>::smoother \ - ldu##Type##DType##LUType##Smoother; \ - \ -defineTemplateRunTimeSelectionTable \ -( \ - ldu##Type##DType##LUType##Smoother, \ - symMatrix \ -); \ - \ -defineTemplateRunTimeSelectionTable \ -( \ - ldu##Type##DType##LUType##Smoother, \ - asymMatrix \ -); \ - \ - \ -typedef LduMatrix<Type, DType, LUType>::preconditioner \ - ldu##Type##DType##LUType##Preconditioner; \ - \ -defineTemplateRunTimeSelectionTable \ -( \ - ldu##Type##DType##LUType##Preconditioner, \ - symMatrix \ -); \ - \ -defineTemplateRunTimeSelectionTable \ -( \ - ldu##Type##DType##LUType##Preconditioner, \ - asymMatrix \ -); \ - \ - \ -typedef LduMatrix<Type, DType, LUType>::solver \ - ldu##Type##DType##LUType##Solver; \ - \ -defineTemplateRunTimeSelectionTable \ -( \ - ldu##Type##DType##LUType##Solver, \ - symMatrix \ -); \ - \ -defineTemplateRunTimeSelectionTable \ -( \ - ldu##Type##DType##LUType##Solver, \ - asymMatrix \ +#define makeLduMatrix(Type, DType, LUType) \ + \ +typedef Foam::LduMatrix<Type, DType, LUType> \ + ldu##Type##DType##LUType##Matrix; \ + \ +defineNamedTemplateTypeNameAndDebug(ldu##Type##DType##LUType##Matrix, 0); \ + \ + \ +typedef LduMatrix<Type, DType, LUType>::smoother \ + ldu##Type##DType##LUType##Smoother; \ + \ +defineTemplateRunTimeSelectionTable \ +( \ + ldu##Type##DType##LUType##Smoother, \ + symMatrix \ +); \ + \ +defineTemplateRunTimeSelectionTable \ +( \ + ldu##Type##DType##LUType##Smoother, \ + asymMatrix \ +); \ + \ + \ +typedef LduMatrix<Type, DType, LUType>::preconditioner \ + ldu##Type##DType##LUType##Preconditioner; \ + \ +defineTemplateRunTimeSelectionTable \ +( \ + ldu##Type##DType##LUType##Preconditioner, \ + symMatrix \ +); \ + \ +defineTemplateRunTimeSelectionTable \ +( \ + ldu##Type##DType##LUType##Preconditioner, \ + asymMatrix \ +); \ + \ + \ +typedef LduMatrix<Type, DType, LUType>::solver \ + ldu##Type##DType##LUType##Solver; \ + \ +defineTemplateRunTimeSelectionTable \ +( \ + ldu##Type##DType##LUType##Solver, \ + symMatrix \ +); \ + \ +defineTemplateRunTimeSelectionTable \ +( \ + ldu##Type##DType##LUType##Solver, \ + asymMatrix \ ); -#define makeLduPreconditioner(Precon, Type, DType, LUType) \ - \ -typedef Precon<Type, DType, LUType> \ - Precon##Type##DType##LUType##Preconditioner; \ -defineNamedTemplateTypeNameAndDebug \ -( \ - Precon##Type##DType##LUType##Preconditioner, \ - 0 \ +#define makeLduPreconditioner(Precon, Type, DType, LUType) \ + \ +typedef Precon<Type, DType, LUType> \ + Precon##Type##DType##LUType##Preconditioner; \ +defineNamedTemplateTypeNameAndDebug \ +( \ + Precon##Type##DType##LUType##Preconditioner, \ + 0 \ ); -#define makeLduSymPreconditioner(Precon, Type, DType, LUType) \ - \ -LduMatrix<Type, DType, LUType>::preconditioner:: \ -addsymMatrixConstructorToTable<Precon##Type##DType##LUType##Preconditioner> \ +#define makeLduSymPreconditioner(Precon, Type, DType, LUType) \ + \ +LduMatrix<Type, DType, LUType>::preconditioner:: \ +addsymMatrixConstructorToTable<Precon##Type##DType##LUType##Preconditioner> \ add##Precon##Type##DType##LUType##PreconditionerSymMatrixConstructorToTable_; -#define makeLduAsymPreconditioner(Precon, Type, DType, LUType) \ - \ -LduMatrix<Type, DType, LUType>::preconditioner:: \ -addasymMatrixConstructorToTable<Precon##Type##DType##LUType##Preconditioner> \ +#define makeLduAsymPreconditioner(Precon, Type, DType, LUType) \ + \ +LduMatrix<Type, DType, LUType>::preconditioner:: \ +addasymMatrixConstructorToTable<Precon##Type##DType##LUType##Preconditioner> \ add##Precon##Type##DType##LUType##PreconditionerAsymMatrixConstructorToTable_; -#define makeLduSmoother(Smoother, Type, DType, LUType) \ - \ -typedef Smoother<Type, DType, LUType> \ - Smoother##Type##DType##LUType##Smoother; \ - \ -defineNamedTemplateTypeNameAndDebug \ -( \ - Smoother##Type##DType##LUType##Smoother, \ - 0 \ +#define makeLduSmoother(Smoother, Type, DType, LUType) \ + \ +typedef Smoother<Type, DType, LUType> \ + Smoother##Type##DType##LUType##Smoother; \ + \ +defineNamedTemplateTypeNameAndDebug \ +( \ + Smoother##Type##DType##LUType##Smoother, \ + 0 \ ); -#define makeLduSymSmoother(Smoother, Type, DType, LUType) \ - \ -LduMatrix<Type, DType, LUType>::smoother:: \ - addsymMatrixConstructorToTable<Smoother##Type##DType##LUType##Smoother> \ +#define makeLduSymSmoother(Smoother, Type, DType, LUType) \ + \ +LduMatrix<Type, DType, LUType>::smoother:: \ + addsymMatrixConstructorToTable<Smoother##Type##DType##LUType##Smoother> \ add##Smoother##Type##DType##LUType##SymMatrixConstructorToTable_; -#define makeLduAsymSmoother(Smoother, Type, DType, LUType) \ - \ -LduMatrix<Type, DType, LUType>::smoother:: \ - addasymMatrixConstructorToTable<Smoother##Type##DType##LUType##Smoother> \ +#define makeLduAsymSmoother(Smoother, Type, DType, LUType) \ + \ +LduMatrix<Type, DType, LUType>::smoother:: \ + addasymMatrixConstructorToTable<Smoother##Type##DType##LUType##Smoother> \ add##Smoother##Type##DType##LUType##AsymMatrixConstructorToTable_; -#define makeLduSolver(Solver, Type, DType, LUType) \ - \ -typedef Solver<Type, DType, LUType> \ - Solver##Type##DType##LUType##Solver; \ - \ -defineNamedTemplateTypeNameAndDebug \ -( \ - Solver##Type##DType##LUType##Solver, \ - 0 \ +#define makeLduSolver(Solver, Type, DType, LUType) \ + \ +typedef Solver<Type, DType, LUType> \ + Solver##Type##DType##LUType##Solver; \ + \ +defineNamedTemplateTypeNameAndDebug \ +( \ + Solver##Type##DType##LUType##Solver, \ + 0 \ ); -#define makeLduSymSolver(Solver, Type, DType, LUType) \ - \ -LduMatrix<Type, DType, LUType>::solver:: \ - addsymMatrixConstructorToTable<Solver##Type##DType##LUType##Solver> \ +#define makeLduSymSolver(Solver, Type, DType, LUType) \ + \ +LduMatrix<Type, DType, LUType>::solver:: \ + addsymMatrixConstructorToTable<Solver##Type##DType##LUType##Solver> \ add##Solver##Type##DType##LUType##SymMatrixConstructorToTable_; -#define makeLduAsymSolver(Solver, Type, DType, LUType) \ - \ -LduMatrix<Type, DType, LUType>::solver:: \ - addasymMatrixConstructorToTable<Solver##Type##DType##LUType##Solver> \ +#define makeLduAsymSolver(Solver, Type, DType, LUType) \ + \ +LduMatrix<Type, DType, LUType>::solver:: \ + addasymMatrixConstructorToTable<Solver##Type##DType##LUType##Solver> \ add##Solver##Type##DType##LUType##AsymMatrixConstructorToTable_; diff --git a/src/OpenFOAM/matrices/LduMatrix/LduMatrix/SolverPerformance.H b/src/OpenFOAM/matrices/LduMatrix/LduMatrix/SolverPerformance.H index c24fc9c793b..ddb48c2d881 100644 --- a/src/OpenFOAM/matrices/LduMatrix/LduMatrix/SolverPerformance.H +++ b/src/OpenFOAM/matrices/LduMatrix/LduMatrix/SolverPerformance.H @@ -271,21 +271,21 @@ public: // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -#define makeSolverPerformance(Type) \ - \ -typedef Foam::SolverPerformance<Type> \ - solverPerformance##Type; \ - \ -defineNamedTemplateTypeNameAndDebug(solverPerformance##Type, 0); \ - \ -template<> \ -const scalar solverPerformance##Type::great_(1e20); \ - \ -template<> \ -const scalar solverPerformance##Type::small_(1e-20); \ - \ -template<> \ -const scalar solverPerformance##Type::vsmall_(VSMALL); \ +#define makeSolverPerformance(Type) \ + \ +typedef Foam::SolverPerformance<Type> \ + solverPerformance##Type; \ + \ +defineNamedTemplateTypeNameAndDebug(solverPerformance##Type, 0); \ + \ +template<> \ +const scalar solverPerformance##Type::great_(1e20); \ + \ +template<> \ +const scalar solverPerformance##Type::small_(1e-20); \ + \ +template<> \ +const scalar solverPerformance##Type::vsmall_(VSMALL); \ // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/src/OpenFOAM/matrices/LduMatrix/Preconditioners/lduPreconditioners.C b/src/OpenFOAM/matrices/LduMatrix/Preconditioners/lduPreconditioners.C index 95f1483658e..6e7a3341387 100644 --- a/src/OpenFOAM/matrices/LduMatrix/Preconditioners/lduPreconditioners.C +++ b/src/OpenFOAM/matrices/LduMatrix/Preconditioners/lduPreconditioners.C @@ -28,17 +28,17 @@ License #include "TDILUPreconditioner.H" #include "fieldTypes.H" -#define makeLduPreconditioners(Type, DType, LUType) \ - \ - makeLduPreconditioner(NoPreconditioner, Type, DType, LUType); \ - makeLduSymPreconditioner(NoPreconditioner, Type, DType, LUType); \ - makeLduAsymPreconditioner(NoPreconditioner, Type, DType, LUType); \ - \ - makeLduPreconditioner(DiagonalPreconditioner, Type, DType, LUType); \ - makeLduSymPreconditioner(DiagonalPreconditioner, Type, DType, LUType); \ - makeLduAsymPreconditioner(DiagonalPreconditioner, Type, DType, LUType); \ - \ - makeLduPreconditioner(TDILUPreconditioner, Type, DType, LUType); \ +#define makeLduPreconditioners(Type, DType, LUType) \ + \ + makeLduPreconditioner(NoPreconditioner, Type, DType, LUType); \ + makeLduSymPreconditioner(NoPreconditioner, Type, DType, LUType); \ + makeLduAsymPreconditioner(NoPreconditioner, Type, DType, LUType); \ + \ + makeLduPreconditioner(DiagonalPreconditioner, Type, DType, LUType); \ + makeLduSymPreconditioner(DiagonalPreconditioner, Type, DType, LUType); \ + makeLduAsymPreconditioner(DiagonalPreconditioner, Type, DType, LUType); \ + \ + makeLduPreconditioner(TDILUPreconditioner, Type, DType, LUType); \ makeLduAsymPreconditioner(TDILUPreconditioner, Type, DType, LUType); namespace Foam diff --git a/src/OpenFOAM/matrices/LduMatrix/Smoothers/lduSmoothers.C b/src/OpenFOAM/matrices/LduMatrix/Smoothers/lduSmoothers.C index c40b0673f8c..e830d7f6ca9 100644 --- a/src/OpenFOAM/matrices/LduMatrix/Smoothers/lduSmoothers.C +++ b/src/OpenFOAM/matrices/LduMatrix/Smoothers/lduSmoothers.C @@ -26,10 +26,10 @@ License #include "TGaussSeidelSmoother.H" #include "fieldTypes.H" -#define makeLduSmoothers(Type, DType, LUType) \ - \ - makeLduSmoother(TGaussSeidelSmoother, Type, DType, LUType); \ - makeLduSymSmoother(TGaussSeidelSmoother, Type, DType, LUType); \ +#define makeLduSmoothers(Type, DType, LUType) \ + \ + makeLduSmoother(TGaussSeidelSmoother, Type, DType, LUType); \ + makeLduSymSmoother(TGaussSeidelSmoother, Type, DType, LUType); \ makeLduAsymSmoother(TGaussSeidelSmoother, Type, DType, LUType); namespace Foam diff --git a/src/OpenFOAM/matrices/LduMatrix/Solvers/lduSolvers.C b/src/OpenFOAM/matrices/LduMatrix/Solvers/lduSolvers.C index 6e36e525b80..df439fc59db 100644 --- a/src/OpenFOAM/matrices/LduMatrix/Solvers/lduSolvers.C +++ b/src/OpenFOAM/matrices/LduMatrix/Solvers/lduSolvers.C @@ -29,23 +29,23 @@ License #include "SmoothSolver.H" #include "fieldTypes.H" -#define makeLduSolvers(Type, DType, LUType) \ - \ - makeLduSolver(DiagonalSolver, Type, DType, LUType); \ - makeLduSymSolver(DiagonalSolver, Type, DType, LUType); \ - makeLduAsymSolver(DiagonalSolver, Type, DType, LUType); \ - \ - makeLduSolver(PCICG, Type, DType, LUType); \ - makeLduSymSolver(PCICG, Type, DType, LUType); \ - \ - makeLduSolver(PBiCCCG, Type, DType, LUType); \ - makeLduAsymSolver(PBiCCCG, Type, DType, LUType); \ - \ - makeLduSolver(PBiCICG, Type, DType, LUType); \ - makeLduAsymSolver(PBiCICG, Type, DType, LUType); \ - \ - makeLduSolver(SmoothSolver, Type, DType, LUType); \ - makeLduSymSolver(SmoothSolver, Type, DType, LUType); \ +#define makeLduSolvers(Type, DType, LUType) \ + \ + makeLduSolver(DiagonalSolver, Type, DType, LUType); \ + makeLduSymSolver(DiagonalSolver, Type, DType, LUType); \ + makeLduAsymSolver(DiagonalSolver, Type, DType, LUType); \ + \ + makeLduSolver(PCICG, Type, DType, LUType); \ + makeLduSymSolver(PCICG, Type, DType, LUType); \ + \ + makeLduSolver(PBiCCCG, Type, DType, LUType); \ + makeLduAsymSolver(PBiCCCG, Type, DType, LUType); \ + \ + makeLduSolver(PBiCICG, Type, DType, LUType); \ + makeLduAsymSolver(PBiCICG, Type, DType, LUType); \ + \ + makeLduSolver(SmoothSolver, Type, DType, LUType); \ + makeLduSymSolver(SmoothSolver, Type, DType, LUType); \ makeLduAsymSolver(SmoothSolver, Type, DType, LUType); namespace Foam diff --git a/src/OpenFOAM/primitives/functions/DataEntry/DataEntry/DataEntry.H b/src/OpenFOAM/primitives/functions/DataEntry/DataEntry/DataEntry.H index 7e3f6e4b91c..4422d50f060 100644 --- a/src/OpenFOAM/primitives/functions/DataEntry/DataEntry/DataEntry.H +++ b/src/OpenFOAM/primitives/functions/DataEntry/DataEntry/DataEntry.H @@ -205,22 +205,22 @@ public: // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -#define makeDataEntry(Type) \ - \ - defineNamedTemplateTypeNameAndDebug(DataEntry<Type>, 0); \ - \ - defineTemplateRunTimeSelectionTable \ - ( \ - DataEntry<Type>, \ - dictionary \ +#define makeDataEntry(Type) \ + \ + defineNamedTemplateTypeNameAndDebug(DataEntry<Type>, 0); \ + \ + defineTemplateRunTimeSelectionTable \ + ( \ + DataEntry<Type>, \ + dictionary \ ); -#define makeDataEntryType(SS, Type) \ - \ - defineNamedTemplateTypeNameAndDebug(SS<Type>, 0); \ - \ - DataEntry<Type>::adddictionaryConstructorToTable<SS<Type>> \ +#define makeDataEntryType(SS, Type) \ + \ + defineNamedTemplateTypeNameAndDebug(SS<Type>, 0); \ + \ + DataEntry<Type>::adddictionaryConstructorToTable<SS<Type>> \ add##SS##Type##ConstructorToTable_; diff --git a/src/OpenFOAM/primitives/hashes/Hasher/Hasher.C b/src/OpenFOAM/primitives/hashes/Hasher/Hasher.C index 685179d98fa..349fdd943a4 100644 --- a/src/OpenFOAM/primitives/hashes/Hasher/Hasher.C +++ b/src/OpenFOAM/primitives/hashes/Hasher/Hasher.C @@ -113,14 +113,14 @@ Description // rotates. // ---------------------------------------------------------------------------- -#define bitMixer(a, b, c) \ - { \ - a -= c; a ^= bitRotateLeft(c, 4); c += b; \ - b -= a; b ^= bitRotateLeft(a, 6); a += c; \ - c -= b; c ^= bitRotateLeft(b, 8); b += a; \ - a -= c; a ^= bitRotateLeft(c,16); c += b; \ - b -= a; b ^= bitRotateLeft(a,19); a += c; \ - c -= b; c ^= bitRotateLeft(b, 4); b += a; \ +#define bitMixer(a, b, c) \ + { \ + a -= c; a ^= bitRotateLeft(c, 4); c += b; \ + b -= a; b ^= bitRotateLeft(a, 6); a += c; \ + c -= b; c ^= bitRotateLeft(b, 8); b += a; \ + a -= c; a ^= bitRotateLeft(c,16); c += b; \ + b -= a; b ^= bitRotateLeft(a,19); a += c; \ + c -= b; c ^= bitRotateLeft(b, 4); b += a; \ } @@ -148,15 +148,15 @@ Description // 11 8 15 26 3 22 24 // ---------------------------------------------------------------------------- -#define bitMixerFinal(a, b, c) \ - { \ - c ^= b; c -= bitRotateLeft(b, 14); \ - a ^= c; a -= bitRotateLeft(c, 11); \ - b ^= a; b -= bitRotateLeft(a, 25); \ - c ^= b; c -= bitRotateLeft(b, 16); \ - a ^= c; a -= bitRotateLeft(c, 4); \ - b ^= a; b -= bitRotateLeft(a, 14); \ - c ^= b; c -= bitRotateLeft(b, 24); \ +#define bitMixerFinal(a, b, c) \ + { \ + c ^= b; c -= bitRotateLeft(b, 14); \ + a ^= c; a -= bitRotateLeft(c, 11); \ + b ^= a; b -= bitRotateLeft(a, 25); \ + c ^= b; c -= bitRotateLeft(b, 16); \ + a ^= c; a -= bitRotateLeft(c, 4); \ + b ^= a; b -= bitRotateLeft(a, 14); \ + c ^= b; c -= bitRotateLeft(b, 24); \ } diff --git a/src/OpenFOAM/primitives/hashes/SHA1/SHA1.C b/src/OpenFOAM/primitives/hashes/SHA1/SHA1.C index f9caa9b586b..cb32fcf676f 100644 --- a/src/OpenFOAM/primitives/hashes/SHA1/SHA1.C +++ b/src/OpenFOAM/primitives/hashes/SHA1/SHA1.C @@ -206,15 +206,15 @@ void Foam::SHA1::processBlock(const void *data, size_t len) // rotate left uint32_t by n bits #define rol_uint32(x, nbits) (((x) << (nbits)) | ((x) >> (32 - (nbits)))) - #define M(I) ( tm = x[I & 0x0F] ^ x[(I-14) & 0x0F] \ - ^ x[(I-8) & 0x0F] ^ x[(I-3) & 0x0F] \ + #define M(I) ( tm = x[I & 0x0F] ^ x[(I-14) & 0x0F] \ + ^ x[(I-8) & 0x0F] ^ x[(I-3) & 0x0F] \ , (x[I & 0x0F] = rol_uint32(tm, 1)) ) - #define R(A,B,C,D,E,F,K,M) \ - do \ - { \ - E += rol_uint32(A, 5) + F(B, C, D) + K + M; \ - B = rol_uint32(B, 30); \ + #define R(A,B,C,D,E,F,K,M) \ + do \ + { \ + E += rol_uint32(A, 5) + F(B, C, D) + K + M; \ + B = rol_uint32(B, 30); \ } while (0) while (words < endp) diff --git a/src/OpenFOAM/primitives/ops/ops.H b/src/OpenFOAM/primitives/ops/ops.H index 24c72d24ecf..cedeb733beb 100644 --- a/src/OpenFOAM/primitives/ops/ops.H +++ b/src/OpenFOAM/primitives/ops/ops.H @@ -43,28 +43,28 @@ namespace Foam // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -#define EqOp(opName, op) \ - \ -template<class T1, class T2> \ -class opName##Op2 \ -{ \ -public: \ - \ - void operator()(T1& x, const T2& y) const \ - { \ - op; \ - } \ -}; \ - \ -template<class T> \ -class opName##Op \ -{ \ -public: \ - \ - void operator()(T& x, const T& y) const \ - { \ - op; \ - } \ +#define EqOp(opName, op) \ + \ +template<class T1, class T2> \ +class opName##Op2 \ +{ \ +public: \ + \ + void operator()(T1& x, const T2& y) const \ + { \ + op; \ + } \ +}; \ + \ +template<class T> \ +class opName##Op \ +{ \ +public: \ + \ + void operator()(T& x, const T& y) const \ + { \ + op; \ + } \ }; EqOp(eq, x = y) @@ -96,67 +96,67 @@ EqOp(nopEq, (void)x) #define WARNRETURN #endif -#define Op(opName, op) \ - \ - template<class T, class T1, class T2> \ - class opName##Op3 \ - { \ - public: \ - \ - T operator()(const T1& x, const T2& y) const WARNRETURN \ - { \ - return op; \ - } \ - }; \ - \ - template<class T1, class T2> \ - class opName##Op2 \ - { \ - public: \ - \ - T1 operator()(const T1& x, const T2& y) const WARNRETURN \ - { \ - return op; \ - } \ - }; \ - \ - template<class T> \ - class opName##Op \ - { \ - public: \ - \ - T operator()(const T& x, const T& y) const WARNRETURN \ - { \ - return op; \ - } \ +#define Op(opName, op) \ + \ + template<class T, class T1, class T2> \ + class opName##Op3 \ + { \ + public: \ + \ + T operator()(const T1& x, const T2& y) const WARNRETURN \ + { \ + return op; \ + } \ + }; \ + \ + template<class T1, class T2> \ + class opName##Op2 \ + { \ + public: \ + \ + T1 operator()(const T1& x, const T2& y) const WARNRETURN \ + { \ + return op; \ + } \ + }; \ + \ + template<class T> \ + class opName##Op \ + { \ + public: \ + \ + T operator()(const T& x, const T& y) const WARNRETURN \ + { \ + return op; \ + } \ }; -#define weightedOp(opName, op) \ - \ - template<class Type, class CombineOp> \ - class opName##WeightedOp \ - { \ - const CombineOp& cop_; \ - \ - public: \ - \ - opName##WeightedOp(const CombineOp& cop) \ - : \ - cop_(cop) \ - {} \ - \ - void operator() \ - ( \ - Type& x, \ - const label index, \ - const Type& y, \ - const scalar weight \ - ) const \ - { \ - cop_(x, op); \ - } \ - }; \ +#define weightedOp(opName, op) \ + \ + template<class Type, class CombineOp> \ + class opName##WeightedOp \ + { \ + const CombineOp& cop_; \ + \ + public: \ + \ + opName##WeightedOp(const CombineOp& cop) \ + : \ + cop_(cop) \ + {} \ + \ + void operator() \ + ( \ + Type& x, \ + const label index, \ + const Type& y, \ + const scalar weight \ + ) const \ + { \ + cop_(x, op); \ + } \ + }; \ Op(sum, x + y) diff --git a/src/TurbulenceModels/compressible/turbulentFluidThermoModels/makeTurbulenceModel.H b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/makeTurbulenceModel.H index 33d479fb935..7213aa5be5d 100644 --- a/src/TurbulenceModels/compressible/turbulentFluidThermoModels/makeTurbulenceModel.H +++ b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/makeTurbulenceModel.H @@ -44,7 +44,7 @@ License dictionary \ ); \ \ - typedef TDModel<BaseModel<Transport>> \ + typedef TDModel<BaseModel<Transport>> \ Transport##BaseModel; \ \ \ @@ -60,7 +60,7 @@ License ); \ \ \ - typedef RASModel<EddyDiffusivity<Transport##BaseModel>> \ + typedef RASModel<EddyDiffusivity<Transport##BaseModel>> \ RAS##Transport##BaseModel; \ \ defineNamedTemplateTypeNameAndDebug(RAS##Transport##BaseModel, 0); \ @@ -76,7 +76,7 @@ License ); \ \ \ - typedef LESModel<EddyDiffusivity<Transport##BaseModel>> \ + typedef LESModel<EddyDiffusivity<Transport##BaseModel>> \ LES##Transport##BaseModel; \ \ defineNamedTemplateTypeNameAndDebug(LES##Transport##BaseModel, 0); \ @@ -102,7 +102,7 @@ License { \ namespace SType##Models \ { \ - typedef Type<EddyDiffusivity<BaseModel>> Type##SType##BaseModel; \ + typedef Type<EddyDiffusivity<BaseModel>> Type##SType##BaseModel; \ \ addToRunTimeSelectionTable \ ( \ diff --git a/src/fileFormats/sampledSetWriters/writers.C b/src/fileFormats/sampledSetWriters/writers.C index 4bcc1b39b28..3ffe77bb453 100644 --- a/src/fileFormats/sampledSetWriters/writers.C +++ b/src/fileFormats/sampledSetWriters/writers.C @@ -32,8 +32,8 @@ namespace Foam // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // -#define defineSetWriterType(dataType) \ - defineNamedTemplateTypeNameAndDebug(writer<dataType >, 0); \ +#define defineSetWriterType(dataType) \ + defineNamedTemplateTypeNameAndDebug(writer<dataType >, 0); \ defineTemplatedRunTimeSelectionTable(writer, word, dataType); defineSetWriterType(scalar); diff --git a/src/fileFormats/sampledSetWriters/writers.H b/src/fileFormats/sampledSetWriters/writers.H index 95665cbb649..19ca8be0ff0 100644 --- a/src/fileFormats/sampledSetWriters/writers.H +++ b/src/fileFormats/sampledSetWriters/writers.H @@ -39,36 +39,36 @@ SourceFiles // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // Only used internally -#define makeTypeSetWritersTypeName(typeWriter, dataType) \ - \ +#define makeTypeSetWritersTypeName(typeWriter, dataType) \ + \ defineNamedTemplateTypeNameAndDebug(typeWriter<dataType>, 0) // Sometimes used externally -#define makeSetWritersTypeName(typeWriter) \ - \ - makeTypeSetWritersTypeName(typeWriter, scalar); \ - makeTypeSetWritersTypeName(typeWriter, vector); \ - makeTypeSetWritersTypeName(typeWriter, sphericalTensor); \ - makeTypeSetWritersTypeName(typeWriter, symmTensor); \ +#define makeSetWritersTypeName(typeWriter) \ + \ + makeTypeSetWritersTypeName(typeWriter, scalar); \ + makeTypeSetWritersTypeName(typeWriter, vector); \ + makeTypeSetWritersTypeName(typeWriter, sphericalTensor); \ + makeTypeSetWritersTypeName(typeWriter, symmTensor); \ makeTypeSetWritersTypeName(typeWriter, tensor) // Define type info for single dataType template instantiation (eg, vector) -#define makeSetWriterType(typeWriter, dataType) \ - \ - defineNamedTemplateTypeNameAndDebug(typeWriter<dataType>, 0); \ - addTemplatedToRunTimeSelectionTable \ - ( \ - writer, typeWriter, dataType, word \ +#define makeSetWriterType(typeWriter, dataType) \ + \ + defineNamedTemplateTypeNameAndDebug(typeWriter<dataType>, 0); \ + addTemplatedToRunTimeSelectionTable \ + ( \ + writer, typeWriter, dataType, word \ ) // Define type info for scalar, vector etc. instantiations -#define makeSetWriters(typeWriter) \ - \ - makeSetWriterType(typeWriter, scalar); \ - makeSetWriterType(typeWriter, vector); \ - makeSetWriterType(typeWriter, sphericalTensor); \ - makeSetWriterType(typeWriter, symmTensor); \ +#define makeSetWriters(typeWriter) \ + \ + makeSetWriterType(typeWriter, scalar); \ + makeSetWriterType(typeWriter, vector); \ + makeSetWriterType(typeWriter, sphericalTensor); \ + makeSetWriterType(typeWriter, symmTensor); \ makeSetWriterType(typeWriter, tensor) diff --git a/src/finiteVolume/cfdTools/general/fvOptions/makeFvOption.H b/src/finiteVolume/cfdTools/general/fvOptions/makeFvOption.H index 79ff887d0fc..888225bb7bf 100644 --- a/src/finiteVolume/cfdTools/general/fvOptions/makeFvOption.H +++ b/src/finiteVolume/cfdTools/general/fvOptions/makeFvOption.H @@ -31,17 +31,17 @@ License // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -#define makeFvOption(Option, Type) \ - \ - defineTemplateTypeNameAndDebugWithName \ - ( \ - Foam::fv::Option<Foam::Type>, \ - #Type#Option, \ - 0 \ - ); \ - \ - Foam::fv::option::adddictionaryConstructorToTable \ - <Foam::fv::Option<Foam::Type>> \ +#define makeFvOption(Option, Type) \ + \ + defineTemplateTypeNameAndDebugWithName \ + ( \ + Foam::fv::Option<Foam::Type>, \ + #Type#Option, \ + 0 \ + ); \ + \ + Foam::fv::option::adddictionaryConstructorToTable \ + <Foam::fv::Option<Foam::Type>> \ add##Option##Type##dictionary##ConstructorTooptionTable_ diff --git a/src/finiteVolume/fields/fvPatchFields/fvPatchField/fvPatchField.H b/src/finiteVolume/fields/fvPatchFields/fvPatchField/fvPatchField.H index 1a5d47b3e85..c87a5b1ee09 100644 --- a/src/finiteVolume/fields/fvPatchFields/fvPatchField/fvPatchField.H +++ b/src/finiteVolume/fields/fvPatchFields/fvPatchField/fvPatchField.H @@ -571,123 +571,123 @@ public: #endif -#define makeFvPatchField(fvPatchTypeField) \ - \ -defineNamedTemplateTypeNameAndDebug(fvPatchTypeField, 0); \ -template<> \ -int fvPatchTypeField::disallowGenericFvPatchField \ -( \ - debug::debugSwitch("disallowGenericFvPatchField", 0) \ -); \ -defineTemplateRunTimeSelectionTable(fvPatchTypeField, patch); \ -defineTemplateRunTimeSelectionTable(fvPatchTypeField, patchMapper); \ +#define makeFvPatchField(fvPatchTypeField) \ + \ +defineNamedTemplateTypeNameAndDebug(fvPatchTypeField, 0); \ +template<> \ +int fvPatchTypeField::disallowGenericFvPatchField \ +( \ + debug::debugSwitch("disallowGenericFvPatchField", 0) \ +); \ +defineTemplateRunTimeSelectionTable(fvPatchTypeField, patch); \ +defineTemplateRunTimeSelectionTable(fvPatchTypeField, patchMapper); \ defineTemplateRunTimeSelectionTable(fvPatchTypeField, dictionary); -#define addToPatchFieldRunTimeSelection(PatchTypeField, typePatchTypeField) \ - addToRunTimeSelectionTable \ - ( \ - PatchTypeField, \ - typePatchTypeField, \ - patch \ - ); \ - addToRunTimeSelectionTable \ - ( \ - PatchTypeField, \ - typePatchTypeField, \ - patchMapper \ - ); \ - addToRunTimeSelectionTable \ - ( \ - PatchTypeField, \ - typePatchTypeField, \ - dictionary \ +#define addToPatchFieldRunTimeSelection(PatchTypeField, typePatchTypeField) \ + addToRunTimeSelectionTable \ + ( \ + PatchTypeField, \ + typePatchTypeField, \ + patch \ + ); \ + addToRunTimeSelectionTable \ + ( \ + PatchTypeField, \ + typePatchTypeField, \ + patchMapper \ + ); \ + addToRunTimeSelectionTable \ + ( \ + PatchTypeField, \ + typePatchTypeField, \ + dictionary \ ); // use with caution #define addRemovableToPatchFieldRunTimeSelection\ -(PatchTypeField, typePatchTypeField) \ - \ - addRemovableToRunTimeSelectionTable \ - ( \ - PatchTypeField, \ - typePatchTypeField, \ - patch \ - ); \ - addRemovableToRunTimeSelectionTable \ - ( \ - PatchTypeField, \ - typePatchTypeField, \ - patchMapper \ - ); \ - addRemovableToRunTimeSelectionTable \ - ( \ - PatchTypeField, \ - typePatchTypeField, \ - dictionary \ +(PatchTypeField, typePatchTypeField) \ + \ + addRemovableToRunTimeSelectionTable \ + ( \ + PatchTypeField, \ + typePatchTypeField, \ + patch \ + ); \ + addRemovableToRunTimeSelectionTable \ + ( \ + PatchTypeField, \ + typePatchTypeField, \ + patchMapper \ + ); \ + addRemovableToRunTimeSelectionTable \ + ( \ + PatchTypeField, \ + typePatchTypeField, \ + dictionary \ ); // for non-templated patch fields -#define makePatchTypeField(PatchTypeField, typePatchTypeField) \ - defineTypeNameAndDebug(typePatchTypeField, 0); \ +#define makePatchTypeField(PatchTypeField, typePatchTypeField) \ + defineTypeNameAndDebug(typePatchTypeField, 0); \ addToPatchFieldRunTimeSelection(PatchTypeField, typePatchTypeField) // for non-templated patch fields - use with caution -#define makeRemovablePatchTypeField(PatchTypeField, typePatchTypeField) \ - defineTypeNameAndDebug(typePatchTypeField, 0); \ +#define makeRemovablePatchTypeField(PatchTypeField, typePatchTypeField) \ + defineTypeNameAndDebug(typePatchTypeField, 0); \ addRemovableToPatchFieldRunTimeSelection(PatchTypeField, typePatchTypeField) // for templated patch fields -#define makeTemplatePatchTypeField(PatchTypeField, typePatchTypeField) \ - defineNamedTemplateTypeNameAndDebug(typePatchTypeField, 0); \ +#define makeTemplatePatchTypeField(PatchTypeField, typePatchTypeField) \ + defineNamedTemplateTypeNameAndDebug(typePatchTypeField, 0); \ addToPatchFieldRunTimeSelection(PatchTypeField, typePatchTypeField) -#define makePatchFields(type) \ - makeTemplatePatchTypeField \ - ( \ - fvPatchScalarField, \ - type##FvPatchScalarField \ - ); \ - makeTemplatePatchTypeField \ - ( \ - fvPatchVectorField, \ - type##FvPatchVectorField \ - ); \ - makeTemplatePatchTypeField \ - ( \ - fvPatchSphericalTensorField, \ - type##FvPatchSphericalTensorField \ - ); \ - makeTemplatePatchTypeField \ - ( \ - fvPatchSymmTensorField, \ - type##FvPatchSymmTensorField \ - ); \ - makeTemplatePatchTypeField \ - ( \ - fvPatchTensorField, \ - type##FvPatchTensorField \ +#define makePatchFields(type) \ + makeTemplatePatchTypeField \ + ( \ + fvPatchScalarField, \ + type##FvPatchScalarField \ + ); \ + makeTemplatePatchTypeField \ + ( \ + fvPatchVectorField, \ + type##FvPatchVectorField \ + ); \ + makeTemplatePatchTypeField \ + ( \ + fvPatchSphericalTensorField, \ + type##FvPatchSphericalTensorField \ + ); \ + makeTemplatePatchTypeField \ + ( \ + fvPatchSymmTensorField, \ + type##FvPatchSymmTensorField \ + ); \ + makeTemplatePatchTypeField \ + ( \ + fvPatchTensorField, \ + type##FvPatchTensorField \ ); -#define makePatchFieldsTypeName(type) \ - defineNamedTemplateTypeNameAndDebug(type##FvPatchScalarField, 0); \ - defineNamedTemplateTypeNameAndDebug(type##FvPatchVectorField, 0); \ +#define makePatchFieldsTypeName(type) \ + defineNamedTemplateTypeNameAndDebug(type##FvPatchScalarField, 0); \ + defineNamedTemplateTypeNameAndDebug(type##FvPatchVectorField, 0); \ defineNamedTemplateTypeNameAndDebug(type##FvPatchSphericalTensorField, 0);\ - defineNamedTemplateTypeNameAndDebug(type##FvPatchSymmTensorField, 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; \ +#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; diff --git a/src/finiteVolume/fields/fvsPatchFields/fvsPatchField/fvsPatchField.H b/src/finiteVolume/fields/fvsPatchFields/fvsPatchField/fvsPatchField.H index 9a8019d7ca9..0a41d83c1b9 100644 --- a/src/finiteVolume/fields/fvsPatchFields/fvsPatchField/fvsPatchField.H +++ b/src/finiteVolume/fields/fvsPatchFields/fvsPatchField/fvsPatchField.H @@ -386,60 +386,60 @@ public: #endif -#define makeFvsPatchTypeFieldTypeName(type) \ - \ +#define makeFvsPatchTypeFieldTypeName(type) \ + \ defineNamedTemplateTypeNameAndDebug(type, 0); -#define makeFvsPatchFieldsTypeName(type) \ - \ -makeFvsPatchTypeFieldTypeName(type##FvsPatchScalarField); \ -makeFvsPatchTypeFieldTypeName(type##FvsPatchVectorField); \ -makeFvsPatchTypeFieldTypeName(type##FvsPatchSphericalTensorField); \ -makeFvsPatchTypeFieldTypeName(type##FvsPatchSymmTensorField); \ +#define makeFvsPatchFieldsTypeName(type) \ + \ +makeFvsPatchTypeFieldTypeName(type##FvsPatchScalarField); \ +makeFvsPatchTypeFieldTypeName(type##FvsPatchVectorField); \ +makeFvsPatchTypeFieldTypeName(type##FvsPatchSphericalTensorField); \ +makeFvsPatchTypeFieldTypeName(type##FvsPatchSymmTensorField); \ makeFvsPatchTypeFieldTypeName(type##FvsPatchTensorField); -#define makeFvsPatchTypeField(PatchTypeField, typePatchTypeField) \ - \ -defineNamedTemplateTypeNameAndDebug(typePatchTypeField, 0); \ - \ -addToRunTimeSelectionTable \ -( \ - PatchTypeField, typePatchTypeField, patch \ -); \ - \ -addToRunTimeSelectionTable \ -( \ - PatchTypeField, \ - typePatchTypeField, \ - patchMapper \ -); \ - \ -addToRunTimeSelectionTable \ -( \ - PatchTypeField, typePatchTypeField, dictionary \ +#define makeFvsPatchTypeField(PatchTypeField, typePatchTypeField) \ + \ +defineNamedTemplateTypeNameAndDebug(typePatchTypeField, 0); \ + \ +addToRunTimeSelectionTable \ +( \ + PatchTypeField, typePatchTypeField, patch \ +); \ + \ +addToRunTimeSelectionTable \ +( \ + PatchTypeField, \ + typePatchTypeField, \ + patchMapper \ +); \ + \ +addToRunTimeSelectionTable \ +( \ + PatchTypeField, typePatchTypeField, dictionary \ ); -#define makeFvsPatchFields(type) \ - \ -makeFvsPatchTypeField(fvsPatchScalarField, type##FvsPatchScalarField); \ -makeFvsPatchTypeField(fvsPatchVectorField, type##FvsPatchVectorField); \ -makeFvsPatchTypeField \ -( \ - fvsPatchSphericalTensorField, \ - type##FvsPatchSphericalTensorField \ -); \ +#define makeFvsPatchFields(type) \ + \ +makeFvsPatchTypeField(fvsPatchScalarField, type##FvsPatchScalarField); \ +makeFvsPatchTypeField(fvsPatchVectorField, type##FvsPatchVectorField); \ +makeFvsPatchTypeField \ +( \ + fvsPatchSphericalTensorField, \ + type##FvsPatchSphericalTensorField \ +); \ makeFvsPatchTypeField(fvsPatchSymmTensorField, type##FvsPatchSymmTensorField); \ makeFvsPatchTypeField(fvsPatchTensorField, type##FvsPatchTensorField); -#define makeFvsPatchTypeFieldTypedefs(type) \ - \ -typedef type##FvsPatchField<scalar> type##FvsPatchScalarField; \ -typedef type##FvsPatchField<vector> type##FvsPatchVectorField; \ -typedef type##FvsPatchField<sphericalTensor> \ - type##FvsPatchSphericalTensorField; \ -typedef type##FvsPatchField<symmTensor> type##FvsPatchSymmTensorField; \ +#define makeFvsPatchTypeFieldTypedefs(type) \ + \ +typedef type##FvsPatchField<scalar> type##FvsPatchScalarField; \ +typedef type##FvsPatchField<vector> type##FvsPatchVectorField; \ +typedef type##FvsPatchField<sphericalTensor> \ + type##FvsPatchSphericalTensorField; \ +typedef type##FvsPatchField<symmTensor> type##FvsPatchSymmTensorField; \ typedef type##FvsPatchField<tensor> type##FvsPatchTensorField; diff --git a/src/finiteVolume/fields/fvsPatchFields/fvsPatchField/fvsPatchFields.C b/src/finiteVolume/fields/fvsPatchFields/fvsPatchField/fvsPatchFields.C index 63b0cc10d8d..727065c9408 100644 --- a/src/finiteVolume/fields/fvsPatchFields/fvsPatchField/fvsPatchFields.C +++ b/src/finiteVolume/fields/fvsPatchFields/fvsPatchField/fvsPatchFields.C @@ -32,16 +32,16 @@ namespace Foam // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // -#define makeFvsPatchField(fvsPatchTypeField) \ - \ -defineNamedTemplateTypeNameAndDebug(fvsPatchTypeField, 0); \ -template<> \ -int fvsPatchTypeField::disallowGenericFvsPatchField \ -( \ - debug::debugSwitch("disallowGenericFvsPatchField", 0) \ -); \ -defineTemplateRunTimeSelectionTable(fvsPatchTypeField, patch); \ -defineTemplateRunTimeSelectionTable(fvsPatchTypeField, patchMapper); \ +#define makeFvsPatchField(fvsPatchTypeField) \ + \ +defineNamedTemplateTypeNameAndDebug(fvsPatchTypeField, 0); \ +template<> \ +int fvsPatchTypeField::disallowGenericFvsPatchField \ +( \ + debug::debugSwitch("disallowGenericFvsPatchField", 0) \ +); \ +defineTemplateRunTimeSelectionTable(fvsPatchTypeField, patch); \ +defineTemplateRunTimeSelectionTable(fvsPatchTypeField, patchMapper); \ defineTemplateRunTimeSelectionTable(fvsPatchTypeField, dictionary); makeFvsPatchField(fvsPatchScalarField) diff --git a/src/finiteVolume/finiteVolume/convectionSchemes/convectionScheme/convectionScheme.H b/src/finiteVolume/finiteVolume/convectionSchemes/convectionScheme/convectionScheme.H index 999413beac6..cab9dfdabdb 100644 --- a/src/finiteVolume/finiteVolume/convectionSchemes/convectionScheme/convectionScheme.H +++ b/src/finiteVolume/finiteVolume/convectionSchemes/convectionScheme/convectionScheme.H @@ -210,7 +210,7 @@ public: { \ namespace fv \ { \ - convectionScheme<Type>::addIstreamConstructorToTable<SS<Type>> \ + convectionScheme<Type>::addIstreamConstructorToTable<SS<Type>> \ add##SS##Type##IstreamConstructorToTable_; \ } \ } @@ -232,7 +232,7 @@ makeFvConvectionTypeScheme(SS, tensor) namespace fv \ { \ convectionScheme<Type>:: \ - addMultivariateConstructorToTable<SS<Type>> \ + addMultivariateConstructorToTable<SS<Type>> \ add##SS##Type##MultivariateConstructorToTable_; \ } \ } diff --git a/src/finiteVolume/finiteVolume/convectionSchemes/convectionScheme/convectionSchemes.C b/src/finiteVolume/finiteVolume/convectionSchemes/convectionScheme/convectionSchemes.C index e0e34a5b6f3..13671ef3546 100644 --- a/src/finiteVolume/finiteVolume/convectionSchemes/convectionScheme/convectionSchemes.C +++ b/src/finiteVolume/finiteVolume/convectionSchemes/convectionScheme/convectionSchemes.C @@ -41,18 +41,18 @@ namespace fv // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // Define the constructor function hash tables -#define makeBaseConvectionScheme(Type) \ - \ -defineTemplateRunTimeSelectionTable \ -( \ - convectionScheme<Type>, \ - Istream \ -); \ - \ -defineTemplateRunTimeSelectionTable \ -( \ - convectionScheme<Type>, \ - Multivariate \ +#define makeBaseConvectionScheme(Type) \ + \ +defineTemplateRunTimeSelectionTable \ +( \ + convectionScheme<Type>, \ + Istream \ +); \ + \ +defineTemplateRunTimeSelectionTable \ +( \ + convectionScheme<Type>, \ + Multivariate \ ); diff --git a/src/finiteVolume/finiteVolume/d2dt2Schemes/d2dt2Scheme/d2dt2Scheme.H b/src/finiteVolume/finiteVolume/d2dt2Schemes/d2dt2Scheme/d2dt2Scheme.H index 80b20137b8c..afb10468333 100644 --- a/src/finiteVolume/finiteVolume/d2dt2Schemes/d2dt2Scheme/d2dt2Scheme.H +++ b/src/finiteVolume/finiteVolume/d2dt2Schemes/d2dt2Scheme/d2dt2Scheme.H @@ -187,7 +187,7 @@ public: { \ namespace fv \ { \ - d2dt2Scheme<Type>::addIstreamConstructorToTable<SS<Type>> \ + d2dt2Scheme<Type>::addIstreamConstructorToTable<SS<Type>> \ add##SS##Type##IstreamConstructorToTable_; \ } \ } diff --git a/src/finiteVolume/finiteVolume/ddtSchemes/ddtScheme/ddtScheme.H b/src/finiteVolume/finiteVolume/ddtSchemes/ddtScheme/ddtScheme.H index d3c738ad168..3b42fef1342 100644 --- a/src/finiteVolume/finiteVolume/ddtSchemes/ddtScheme/ddtScheme.H +++ b/src/finiteVolume/finiteVolume/ddtSchemes/ddtScheme/ddtScheme.H @@ -263,7 +263,7 @@ public: { \ namespace fv \ { \ - ddtScheme<Type>::addIstreamConstructorToTable<SS<Type>> \ + ddtScheme<Type>::addIstreamConstructorToTable<SS<Type>> \ add##SS##Type##IstreamConstructorToTable_; \ } \ } diff --git a/src/finiteVolume/finiteVolume/divSchemes/divScheme/divScheme.H b/src/finiteVolume/finiteVolume/divSchemes/divScheme/divScheme.H index a50866b4c5a..9ed6164477b 100644 --- a/src/finiteVolume/finiteVolume/divSchemes/divScheme/divScheme.H +++ b/src/finiteVolume/finiteVolume/divSchemes/divScheme/divScheme.H @@ -171,7 +171,7 @@ public: { \ namespace fv \ { \ - divScheme<Type>::addIstreamConstructorToTable<SS<Type>> \ + divScheme<Type>::addIstreamConstructorToTable<SS<Type>> \ add##SS##Type##IstreamConstructorToTable_; \ } \ } diff --git a/src/finiteVolume/finiteVolume/gradSchemes/LeastSquaresGrad/LeastSquaresGrad.H b/src/finiteVolume/finiteVolume/gradSchemes/LeastSquaresGrad/LeastSquaresGrad.H index f65cfa71a1e..e9bb230cc68 100644 --- a/src/finiteVolume/finiteVolume/gradSchemes/LeastSquaresGrad/LeastSquaresGrad.H +++ b/src/finiteVolume/finiteVolume/gradSchemes/LeastSquaresGrad/LeastSquaresGrad.H @@ -157,7 +157,7 @@ public: LeastSquaresGrad##TYPE##STENCIL##_; \ \ gradScheme<Foam::TYPE>::addIstreamConstructorToTable \ - <LeastSquaresGrad<Foam::TYPE, Foam::STENCIL>> \ + <LeastSquaresGrad<Foam::TYPE, Foam::STENCIL>> \ add##SS##STENCIL##TYPE##IstreamConstructorToTable_; \ } \ } diff --git a/src/finiteVolume/finiteVolume/gradSchemes/gradScheme/gradScheme.H b/src/finiteVolume/finiteVolume/gradSchemes/gradScheme/gradScheme.H index d228b51ef22..26522ce52fa 100644 --- a/src/finiteVolume/finiteVolume/gradSchemes/gradScheme/gradScheme.H +++ b/src/finiteVolume/finiteVolume/gradSchemes/gradScheme/gradScheme.H @@ -195,7 +195,7 @@ public: { \ namespace fv \ { \ - gradScheme<Type>::addIstreamConstructorToTable<SS<Type>> \ + gradScheme<Type>::addIstreamConstructorToTable<SS<Type>> \ add##SS##Type##IstreamConstructorToTable_; \ } \ } diff --git a/src/finiteVolume/finiteVolume/laplacianSchemes/gaussLaplacianScheme/gaussLaplacianScheme.H b/src/finiteVolume/finiteVolume/laplacianSchemes/gaussLaplacianScheme/gaussLaplacianScheme.H index 83a5e46cf5c..4c18160f8ce 100644 --- a/src/finiteVolume/finiteVolume/laplacianSchemes/gaussLaplacianScheme/gaussLaplacianScheme.H +++ b/src/finiteVolume/finiteVolume/laplacianSchemes/gaussLaplacianScheme/gaussLaplacianScheme.H @@ -139,21 +139,21 @@ public: // Use macros to emulate partial-specialisation of the the Laplacian functions // for scalar diffusivity gamma -#define defineFvmLaplacianScalarGamma(Type) \ - \ -template<> \ -tmp<fvMatrix<Type>> gaussLaplacianScheme<Type, scalar>::fvmLaplacian \ -( \ - const GeometricField<scalar, fvsPatchField, surfaceMesh>&, \ - const GeometricField<Type, fvPatchField, volMesh>& \ -); \ - \ -template<> \ -tmp<GeometricField<Type, fvPatchField, volMesh>> \ -gaussLaplacianScheme<Type, scalar>::fvcLaplacian \ -( \ - const GeometricField<scalar, fvsPatchField, surfaceMesh>&, \ - const GeometricField<Type, fvPatchField, volMesh>& \ +#define defineFvmLaplacianScalarGamma(Type) \ + \ +template<> \ +tmp<fvMatrix<Type>> gaussLaplacianScheme<Type, scalar>::fvmLaplacian \ +( \ + const GeometricField<scalar, fvsPatchField, surfaceMesh>&, \ + const GeometricField<Type, fvPatchField, volMesh>& \ +); \ + \ +template<> \ +tmp<GeometricField<Type, fvPatchField, volMesh>> \ +gaussLaplacianScheme<Type, scalar>::fvcLaplacian \ +( \ + const GeometricField<scalar, fvsPatchField, surfaceMesh>&, \ + const GeometricField<Type, fvPatchField, volMesh>& \ ); diff --git a/src/finiteVolume/finiteVolume/laplacianSchemes/gaussLaplacianScheme/gaussLaplacianSchemes.C b/src/finiteVolume/finiteVolume/laplacianSchemes/gaussLaplacianScheme/gaussLaplacianSchemes.C index ee10741247a..417c3ac19e9 100644 --- a/src/finiteVolume/finiteVolume/laplacianSchemes/gaussLaplacianScheme/gaussLaplacianSchemes.C +++ b/src/finiteVolume/finiteVolume/laplacianSchemes/gaussLaplacianScheme/gaussLaplacianSchemes.C @@ -30,81 +30,81 @@ License makeFvLaplacianScheme(gaussLaplacianScheme) -#define declareFvmLaplacianScalarGamma(Type) \ - \ -template<> \ -Foam::tmp<Foam::fvMatrix<Foam::Type>> \ -Foam::fv::gaussLaplacianScheme<Foam::Type, Foam::scalar>::fvmLaplacian \ -( \ - const GeometricField<scalar, fvsPatchField, surfaceMesh>& gamma, \ - const GeometricField<Type, fvPatchField, volMesh>& vf \ -) \ -{ \ - const fvMesh& mesh = this->mesh(); \ - \ - GeometricField<scalar, fvsPatchField, surfaceMesh> gammaMagSf \ - ( \ - gamma*mesh.magSf() \ - ); \ - \ - tmp<fvMatrix<Type>> tfvm = fvmLaplacianUncorrected \ - ( \ - gammaMagSf, \ - this->tsnGradScheme_().deltaCoeffs(vf), \ - vf \ - ); \ - fvMatrix<Type>& fvm = tfvm(); \ - \ - if (this->tsnGradScheme_().corrected()) \ - { \ - if (mesh.fluxRequired(vf.name())) \ - { \ - fvm.faceFluxCorrectionPtr() = new \ - GeometricField<Type, fvsPatchField, surfaceMesh> \ - ( \ - gammaMagSf*this->tsnGradScheme_().correction(vf) \ - ); \ - \ - fvm.source() -= \ - mesh.V()* \ - fvc::div \ - ( \ - *fvm.faceFluxCorrectionPtr() \ - )().internalField(); \ - } \ - else \ - { \ - fvm.source() -= \ - mesh.V()* \ - fvc::div \ - ( \ - gammaMagSf*this->tsnGradScheme_().correction(vf) \ - )().internalField(); \ - } \ - } \ - \ - return tfvm; \ -} \ - \ - \ -template<> \ +#define declareFvmLaplacianScalarGamma(Type) \ + \ +template<> \ +Foam::tmp<Foam::fvMatrix<Foam::Type>> \ +Foam::fv::gaussLaplacianScheme<Foam::Type, Foam::scalar>::fvmLaplacian \ +( \ + const GeometricField<scalar, fvsPatchField, surfaceMesh>& gamma, \ + const GeometricField<Type, fvPatchField, volMesh>& vf \ +) \ +{ \ + const fvMesh& mesh = this->mesh(); \ + \ + GeometricField<scalar, fvsPatchField, surfaceMesh> gammaMagSf \ + ( \ + gamma*mesh.magSf() \ + ); \ + \ + tmp<fvMatrix<Type>> tfvm = fvmLaplacianUncorrected \ + ( \ + gammaMagSf, \ + this->tsnGradScheme_().deltaCoeffs(vf), \ + vf \ + ); \ + fvMatrix<Type>& fvm = tfvm(); \ + \ + if (this->tsnGradScheme_().corrected()) \ + { \ + if (mesh.fluxRequired(vf.name())) \ + { \ + fvm.faceFluxCorrectionPtr() = new \ + GeometricField<Type, fvsPatchField, surfaceMesh> \ + ( \ + gammaMagSf*this->tsnGradScheme_().correction(vf) \ + ); \ + \ + fvm.source() -= \ + mesh.V()* \ + fvc::div \ + ( \ + *fvm.faceFluxCorrectionPtr() \ + )().internalField(); \ + } \ + else \ + { \ + fvm.source() -= \ + mesh.V()* \ + fvc::div \ + ( \ + gammaMagSf*this->tsnGradScheme_().correction(vf) \ + )().internalField(); \ + } \ + } \ + \ + return tfvm; \ +} \ + \ + \ +template<> \ Foam::tmp<Foam::GeometricField<Foam::Type, Foam::fvPatchField, Foam::volMesh>>\ -Foam::fv::gaussLaplacianScheme<Foam::Type, Foam::scalar>::fvcLaplacian \ -( \ - const GeometricField<scalar, fvsPatchField, surfaceMesh>& gamma, \ - const GeometricField<Type, fvPatchField, volMesh>& vf \ -) \ -{ \ - const fvMesh& mesh = this->mesh(); \ - \ - tmp<GeometricField<Type, fvPatchField, volMesh>> tLaplacian \ - ( \ - fvc::div(gamma*this->tsnGradScheme_().snGrad(vf)*mesh.magSf()) \ - ); \ - \ +Foam::fv::gaussLaplacianScheme<Foam::Type, Foam::scalar>::fvcLaplacian \ +( \ + const GeometricField<scalar, fvsPatchField, surfaceMesh>& gamma, \ + const GeometricField<Type, fvPatchField, volMesh>& vf \ +) \ +{ \ + const fvMesh& mesh = this->mesh(); \ + \ + tmp<GeometricField<Type, fvPatchField, volMesh>> tLaplacian \ + ( \ + fvc::div(gamma*this->tsnGradScheme_().snGrad(vf)*mesh.magSf()) \ + ); \ + \ tLaplacian().rename("laplacian(" + gamma.name() + ',' + vf.name() + ')');\ - \ - return tLaplacian; \ + \ + return tLaplacian; \ } diff --git a/src/finiteVolume/finiteVolume/laplacianSchemes/laplacianScheme/laplacianScheme.H b/src/finiteVolume/finiteVolume/laplacianSchemes/laplacianScheme/laplacianScheme.H index 4c843f0add7..a2c8431731d 100644 --- a/src/finiteVolume/finiteVolume/laplacianSchemes/laplacianScheme/laplacianScheme.H +++ b/src/finiteVolume/finiteVolume/laplacianSchemes/laplacianScheme/laplacianScheme.H @@ -224,7 +224,7 @@ public: typedef SS<Type, GType> SS##Type##GType; \ \ laplacianScheme<Type, GType>:: \ - addIstreamConstructorToTable<SS<Type, GType>> \ + addIstreamConstructorToTable<SS<Type, GType>> \ add##SS##Type##GType##IstreamConstructorToTable_; \ } \ } diff --git a/src/finiteVolume/finiteVolume/laplacianSchemes/laplacianScheme/laplacianSchemes.C b/src/finiteVolume/finiteVolume/laplacianSchemes/laplacianScheme/laplacianSchemes.C index 9da25a2cb0a..64ff6595489 100644 --- a/src/finiteVolume/finiteVolume/laplacianSchemes/laplacianScheme/laplacianSchemes.C +++ b/src/finiteVolume/finiteVolume/laplacianSchemes/laplacianScheme/laplacianSchemes.C @@ -38,13 +38,13 @@ namespace fv // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // Define the constructor function hash tables -#define makeLaplacianGTypeScheme(Type, GType) \ - typedef laplacianScheme<Type, GType> laplacianScheme##Type##GType; \ +#define makeLaplacianGTypeScheme(Type, GType) \ + typedef laplacianScheme<Type, GType> laplacianScheme##Type##GType; \ defineTemplateRunTimeSelectionTable(laplacianScheme##Type##GType, Istream); -#define makeLaplacianScheme(Type) \ - makeLaplacianGTypeScheme(Type, scalar); \ - makeLaplacianGTypeScheme(Type, symmTensor); \ +#define makeLaplacianScheme(Type) \ + makeLaplacianGTypeScheme(Type, scalar); \ + makeLaplacianGTypeScheme(Type, symmTensor); \ makeLaplacianGTypeScheme(Type, tensor); makeLaplacianScheme(scalar); diff --git a/src/finiteVolume/finiteVolume/snGradSchemes/CentredFitSnGrad/CentredFitSnGradScheme.H b/src/finiteVolume/finiteVolume/snGradSchemes/CentredFitSnGrad/CentredFitSnGradScheme.H index a16ac7bd84f..1a05f609c52 100644 --- a/src/finiteVolume/finiteVolume/snGradSchemes/CentredFitSnGrad/CentredFitSnGradScheme.H +++ b/src/finiteVolume/finiteVolume/snGradSchemes/CentredFitSnGrad/CentredFitSnGradScheme.H @@ -169,7 +169,7 @@ public: namespace fv \ { \ snGradScheme<TYPE>::addMeshConstructorToTable \ - <CentredFitSnGradScheme<TYPE, POLYNOMIAL, STENCIL>> \ + <CentredFitSnGradScheme<TYPE, POLYNOMIAL, STENCIL>> \ add##SS##STENCIL##TYPE##MeshConstructorToTable_; \ } \ } diff --git a/src/finiteVolume/finiteVolume/snGradSchemes/snGradScheme/snGradScheme.H b/src/finiteVolume/finiteVolume/snGradSchemes/snGradScheme/snGradScheme.H index b107d19e100..ae4dea3a1d9 100644 --- a/src/finiteVolume/finiteVolume/snGradSchemes/snGradScheme/snGradScheme.H +++ b/src/finiteVolume/finiteVolume/snGradSchemes/snGradScheme/snGradScheme.H @@ -195,7 +195,7 @@ public: { \ namespace fv \ { \ - snGradScheme<Type>::addMeshConstructorToTable<SS<Type>> \ + snGradScheme<Type>::addMeshConstructorToTable<SS<Type>> \ add##SS##Type##MeshConstructorToTable_; \ } \ } diff --git a/src/finiteVolume/interpolation/interpolation/interpolation/interpolation.H b/src/finiteVolume/interpolation/interpolation/interpolation/interpolation.H index 77d747f8710..6ab57ef0937 100644 --- a/src/finiteVolume/interpolation/interpolation/interpolation/interpolation.H +++ b/src/finiteVolume/interpolation/interpolation/interpolation/interpolation.H @@ -161,7 +161,7 @@ public: \ defineNamedTemplateTypeNameAndDebug(SS<Type>, 0); \ \ -interpolation<Type>::adddictionaryConstructorToTable<SS<Type>> \ +interpolation<Type>::adddictionaryConstructorToTable<SS<Type>> \ add##SS##Type##ConstructorToTable_; diff --git a/src/finiteVolume/interpolation/surfaceInterpolation/limitedSchemes/LimitedScheme/LimitedScheme.H b/src/finiteVolume/interpolation/surfaceInterpolation/limitedSchemes/LimitedScheme/LimitedScheme.H index 4af6cda05c0..acdbb0245f1 100644 --- a/src/finiteVolume/interpolation/surfaceInterpolation/limitedSchemes/LimitedScheme/LimitedScheme.H +++ b/src/finiteVolume/interpolation/surfaceInterpolation/limitedSchemes/LimitedScheme/LimitedScheme.H @@ -148,85 +148,85 @@ public: // Add the patch constructor functions to the hash tables #define makeLimitedSurfaceInterpolationTypeScheme\ -( \ - SS, \ - LIMITER, \ - NVDTVD, \ - LIMFUNC, \ - TYPE \ -) \ - \ -typedef LimitedScheme<TYPE, LIMITER<NVDTVD>, limitFuncs::LIMFUNC> \ - LimitedScheme##TYPE##LIMITER##NVDTVD##LIMFUNC##_; \ -defineTemplateTypeNameAndDebugWithName \ - (LimitedScheme##TYPE##LIMITER##NVDTVD##LIMFUNC##_, #SS, 0); \ - \ -surfaceInterpolationScheme<TYPE>::addMeshConstructorToTable \ -<LimitedScheme<TYPE, LIMITER<NVDTVD>, limitFuncs::LIMFUNC>> \ - add##SS##LIMFUNC##TYPE##MeshConstructorToTable_; \ - \ -surfaceInterpolationScheme<TYPE>::addMeshFluxConstructorToTable \ -<LimitedScheme<TYPE, LIMITER<NVDTVD>, limitFuncs::LIMFUNC>> \ - add##SS##LIMFUNC##TYPE##MeshFluxConstructorToTable_; \ - \ -limitedSurfaceInterpolationScheme<TYPE>::addMeshConstructorToTable \ -<LimitedScheme<TYPE, LIMITER<NVDTVD>, limitFuncs::LIMFUNC>> \ - add##SS##LIMFUNC##TYPE##MeshConstructorToLimitedTable_; \ - \ -limitedSurfaceInterpolationScheme<TYPE>::addMeshFluxConstructorToTable \ -<LimitedScheme<TYPE, LIMITER<NVDTVD>, limitFuncs::LIMFUNC>> \ +( \ + SS, \ + LIMITER, \ + NVDTVD, \ + LIMFUNC, \ + TYPE \ +) \ + \ +typedef LimitedScheme<TYPE, LIMITER<NVDTVD>, limitFuncs::LIMFUNC> \ + LimitedScheme##TYPE##LIMITER##NVDTVD##LIMFUNC##_; \ +defineTemplateTypeNameAndDebugWithName \ + (LimitedScheme##TYPE##LIMITER##NVDTVD##LIMFUNC##_, #SS, 0); \ + \ +surfaceInterpolationScheme<TYPE>::addMeshConstructorToTable \ +<LimitedScheme<TYPE, LIMITER<NVDTVD>, limitFuncs::LIMFUNC>> \ + add##SS##LIMFUNC##TYPE##MeshConstructorToTable_; \ + \ +surfaceInterpolationScheme<TYPE>::addMeshFluxConstructorToTable \ +<LimitedScheme<TYPE, LIMITER<NVDTVD>, limitFuncs::LIMFUNC>> \ + add##SS##LIMFUNC##TYPE##MeshFluxConstructorToTable_; \ + \ +limitedSurfaceInterpolationScheme<TYPE>::addMeshConstructorToTable \ +<LimitedScheme<TYPE, LIMITER<NVDTVD>, limitFuncs::LIMFUNC>> \ + add##SS##LIMFUNC##TYPE##MeshConstructorToLimitedTable_; \ + \ +limitedSurfaceInterpolationScheme<TYPE>::addMeshFluxConstructorToTable \ +<LimitedScheme<TYPE, LIMITER<NVDTVD>, limitFuncs::LIMFUNC>> \ add##SS##LIMFUNC##TYPE##MeshFluxConstructorToLimitedTable_; -#define makeLimitedSurfaceInterpolationScheme(SS, LIMITER) \ - \ -makeLimitedSurfaceInterpolationTypeScheme(SS,LIMITER,NVDTVD,magSqr,scalar) \ -makeLimitedSurfaceInterpolationTypeScheme(SS,LIMITER,NVDTVD,magSqr,vector) \ -makeLimitedSurfaceInterpolationTypeScheme \ -( \ - SS, \ - LIMITER, \ - NVDTVD, \ - magSqr, \ - sphericalTensor \ -) \ +#define makeLimitedSurfaceInterpolationScheme(SS, LIMITER) \ + \ +makeLimitedSurfaceInterpolationTypeScheme(SS,LIMITER,NVDTVD,magSqr,scalar) \ +makeLimitedSurfaceInterpolationTypeScheme(SS,LIMITER,NVDTVD,magSqr,vector) \ +makeLimitedSurfaceInterpolationTypeScheme \ +( \ + SS, \ + LIMITER, \ + NVDTVD, \ + magSqr, \ + sphericalTensor \ +) \ makeLimitedSurfaceInterpolationTypeScheme(SS,LIMITER,NVDTVD,magSqr,symmTensor)\ makeLimitedSurfaceInterpolationTypeScheme(SS,LIMITER,NVDTVD,magSqr,tensor) -#define makeLimitedVSurfaceInterpolationScheme(SS, LIMITER) \ +#define makeLimitedVSurfaceInterpolationScheme(SS, LIMITER) \ makeLimitedSurfaceInterpolationTypeScheme(SS,LIMITER,NVDVTVDV,null,vector) #define makeLLimitedSurfaceInterpolationTypeScheme\ -( \ - SS, \ - LLIMITER, \ - LIMITER, \ - NVDTVD, \ - LIMFUNC, \ - TYPE \ -) \ - \ -typedef LimitedScheme<TYPE, LLIMITER<LIMITER<NVDTVD>>, limitFuncs::LIMFUNC> \ - LimitedScheme##TYPE##LLIMITER##LIMITER##NVDTVD##LIMFUNC##_; \ -defineTemplateTypeNameAndDebugWithName \ - (LimitedScheme##TYPE##LLIMITER##LIMITER##NVDTVD##LIMFUNC##_, #SS, 0); \ - \ -surfaceInterpolationScheme<TYPE>::addMeshConstructorToTable \ -<LimitedScheme<TYPE, LLIMITER<LIMITER<NVDTVD>>, limitFuncs::LIMFUNC>> \ - add##SS##LIMFUNC##TYPE##MeshConstructorToTable_; \ - \ -surfaceInterpolationScheme<TYPE>::addMeshFluxConstructorToTable \ -<LimitedScheme<TYPE, LLIMITER<LIMITER<NVDTVD>>, limitFuncs::LIMFUNC>> \ - add##SS##LIMFUNC##TYPE##MeshFluxConstructorToTable_; \ - \ -limitedSurfaceInterpolationScheme<TYPE>::addMeshConstructorToTable \ -<LimitedScheme<TYPE, LLIMITER<LIMITER<NVDTVD>>, limitFuncs::LIMFUNC>> \ - add##SS##LIMFUNC##TYPE##MeshConstructorToLimitedTable_; \ - \ -limitedSurfaceInterpolationScheme<TYPE>::addMeshFluxConstructorToTable \ -<LimitedScheme<TYPE, LLIMITER<LIMITER<NVDTVD>>, limitFuncs::LIMFUNC>> \ +( \ + SS, \ + LLIMITER, \ + LIMITER, \ + NVDTVD, \ + LIMFUNC, \ + TYPE \ +) \ + \ +typedef LimitedScheme<TYPE, LLIMITER<LIMITER<NVDTVD>>, limitFuncs::LIMFUNC> \ + LimitedScheme##TYPE##LLIMITER##LIMITER##NVDTVD##LIMFUNC##_; \ +defineTemplateTypeNameAndDebugWithName \ + (LimitedScheme##TYPE##LLIMITER##LIMITER##NVDTVD##LIMFUNC##_, #SS, 0); \ + \ +surfaceInterpolationScheme<TYPE>::addMeshConstructorToTable \ +<LimitedScheme<TYPE, LLIMITER<LIMITER<NVDTVD>>, limitFuncs::LIMFUNC>> \ + add##SS##LIMFUNC##TYPE##MeshConstructorToTable_; \ + \ +surfaceInterpolationScheme<TYPE>::addMeshFluxConstructorToTable \ +<LimitedScheme<TYPE, LLIMITER<LIMITER<NVDTVD>>, limitFuncs::LIMFUNC>> \ + add##SS##LIMFUNC##TYPE##MeshFluxConstructorToTable_; \ + \ +limitedSurfaceInterpolationScheme<TYPE>::addMeshConstructorToTable \ +<LimitedScheme<TYPE, LLIMITER<LIMITER<NVDTVD>>, limitFuncs::LIMFUNC>> \ + add##SS##LIMFUNC##TYPE##MeshConstructorToLimitedTable_; \ + \ +limitedSurfaceInterpolationScheme<TYPE>::addMeshFluxConstructorToTable \ +<LimitedScheme<TYPE, LLIMITER<LIMITER<NVDTVD>>, limitFuncs::LIMFUNC>> \ add##SS##LIMFUNC##TYPE##MeshFluxConstructorToLimitedTable_; diff --git a/src/finiteVolume/interpolation/surfaceInterpolation/limitedSchemes/PhiScheme/PhiScheme.H b/src/finiteVolume/interpolation/surfaceInterpolation/limitedSchemes/PhiScheme/PhiScheme.H index 7b5bc0a06ef..f49cbb0554a 100644 --- a/src/finiteVolume/interpolation/surfaceInterpolation/limitedSchemes/PhiScheme/PhiScheme.H +++ b/src/finiteVolume/interpolation/surfaceInterpolation/limitedSchemes/PhiScheme/PhiScheme.H @@ -141,13 +141,13 @@ typedef PhiScheme<TYPE, WEIGHT> Phischeme##WEIGHT_; \ defineTemplateTypeNameAndDebugWithName(Phischeme##WEIGHT_, #SS, 0); \ \ surfaceInterpolationScheme<TYPE>::addMeshConstructorToTable \ -<PhiScheme<TYPE, WEIGHT>> add##SS##TYPE##MeshConstructorToTable_; \ +<PhiScheme<TYPE, WEIGHT>> add##SS##TYPE##MeshConstructorToTable_; \ \ surfaceInterpolationScheme<TYPE>::addMeshFluxConstructorToTable \ -<PhiScheme<TYPE, WEIGHT>> add##SS##TYPE##MeshFluxConstructorToTable_; \ +<PhiScheme<TYPE, WEIGHT>> add##SS##TYPE##MeshFluxConstructorToTable_; \ \ limitedSurfaceInterpolationScheme<TYPE>::addMeshConstructorToTable \ -<PhiScheme<TYPE, WEIGHT>> add##SS##TYPE##MeshConstructorToLimitedTable_; \ +<PhiScheme<TYPE, WEIGHT>> add##SS##TYPE##MeshConstructorToLimitedTable_; \ \ limitedSurfaceInterpolationScheme<TYPE>::addMeshFluxConstructorToTable \ <PhiScheme<TYPE, WEIGHT>> add##SS##TYPE##MeshFluxConstructorToLimitedTable_; diff --git a/src/finiteVolume/interpolation/surfaceInterpolation/limitedSchemes/limitedSurfaceInterpolationScheme/limitedSurfaceInterpolationScheme.H b/src/finiteVolume/interpolation/surfaceInterpolation/limitedSchemes/limitedSurfaceInterpolationScheme/limitedSurfaceInterpolationScheme.H index 758334465b2..4f27e1302d6 100644 --- a/src/finiteVolume/interpolation/surfaceInterpolation/limitedSchemes/limitedSurfaceInterpolationScheme/limitedSurfaceInterpolationScheme.H +++ b/src/finiteVolume/interpolation/surfaceInterpolation/limitedSchemes/limitedSurfaceInterpolationScheme/limitedSurfaceInterpolationScheme.H @@ -204,17 +204,17 @@ public: \ defineNamedTemplateTypeNameAndDebug(SS<Type>, 0); \ \ -surfaceInterpolationScheme<Type>::addMeshConstructorToTable<SS<Type>> \ +surfaceInterpolationScheme<Type>::addMeshConstructorToTable<SS<Type>> \ add##SS##Type##MeshConstructorToTable_; \ \ -surfaceInterpolationScheme<Type>::addMeshFluxConstructorToTable<SS<Type>> \ +surfaceInterpolationScheme<Type>::addMeshFluxConstructorToTable<SS<Type>> \ add##SS##Type##MeshFluxConstructorToTable_; \ \ -limitedSurfaceInterpolationScheme<Type>::addMeshConstructorToTable<SS<Type>> \ +limitedSurfaceInterpolationScheme<Type>::addMeshConstructorToTable<SS<Type>> \ add##SS##Type##MeshConstructorToLimitedTable_; \ \ limitedSurfaceInterpolationScheme<Type>:: \ - addMeshFluxConstructorToTable<SS<Type>> \ + addMeshFluxConstructorToTable<SS<Type>> \ add##SS##Type##MeshFluxConstructorToLimitedTable_; #define makelimitedSurfaceInterpolationScheme(SS) \ diff --git a/src/finiteVolume/interpolation/surfaceInterpolation/limitedSchemes/limitedSurfaceInterpolationScheme/limitedSurfaceInterpolationSchemes.C b/src/finiteVolume/interpolation/surfaceInterpolation/limitedSchemes/limitedSurfaceInterpolationScheme/limitedSurfaceInterpolationSchemes.C index e2d9325ca42..306b21de794 100644 --- a/src/finiteVolume/interpolation/surfaceInterpolation/limitedSchemes/limitedSurfaceInterpolationScheme/limitedSurfaceInterpolationSchemes.C +++ b/src/finiteVolume/interpolation/surfaceInterpolation/limitedSchemes/limitedSurfaceInterpolationScheme/limitedSurfaceInterpolationSchemes.C @@ -32,24 +32,24 @@ namespace Foam // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -#define makeBaseLimitedSurfaceInterpolationScheme(Type) \ - \ -defineNamedTemplateTypeNameAndDebug \ -( \ - limitedSurfaceInterpolationScheme<Type>, \ - 0 \ -); \ - \ -defineTemplateRunTimeSelectionTable \ -( \ - limitedSurfaceInterpolationScheme<Type>, \ - Mesh \ -); \ - \ -defineTemplateRunTimeSelectionTable \ -( \ - limitedSurfaceInterpolationScheme<Type>, \ - MeshFlux \ +#define makeBaseLimitedSurfaceInterpolationScheme(Type) \ + \ +defineNamedTemplateTypeNameAndDebug \ +( \ + limitedSurfaceInterpolationScheme<Type>, \ + 0 \ +); \ + \ +defineTemplateRunTimeSelectionTable \ +( \ + limitedSurfaceInterpolationScheme<Type>, \ + Mesh \ +); \ + \ +defineTemplateRunTimeSelectionTable \ +( \ + limitedSurfaceInterpolationScheme<Type>, \ + MeshFlux \ ); makeBaseLimitedSurfaceInterpolationScheme(scalar) diff --git a/src/finiteVolume/interpolation/surfaceInterpolation/multivariateSchemes/multivariateScheme/multivariateScheme.H b/src/finiteVolume/interpolation/surfaceInterpolation/multivariateSchemes/multivariateScheme/multivariateScheme.H index 9673da45bb4..1060971f3a3 100644 --- a/src/finiteVolume/interpolation/surfaceInterpolation/multivariateSchemes/multivariateScheme/multivariateScheme.H +++ b/src/finiteVolume/interpolation/surfaceInterpolation/multivariateSchemes/multivariateScheme/multivariateScheme.H @@ -181,7 +181,7 @@ multivariateSurfaceInterpolationScheme<scalar>::addIstreamConstructorToTable \ typedef multivariateScheme \ < \ scalar, \ - LimitedScheme<scalar, LLIMITER<LIMITER<NVDTVD>>, limitFuncs::LIMFUNC> \ + LimitedScheme<scalar, LLIMITER<LIMITER<NVDTVD>>, limitFuncs::LIMFUNC> \ > \ multivariateScheme##LLIMITER##LIMITER##NVDTVD##LIMFUNC##_; \ defineTemplateTypeNameAndDebugWithName \ diff --git a/src/finiteVolume/interpolation/surfaceInterpolation/multivariateSchemes/multivariateSurfaceInterpolationScheme/multivariateSurfaceInterpolationScheme.H b/src/finiteVolume/interpolation/surfaceInterpolation/multivariateSchemes/multivariateSurfaceInterpolationScheme/multivariateSurfaceInterpolationScheme.H index 1b9e23c57c4..2279b55e1a2 100644 --- a/src/finiteVolume/interpolation/surfaceInterpolation/multivariateSchemes/multivariateSurfaceInterpolationScheme/multivariateSurfaceInterpolationScheme.H +++ b/src/finiteVolume/interpolation/surfaceInterpolation/multivariateSchemes/multivariateSurfaceInterpolationScheme/multivariateSurfaceInterpolationScheme.H @@ -212,7 +212,7 @@ public: defineNamedTemplateTypeNameAndDebug(SS<Type>, 0); \ \ multivariateSurfaceInterpolationScheme<Type>:: \ -addIstreamConstructorToTable<SS<Type>> \ +addIstreamConstructorToTable<SS<Type>> \ add##SS##Type##ConstructorToTable_; diff --git a/src/finiteVolume/interpolation/surfaceInterpolation/schemes/CentredFitScheme/CentredFitScheme.H b/src/finiteVolume/interpolation/surfaceInterpolation/schemes/CentredFitScheme/CentredFitScheme.H index bc5d3bb766a..e094ab9a748 100644 --- a/src/finiteVolume/interpolation/surfaceInterpolation/schemes/CentredFitScheme/CentredFitScheme.H +++ b/src/finiteVolume/interpolation/surfaceInterpolation/schemes/CentredFitScheme/CentredFitScheme.H @@ -148,37 +148,37 @@ public: // Add the patch constructor functions to the hash tables #define makeCentredFitSurfaceInterpolationTypeScheme\ -( \ - SS, \ - POLYNOMIAL, \ - STENCIL, \ - TYPE \ -) \ - \ -typedef CentredFitScheme<TYPE, POLYNOMIAL, STENCIL> \ - CentredFitScheme##TYPE##POLYNOMIAL##STENCIL##_; \ -defineTemplateTypeNameAndDebugWithName \ - (CentredFitScheme##TYPE##POLYNOMIAL##STENCIL##_, #SS, 0); \ - \ -surfaceInterpolationScheme<TYPE>::addMeshConstructorToTable \ -<CentredFitScheme<TYPE, POLYNOMIAL, STENCIL>> \ - add##SS##STENCIL##TYPE##MeshConstructorToTable_; \ - \ -surfaceInterpolationScheme<TYPE>::addMeshFluxConstructorToTable \ -<CentredFitScheme<TYPE, POLYNOMIAL, STENCIL>> \ +( \ + SS, \ + POLYNOMIAL, \ + STENCIL, \ + TYPE \ +) \ + \ +typedef CentredFitScheme<TYPE, POLYNOMIAL, STENCIL> \ + CentredFitScheme##TYPE##POLYNOMIAL##STENCIL##_; \ +defineTemplateTypeNameAndDebugWithName \ + (CentredFitScheme##TYPE##POLYNOMIAL##STENCIL##_, #SS, 0); \ + \ +surfaceInterpolationScheme<TYPE>::addMeshConstructorToTable \ +<CentredFitScheme<TYPE, POLYNOMIAL, STENCIL>> \ + add##SS##STENCIL##TYPE##MeshConstructorToTable_; \ + \ +surfaceInterpolationScheme<TYPE>::addMeshFluxConstructorToTable \ +<CentredFitScheme<TYPE, POLYNOMIAL, STENCIL>> \ add##SS##STENCIL##TYPE##MeshFluxConstructorToTable_; -#define makeCentredFitSurfaceInterpolationScheme(SS, POLYNOMIAL, STENCIL) \ - \ -makeCentredFitSurfaceInterpolationTypeScheme(SS,POLYNOMIAL,STENCIL,scalar) \ -makeCentredFitSurfaceInterpolationTypeScheme(SS,POLYNOMIAL,STENCIL,vector) \ -makeCentredFitSurfaceInterpolationTypeScheme \ -( \ - SS, \ - POLYNOMIAL, \ - STENCIL, \ - sphericalTensor \ -) \ +#define makeCentredFitSurfaceInterpolationScheme(SS, POLYNOMIAL, STENCIL) \ + \ +makeCentredFitSurfaceInterpolationTypeScheme(SS,POLYNOMIAL,STENCIL,scalar) \ +makeCentredFitSurfaceInterpolationTypeScheme(SS,POLYNOMIAL,STENCIL,vector) \ +makeCentredFitSurfaceInterpolationTypeScheme \ +( \ + SS, \ + POLYNOMIAL, \ + STENCIL, \ + sphericalTensor \ +) \ makeCentredFitSurfaceInterpolationTypeScheme(SS,POLYNOMIAL,STENCIL,symmTensor)\ makeCentredFitSurfaceInterpolationTypeScheme(SS,POLYNOMIAL,STENCIL,tensor) diff --git a/src/finiteVolume/interpolation/surfaceInterpolation/schemes/PureUpwindFitScheme/PureUpwindFitScheme.H b/src/finiteVolume/interpolation/surfaceInterpolation/schemes/PureUpwindFitScheme/PureUpwindFitScheme.H index c74797b0a6e..6732a066ffb 100644 --- a/src/finiteVolume/interpolation/surfaceInterpolation/schemes/PureUpwindFitScheme/PureUpwindFitScheme.H +++ b/src/finiteVolume/interpolation/surfaceInterpolation/schemes/PureUpwindFitScheme/PureUpwindFitScheme.H @@ -155,44 +155,44 @@ public: // Add the patch constructor functions to the hash tables #define makePureUpwindFitSurfaceInterpolationTypeScheme\ -( \ - SS, \ - POLYNOMIAL, \ - STENCIL, \ - TYPE \ -) \ - \ -typedef PureUpwindFitScheme<TYPE, POLYNOMIAL, STENCIL> \ - PureUpwindFitScheme##TYPE##POLYNOMIAL##STENCIL##_; \ -defineTemplateTypeNameAndDebugWithName \ - (PureUpwindFitScheme##TYPE##POLYNOMIAL##STENCIL##_, #SS, 0); \ - \ -surfaceInterpolationScheme<TYPE>::addMeshConstructorToTable \ -<PureUpwindFitScheme<TYPE, POLYNOMIAL, STENCIL>> \ - add##SS##STENCIL##TYPE##MeshConstructorToTable_; \ - \ -surfaceInterpolationScheme<TYPE>::addMeshFluxConstructorToTable \ -<PureUpwindFitScheme<TYPE, POLYNOMIAL, STENCIL>> \ +( \ + SS, \ + POLYNOMIAL, \ + STENCIL, \ + TYPE \ +) \ + \ +typedef PureUpwindFitScheme<TYPE, POLYNOMIAL, STENCIL> \ + PureUpwindFitScheme##TYPE##POLYNOMIAL##STENCIL##_; \ +defineTemplateTypeNameAndDebugWithName \ + (PureUpwindFitScheme##TYPE##POLYNOMIAL##STENCIL##_, #SS, 0); \ + \ +surfaceInterpolationScheme<TYPE>::addMeshConstructorToTable \ +<PureUpwindFitScheme<TYPE, POLYNOMIAL, STENCIL>> \ + add##SS##STENCIL##TYPE##MeshConstructorToTable_; \ + \ +surfaceInterpolationScheme<TYPE>::addMeshFluxConstructorToTable \ +<PureUpwindFitScheme<TYPE, POLYNOMIAL, STENCIL>> \ add##SS##STENCIL##TYPE##MeshFluxConstructorToTable_; -#define makePureUpwindFitSurfaceInterpolationScheme(SS, POLYNOMIAL, STENCIL) \ - \ +#define makePureUpwindFitSurfaceInterpolationScheme(SS, POLYNOMIAL, STENCIL) \ + \ makePureUpwindFitSurfaceInterpolationTypeScheme(SS,POLYNOMIAL,STENCIL,scalar) \ makePureUpwindFitSurfaceInterpolationTypeScheme(SS,POLYNOMIAL,STENCIL,vector) \ -makePureUpwindFitSurfaceInterpolationTypeScheme \ -( \ - SS, \ - POLYNOMIAL, \ - STENCIL, \ - sphericalTensor \ -) \ -makePureUpwindFitSurfaceInterpolationTypeScheme \ -( \ - SS, \ - POLYNOMIAL, \ - STENCIL, \ - symmTensor \ -) \ +makePureUpwindFitSurfaceInterpolationTypeScheme \ +( \ + SS, \ + POLYNOMIAL, \ + STENCIL, \ + sphericalTensor \ +) \ +makePureUpwindFitSurfaceInterpolationTypeScheme \ +( \ + SS, \ + POLYNOMIAL, \ + STENCIL, \ + symmTensor \ +) \ makePureUpwindFitSurfaceInterpolationTypeScheme(SS,POLYNOMIAL,STENCIL,tensor) diff --git a/src/finiteVolume/interpolation/surfaceInterpolation/schemes/UpwindFitScheme/UpwindFitScheme.H b/src/finiteVolume/interpolation/surfaceInterpolation/schemes/UpwindFitScheme/UpwindFitScheme.H index f56b2790d01..6f5ddf57e62 100644 --- a/src/finiteVolume/interpolation/surfaceInterpolation/schemes/UpwindFitScheme/UpwindFitScheme.H +++ b/src/finiteVolume/interpolation/surfaceInterpolation/schemes/UpwindFitScheme/UpwindFitScheme.H @@ -159,37 +159,37 @@ public: // Add the patch constructor functions to the hash tables #define makeUpwindFitSurfaceInterpolationTypeScheme\ -( \ - SS, \ - POLYNOMIAL, \ - STENCIL, \ - TYPE \ -) \ - \ -typedef UpwindFitScheme<TYPE, POLYNOMIAL, STENCIL> \ - UpwindFitScheme##TYPE##POLYNOMIAL##STENCIL##_; \ -defineTemplateTypeNameAndDebugWithName \ - (UpwindFitScheme##TYPE##POLYNOMIAL##STENCIL##_, #SS, 0); \ - \ -surfaceInterpolationScheme<TYPE>::addMeshConstructorToTable \ -<UpwindFitScheme<TYPE, POLYNOMIAL, STENCIL>> \ - add##SS##STENCIL##TYPE##MeshConstructorToTable_; \ - \ -surfaceInterpolationScheme<TYPE>::addMeshFluxConstructorToTable \ -<UpwindFitScheme<TYPE, POLYNOMIAL, STENCIL>> \ +( \ + SS, \ + POLYNOMIAL, \ + STENCIL, \ + TYPE \ +) \ + \ +typedef UpwindFitScheme<TYPE, POLYNOMIAL, STENCIL> \ + UpwindFitScheme##TYPE##POLYNOMIAL##STENCIL##_; \ +defineTemplateTypeNameAndDebugWithName \ + (UpwindFitScheme##TYPE##POLYNOMIAL##STENCIL##_, #SS, 0); \ + \ +surfaceInterpolationScheme<TYPE>::addMeshConstructorToTable \ +<UpwindFitScheme<TYPE, POLYNOMIAL, STENCIL>> \ + add##SS##STENCIL##TYPE##MeshConstructorToTable_; \ + \ +surfaceInterpolationScheme<TYPE>::addMeshFluxConstructorToTable \ +<UpwindFitScheme<TYPE, POLYNOMIAL, STENCIL>> \ add##SS##STENCIL##TYPE##MeshFluxConstructorToTable_; -#define makeUpwindFitSurfaceInterpolationScheme(SS, POLYNOMIAL, STENCIL) \ - \ -makeUpwindFitSurfaceInterpolationTypeScheme(SS,POLYNOMIAL,STENCIL,scalar) \ -makeUpwindFitSurfaceInterpolationTypeScheme(SS,POLYNOMIAL,STENCIL,vector) \ -makeUpwindFitSurfaceInterpolationTypeScheme \ -( \ - SS, \ - POLYNOMIAL, \ - STENCIL, \ - sphericalTensor \ -) \ +#define makeUpwindFitSurfaceInterpolationScheme(SS, POLYNOMIAL, STENCIL) \ + \ +makeUpwindFitSurfaceInterpolationTypeScheme(SS,POLYNOMIAL,STENCIL,scalar) \ +makeUpwindFitSurfaceInterpolationTypeScheme(SS,POLYNOMIAL,STENCIL,vector) \ +makeUpwindFitSurfaceInterpolationTypeScheme \ +( \ + SS, \ + POLYNOMIAL, \ + STENCIL, \ + sphericalTensor \ +) \ makeUpwindFitSurfaceInterpolationTypeScheme(SS,POLYNOMIAL,STENCIL,symmTensor) \ makeUpwindFitSurfaceInterpolationTypeScheme(SS,POLYNOMIAL,STENCIL,tensor) diff --git a/src/finiteVolume/interpolation/surfaceInterpolation/surfaceInterpolationScheme/surfaceInterpolationScheme.H b/src/finiteVolume/interpolation/surfaceInterpolation/surfaceInterpolationScheme/surfaceInterpolationScheme.H index 547a53b58ac..5f1e59f7167 100644 --- a/src/finiteVolume/interpolation/surfaceInterpolation/surfaceInterpolationScheme/surfaceInterpolationScheme.H +++ b/src/finiteVolume/interpolation/surfaceInterpolation/surfaceInterpolationScheme/surfaceInterpolationScheme.H @@ -213,10 +213,10 @@ public: \ defineNamedTemplateTypeNameAndDebug(SS<Type>, 0); \ \ -surfaceInterpolationScheme<Type>::addMeshConstructorToTable<SS<Type>> \ +surfaceInterpolationScheme<Type>::addMeshConstructorToTable<SS<Type>> \ add##SS##Type##MeshConstructorToTable_; \ \ -surfaceInterpolationScheme<Type>::addMeshFluxConstructorToTable<SS<Type>> \ +surfaceInterpolationScheme<Type>::addMeshFluxConstructorToTable<SS<Type>> \ add##SS##Type##MeshFluxConstructorToTable_; #define makeSurfaceInterpolationScheme(SS) \ diff --git a/src/finiteVolume/interpolation/surfaceInterpolation/surfaceInterpolationScheme/surfaceInterpolationSchemes.C b/src/finiteVolume/interpolation/surfaceInterpolation/surfaceInterpolationScheme/surfaceInterpolationSchemes.C index fdbc5a977ab..9c0da30cb8b 100644 --- a/src/finiteVolume/interpolation/surfaceInterpolation/surfaceInterpolationScheme/surfaceInterpolationSchemes.C +++ b/src/finiteVolume/interpolation/surfaceInterpolation/surfaceInterpolationScheme/surfaceInterpolationSchemes.C @@ -32,20 +32,20 @@ namespace Foam // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -#define makeBaseSurfaceInterpolationScheme(Type) \ - \ -defineNamedTemplateTypeNameAndDebug(surfaceInterpolationScheme<Type>, 0); \ - \ -defineTemplateRunTimeSelectionTable \ -( \ - surfaceInterpolationScheme<Type>, \ - Mesh \ -); \ - \ -defineTemplateRunTimeSelectionTable \ -( \ - surfaceInterpolationScheme<Type>, \ - MeshFlux \ +#define makeBaseSurfaceInterpolationScheme(Type) \ + \ +defineNamedTemplateTypeNameAndDebug(surfaceInterpolationScheme<Type>, 0); \ + \ +defineTemplateRunTimeSelectionTable \ +( \ + surfaceInterpolationScheme<Type>, \ + Mesh \ +); \ + \ +defineTemplateRunTimeSelectionTable \ +( \ + surfaceInterpolationScheme<Type>, \ + MeshFlux \ ); makeBaseSurfaceInterpolationScheme(scalar) diff --git a/src/lagrangian/DSMC/submodels/BinaryCollisionModel/BinaryCollisionModel/BinaryCollisionModel.H b/src/lagrangian/DSMC/submodels/BinaryCollisionModel/BinaryCollisionModel/BinaryCollisionModel.H index d3f228fd0c1..391ef249bb2 100644 --- a/src/lagrangian/DSMC/submodels/BinaryCollisionModel/BinaryCollisionModel/BinaryCollisionModel.H +++ b/src/lagrangian/DSMC/submodels/BinaryCollisionModel/BinaryCollisionModel/BinaryCollisionModel.H @@ -151,27 +151,27 @@ public: // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -#define makeBinaryCollisionModel(CloudType) \ - \ - defineNamedTemplateTypeNameAndDebug \ - ( \ - BinaryCollisionModel<CloudType>, \ - 0 \ - ); \ - \ - defineTemplateRunTimeSelectionTable \ - ( \ - BinaryCollisionModel<CloudType>, \ - dictionary \ +#define makeBinaryCollisionModel(CloudType) \ + \ + defineNamedTemplateTypeNameAndDebug \ + ( \ + BinaryCollisionModel<CloudType>, \ + 0 \ + ); \ + \ + defineTemplateRunTimeSelectionTable \ + ( \ + BinaryCollisionModel<CloudType>, \ + dictionary \ ); -#define makeBinaryCollisionModelType(SS, CloudType) \ - \ - defineNamedTemplateTypeNameAndDebug(SS<CloudType>, 0); \ - \ - BinaryCollisionModel<CloudType>:: \ - adddictionaryConstructorToTable<SS<CloudType>> \ +#define makeBinaryCollisionModelType(SS, CloudType) \ + \ + defineNamedTemplateTypeNameAndDebug(SS<CloudType>, 0); \ + \ + BinaryCollisionModel<CloudType>:: \ + adddictionaryConstructorToTable<SS<CloudType>> \ add##SS##CloudType##ConstructorToTable_; diff --git a/src/lagrangian/DSMC/submodels/InflowBoundaryModel/InflowBoundaryModel/InflowBoundaryModel.H b/src/lagrangian/DSMC/submodels/InflowBoundaryModel/InflowBoundaryModel/InflowBoundaryModel.H index 86f2c7893ca..847d8b16c0d 100644 --- a/src/lagrangian/DSMC/submodels/InflowBoundaryModel/InflowBoundaryModel/InflowBoundaryModel.H +++ b/src/lagrangian/DSMC/submodels/InflowBoundaryModel/InflowBoundaryModel/InflowBoundaryModel.H @@ -141,23 +141,23 @@ public: // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -#define makeInflowBoundaryModel(CloudType) \ - \ - defineNamedTemplateTypeNameAndDebug(InflowBoundaryModel<CloudType>, 0); \ - \ - defineTemplateRunTimeSelectionTable \ - ( \ - InflowBoundaryModel<CloudType>, \ - dictionary \ +#define makeInflowBoundaryModel(CloudType) \ + \ + defineNamedTemplateTypeNameAndDebug(InflowBoundaryModel<CloudType>, 0); \ + \ + defineTemplateRunTimeSelectionTable \ + ( \ + InflowBoundaryModel<CloudType>, \ + dictionary \ ); -#define makeInflowBoundaryModelType(SS, CloudType) \ - \ - defineNamedTemplateTypeNameAndDebug(SS<CloudType>, 0); \ - \ - InflowBoundaryModel<CloudType>:: \ - adddictionaryConstructorToTable<SS<CloudType>> \ +#define makeInflowBoundaryModelType(SS, CloudType) \ + \ + defineNamedTemplateTypeNameAndDebug(SS<CloudType>, 0); \ + \ + InflowBoundaryModel<CloudType>:: \ + adddictionaryConstructorToTable<SS<CloudType>> \ add##SS##CloudType##ConstructorToTable_; diff --git a/src/lagrangian/DSMC/submodels/WallInteractionModel/WallInteractionModel/WallInteractionModel.H b/src/lagrangian/DSMC/submodels/WallInteractionModel/WallInteractionModel/WallInteractionModel.H index 58e0f77db10..d564c48a636 100644 --- a/src/lagrangian/DSMC/submodels/WallInteractionModel/WallInteractionModel/WallInteractionModel.H +++ b/src/lagrangian/DSMC/submodels/WallInteractionModel/WallInteractionModel/WallInteractionModel.H @@ -141,23 +141,23 @@ public: // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -#define makeWallInteractionModel(CloudType) \ - \ - defineNamedTemplateTypeNameAndDebug(WallInteractionModel<CloudType>, 0); \ - \ - defineTemplateRunTimeSelectionTable \ - ( \ - WallInteractionModel<CloudType>, \ - dictionary \ +#define makeWallInteractionModel(CloudType) \ + \ + defineNamedTemplateTypeNameAndDebug(WallInteractionModel<CloudType>, 0); \ + \ + defineTemplateRunTimeSelectionTable \ + ( \ + WallInteractionModel<CloudType>, \ + dictionary \ ); -#define makeWallInteractionModelType(SS, CloudType) \ - \ - defineNamedTemplateTypeNameAndDebug(SS<CloudType>, 0); \ - \ - WallInteractionModel<CloudType>:: \ - adddictionaryConstructorToTable<SS<CloudType>> \ +#define makeWallInteractionModelType(SS, CloudType) \ + \ + defineNamedTemplateTypeNameAndDebug(SS<CloudType>, 0); \ + \ + WallInteractionModel<CloudType>:: \ + adddictionaryConstructorToTable<SS<CloudType>> \ add##SS##CloudType##ConstructorToTable_; diff --git a/src/lagrangian/basic/particle/particleMacros.H b/src/lagrangian/basic/particle/particleMacros.H index 2e46f2a7479..bb788193029 100644 --- a/src/lagrangian/basic/particle/particleMacros.H +++ b/src/lagrangian/basic/particle/particleMacros.H @@ -39,23 +39,23 @@ namespace Foam // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -#define DefinePropertyList(str) \ - \ - static string propertyList_; \ - \ - static string propertyList() \ - { \ - return str; \ +#define DefinePropertyList(str) \ + \ + static string propertyList_; \ + \ + static string propertyList() \ + { \ + return str; \ } -#define AddToPropertyList(ParcelType, str) \ - \ - static string propertyList_; \ - \ - static string propertyList() \ - { \ - return ParcelType::propertyList() + str; \ +#define AddToPropertyList(ParcelType, str) \ + \ + static string propertyList_; \ + \ + static string propertyList() \ + { \ + return ParcelType::propertyList() + str; \ } diff --git a/src/lagrangian/coalCombustion/include/makeCoalParcelSurfaceReactionModels.H b/src/lagrangian/coalCombustion/include/makeCoalParcelSurfaceReactionModels.H index 44b67217dda..0972e9670b8 100644 --- a/src/lagrangian/coalCombustion/include/makeCoalParcelSurfaceReactionModels.H +++ b/src/lagrangian/coalCombustion/include/makeCoalParcelSurfaceReactionModels.H @@ -37,16 +37,16 @@ License // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -#define makeCoalParcelSurfaceReactionModels(CloudType) \ - \ - makeSurfaceReactionModelType(COxidationDiffusionLimitedRate, CloudType); \ - makeSurfaceReactionModelType \ - ( \ - COxidationKineticDiffusionLimitedRate, \ - CloudType \ - ); \ - makeSurfaceReactionModelType(COxidationIntrinsicRate, CloudType); \ - makeSurfaceReactionModelType(COxidationHurtMitchell, CloudType); \ +#define makeCoalParcelSurfaceReactionModels(CloudType) \ + \ + makeSurfaceReactionModelType(COxidationDiffusionLimitedRate, CloudType); \ + makeSurfaceReactionModelType \ + ( \ + COxidationKineticDiffusionLimitedRate, \ + CloudType \ + ); \ + makeSurfaceReactionModelType(COxidationIntrinsicRate, CloudType); \ + makeSurfaceReactionModelType(COxidationHurtMitchell, CloudType); \ makeSurfaceReactionModelType(COxidationMurphyShaddix, CloudType); diff --git a/src/lagrangian/intermediate/IntegrationScheme/IntegrationScheme/IntegrationScheme.H b/src/lagrangian/intermediate/IntegrationScheme/IntegrationScheme/IntegrationScheme.H index 4684f908cbe..c787220ab23 100644 --- a/src/lagrangian/intermediate/IntegrationScheme/IntegrationScheme/IntegrationScheme.H +++ b/src/lagrangian/intermediate/IntegrationScheme/IntegrationScheme/IntegrationScheme.H @@ -190,22 +190,22 @@ public: // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -#define makeIntegrationScheme(Type) \ - \ - defineNamedTemplateTypeNameAndDebug(IntegrationScheme<Type>, 0); \ - \ - defineTemplateRunTimeSelectionTable \ - ( \ - IntegrationScheme<Type>, \ - dictionary \ +#define makeIntegrationScheme(Type) \ + \ + defineNamedTemplateTypeNameAndDebug(IntegrationScheme<Type>, 0); \ + \ + defineTemplateRunTimeSelectionTable \ + ( \ + IntegrationScheme<Type>, \ + dictionary \ ); -#define makeIntegrationSchemeType(SS, Type) \ - \ - defineNamedTemplateTypeNameAndDebug(SS<Type>, 0); \ - \ - IntegrationScheme<Type>::adddictionaryConstructorToTable<SS<Type>> \ +#define makeIntegrationSchemeType(SS, Type) \ + \ + defineNamedTemplateTypeNameAndDebug(SS<Type>, 0); \ + \ + IntegrationScheme<Type>::adddictionaryConstructorToTable<SS<Type>> \ add##SS##Type##ConstructorToTable_; diff --git a/src/lagrangian/intermediate/parcels/include/makeMPPICParcelDampingModels.H b/src/lagrangian/intermediate/parcels/include/makeMPPICParcelDampingModels.H index 61011a66a6b..2700ddbe590 100644 --- a/src/lagrangian/intermediate/parcels/include/makeMPPICParcelDampingModels.H +++ b/src/lagrangian/intermediate/parcels/include/makeMPPICParcelDampingModels.H @@ -34,11 +34,11 @@ License // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -#define makeMPPICParcelDampingModels(CloudType) \ - \ - makeDampingModel(CloudType); \ - \ - makeDampingModelType(NoDamping, CloudType); \ +#define makeMPPICParcelDampingModels(CloudType) \ + \ + makeDampingModel(CloudType); \ + \ + makeDampingModelType(NoDamping, CloudType); \ makeDampingModelType(Relaxation, CloudType); diff --git a/src/lagrangian/intermediate/parcels/include/makeMPPICParcelIsotropyModels.H b/src/lagrangian/intermediate/parcels/include/makeMPPICParcelIsotropyModels.H index 0780a03d6bd..71fcd910d14 100644 --- a/src/lagrangian/intermediate/parcels/include/makeMPPICParcelIsotropyModels.H +++ b/src/lagrangian/intermediate/parcels/include/makeMPPICParcelIsotropyModels.H @@ -33,11 +33,11 @@ License // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -#define makeMPPICParcelIsotropyModels(CloudType) \ - \ - makeIsotropyModel(CloudType); \ - \ - makeIsotropyModelType(NoIsotropy, CloudType); \ +#define makeMPPICParcelIsotropyModels(CloudType) \ + \ + makeIsotropyModel(CloudType); \ + \ + makeIsotropyModelType(NoIsotropy, CloudType); \ makeIsotropyModelType(Stochastic, CloudType); diff --git a/src/lagrangian/intermediate/parcels/include/makeMPPICParcelPackingModels.H b/src/lagrangian/intermediate/parcels/include/makeMPPICParcelPackingModels.H index cdcbf17aa87..d8d13468338 100644 --- a/src/lagrangian/intermediate/parcels/include/makeMPPICParcelPackingModels.H +++ b/src/lagrangian/intermediate/parcels/include/makeMPPICParcelPackingModels.H @@ -34,12 +34,12 @@ License // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -#define makeMPPICParcelPackingModels(CloudType) \ - \ - makePackingModel(CloudType); \ - \ - makePackingModelType(NoPacking, CloudType); \ - makePackingModelType(Explicit, CloudType); \ +#define makeMPPICParcelPackingModels(CloudType) \ + \ + makePackingModel(CloudType); \ + \ + makePackingModelType(NoPacking, CloudType); \ + makePackingModelType(Explicit, CloudType); \ makePackingModelType(Implicit, CloudType); // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/src/lagrangian/intermediate/parcels/include/makeParcelCloudFunctionObjects.H b/src/lagrangian/intermediate/parcels/include/makeParcelCloudFunctionObjects.H index 783878f4800..0c4fadfcae2 100644 --- a/src/lagrangian/intermediate/parcels/include/makeParcelCloudFunctionObjects.H +++ b/src/lagrangian/intermediate/parcels/include/makeParcelCloudFunctionObjects.H @@ -38,16 +38,16 @@ License // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -#define makeParcelCloudFunctionObjects(CloudType) \ - \ - makeCloudFunctionObject(CloudType); \ - \ - makeCloudFunctionObjectType(FacePostProcessing, CloudType); \ - makeCloudFunctionObjectType(ParticleCollector, CloudType); \ - makeCloudFunctionObjectType(ParticleErosion, CloudType); \ - makeCloudFunctionObjectType(ParticleTracks, CloudType); \ - makeCloudFunctionObjectType(ParticleTrap, CloudType); \ - makeCloudFunctionObjectType(PatchPostProcessing, CloudType); \ +#define makeParcelCloudFunctionObjects(CloudType) \ + \ + makeCloudFunctionObject(CloudType); \ + \ + makeCloudFunctionObjectType(FacePostProcessing, CloudType); \ + makeCloudFunctionObjectType(ParticleCollector, CloudType); \ + makeCloudFunctionObjectType(ParticleErosion, CloudType); \ + makeCloudFunctionObjectType(ParticleTracks, CloudType); \ + makeCloudFunctionObjectType(ParticleTrap, CloudType); \ + makeCloudFunctionObjectType(PatchPostProcessing, CloudType); \ makeCloudFunctionObjectType(VoidFraction, CloudType); diff --git a/src/lagrangian/intermediate/parcels/include/makeParcelCollisionModels.H b/src/lagrangian/intermediate/parcels/include/makeParcelCollisionModels.H index ae5688c765e..5dda39e5797 100644 --- a/src/lagrangian/intermediate/parcels/include/makeParcelCollisionModels.H +++ b/src/lagrangian/intermediate/parcels/include/makeParcelCollisionModels.H @@ -38,17 +38,17 @@ License // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -#define makeParcelCollisionModels(CloudType) \ - \ - makeCollisionModel(CloudType); \ - makeCollisionModelType(NoCollision, CloudType); \ - makeCollisionModelType(PairCollision, CloudType); \ - \ - makePairModel(CloudType); \ - makePairModelType(PairSpringSliderDashpot, CloudType); \ - \ - makeWallModel(CloudType); \ - makeWallModelType(WallSpringSliderDashpot, CloudType); \ +#define makeParcelCollisionModels(CloudType) \ + \ + makeCollisionModel(CloudType); \ + makeCollisionModelType(NoCollision, CloudType); \ + makeCollisionModelType(PairCollision, CloudType); \ + \ + makePairModel(CloudType); \ + makePairModelType(PairSpringSliderDashpot, CloudType); \ + \ + makeWallModel(CloudType); \ + makeWallModelType(WallSpringSliderDashpot, CloudType); \ makeWallModelType(WallLocalSpringSliderDashpot, CloudType); diff --git a/src/lagrangian/intermediate/parcels/include/makeParcelDispersionModels.H b/src/lagrangian/intermediate/parcels/include/makeParcelDispersionModels.H index fac015c7e89..f14616ddd6d 100644 --- a/src/lagrangian/intermediate/parcels/include/makeParcelDispersionModels.H +++ b/src/lagrangian/intermediate/parcels/include/makeParcelDispersionModels.H @@ -32,9 +32,9 @@ License // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -#define makeParcelDispersionModels(CloudType) \ - \ - makeDispersionModel(CloudType); \ +#define makeParcelDispersionModels(CloudType) \ + \ + makeDispersionModel(CloudType); \ makeDispersionModelType(NoDispersion, CloudType); diff --git a/src/lagrangian/intermediate/parcels/include/makeParcelForces.H b/src/lagrangian/intermediate/parcels/include/makeParcelForces.H index 47486897ba3..35c60580e7f 100644 --- a/src/lagrangian/intermediate/parcels/include/makeParcelForces.H +++ b/src/lagrangian/intermediate/parcels/include/makeParcelForces.H @@ -46,21 +46,21 @@ License // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -#define makeParcelForces(CloudType) \ - \ - makeParticleForceModel(CloudType); \ - makeParticleForceModelType(SphereDragForce, CloudType); \ - makeParticleForceModelType(NonSphereDragForce, CloudType); \ - makeParticleForceModelType(WenYuDragForce, CloudType); \ - makeParticleForceModelType(ErgunWenYuDragForce, CloudType); \ - makeParticleForceModelType(PlessisMasliyahDragForce, CloudType); \ - makeParticleForceModelType(SaffmanMeiLiftForce, CloudType); \ - makeParticleForceModelType(TomiyamaLiftForce, CloudType); \ - makeParticleForceModelType(GravityForce, CloudType); \ - makeParticleForceModelType(NonInertialFrameForce, CloudType); \ - makeParticleForceModelType(ParamagneticForce, CloudType); \ - makeParticleForceModelType(PressureGradientForce, CloudType); \ - makeParticleForceModelType(SRFForce, CloudType); \ +#define makeParcelForces(CloudType) \ + \ + makeParticleForceModel(CloudType); \ + makeParticleForceModelType(SphereDragForce, CloudType); \ + makeParticleForceModelType(NonSphereDragForce, CloudType); \ + makeParticleForceModelType(WenYuDragForce, CloudType); \ + makeParticleForceModelType(ErgunWenYuDragForce, CloudType); \ + makeParticleForceModelType(PlessisMasliyahDragForce, CloudType); \ + makeParticleForceModelType(SaffmanMeiLiftForce, CloudType); \ + makeParticleForceModelType(TomiyamaLiftForce, CloudType); \ + makeParticleForceModelType(GravityForce, CloudType); \ + makeParticleForceModelType(NonInertialFrameForce, CloudType); \ + makeParticleForceModelType(ParamagneticForce, CloudType); \ + makeParticleForceModelType(PressureGradientForce, CloudType); \ + makeParticleForceModelType(SRFForce, CloudType); \ makeParticleForceModelType(VirtualMassForce, CloudType); diff --git a/src/lagrangian/intermediate/parcels/include/makeParcelHeatTransferModels.H b/src/lagrangian/intermediate/parcels/include/makeParcelHeatTransferModels.H index 0ef9ff98dff..ef2269edf9b 100644 --- a/src/lagrangian/intermediate/parcels/include/makeParcelHeatTransferModels.H +++ b/src/lagrangian/intermediate/parcels/include/makeParcelHeatTransferModels.H @@ -33,11 +33,11 @@ License // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -#define makeParcelHeatTransferModels(CloudType) \ - \ - makeHeatTransferModel(CloudType); \ - \ - makeHeatTransferModelType(NoHeatTransfer, CloudType); \ +#define makeParcelHeatTransferModels(CloudType) \ + \ + makeHeatTransferModel(CloudType); \ + \ + makeHeatTransferModelType(NoHeatTransfer, CloudType); \ makeHeatTransferModelType(RanzMarshall, CloudType); diff --git a/src/lagrangian/intermediate/parcels/include/makeParcelInjectionModels.H b/src/lagrangian/intermediate/parcels/include/makeParcelInjectionModels.H index 07b00f8d936..ca0941a07b6 100644 --- a/src/lagrangian/intermediate/parcels/include/makeParcelInjectionModels.H +++ b/src/lagrangian/intermediate/parcels/include/makeParcelInjectionModels.H @@ -41,19 +41,19 @@ License // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -#define makeParcelInjectionModels(CloudType) \ - \ - makeInjectionModel(CloudType); \ - \ - makeInjectionModelType(CellZoneInjection, CloudType); \ - makeInjectionModelType(ConeInjection, CloudType); \ - makeInjectionModelType(ConeNozzleInjection, CloudType); \ - makeInjectionModelType(FieldActivatedInjection, CloudType); \ - makeInjectionModelType(InflationInjection, CloudType); \ - makeInjectionModelType(KinematicLookupTableInjection, CloudType); \ - makeInjectionModelType(ManualInjection, CloudType); \ - makeInjectionModelType(NoInjection, CloudType); \ - makeInjectionModelType(PatchInjection, CloudType); \ +#define makeParcelInjectionModels(CloudType) \ + \ + makeInjectionModel(CloudType); \ + \ + makeInjectionModelType(CellZoneInjection, CloudType); \ + makeInjectionModelType(ConeInjection, CloudType); \ + makeInjectionModelType(ConeNozzleInjection, CloudType); \ + makeInjectionModelType(FieldActivatedInjection, CloudType); \ + makeInjectionModelType(InflationInjection, CloudType); \ + makeInjectionModelType(KinematicLookupTableInjection, CloudType); \ + makeInjectionModelType(ManualInjection, CloudType); \ + makeInjectionModelType(NoInjection, CloudType); \ + makeInjectionModelType(PatchInjection, CloudType); \ makeInjectionModelType(PatchFlowRateInjection, CloudType); diff --git a/src/lagrangian/intermediate/parcels/include/makeParcelPatchInteractionModels.H b/src/lagrangian/intermediate/parcels/include/makeParcelPatchInteractionModels.H index 16d163ed8ed..7538ca57826 100644 --- a/src/lagrangian/intermediate/parcels/include/makeParcelPatchInteractionModels.H +++ b/src/lagrangian/intermediate/parcels/include/makeParcelPatchInteractionModels.H @@ -36,14 +36,14 @@ License // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -#define makeParcelPatchInteractionModels(CloudType) \ - \ - makePatchInteractionModel(CloudType); \ - \ - makePatchInteractionModelType(LocalInteraction, CloudType); \ - makePatchInteractionModelType(NoInteraction, CloudType); \ - makePatchInteractionModelType(Rebound, CloudType); \ - makePatchInteractionModelType(StandardWallInteraction, CloudType); \ +#define makeParcelPatchInteractionModels(CloudType) \ + \ + makePatchInteractionModel(CloudType); \ + \ + makePatchInteractionModelType(LocalInteraction, CloudType); \ + makePatchInteractionModelType(NoInteraction, CloudType); \ + makePatchInteractionModelType(Rebound, CloudType); \ + makePatchInteractionModelType(StandardWallInteraction, CloudType); \ makePatchInteractionModelType(MultiInteraction, CloudType); diff --git a/src/lagrangian/intermediate/parcels/include/makeParcelStochasticCollisionModels.H b/src/lagrangian/intermediate/parcels/include/makeParcelStochasticCollisionModels.H index d661155657f..3d01b137783 100644 --- a/src/lagrangian/intermediate/parcels/include/makeParcelStochasticCollisionModels.H +++ b/src/lagrangian/intermediate/parcels/include/makeParcelStochasticCollisionModels.H @@ -32,9 +32,9 @@ License // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -#define makeParcelStochasticCollisionModels(CloudType) \ - \ - makeStochasticCollisionModel(CloudType); \ +#define makeParcelStochasticCollisionModels(CloudType) \ + \ + makeStochasticCollisionModel(CloudType); \ makeStochasticCollisionModelType(NoStochasticCollision, CloudType); diff --git a/src/lagrangian/intermediate/parcels/include/makeParcelSurfaceFilmModels.H b/src/lagrangian/intermediate/parcels/include/makeParcelSurfaceFilmModels.H index bb233574715..f2888650726 100644 --- a/src/lagrangian/intermediate/parcels/include/makeParcelSurfaceFilmModels.H +++ b/src/lagrangian/intermediate/parcels/include/makeParcelSurfaceFilmModels.H @@ -32,9 +32,9 @@ License // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -#define makeParcelSurfaceFilmModels(CloudType) \ - \ - makeSurfaceFilmModel(CloudType); \ +#define makeParcelSurfaceFilmModels(CloudType) \ + \ + makeSurfaceFilmModel(CloudType); \ makeSurfaceFilmModelType(NoSurfaceFilm, CloudType); diff --git a/src/lagrangian/intermediate/parcels/include/makeReactingMultiphaseParcelCompositionModels.H b/src/lagrangian/intermediate/parcels/include/makeReactingMultiphaseParcelCompositionModels.H index 1e518d61d70..0dcea59618d 100644 --- a/src/lagrangian/intermediate/parcels/include/makeReactingMultiphaseParcelCompositionModels.H +++ b/src/lagrangian/intermediate/parcels/include/makeReactingMultiphaseParcelCompositionModels.H @@ -33,10 +33,10 @@ License // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -#define makeReactingMultiphaseParcelCompositionModels(CloudType) \ - \ - makeCompositionModel(CloudType); \ - makeCompositionModelType(NoComposition, CloudType); \ +#define makeReactingMultiphaseParcelCompositionModels(CloudType) \ + \ + makeCompositionModel(CloudType); \ + makeCompositionModelType(NoComposition, CloudType); \ makeCompositionModelType(SingleMixtureFraction, CloudType); diff --git a/src/lagrangian/intermediate/parcels/include/makeReactingMultiphaseParcelDevolatilisationModels.H b/src/lagrangian/intermediate/parcels/include/makeReactingMultiphaseParcelDevolatilisationModels.H index 3c2cc8bc276..a36c300161f 100644 --- a/src/lagrangian/intermediate/parcels/include/makeReactingMultiphaseParcelDevolatilisationModels.H +++ b/src/lagrangian/intermediate/parcels/include/makeReactingMultiphaseParcelDevolatilisationModels.H @@ -34,15 +34,15 @@ License // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -#define makeReactingMultiphaseParcelDevolatilisationModels(CloudType) \ - \ - makeDevolatilisationModel(CloudType); \ - makeDevolatilisationModelType(ConstantRateDevolatilisation, CloudType); \ - makeDevolatilisationModelType(NoDevolatilisation, CloudType); \ - makeDevolatilisationModelType \ - ( \ - SingleKineticRateDevolatilisation, \ - CloudType \ +#define makeReactingMultiphaseParcelDevolatilisationModels(CloudType) \ + \ + makeDevolatilisationModel(CloudType); \ + makeDevolatilisationModelType(ConstantRateDevolatilisation, CloudType); \ + makeDevolatilisationModelType(NoDevolatilisation, CloudType); \ + makeDevolatilisationModelType \ + ( \ + SingleKineticRateDevolatilisation, \ + CloudType \ ); diff --git a/src/lagrangian/intermediate/parcels/include/makeReactingMultiphaseParcelInjectionModels.H b/src/lagrangian/intermediate/parcels/include/makeReactingMultiphaseParcelInjectionModels.H index 711f88459fe..c81eb94b792 100644 --- a/src/lagrangian/intermediate/parcels/include/makeReactingMultiphaseParcelInjectionModels.H +++ b/src/lagrangian/intermediate/parcels/include/makeReactingMultiphaseParcelInjectionModels.H @@ -40,17 +40,17 @@ License // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -#define makeReactingMultiphaseParcelInjectionModels(CloudType) \ - \ - makeInjectionModel(CloudType); \ - makeInjectionModelType(CellZoneInjection, CloudType); \ - makeInjectionModelType(ConeInjection, CloudType); \ - makeInjectionModelType(ConeNozzleInjection, CloudType); \ - makeInjectionModelType(FieldActivatedInjection, CloudType); \ - makeInjectionModelType(ManualInjection, CloudType); \ - makeInjectionModelType(NoInjection, CloudType); \ - makeInjectionModelType(PatchInjection, CloudType); \ - makeInjectionModelType(PatchFlowRateInjection, CloudType); \ +#define makeReactingMultiphaseParcelInjectionModels(CloudType) \ + \ + makeInjectionModel(CloudType); \ + makeInjectionModelType(CellZoneInjection, CloudType); \ + makeInjectionModelType(ConeInjection, CloudType); \ + makeInjectionModelType(ConeNozzleInjection, CloudType); \ + makeInjectionModelType(FieldActivatedInjection, CloudType); \ + makeInjectionModelType(ManualInjection, CloudType); \ + makeInjectionModelType(NoInjection, CloudType); \ + makeInjectionModelType(PatchInjection, CloudType); \ + makeInjectionModelType(PatchFlowRateInjection, CloudType); \ makeInjectionModelType(ReactingMultiphaseLookupTableInjection, CloudType); diff --git a/src/lagrangian/intermediate/parcels/include/makeReactingMultiphaseParcelStochasticCollisionModels.H b/src/lagrangian/intermediate/parcels/include/makeReactingMultiphaseParcelStochasticCollisionModels.H index ea8436b119d..e06e79f6745 100644 --- a/src/lagrangian/intermediate/parcels/include/makeReactingMultiphaseParcelStochasticCollisionModels.H +++ b/src/lagrangian/intermediate/parcels/include/makeReactingMultiphaseParcelStochasticCollisionModels.H @@ -33,10 +33,10 @@ License // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -#define makeReactingMultiphaseParcelStochasticCollisionModels(CloudType) \ - \ - makeStochasticCollisionModel(CloudType); \ - makeStochasticCollisionModelType(NoStochasticCollision, CloudType); \ +#define makeReactingMultiphaseParcelStochasticCollisionModels(CloudType) \ + \ + makeStochasticCollisionModel(CloudType); \ + makeStochasticCollisionModelType(NoStochasticCollision, CloudType); \ makeStochasticCollisionModelType(SuppressionCollision, CloudType); diff --git a/src/lagrangian/intermediate/parcels/include/makeReactingMultiphaseParcelSurfaceReactionModels.H b/src/lagrangian/intermediate/parcels/include/makeReactingMultiphaseParcelSurfaceReactionModels.H index 95249a6a573..4a907f9a403 100644 --- a/src/lagrangian/intermediate/parcels/include/makeReactingMultiphaseParcelSurfaceReactionModels.H +++ b/src/lagrangian/intermediate/parcels/include/makeReactingMultiphaseParcelSurfaceReactionModels.H @@ -32,9 +32,9 @@ License // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -#define makeReactingMultiphaseParcelSurfaceReactionModels(CloudType) \ - \ - makeSurfaceReactionModel(CloudType); \ +#define makeReactingMultiphaseParcelSurfaceReactionModels(CloudType) \ + \ + makeSurfaceReactionModel(CloudType); \ makeSurfaceReactionModelType(NoSurfaceReaction, CloudType); diff --git a/src/lagrangian/intermediate/parcels/include/makeReactingParcelCompositionModels.H b/src/lagrangian/intermediate/parcels/include/makeReactingParcelCompositionModels.H index c8a17037d47..ba552b685c0 100644 --- a/src/lagrangian/intermediate/parcels/include/makeReactingParcelCompositionModels.H +++ b/src/lagrangian/intermediate/parcels/include/makeReactingParcelCompositionModels.H @@ -33,10 +33,10 @@ License // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -#define makeReactingParcelCompositionModels(CloudType) \ - \ - makeCompositionModel(CloudType); \ - makeCompositionModelType(NoComposition, CloudType); \ +#define makeReactingParcelCompositionModels(CloudType) \ + \ + makeCompositionModel(CloudType); \ + makeCompositionModelType(NoComposition, CloudType); \ makeCompositionModelType(SinglePhaseMixture, CloudType); diff --git a/src/lagrangian/intermediate/parcels/include/makeReactingParcelInjectionModels.H b/src/lagrangian/intermediate/parcels/include/makeReactingParcelInjectionModels.H index 5fb4c6d5625..8ab7e31bf4c 100644 --- a/src/lagrangian/intermediate/parcels/include/makeReactingParcelInjectionModels.H +++ b/src/lagrangian/intermediate/parcels/include/makeReactingParcelInjectionModels.H @@ -40,17 +40,17 @@ License // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -#define makeReactingParcelInjectionModels(CloudType) \ - \ - makeInjectionModel(CloudType); \ - makeInjectionModelType(CellZoneInjection, CloudType); \ - makeInjectionModelType(ConeInjection, CloudType); \ - makeInjectionModelType(ConeNozzleInjection, CloudType); \ - makeInjectionModelType(FieldActivatedInjection, CloudType); \ - makeInjectionModelType(ManualInjection, CloudType); \ - makeInjectionModelType(NoInjection, CloudType); \ - makeInjectionModelType(PatchInjection, CloudType); \ - makeInjectionModelType(PatchFlowRateInjection, CloudType); \ +#define makeReactingParcelInjectionModels(CloudType) \ + \ + makeInjectionModel(CloudType); \ + makeInjectionModelType(CellZoneInjection, CloudType); \ + makeInjectionModelType(ConeInjection, CloudType); \ + makeInjectionModelType(ConeNozzleInjection, CloudType); \ + makeInjectionModelType(FieldActivatedInjection, CloudType); \ + makeInjectionModelType(ManualInjection, CloudType); \ + makeInjectionModelType(NoInjection, CloudType); \ + makeInjectionModelType(PatchInjection, CloudType); \ + makeInjectionModelType(PatchFlowRateInjection, CloudType); \ makeInjectionModelType(ReactingLookupTableInjection, CloudType); diff --git a/src/lagrangian/intermediate/parcels/include/makeReactingParcelPhaseChangeModels.H b/src/lagrangian/intermediate/parcels/include/makeReactingParcelPhaseChangeModels.H index 47d4899e9d8..9ceb1074a30 100644 --- a/src/lagrangian/intermediate/parcels/include/makeReactingParcelPhaseChangeModels.H +++ b/src/lagrangian/intermediate/parcels/include/makeReactingParcelPhaseChangeModels.H @@ -34,11 +34,11 @@ License // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -#define makeReactingParcelPhaseChangeModels(CloudType) \ - \ - makePhaseChangeModel(CloudType); \ - makePhaseChangeModelType(NoPhaseChange, CloudType); \ - makePhaseChangeModelType(LiquidEvaporation, CloudType); \ +#define makeReactingParcelPhaseChangeModels(CloudType) \ + \ + makePhaseChangeModel(CloudType); \ + makePhaseChangeModelType(NoPhaseChange, CloudType); \ + makePhaseChangeModelType(LiquidEvaporation, CloudType); \ makePhaseChangeModelType(LiquidEvaporationBoil, CloudType); diff --git a/src/lagrangian/intermediate/parcels/include/makeReactingParcelSurfaceFilmModels.H b/src/lagrangian/intermediate/parcels/include/makeReactingParcelSurfaceFilmModels.H index 99d56fc8e93..7fdb8a3bb8f 100644 --- a/src/lagrangian/intermediate/parcels/include/makeReactingParcelSurfaceFilmModels.H +++ b/src/lagrangian/intermediate/parcels/include/makeReactingParcelSurfaceFilmModels.H @@ -33,10 +33,10 @@ License // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -#define makeReactingParcelSurfaceFilmModels(CloudType) \ - \ - makeSurfaceFilmModel(CloudType); \ - makeSurfaceFilmModelType(NoSurfaceFilm, CloudType); \ +#define makeReactingParcelSurfaceFilmModels(CloudType) \ + \ + makeSurfaceFilmModel(CloudType); \ + makeSurfaceFilmModelType(NoSurfaceFilm, CloudType); \ makeSurfaceFilmModelType(ThermoSurfaceFilm, CloudType); diff --git a/src/lagrangian/intermediate/parcels/include/makeThermoParcelForces.H b/src/lagrangian/intermediate/parcels/include/makeThermoParcelForces.H index 6045ae28276..77952175cb9 100644 --- a/src/lagrangian/intermediate/parcels/include/makeThermoParcelForces.H +++ b/src/lagrangian/intermediate/parcels/include/makeThermoParcelForces.H @@ -43,18 +43,18 @@ License // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -#define makeThermoParcelForces(CloudType) \ - \ - makeParticleForceModel(CloudType); \ - makeParticleForceModelType(SphereDragForce, CloudType); \ - makeParticleForceModelType(NonSphereDragForce, CloudType); \ - makeParticleForceModelType(SaffmanMeiLiftForce, CloudType); \ - makeParticleForceModelType(TomiyamaLiftForce, CloudType); \ - makeParticleForceModelType(GravityForce, CloudType); \ - makeParticleForceModelType(NonInertialFrameForce, CloudType); \ - makeParticleForceModelType(ParamagneticForce, CloudType); \ - makeParticleForceModelType(PressureGradientForce, CloudType); \ - makeParticleForceModelType(SRFForce, CloudType); \ +#define makeThermoParcelForces(CloudType) \ + \ + makeParticleForceModel(CloudType); \ + makeParticleForceModelType(SphereDragForce, CloudType); \ + makeParticleForceModelType(NonSphereDragForce, CloudType); \ + makeParticleForceModelType(SaffmanMeiLiftForce, CloudType); \ + makeParticleForceModelType(TomiyamaLiftForce, CloudType); \ + makeParticleForceModelType(GravityForce, CloudType); \ + makeParticleForceModelType(NonInertialFrameForce, CloudType); \ + makeParticleForceModelType(ParamagneticForce, CloudType); \ + makeParticleForceModelType(PressureGradientForce, CloudType); \ + makeParticleForceModelType(SRFForce, CloudType); \ makeParticleForceModelType(VirtualMassForce, CloudType); diff --git a/src/lagrangian/intermediate/parcels/include/makeThermoParcelSurfaceFilmModels.H b/src/lagrangian/intermediate/parcels/include/makeThermoParcelSurfaceFilmModels.H index 867eab608d6..e22350ebc52 100644 --- a/src/lagrangian/intermediate/parcels/include/makeThermoParcelSurfaceFilmModels.H +++ b/src/lagrangian/intermediate/parcels/include/makeThermoParcelSurfaceFilmModels.H @@ -33,11 +33,11 @@ License // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -#define makeParcelSurfaceFilmModels(CloudType) \ - \ - makeSurfaceFilmModel(CloudType); \ - \ - makeSurfaceFilmModelType(NoSurfaceFilm, CloudType); \ +#define makeParcelSurfaceFilmModels(CloudType) \ + \ + makeSurfaceFilmModel(CloudType); \ + \ + makeSurfaceFilmModelType(NoSurfaceFilm, CloudType); \ makeSurfaceFilmModelType(ThermoSurfaceFilm, CloudType); // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/src/lagrangian/intermediate/submodels/CloudFunctionObjects/CloudFunctionObject/CloudFunctionObject.H b/src/lagrangian/intermediate/submodels/CloudFunctionObjects/CloudFunctionObject/CloudFunctionObject.H index 47ef1b97c3a..ae0dcfa0e73 100644 --- a/src/lagrangian/intermediate/submodels/CloudFunctionObjects/CloudFunctionObject/CloudFunctionObject.H +++ b/src/lagrangian/intermediate/submodels/CloudFunctionObjects/CloudFunctionObject/CloudFunctionObject.H @@ -213,7 +213,7 @@ public: defineNamedTemplateTypeNameAndDebug(Foam::SS<kinematicCloudType>, 0); \ \ Foam::CloudFunctionObject<kinematicCloudType>:: \ - adddictionaryConstructorToTable<Foam::SS<kinematicCloudType>> \ + adddictionaryConstructorToTable<Foam::SS<kinematicCloudType>> \ add##SS##CloudType##kinematicCloudType##ConstructorToTable_; diff --git a/src/lagrangian/intermediate/submodels/Kinematic/CollisionModel/CollisionModel/CollisionModel.H b/src/lagrangian/intermediate/submodels/Kinematic/CollisionModel/CollisionModel/CollisionModel.H index 1404f173888..6422c1bd333 100644 --- a/src/lagrangian/intermediate/submodels/Kinematic/CollisionModel/CollisionModel/CollisionModel.H +++ b/src/lagrangian/intermediate/submodels/Kinematic/CollisionModel/CollisionModel/CollisionModel.H @@ -133,31 +133,31 @@ public: // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -#define makeCollisionModel(CloudType) \ - \ - typedef Foam::CloudType::collidingCloudType collidingCloudType; \ - defineNamedTemplateTypeNameAndDebug \ - ( \ - Foam::CollisionModel<collidingCloudType>, \ - 0 \ - ); \ - namespace Foam \ - { \ - defineTemplateRunTimeSelectionTable \ - ( \ - CollisionModel<collidingCloudType>, \ - dictionary \ - ); \ +#define makeCollisionModel(CloudType) \ + \ + typedef Foam::CloudType::collidingCloudType collidingCloudType; \ + defineNamedTemplateTypeNameAndDebug \ + ( \ + Foam::CollisionModel<collidingCloudType>, \ + 0 \ + ); \ + namespace Foam \ + { \ + defineTemplateRunTimeSelectionTable \ + ( \ + CollisionModel<collidingCloudType>, \ + dictionary \ + ); \ } -#define makeCollisionModelType(SS, CloudType) \ - \ - typedef Foam::CloudType::collidingCloudType collidingCloudType; \ - defineNamedTemplateTypeNameAndDebug(Foam::SS<collidingCloudType>, 0); \ - \ - Foam::CollisionModel<collidingCloudType>:: \ - adddictionaryConstructorToTable<Foam::SS<collidingCloudType>> \ +#define makeCollisionModelType(SS, CloudType) \ + \ + typedef Foam::CloudType::collidingCloudType collidingCloudType; \ + defineNamedTemplateTypeNameAndDebug(Foam::SS<collidingCloudType>, 0); \ + \ + Foam::CollisionModel<collidingCloudType>:: \ + adddictionaryConstructorToTable<Foam::SS<collidingCloudType>> \ add##SS##CloudType##collidingCloudType##ConstructorToTable_; diff --git a/src/lagrangian/intermediate/submodels/Kinematic/CollisionModel/PairCollision/PairModel/PairModel/PairModel.H b/src/lagrangian/intermediate/submodels/Kinematic/CollisionModel/PairCollision/PairModel/PairModel/PairModel.H index 3490b18e171..6d0bec06f5f 100644 --- a/src/lagrangian/intermediate/submodels/Kinematic/CollisionModel/PairCollision/PairModel/PairModel/PairModel.H +++ b/src/lagrangian/intermediate/submodels/Kinematic/CollisionModel/PairCollision/PairModel/PairModel/PairModel.H @@ -144,26 +144,26 @@ public: // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -#define makePairModel(CloudType) \ - \ +#define makePairModel(CloudType) \ + \ defineNamedTemplateTypeNameAndDebug(Foam::PairModel<Foam::CloudType>, 0); \ - \ - namespace Foam \ - { \ - defineTemplateRunTimeSelectionTable \ - ( \ - PairModel<Foam::CloudType>, \ - dictionary \ - ); \ + \ + namespace Foam \ + { \ + defineTemplateRunTimeSelectionTable \ + ( \ + PairModel<Foam::CloudType>, \ + dictionary \ + ); \ } -#define makePairModelType(SS, CloudType) \ - \ - defineNamedTemplateTypeNameAndDebug(Foam::SS<Foam::CloudType>, 0); \ - \ - Foam::PairModel<Foam::CloudType>:: \ - adddictionaryConstructorToTable<Foam::SS<Foam::CloudType>> \ +#define makePairModelType(SS, CloudType) \ + \ + defineNamedTemplateTypeNameAndDebug(Foam::SS<Foam::CloudType>, 0); \ + \ + Foam::PairModel<Foam::CloudType>:: \ + adddictionaryConstructorToTable<Foam::SS<Foam::CloudType>> \ add##SS##CloudType##ConstructorToTable_; diff --git a/src/lagrangian/intermediate/submodels/Kinematic/CollisionModel/PairCollision/WallModel/WallModel/WallModel.H b/src/lagrangian/intermediate/submodels/Kinematic/CollisionModel/PairCollision/WallModel/WallModel/WallModel.H index cfa33f80529..9450e29fe34 100644 --- a/src/lagrangian/intermediate/submodels/Kinematic/CollisionModel/PairCollision/WallModel/WallModel/WallModel.H +++ b/src/lagrangian/intermediate/submodels/Kinematic/CollisionModel/PairCollision/WallModel/WallModel/WallModel.H @@ -154,26 +154,26 @@ public: // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -#define makeWallModel(CloudType) \ - \ +#define makeWallModel(CloudType) \ + \ defineNamedTemplateTypeNameAndDebug(Foam::WallModel<Foam::CloudType>, 0); \ - \ - namespace Foam \ - { \ - defineTemplateRunTimeSelectionTable \ - ( \ - WallModel<Foam::CloudType>, \ - dictionary \ - ); \ + \ + namespace Foam \ + { \ + defineTemplateRunTimeSelectionTable \ + ( \ + WallModel<Foam::CloudType>, \ + dictionary \ + ); \ } -#define makeWallModelType(SS, CloudType) \ - \ - defineNamedTemplateTypeNameAndDebug(Foam::SS<Foam::CloudType>, 0); \ - \ - Foam::WallModel<Foam::CloudType>:: \ - adddictionaryConstructorToTable<Foam::SS<Foam::CloudType>> \ +#define makeWallModelType(SS, CloudType) \ + \ + defineNamedTemplateTypeNameAndDebug(Foam::SS<Foam::CloudType>, 0); \ + \ + Foam::WallModel<Foam::CloudType>:: \ + adddictionaryConstructorToTable<Foam::SS<Foam::CloudType>> \ add##SS##CloudType##ConstructorToTable_; diff --git a/src/lagrangian/intermediate/submodels/Kinematic/DispersionModel/DispersionModel/DispersionModel.H b/src/lagrangian/intermediate/submodels/Kinematic/DispersionModel/DispersionModel/DispersionModel.H index 4059faec08b..6b50f12d023 100644 --- a/src/lagrangian/intermediate/submodels/Kinematic/DispersionModel/DispersionModel/DispersionModel.H +++ b/src/lagrangian/intermediate/submodels/Kinematic/DispersionModel/DispersionModel/DispersionModel.H @@ -124,28 +124,28 @@ public: // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -#define makeDispersionModel(CloudType) \ - \ - typedef Foam::CloudType::kinematicCloudType kinematicCloudType; \ - defineTemplateTypeNameAndDebug \ - (Foam::DispersionModel<kinematicCloudType>, 0); \ - \ - namespace Foam \ - { \ - defineTemplateRunTimeSelectionTable \ - ( \ - DispersionModel<kinematicCloudType>, \ - dictionary \ - ); \ +#define makeDispersionModel(CloudType) \ + \ + typedef Foam::CloudType::kinematicCloudType kinematicCloudType; \ + defineTemplateTypeNameAndDebug \ + (Foam::DispersionModel<kinematicCloudType>, 0); \ + \ + namespace Foam \ + { \ + defineTemplateRunTimeSelectionTable \ + ( \ + DispersionModel<kinematicCloudType>, \ + dictionary \ + ); \ } -#define makeDispersionModelType(SS, CloudType) \ - \ - typedef Foam::CloudType::kinematicCloudType kinematicCloudType; \ - defineNamedTemplateTypeNameAndDebug(Foam::SS<kinematicCloudType>, 0); \ - \ - Foam::DispersionModel<kinematicCloudType>:: \ - adddictionaryConstructorToTable<Foam::SS<kinematicCloudType>> \ +#define makeDispersionModelType(SS, CloudType) \ + \ + typedef Foam::CloudType::kinematicCloudType kinematicCloudType; \ + defineNamedTemplateTypeNameAndDebug(Foam::SS<kinematicCloudType>, 0); \ + \ + Foam::DispersionModel<kinematicCloudType>:: \ + adddictionaryConstructorToTable<Foam::SS<kinematicCloudType>> \ add##SS##CloudType##kinematicCloudType##ConstructorToTable_; diff --git a/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/InjectionModel/InjectionModel.H b/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/InjectionModel/InjectionModel.H index 19e05f854e7..964194b6b6a 100644 --- a/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/InjectionModel/InjectionModel.H +++ b/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/InjectionModel/InjectionModel.H @@ -349,32 +349,32 @@ public: // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -#define makeInjectionModel(CloudType) \ - \ - typedef Foam::CloudType::kinematicCloudType kinematicCloudType; \ - defineNamedTemplateTypeNameAndDebug \ - ( \ - Foam::InjectionModel<kinematicCloudType>, \ - 0 \ - ); \ - \ - namespace Foam \ - { \ - defineTemplateRunTimeSelectionTable \ - ( \ - InjectionModel<kinematicCloudType>, \ - dictionary \ - ); \ +#define makeInjectionModel(CloudType) \ + \ + typedef Foam::CloudType::kinematicCloudType kinematicCloudType; \ + defineNamedTemplateTypeNameAndDebug \ + ( \ + Foam::InjectionModel<kinematicCloudType>, \ + 0 \ + ); \ + \ + namespace Foam \ + { \ + defineTemplateRunTimeSelectionTable \ + ( \ + InjectionModel<kinematicCloudType>, \ + dictionary \ + ); \ } -#define makeInjectionModelType(SS, CloudType) \ - \ - typedef Foam::CloudType::kinematicCloudType kinematicCloudType; \ - defineNamedTemplateTypeNameAndDebug(Foam::SS<kinematicCloudType>, 0); \ - \ - Foam::InjectionModel<kinematicCloudType>:: \ - adddictionaryConstructorToTable<Foam::SS<kinematicCloudType>> \ +#define makeInjectionModelType(SS, CloudType) \ + \ + typedef Foam::CloudType::kinematicCloudType kinematicCloudType; \ + defineNamedTemplateTypeNameAndDebug(Foam::SS<kinematicCloudType>, 0); \ + \ + Foam::InjectionModel<kinematicCloudType>:: \ + adddictionaryConstructorToTable<Foam::SS<kinematicCloudType>> \ add##SS##CloudType##kinematicCloudType##ConstructorToTable_; diff --git a/src/lagrangian/intermediate/submodels/Kinematic/ParticleForces/ParticleForce/ParticleForce.H b/src/lagrangian/intermediate/submodels/Kinematic/ParticleForces/ParticleForce/ParticleForce.H index 47c0cf25793..9ae5e67f830 100644 --- a/src/lagrangian/intermediate/submodels/Kinematic/ParticleForces/ParticleForce/ParticleForce.H +++ b/src/lagrangian/intermediate/submodels/Kinematic/ParticleForces/ParticleForce/ParticleForce.H @@ -215,7 +215,7 @@ public: defineNamedTemplateTypeNameAndDebug(Foam::SS<kinematicCloudType>, 0); \ \ Foam::ParticleForce<kinematicCloudType>:: \ - adddictionaryConstructorToTable<Foam::SS<kinematicCloudType>> \ + adddictionaryConstructorToTable<Foam::SS<kinematicCloudType>> \ add##SS##CloudType##kinematicCloudType##ConstructorToTable_; diff --git a/src/lagrangian/intermediate/submodels/Kinematic/PatchInteractionModel/PatchInteractionModel/PatchInteractionModel.H b/src/lagrangian/intermediate/submodels/Kinematic/PatchInteractionModel/PatchInteractionModel/PatchInteractionModel.H index 2e1dcf0dd1c..32cc7be305a 100644 --- a/src/lagrangian/intermediate/submodels/Kinematic/PatchInteractionModel/PatchInteractionModel/PatchInteractionModel.H +++ b/src/lagrangian/intermediate/submodels/Kinematic/PatchInteractionModel/PatchInteractionModel/PatchInteractionModel.H @@ -172,32 +172,32 @@ public: // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -#define makePatchInteractionModel(CloudType) \ - \ - typedef Foam::CloudType::kinematicCloudType kinematicCloudType; \ - defineNamedTemplateTypeNameAndDebug \ - ( \ - Foam::PatchInteractionModel<kinematicCloudType>, \ - 0 \ - ); \ - \ - namespace Foam \ - { \ - defineTemplateRunTimeSelectionTable \ - ( \ - PatchInteractionModel<kinematicCloudType>, \ - dictionary \ - ); \ +#define makePatchInteractionModel(CloudType) \ + \ + typedef Foam::CloudType::kinematicCloudType kinematicCloudType; \ + defineNamedTemplateTypeNameAndDebug \ + ( \ + Foam::PatchInteractionModel<kinematicCloudType>, \ + 0 \ + ); \ + \ + namespace Foam \ + { \ + defineTemplateRunTimeSelectionTable \ + ( \ + PatchInteractionModel<kinematicCloudType>, \ + dictionary \ + ); \ } -#define makePatchInteractionModelType(SS, CloudType) \ - \ - typedef Foam::CloudType::kinematicCloudType kinematicCloudType; \ - defineNamedTemplateTypeNameAndDebug(Foam::SS<kinematicCloudType>, 0); \ - \ - Foam::PatchInteractionModel<kinematicCloudType>:: \ - adddictionaryConstructorToTable<Foam::SS<kinematicCloudType>> \ +#define makePatchInteractionModelType(SS, CloudType) \ + \ + typedef Foam::CloudType::kinematicCloudType kinematicCloudType; \ + defineNamedTemplateTypeNameAndDebug(Foam::SS<kinematicCloudType>, 0); \ + \ + Foam::PatchInteractionModel<kinematicCloudType>:: \ + adddictionaryConstructorToTable<Foam::SS<kinematicCloudType>> \ add##SS##CloudType##kinematicCloudType##ConstructorToTable_; diff --git a/src/lagrangian/intermediate/submodels/Kinematic/StochasticCollision/StochasticCollisionModel/StochasticCollisionModel.H b/src/lagrangian/intermediate/submodels/Kinematic/StochasticCollision/StochasticCollisionModel/StochasticCollisionModel.H index 921b1ae333d..49aa66a0812 100644 --- a/src/lagrangian/intermediate/submodels/Kinematic/StochasticCollision/StochasticCollisionModel/StochasticCollisionModel.H +++ b/src/lagrangian/intermediate/submodels/Kinematic/StochasticCollision/StochasticCollisionModel/StochasticCollisionModel.H @@ -143,13 +143,13 @@ public: } -#define makeStochasticCollisionModelType(SS, CloudType) \ - \ - typedef Foam::CloudType::kinematicCloudType kinematicCloudType; \ - defineNamedTemplateTypeNameAndDebug(Foam::SS<kinematicCloudType>, 0); \ - \ - Foam::StochasticCollisionModel<kinematicCloudType>:: \ - adddictionaryConstructorToTable<Foam::SS<kinematicCloudType>> \ +#define makeStochasticCollisionModelType(SS, CloudType) \ + \ + typedef Foam::CloudType::kinematicCloudType kinematicCloudType; \ + defineNamedTemplateTypeNameAndDebug(Foam::SS<kinematicCloudType>, 0); \ + \ + Foam::StochasticCollisionModel<kinematicCloudType>:: \ + adddictionaryConstructorToTable<Foam::SS<kinematicCloudType>> \ add##SS##CloudType##kinematicCloudType##ConstructorToTable_; diff --git a/src/lagrangian/intermediate/submodels/Kinematic/SurfaceFilmModel/SurfaceFilmModel/SurfaceFilmModel.H b/src/lagrangian/intermediate/submodels/Kinematic/SurfaceFilmModel/SurfaceFilmModel/SurfaceFilmModel.H index d8949e88878..ab36657edb5 100644 --- a/src/lagrangian/intermediate/submodels/Kinematic/SurfaceFilmModel/SurfaceFilmModel/SurfaceFilmModel.H +++ b/src/lagrangian/intermediate/submodels/Kinematic/SurfaceFilmModel/SurfaceFilmModel/SurfaceFilmModel.H @@ -253,7 +253,7 @@ public: defineNamedTemplateTypeNameAndDebug(Foam::SS<kinematicCloudType>, 0); \ \ Foam::SurfaceFilmModel<kinematicCloudType>:: \ - adddictionaryConstructorToTable<Foam::SS<kinematicCloudType>> \ + adddictionaryConstructorToTable<Foam::SS<kinematicCloudType>> \ add##SS##CloudType##kinematicCloudType##ConstructorToTable_; diff --git a/src/lagrangian/intermediate/submodels/MPPIC/DampingModels/DampingModel/DampingModel.H b/src/lagrangian/intermediate/submodels/MPPIC/DampingModels/DampingModel/DampingModel.H index d98ba072bcf..7e960b46000 100644 --- a/src/lagrangian/intermediate/submodels/MPPIC/DampingModels/DampingModel/DampingModel.H +++ b/src/lagrangian/intermediate/submodels/MPPIC/DampingModels/DampingModel/DampingModel.H @@ -162,7 +162,7 @@ public: \ Foam::DampingModel<MPPICCloudType>:: \ adddictionaryConstructorToTable \ - <Foam::DampingModels::SS<MPPICCloudType>> \ + <Foam::DampingModels::SS<MPPICCloudType>> \ add##SS##CloudType##MPPICCloudType##ConstructorToTable_; diff --git a/src/lagrangian/intermediate/submodels/MPPIC/IsotropyModels/IsotropyModel/IsotropyModel.H b/src/lagrangian/intermediate/submodels/MPPIC/IsotropyModels/IsotropyModel/IsotropyModel.H index a7883b46581..0cf3d1e9054 100644 --- a/src/lagrangian/intermediate/submodels/MPPIC/IsotropyModels/IsotropyModel/IsotropyModel.H +++ b/src/lagrangian/intermediate/submodels/MPPIC/IsotropyModels/IsotropyModel/IsotropyModel.H @@ -156,7 +156,7 @@ public: \ Foam::IsotropyModel<MPPICCloudType>:: \ adddictionaryConstructorToTable \ - <Foam::IsotropyModels::SS<MPPICCloudType>> \ + <Foam::IsotropyModels::SS<MPPICCloudType>> \ add##SS##CloudType##MPPICCloudType##ConstructorToTable_; diff --git a/src/lagrangian/intermediate/submodels/MPPIC/PackingModels/PackingModel/PackingModel.H b/src/lagrangian/intermediate/submodels/MPPIC/PackingModels/PackingModel/PackingModel.H index 3b7f2303912..1a1f061fff3 100644 --- a/src/lagrangian/intermediate/submodels/MPPIC/PackingModels/PackingModel/PackingModel.H +++ b/src/lagrangian/intermediate/submodels/MPPIC/PackingModels/PackingModel/PackingModel.H @@ -167,7 +167,7 @@ public: \ Foam::PackingModel<MPPICCloudType>:: \ adddictionaryConstructorToTable \ - <Foam::PackingModels::SS<MPPICCloudType>> \ + <Foam::PackingModels::SS<MPPICCloudType>> \ add##SS##CloudType##MPPICCloudType##ConstructorToTable_; diff --git a/src/lagrangian/intermediate/submodels/Reacting/CompositionModel/CompositionModel/CompositionModel.H b/src/lagrangian/intermediate/submodels/Reacting/CompositionModel/CompositionModel/CompositionModel.H index 0ab2ac3cfac..b59c971893c 100644 --- a/src/lagrangian/intermediate/submodels/Reacting/CompositionModel/CompositionModel/CompositionModel.H +++ b/src/lagrangian/intermediate/submodels/Reacting/CompositionModel/CompositionModel/CompositionModel.H @@ -265,31 +265,31 @@ public: // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -#define makeCompositionModel(CloudType) \ - \ - typedef Foam::CloudType::reactingCloudType reactingCloudType; \ - defineNamedTemplateTypeNameAndDebug \ - ( \ - Foam::CompositionModel<reactingCloudType>, \ - 0 \ - ); \ - namespace Foam \ - { \ - defineTemplateRunTimeSelectionTable \ - ( \ - CompositionModel<reactingCloudType>, \ - dictionary \ - ); \ +#define makeCompositionModel(CloudType) \ + \ + typedef Foam::CloudType::reactingCloudType reactingCloudType; \ + defineNamedTemplateTypeNameAndDebug \ + ( \ + Foam::CompositionModel<reactingCloudType>, \ + 0 \ + ); \ + namespace Foam \ + { \ + defineTemplateRunTimeSelectionTable \ + ( \ + CompositionModel<reactingCloudType>, \ + dictionary \ + ); \ } -#define makeCompositionModelType(SS, CloudType) \ - \ - typedef Foam::CloudType::reactingCloudType reactingCloudType; \ - defineNamedTemplateTypeNameAndDebug(Foam::SS<reactingCloudType>, 0); \ - \ - Foam::CompositionModel<reactingCloudType>:: \ - adddictionaryConstructorToTable<Foam::SS<reactingCloudType>> \ +#define makeCompositionModelType(SS, CloudType) \ + \ + typedef Foam::CloudType::reactingCloudType reactingCloudType; \ + defineNamedTemplateTypeNameAndDebug(Foam::SS<reactingCloudType>, 0); \ + \ + Foam::CompositionModel<reactingCloudType>:: \ + adddictionaryConstructorToTable<Foam::SS<reactingCloudType>> \ add##SS##CloudType##reactingCloudType##ConstructorToTable_; diff --git a/src/lagrangian/intermediate/submodels/Reacting/PhaseChangeModel/PhaseChangeModel/PhaseChangeModel.H b/src/lagrangian/intermediate/submodels/Reacting/PhaseChangeModel/PhaseChangeModel/PhaseChangeModel.H index 36c1c9a72e3..3afdb46255c 100644 --- a/src/lagrangian/intermediate/submodels/Reacting/PhaseChangeModel/PhaseChangeModel/PhaseChangeModel.H +++ b/src/lagrangian/intermediate/submodels/Reacting/PhaseChangeModel/PhaseChangeModel/PhaseChangeModel.H @@ -201,31 +201,31 @@ public: // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -#define makePhaseChangeModel(CloudType) \ - \ - typedef Foam::CloudType::reactingCloudType reactingCloudType; \ - defineNamedTemplateTypeNameAndDebug \ - ( \ - Foam::PhaseChangeModel<reactingCloudType>, \ - 0 \ - ); \ - namespace Foam \ - { \ - defineTemplateRunTimeSelectionTable \ - ( \ - PhaseChangeModel<reactingCloudType>, \ - dictionary \ - ); \ +#define makePhaseChangeModel(CloudType) \ + \ + typedef Foam::CloudType::reactingCloudType reactingCloudType; \ + defineNamedTemplateTypeNameAndDebug \ + ( \ + Foam::PhaseChangeModel<reactingCloudType>, \ + 0 \ + ); \ + namespace Foam \ + { \ + defineTemplateRunTimeSelectionTable \ + ( \ + PhaseChangeModel<reactingCloudType>, \ + dictionary \ + ); \ } -#define makePhaseChangeModelType(SS, CloudType) \ - \ - typedef Foam::CloudType::reactingCloudType reactingCloudType; \ - defineNamedTemplateTypeNameAndDebug(Foam::SS<reactingCloudType>, 0); \ - \ - Foam::PhaseChangeModel<reactingCloudType>:: \ - adddictionaryConstructorToTable<Foam::SS<reactingCloudType>> \ +#define makePhaseChangeModelType(SS, CloudType) \ + \ + typedef Foam::CloudType::reactingCloudType reactingCloudType; \ + defineNamedTemplateTypeNameAndDebug(Foam::SS<reactingCloudType>, 0); \ + \ + Foam::PhaseChangeModel<reactingCloudType>:: \ + adddictionaryConstructorToTable<Foam::SS<reactingCloudType>> \ add##SS##CloudType##reactingCloudType##ConstructorToTable_; diff --git a/src/lagrangian/intermediate/submodels/ReactingMultiphase/DevolatilisationModel/DevolatilisationModel/DevolatilisationModel.H b/src/lagrangian/intermediate/submodels/ReactingMultiphase/DevolatilisationModel/DevolatilisationModel/DevolatilisationModel.H index 086c0b54288..bc3b6dcba5f 100644 --- a/src/lagrangian/intermediate/submodels/ReactingMultiphase/DevolatilisationModel/DevolatilisationModel/DevolatilisationModel.H +++ b/src/lagrangian/intermediate/submodels/ReactingMultiphase/DevolatilisationModel/DevolatilisationModel/DevolatilisationModel.H @@ -148,35 +148,35 @@ public: // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -#define makeDevolatilisationModel(CloudType) \ - \ - typedef Foam::CloudType::reactingMultiphaseCloudType \ - reactingMultiphaseCloudType; \ - defineNamedTemplateTypeNameAndDebug \ - ( \ - Foam::DevolatilisationModel<reactingMultiphaseCloudType>, \ - 0 \ - ); \ - namespace Foam \ - { \ - defineTemplateRunTimeSelectionTable \ - ( \ - DevolatilisationModel<reactingMultiphaseCloudType>, \ - dictionary \ - ); \ +#define makeDevolatilisationModel(CloudType) \ + \ + typedef Foam::CloudType::reactingMultiphaseCloudType \ + reactingMultiphaseCloudType; \ + defineNamedTemplateTypeNameAndDebug \ + ( \ + Foam::DevolatilisationModel<reactingMultiphaseCloudType>, \ + 0 \ + ); \ + namespace Foam \ + { \ + defineTemplateRunTimeSelectionTable \ + ( \ + DevolatilisationModel<reactingMultiphaseCloudType>, \ + dictionary \ + ); \ } -#define makeDevolatilisationModelType(SS, CloudType) \ - \ - typedef Foam::CloudType::reactingMultiphaseCloudType \ - reactingMultiphaseCloudType; \ - defineNamedTemplateTypeNameAndDebug \ - (Foam::SS<reactingMultiphaseCloudType>, 0); \ - \ - Foam::DevolatilisationModel<reactingMultiphaseCloudType>:: \ - adddictionaryConstructorToTable \ - <Foam::SS<reactingMultiphaseCloudType>> \ +#define makeDevolatilisationModelType(SS, CloudType) \ + \ + typedef Foam::CloudType::reactingMultiphaseCloudType \ + reactingMultiphaseCloudType; \ + defineNamedTemplateTypeNameAndDebug \ + (Foam::SS<reactingMultiphaseCloudType>, 0); \ + \ + Foam::DevolatilisationModel<reactingMultiphaseCloudType>:: \ + adddictionaryConstructorToTable \ + <Foam::SS<reactingMultiphaseCloudType>> \ add##SS##CloudType##reactingMultiphaseCloudType##ConstructorToTable_; diff --git a/src/lagrangian/intermediate/submodels/ReactingMultiphase/SurfaceReactionModel/SurfaceReactionModel/SurfaceReactionModel.H b/src/lagrangian/intermediate/submodels/ReactingMultiphase/SurfaceReactionModel/SurfaceReactionModel/SurfaceReactionModel.H index 6c6eb1d2b4b..ceca733c061 100644 --- a/src/lagrangian/intermediate/submodels/ReactingMultiphase/SurfaceReactionModel/SurfaceReactionModel/SurfaceReactionModel.H +++ b/src/lagrangian/intermediate/submodels/ReactingMultiphase/SurfaceReactionModel/SurfaceReactionModel/SurfaceReactionModel.H @@ -158,35 +158,35 @@ public: // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -#define makeSurfaceReactionModel(CloudType) \ - \ - typedef Foam::CloudType::reactingMultiphaseCloudType \ - reactingMultiphaseCloudType; \ - defineNamedTemplateTypeNameAndDebug \ - ( \ - Foam::SurfaceReactionModel<reactingMultiphaseCloudType>, \ - 0 \ - ); \ - namespace Foam \ - { \ - defineTemplateRunTimeSelectionTable \ - ( \ - SurfaceReactionModel<reactingMultiphaseCloudType>, \ - dictionary \ - ); \ +#define makeSurfaceReactionModel(CloudType) \ + \ + typedef Foam::CloudType::reactingMultiphaseCloudType \ + reactingMultiphaseCloudType; \ + defineNamedTemplateTypeNameAndDebug \ + ( \ + Foam::SurfaceReactionModel<reactingMultiphaseCloudType>, \ + 0 \ + ); \ + namespace Foam \ + { \ + defineTemplateRunTimeSelectionTable \ + ( \ + SurfaceReactionModel<reactingMultiphaseCloudType>, \ + dictionary \ + ); \ } -#define makeSurfaceReactionModelType(SS, CloudType) \ - \ - typedef Foam::CloudType::reactingMultiphaseCloudType \ - reactingMultiphaseCloudType; \ - defineNamedTemplateTypeNameAndDebug \ - (Foam::SS<reactingMultiphaseCloudType>, 0); \ - \ - Foam::SurfaceReactionModel<reactingMultiphaseCloudType>:: \ - adddictionaryConstructorToTable \ - <Foam::SS<reactingMultiphaseCloudType>> \ +#define makeSurfaceReactionModelType(SS, CloudType) \ + \ + typedef Foam::CloudType::reactingMultiphaseCloudType \ + reactingMultiphaseCloudType; \ + defineNamedTemplateTypeNameAndDebug \ + (Foam::SS<reactingMultiphaseCloudType>, 0); \ + \ + Foam::SurfaceReactionModel<reactingMultiphaseCloudType>:: \ + adddictionaryConstructorToTable \ + <Foam::SS<reactingMultiphaseCloudType>> \ add##SS##CloudType##reactingMultiphaseCloudType##ConstructorToTable_; diff --git a/src/lagrangian/intermediate/submodels/Thermodynamic/HeatTransferModel/HeatTransferModel/HeatTransferModel.H b/src/lagrangian/intermediate/submodels/Thermodynamic/HeatTransferModel/HeatTransferModel/HeatTransferModel.H index c7be8874d22..8324e645f06 100644 --- a/src/lagrangian/intermediate/submodels/Thermodynamic/HeatTransferModel/HeatTransferModel/HeatTransferModel.H +++ b/src/lagrangian/intermediate/submodels/Thermodynamic/HeatTransferModel/HeatTransferModel/HeatTransferModel.H @@ -147,31 +147,31 @@ public: // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -#define makeHeatTransferModel(CloudType) \ - \ - typedef Foam::CloudType::thermoCloudType thermoCloudType; \ - defineNamedTemplateTypeNameAndDebug \ - ( \ - Foam::HeatTransferModel<thermoCloudType>, \ - 0 \ - ); \ - namespace Foam \ - { \ - defineTemplateRunTimeSelectionTable \ - ( \ - HeatTransferModel<thermoCloudType>, \ - dictionary \ - ); \ +#define makeHeatTransferModel(CloudType) \ + \ + typedef Foam::CloudType::thermoCloudType thermoCloudType; \ + defineNamedTemplateTypeNameAndDebug \ + ( \ + Foam::HeatTransferModel<thermoCloudType>, \ + 0 \ + ); \ + namespace Foam \ + { \ + defineTemplateRunTimeSelectionTable \ + ( \ + HeatTransferModel<thermoCloudType>, \ + dictionary \ + ); \ } -#define makeHeatTransferModelType(SS, CloudType) \ - \ - typedef Foam::CloudType::thermoCloudType thermoCloudType; \ - defineNamedTemplateTypeNameAndDebug(Foam::SS<thermoCloudType>, 0); \ - \ - Foam::HeatTransferModel<thermoCloudType>:: \ - adddictionaryConstructorToTable<Foam::SS<thermoCloudType>> \ +#define makeHeatTransferModelType(SS, CloudType) \ + \ + typedef Foam::CloudType::thermoCloudType thermoCloudType; \ + defineNamedTemplateTypeNameAndDebug(Foam::SS<thermoCloudType>, 0); \ + \ + Foam::HeatTransferModel<thermoCloudType>:: \ + adddictionaryConstructorToTable<Foam::SS<thermoCloudType>> \ add##SS##CloudType##thermoCloudType##ConstructorToTable_; diff --git a/src/lagrangian/spray/parcels/include/makeSprayParcelAtomizationModels.H b/src/lagrangian/spray/parcels/include/makeSprayParcelAtomizationModels.H index 8d240232b93..63ac2354869 100644 --- a/src/lagrangian/spray/parcels/include/makeSprayParcelAtomizationModels.H +++ b/src/lagrangian/spray/parcels/include/makeSprayParcelAtomizationModels.H @@ -34,11 +34,11 @@ License // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -#define makeSprayParcelAtomizationModels(CloudType) \ - \ - makeAtomizationModel(CloudType); \ - makeAtomizationModelType(NoAtomization, CloudType); \ - makeAtomizationModelType(BlobsSheetAtomization, CloudType); \ +#define makeSprayParcelAtomizationModels(CloudType) \ + \ + makeAtomizationModel(CloudType); \ + makeAtomizationModelType(NoAtomization, CloudType); \ + makeAtomizationModelType(BlobsSheetAtomization, CloudType); \ makeAtomizationModelType(LISAAtomization, CloudType); diff --git a/src/lagrangian/spray/parcels/include/makeSprayParcelBreakupModels.H b/src/lagrangian/spray/parcels/include/makeSprayParcelBreakupModels.H index 0f822318e36..3ec1623b7c9 100644 --- a/src/lagrangian/spray/parcels/include/makeSprayParcelBreakupModels.H +++ b/src/lagrangian/spray/parcels/include/makeSprayParcelBreakupModels.H @@ -38,15 +38,15 @@ License // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -#define makeSprayParcelBreakupModels(CloudType) \ - \ - makeBreakupModel(CloudType) \ - makeBreakupModelType(NoBreakup, CloudType); \ - makeBreakupModelType(PilchErdman, CloudType); \ - makeBreakupModelType(ReitzDiwakar, CloudType); \ - makeBreakupModelType(ReitzKHRT, CloudType); \ - makeBreakupModelType(TAB, CloudType); \ - makeBreakupModelType(ETAB, CloudType); \ +#define makeSprayParcelBreakupModels(CloudType) \ + \ + makeBreakupModel(CloudType) \ + makeBreakupModelType(NoBreakup, CloudType); \ + makeBreakupModelType(PilchErdman, CloudType); \ + makeBreakupModelType(ReitzDiwakar, CloudType); \ + makeBreakupModelType(ReitzKHRT, CloudType); \ + makeBreakupModelType(TAB, CloudType); \ + makeBreakupModelType(ETAB, CloudType); \ makeBreakupModelType(SHF, CloudType); diff --git a/src/lagrangian/spray/parcels/include/makeSprayParcelInjectionModels.H b/src/lagrangian/spray/parcels/include/makeSprayParcelInjectionModels.H index dba5fa2e2df..31e06311baf 100644 --- a/src/lagrangian/spray/parcels/include/makeSprayParcelInjectionModels.H +++ b/src/lagrangian/spray/parcels/include/makeSprayParcelInjectionModels.H @@ -40,18 +40,18 @@ License // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -#define makeSprayParcelInjectionModels(CloudType) \ - \ - makeInjectionModel(CloudType); \ - \ - makeInjectionModelType(CellZoneInjection, CloudType); \ - makeInjectionModelType(ConeInjection, CloudType); \ - makeInjectionModelType(ConeNozzleInjection, CloudType); \ - makeInjectionModelType(FieldActivatedInjection, CloudType); \ - makeInjectionModelType(InflationInjection, CloudType); \ - makeInjectionModelType(ManualInjection, CloudType); \ - makeInjectionModelType(NoInjection, CloudType); \ - makeInjectionModelType(PatchFlowRateInjection, CloudType); \ +#define makeSprayParcelInjectionModels(CloudType) \ + \ + makeInjectionModel(CloudType); \ + \ + makeInjectionModelType(CellZoneInjection, CloudType); \ + makeInjectionModelType(ConeInjection, CloudType); \ + makeInjectionModelType(ConeNozzleInjection, CloudType); \ + makeInjectionModelType(FieldActivatedInjection, CloudType); \ + makeInjectionModelType(InflationInjection, CloudType); \ + makeInjectionModelType(ManualInjection, CloudType); \ + makeInjectionModelType(NoInjection, CloudType); \ + makeInjectionModelType(PatchFlowRateInjection, CloudType); \ makeInjectionModelType(PatchInjection, CloudType); diff --git a/src/lagrangian/spray/parcels/include/makeSprayParcelStochasticCollisionModels.H b/src/lagrangian/spray/parcels/include/makeSprayParcelStochasticCollisionModels.H index 2d9fdbf4a30..714ff320ee2 100644 --- a/src/lagrangian/spray/parcels/include/makeSprayParcelStochasticCollisionModels.H +++ b/src/lagrangian/spray/parcels/include/makeSprayParcelStochasticCollisionModels.H @@ -34,11 +34,11 @@ License // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -#define makeSprayParcelStochasticCollisionModels(CloudType) \ - \ - makeStochasticCollisionModel(CloudType); \ - makeStochasticCollisionModelType(NoStochasticCollision, CloudType); \ - makeStochasticCollisionModelType(ORourkeCollision, CloudType); \ +#define makeSprayParcelStochasticCollisionModels(CloudType) \ + \ + makeStochasticCollisionModel(CloudType); \ + makeStochasticCollisionModelType(NoStochasticCollision, CloudType); \ + makeStochasticCollisionModelType(ORourkeCollision, CloudType); \ makeStochasticCollisionModelType(TrajectoryCollision, CloudType); diff --git a/src/lagrangian/spray/submodels/AtomizationModel/AtomizationModel/AtomizationModel.H b/src/lagrangian/spray/submodels/AtomizationModel/AtomizationModel/AtomizationModel.H index a4f6ddab7d8..e83d94382ce 100644 --- a/src/lagrangian/spray/submodels/AtomizationModel/AtomizationModel/AtomizationModel.H +++ b/src/lagrangian/spray/submodels/AtomizationModel/AtomizationModel/AtomizationModel.H @@ -144,32 +144,32 @@ public: // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -#define makeAtomizationModel(CloudType) \ - \ - typedef Foam::CloudType::sprayCloudType sprayCloudType; \ - defineNamedTemplateTypeNameAndDebug \ - ( \ - Foam::AtomizationModel<sprayCloudType>, \ - 0 \ - ); \ - \ - namespace Foam \ - { \ - defineTemplateRunTimeSelectionTable \ - ( \ - AtomizationModel<sprayCloudType>, \ - dictionary \ - ); \ +#define makeAtomizationModel(CloudType) \ + \ + typedef Foam::CloudType::sprayCloudType sprayCloudType; \ + defineNamedTemplateTypeNameAndDebug \ + ( \ + Foam::AtomizationModel<sprayCloudType>, \ + 0 \ + ); \ + \ + namespace Foam \ + { \ + defineTemplateRunTimeSelectionTable \ + ( \ + AtomizationModel<sprayCloudType>, \ + dictionary \ + ); \ } -#define makeAtomizationModelType(SS, CloudType) \ - \ - typedef Foam::CloudType::sprayCloudType sprayCloudType; \ - defineNamedTemplateTypeNameAndDebug(Foam::SS<sprayCloudType>, 0); \ - \ - Foam::AtomizationModel<sprayCloudType>:: \ - adddictionaryConstructorToTable<Foam::SS<sprayCloudType>> \ +#define makeAtomizationModelType(SS, CloudType) \ + \ + typedef Foam::CloudType::sprayCloudType sprayCloudType; \ + defineNamedTemplateTypeNameAndDebug(Foam::SS<sprayCloudType>, 0); \ + \ + Foam::AtomizationModel<sprayCloudType>:: \ + adddictionaryConstructorToTable<Foam::SS<sprayCloudType>> \ add##SS##CloudType##sprayCloudType##ConstructorToTable_; diff --git a/src/lagrangian/spray/submodels/BreakupModel/BreakupModel/BreakupModel.H b/src/lagrangian/spray/submodels/BreakupModel/BreakupModel/BreakupModel.H index 15554fb6082..26692acb2e4 100644 --- a/src/lagrangian/spray/submodels/BreakupModel/BreakupModel/BreakupModel.H +++ b/src/lagrangian/spray/submodels/BreakupModel/BreakupModel/BreakupModel.H @@ -191,32 +191,32 @@ public: // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -#define makeBreakupModel(CloudType) \ - \ - typedef Foam::CloudType::sprayCloudType sprayCloudType; \ - defineNamedTemplateTypeNameAndDebug \ - ( \ - Foam::BreakupModel<sprayCloudType>, \ - 0 \ - ); \ - \ - namespace Foam \ - { \ - defineTemplateRunTimeSelectionTable \ - ( \ - BreakupModel<sprayCloudType>, \ - dictionary \ - ); \ +#define makeBreakupModel(CloudType) \ + \ + typedef Foam::CloudType::sprayCloudType sprayCloudType; \ + defineNamedTemplateTypeNameAndDebug \ + ( \ + Foam::BreakupModel<sprayCloudType>, \ + 0 \ + ); \ + \ + namespace Foam \ + { \ + defineTemplateRunTimeSelectionTable \ + ( \ + BreakupModel<sprayCloudType>, \ + dictionary \ + ); \ } -#define makeBreakupModelType(SS, CloudType) \ - \ - typedef Foam::CloudType::sprayCloudType sprayCloudType; \ - defineNamedTemplateTypeNameAndDebug(Foam::SS<sprayCloudType>, 0); \ - \ - Foam::BreakupModel<sprayCloudType>:: \ - adddictionaryConstructorToTable<Foam::SS<sprayCloudType>> \ +#define makeBreakupModelType(SS, CloudType) \ + \ + typedef Foam::CloudType::sprayCloudType sprayCloudType; \ + defineNamedTemplateTypeNameAndDebug(Foam::SS<sprayCloudType>, 0); \ + \ + Foam::BreakupModel<sprayCloudType>:: \ + adddictionaryConstructorToTable<Foam::SS<sprayCloudType>> \ add##SS##CloudType##sprayCloudType##ConstructorToTable_; diff --git a/src/lagrangian/turbulence/parcels/include/makeParcelTurbulenceDispersionModels.H b/src/lagrangian/turbulence/parcels/include/makeParcelTurbulenceDispersionModels.H index 5bcc0c68bf4..5925350cfb6 100644 --- a/src/lagrangian/turbulence/parcels/include/makeParcelTurbulenceDispersionModels.H +++ b/src/lagrangian/turbulence/parcels/include/makeParcelTurbulenceDispersionModels.H @@ -33,17 +33,17 @@ License // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -#define makeParcelTurbulenceDispersionModels(CloudType) \ - \ - typedef Foam::CloudType::kinematicCloudType kinematicCloudType; \ - defineNamedTemplateTypeNameAndDebug \ - ( \ - Foam::DispersionRASModel<kinematicCloudType>, \ - 0 \ - ); \ - \ - makeDispersionModelType(GradientDispersionRAS, CloudType); \ - makeDispersionModelType(StochasticDispersionRAS, CloudType); \ +#define makeParcelTurbulenceDispersionModels(CloudType) \ + \ + typedef Foam::CloudType::kinematicCloudType kinematicCloudType; \ + defineNamedTemplateTypeNameAndDebug \ + ( \ + Foam::DispersionRASModel<kinematicCloudType>, \ + 0 \ + ); \ + \ + makeDispersionModelType(GradientDispersionRAS, CloudType); \ + makeDispersionModelType(StochasticDispersionRAS, CloudType); \ // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/src/lagrangian/turbulence/parcels/include/makeThermoParcelTurbulenceForces.H b/src/lagrangian/turbulence/parcels/include/makeThermoParcelTurbulenceForces.H index d7581110b51..49a93869867 100644 --- a/src/lagrangian/turbulence/parcels/include/makeThermoParcelTurbulenceForces.H +++ b/src/lagrangian/turbulence/parcels/include/makeThermoParcelTurbulenceForces.H @@ -32,8 +32,8 @@ License // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -#define makeThermoParcelTurbulenceForces(CloudType) \ - \ +#define makeThermoParcelTurbulenceForces(CloudType) \ + \ makeParticleForceModelType(BrownianMotionForce, CloudType); diff --git a/src/meshTools/AMIInterpolation/AMIInterpolation/AMIMethod/AMIMethod/AMIMethod.H b/src/meshTools/AMIInterpolation/AMIInterpolation/AMIMethod/AMIMethod/AMIMethod.H index cc8b6216ceb..fd0af6039a9 100644 --- a/src/meshTools/AMIInterpolation/AMIInterpolation/AMIMethod/AMIMethod/AMIMethod.H +++ b/src/meshTools/AMIInterpolation/AMIInterpolation/AMIMethod/AMIMethod/AMIMethod.H @@ -247,24 +247,24 @@ public: // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -#define makeAMIMethod(AMIType) \ - \ - typedef AMIMethod<AMIType::sourcePatchType,AMIType::targetPatchType> \ - AMIMethod##AMIType; \ - \ - defineNamedTemplateTypeNameAndDebug(AMIMethod##AMIType, 0); \ +#define makeAMIMethod(AMIType) \ + \ + typedef AMIMethod<AMIType::sourcePatchType,AMIType::targetPatchType> \ + AMIMethod##AMIType; \ + \ + defineNamedTemplateTypeNameAndDebug(AMIMethod##AMIType, 0); \ defineTemplateRunTimeSelectionTable(AMIMethod##AMIType, components); -#define makeAMIMethodType(AMIType, Method) \ - \ - typedef Method<AMIType::sourcePatchType,AMIType::targetPatchType> \ - Method##AMIType; \ - \ - defineNamedTemplateTypeNameAndDebug(Method##AMIType, 0); \ - \ - AMIMethod<AMIType::sourcePatchType,AMIType::targetPatchType>:: \ - addcomponentsConstructorToTable<Method##AMIType> \ +#define makeAMIMethodType(AMIType, Method) \ + \ + typedef Method<AMIType::sourcePatchType,AMIType::targetPatchType> \ + Method##AMIType; \ + \ + defineNamedTemplateTypeNameAndDebug(Method##AMIType, 0); \ + \ + AMIMethod<AMIType::sourcePatchType,AMIType::targetPatchType>:: \ + addcomponentsConstructorToTable<Method##AMIType> \ add##Method##AMIType##ConstructorToTable_; diff --git a/src/sampling/sampledSurface/writers/makeSurfaceWriterMethods.H b/src/sampling/sampledSurface/writers/makeSurfaceWriterMethods.H index 2f640fc2e0f..70e3eadaff5 100644 --- a/src/sampling/sampledSurface/writers/makeSurfaceWriterMethods.H +++ b/src/sampling/sampledSurface/writers/makeSurfaceWriterMethods.H @@ -41,43 +41,43 @@ namespace Foam // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -#define makeSurfaceWriterType(ThisClass) \ - defineTypeNameAndDebug(ThisClass, 0); \ +#define makeSurfaceWriterType(ThisClass) \ + defineTypeNameAndDebug(ThisClass, 0); \ addToRunTimeSelectionTable(surfaceWriter, ThisClass, word) -#define defineSurfaceWriterWriteField(ThisClass, FieldType) \ - void ThisClass::write \ - ( \ - const fileName& outputDir, \ - const fileName& surfaceName, \ - const pointField& points, \ - const faceList& faces, \ - const word& fieldName, \ - const Field<FieldType>& values, \ - const bool isNodeValues, \ - const bool verbose \ - ) const \ - { \ - writeTemplate \ - ( \ - outputDir, \ - surfaceName, \ - points, \ - faces, \ - fieldName, \ - values, \ - isNodeValues, \ - verbose \ - ); \ +#define defineSurfaceWriterWriteField(ThisClass, FieldType) \ + void ThisClass::write \ + ( \ + const fileName& outputDir, \ + const fileName& surfaceName, \ + const pointField& points, \ + const faceList& faces, \ + const word& fieldName, \ + const Field<FieldType>& values, \ + const bool isNodeValues, \ + const bool verbose \ + ) const \ + { \ + writeTemplate \ + ( \ + outputDir, \ + surfaceName, \ + points, \ + faces, \ + fieldName, \ + values, \ + isNodeValues, \ + verbose \ + ); \ } -#define defineSurfaceWriterWriteFields(ThisClass) \ - defineSurfaceWriterWriteField(ThisClass, scalar); \ - defineSurfaceWriterWriteField(ThisClass, vector); \ - defineSurfaceWriterWriteField(ThisClass, sphericalTensor); \ - defineSurfaceWriterWriteField(ThisClass, symmTensor); \ +#define defineSurfaceWriterWriteFields(ThisClass) \ + defineSurfaceWriterWriteField(ThisClass, scalar); \ + defineSurfaceWriterWriteField(ThisClass, vector); \ + defineSurfaceWriterWriteField(ThisClass, sphericalTensor); \ + defineSurfaceWriterWriteField(ThisClass, symmTensor); \ defineSurfaceWriterWriteField(ThisClass, tensor) diff --git a/src/surfMesh/MeshedSurface/MeshedSurfaces.C b/src/surfMesh/MeshedSurface/MeshedSurfaces.C index 7cc72bb7e99..14b22dc709c 100644 --- a/src/surfMesh/MeshedSurface/MeshedSurfaces.C +++ b/src/surfMesh/MeshedSurface/MeshedSurfaces.C @@ -32,15 +32,15 @@ namespace Foam // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // -#define makeSurface(surfType, faceType) \ - defineNamedTemplateTypeNameAndDebug(surfType<faceType>, 0); \ - defineTemplatedRunTimeSelectionTable(surfType,fileExtension,faceType); \ - defineTemplatedMemberFunctionSelectionTable \ - ( \ - surfType, \ - write, \ - fileExtension, \ - faceType \ +#define makeSurface(surfType, faceType) \ + defineNamedTemplateTypeNameAndDebug(surfType<faceType>, 0); \ + defineTemplatedRunTimeSelectionTable(surfType,fileExtension,faceType); \ + defineTemplatedMemberFunctionSelectionTable \ + ( \ + surfType, \ + write, \ + fileExtension, \ + faceType \ ); diff --git a/src/surfMesh/MeshedSurfaceProxy/MeshedSurfaceProxyCore.C b/src/surfMesh/MeshedSurfaceProxy/MeshedSurfaceProxyCore.C index 6dca32fd2e3..1a13e010a92 100644 --- a/src/surfMesh/MeshedSurfaceProxy/MeshedSurfaceProxyCore.C +++ b/src/surfMesh/MeshedSurfaceProxy/MeshedSurfaceProxyCore.C @@ -33,14 +33,14 @@ namespace Foam // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // -#define makeSurface(surfType, faceType) \ - defineNamedTemplateTypeNameAndDebug(surfType<faceType>, 0); \ - defineTemplatedMemberFunctionSelectionTable \ - ( \ - surfType, \ - write, \ - fileExtension, \ - faceType \ +#define makeSurface(surfType, faceType) \ + defineNamedTemplateTypeNameAndDebug(surfType<faceType>, 0); \ + defineTemplatedMemberFunctionSelectionTable \ + ( \ + surfType, \ + write, \ + fileExtension, \ + faceType \ ); diff --git a/src/surfMesh/UnsortedMeshedSurface/UnsortedMeshedSurfaces.C b/src/surfMesh/UnsortedMeshedSurface/UnsortedMeshedSurfaces.C index 39589e79c3d..8ecb251bb33 100644 --- a/src/surfMesh/UnsortedMeshedSurface/UnsortedMeshedSurfaces.C +++ b/src/surfMesh/UnsortedMeshedSurface/UnsortedMeshedSurfaces.C @@ -32,15 +32,15 @@ namespace Foam // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // -#define makeSurface(surfType, faceType) \ - defineNamedTemplateTypeNameAndDebug(surfType<faceType>, 0); \ - defineTemplatedRunTimeSelectionTable(surfType,fileExtension,faceType); \ - defineTemplatedMemberFunctionSelectionTable \ - ( \ - surfType, \ - write, \ - fileExtension, \ - faceType \ +#define makeSurface(surfType, faceType) \ + defineNamedTemplateTypeNameAndDebug(surfType<faceType>, 0); \ + defineTemplatedRunTimeSelectionTable(surfType,fileExtension,faceType); \ + defineTemplatedMemberFunctionSelectionTable \ + ( \ + surfType, \ + write, \ + fileExtension, \ + faceType \ ); diff --git a/src/thermophysicalModels/basic/fluidThermo/makeThermo.H b/src/thermophysicalModels/basic/fluidThermo/makeThermo.H index 7a136ebfb02..e8c1dff6df0 100644 --- a/src/thermophysicalModels/basic/fluidThermo/makeThermo.H +++ b/src/thermophysicalModels/basic/fluidThermo/makeThermo.H @@ -38,75 +38,75 @@ Description // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // #define makeThermoTypedefs(BaseThermo,Cthermo,Mixture,Transport,Type,Thermo,EqnOfState,Specie)\ - \ -typedef \ - Transport \ - < \ - species::thermo \ - < \ - Thermo \ - < \ - EqnOfState \ - < \ - Specie \ - > \ - >, \ - Type \ - > \ - > Transport##Type##Thermo##EqnOfState##Specie; \ - \ -typedef \ - Cthermo \ - < \ - BaseThermo, \ - Mixture<Transport##Type##Thermo##EqnOfState##Specie> \ - > Cthermo##Mixture##Transport##Type##Thermo##EqnOfState##Specie; \ - \ -defineTemplateTypeNameAndDebugWithName \ -( \ - Cthermo##Mixture##Transport##Type##Thermo##EqnOfState##Specie, \ - ( \ - #Cthermo"<"#Mixture"<" \ - + Transport##Type##Thermo##EqnOfState##Specie::typeName() \ - + ">>" \ - ).c_str(), \ - 0 \ + \ +typedef \ + Transport \ + < \ + species::thermo \ + < \ + Thermo \ + < \ + EqnOfState \ + < \ + Specie \ + > \ + >, \ + Type \ + > \ + > Transport##Type##Thermo##EqnOfState##Specie; \ + \ +typedef \ + Cthermo \ + < \ + BaseThermo, \ + Mixture<Transport##Type##Thermo##EqnOfState##Specie> \ + > Cthermo##Mixture##Transport##Type##Thermo##EqnOfState##Specie; \ + \ +defineTemplateTypeNameAndDebugWithName \ +( \ + Cthermo##Mixture##Transport##Type##Thermo##EqnOfState##Specie, \ + ( \ + #Cthermo"<"#Mixture"<" \ + + Transport##Type##Thermo##EqnOfState##Specie::typeName() \ + + ">>" \ + ).c_str(), \ + 0 \ ); #define makeThermo(BaseThermo,Cthermo,Mixture,Transport,Type,Thermo,EqnOfState,Specie)\ - \ -makeThermoTypedefs \ -( \ - BaseThermo, \ - Cthermo, \ - Mixture, \ - Transport, \ - Type, \ - Thermo, \ - EqnOfState, \ - Specie \ -) \ - \ -addToRunTimeSelectionTable \ -( \ - basicThermo, \ - Cthermo##Mixture##Transport##Type##Thermo##EqnOfState##Specie, \ - fvMesh \ -); \ - \ -addToRunTimeSelectionTable \ -( \ - fluidThermo, \ - Cthermo##Mixture##Transport##Type##Thermo##EqnOfState##Specie, \ - fvMesh \ -); \ - \ -addToRunTimeSelectionTable \ -( \ - BaseThermo, \ - Cthermo##Mixture##Transport##Type##Thermo##EqnOfState##Specie, \ - fvMesh \ + \ +makeThermoTypedefs \ +( \ + BaseThermo, \ + Cthermo, \ + Mixture, \ + Transport, \ + Type, \ + Thermo, \ + EqnOfState, \ + Specie \ +) \ + \ +addToRunTimeSelectionTable \ +( \ + basicThermo, \ + Cthermo##Mixture##Transport##Type##Thermo##EqnOfState##Specie, \ + fvMesh \ +); \ + \ +addToRunTimeSelectionTable \ +( \ + fluidThermo, \ + Cthermo##Mixture##Transport##Type##Thermo##EqnOfState##Specie, \ + fvMesh \ +); \ + \ +addToRunTimeSelectionTable \ +( \ + BaseThermo, \ + Cthermo##Mixture##Transport##Type##Thermo##EqnOfState##Specie, \ + fvMesh \ ); diff --git a/src/thermophysicalModels/chemistryModel/chemistryModel/makeChemistryModel.H b/src/thermophysicalModels/chemistryModel/chemistryModel/makeChemistryModel.H index c0ae64edf45..2a63d03eb11 100644 --- a/src/thermophysicalModels/chemistryModel/chemistryModel/makeChemistryModel.H +++ b/src/thermophysicalModels/chemistryModel/chemistryModel/makeChemistryModel.H @@ -39,15 +39,15 @@ namespace Foam // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -#define makeChemistryModel(SS, Comp, Thermo) \ - \ - typedef SS<Comp, Thermo> SS##Comp##Thermo; \ - \ - defineTemplateTypeNameAndDebugWithName \ - ( \ - SS##Comp##Thermo, \ - (#SS"<"#Comp"," + Thermo::typeName() + ">").c_str(), \ - 0 \ +#define makeChemistryModel(SS, Comp, Thermo) \ + \ + typedef SS<Comp, Thermo> SS##Comp##Thermo; \ + \ + defineTemplateTypeNameAndDebugWithName \ + ( \ + SS##Comp##Thermo, \ + (#SS"<"#Comp"," + Thermo::typeName() + ">").c_str(), \ + 0 \ ); diff --git a/src/thermophysicalModels/chemistryModel/chemistrySolver/chemistrySolver/makeChemistrySolverTypes.H b/src/thermophysicalModels/chemistryModel/chemistrySolver/chemistrySolver/makeChemistrySolverTypes.H index 0bb9d518db9..53f42c81aa7 100644 --- a/src/thermophysicalModels/chemistryModel/chemistrySolver/chemistrySolver/makeChemistrySolverTypes.H +++ b/src/thermophysicalModels/chemistryModel/chemistrySolver/chemistrySolver/makeChemistrySolverTypes.H @@ -36,48 +36,48 @@ License // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -#define makeChemistrySolverType(SS, Comp, Thermo) \ - \ - typedef SS<chemistryModel<Comp, Thermo>> SS##Comp##Thermo; \ - \ - defineTemplateTypeNameAndDebugWithName \ - ( \ - SS##Comp##Thermo, \ - (#SS"<" + word(Comp::typeName_()) \ - + "," + Thermo::typeName() + ">").c_str(), \ - 0 \ - ); \ - \ - addToRunTimeSelectionTable \ - ( \ - Comp, \ - SS##Comp##Thermo, \ - fvMesh \ +#define makeChemistrySolverType(SS, Comp, Thermo) \ + \ + typedef SS<chemistryModel<Comp, Thermo>> SS##Comp##Thermo; \ + \ + defineTemplateTypeNameAndDebugWithName \ + ( \ + SS##Comp##Thermo, \ + (#SS"<" + word(Comp::typeName_()) \ + + "," + Thermo::typeName() + ">").c_str(), \ + 0 \ + ); \ + \ + addToRunTimeSelectionTable \ + ( \ + Comp, \ + SS##Comp##Thermo, \ + fvMesh \ ); -#define makeChemistrySolverTypes(CompChemModel,Thermo) \ - \ - makeChemistrySolverType \ - ( \ - noChemistrySolver, \ - CompChemModel, \ - Thermo \ - ); \ - \ - makeChemistrySolverType \ - ( \ - EulerImplicit, \ - CompChemModel, \ - Thermo \ - ); \ - \ - makeChemistrySolverType \ - ( \ - ode, \ - CompChemModel, \ - Thermo \ - ); \ +#define makeChemistrySolverTypes(CompChemModel,Thermo) \ + \ + makeChemistrySolverType \ + ( \ + noChemistrySolver, \ + CompChemModel, \ + Thermo \ + ); \ + \ + makeChemistrySolverType \ + ( \ + EulerImplicit, \ + CompChemModel, \ + Thermo \ + ); \ + \ + makeChemistrySolverType \ + ( \ + ode, \ + CompChemModel, \ + Thermo \ + ); \ // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/src/thermophysicalModels/radiation/radiationModels/radiationModel/radiationModel.H b/src/thermophysicalModels/radiation/radiationModels/radiationModel/radiationModel.H index 5fcacdbd098..fea1013e615 100644 --- a/src/thermophysicalModels/radiation/radiationModels/radiationModel/radiationModel.H +++ b/src/thermophysicalModels/radiation/radiationModels/radiationModel/radiationModel.H @@ -244,20 +244,20 @@ public: // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -#define addToRadiationRunTimeSelectionTables(model) \ - \ - addToRunTimeSelectionTable \ - ( \ - radiationModel, \ - model, \ - dictionary \ - ); \ - \ - addToRunTimeSelectionTable \ - ( \ - radiationModel, \ - model, \ - T \ +#define addToRadiationRunTimeSelectionTables(model) \ + \ + addToRunTimeSelectionTable \ + ( \ + radiationModel, \ + model, \ + dictionary \ + ); \ + \ + addToRunTimeSelectionTable \ + ( \ + radiationModel, \ + model, \ + T \ ); // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/src/thermophysicalModels/radiation/submodels/sootModel/sootModel/makeSootTypes.H b/src/thermophysicalModels/radiation/submodels/sootModel/sootModel/makeSootTypes.H index 4676b5efe73..26cab98a46b 100644 --- a/src/thermophysicalModels/radiation/submodels/sootModel/sootModel/makeSootTypes.H +++ b/src/thermophysicalModels/radiation/submodels/sootModel/sootModel/makeSootTypes.H @@ -31,30 +31,30 @@ License // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -#define makeSootTypesThermo(sootModelType, Thermo) \ - typedef Foam::radiation::sootModelType<Foam::Thermo> \ - sootModelType##Thermo; \ - \ - defineTemplateTypeNameAndDebugWithName \ - ( \ - sootModelType##Thermo, \ - #sootModelType"<"#Thermo">", \ - 0 \ - ); \ - \ - namespace Foam \ - { \ - namespace radiation \ - { \ - typedef sootModelType<Thermo> sootModelType##Thermo; \ - \ - addToRunTimeSelectionTable \ - ( \ - sootModel, \ - sootModelType##Thermo, \ - dictionary \ - ); \ - } \ +#define makeSootTypesThermo(sootModelType, Thermo) \ + typedef Foam::radiation::sootModelType<Foam::Thermo> \ + sootModelType##Thermo; \ + \ + defineTemplateTypeNameAndDebugWithName \ + ( \ + sootModelType##Thermo, \ + #sootModelType"<"#Thermo">", \ + 0 \ + ); \ + \ + namespace Foam \ + { \ + namespace radiation \ + { \ + typedef sootModelType<Thermo> sootModelType##Thermo; \ + \ + addToRunTimeSelectionTable \ + ( \ + sootModel, \ + sootModelType##Thermo, \ + dictionary \ + ); \ + } \ } diff --git a/src/thermophysicalModels/reactionThermo/chemistryReaders/chemistryReader/chemistryReader.H b/src/thermophysicalModels/reactionThermo/chemistryReaders/chemistryReader/chemistryReader.H index 0852fb578c2..6c2cf13771f 100644 --- a/src/thermophysicalModels/reactionThermo/chemistryReaders/chemistryReader/chemistryReader.H +++ b/src/thermophysicalModels/reactionThermo/chemistryReaders/chemistryReader/chemistryReader.H @@ -134,28 +134,28 @@ public: // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -#define makeChemistryReader(Thermo) \ - defineTemplateTypeNameAndDebug(chemistryReader<Thermo>, 0); \ +#define makeChemistryReader(Thermo) \ + defineTemplateTypeNameAndDebug(chemistryReader<Thermo>, 0); \ defineTemplateRunTimeSelectionTable(chemistryReader<Thermo>, dictionary) -#define makeChemistryReaderType(Reader, Thermo) \ - defineNamedTemplateTypeNameAndDebug(Reader<Thermo>, 0); \ +#define makeChemistryReaderType(Reader, Thermo) \ + defineNamedTemplateTypeNameAndDebug(Reader<Thermo>, 0); \ chemistryReader<Thermo>::adddictionaryConstructorToTable<Reader<Thermo>> \ add##Reader##Thermo##ConstructorToTable_ // for non-templated chemistry readers -#define addChemistryReaderType(Reader, Thermo) \ - defineTypeNameAndDebug(Reader, 0); \ - chemistryReader<Thermo>::adddictionaryConstructorToTable<Reader> \ +#define addChemistryReaderType(Reader, Thermo) \ + defineTypeNameAndDebug(Reader, 0); \ + chemistryReader<Thermo>::adddictionaryConstructorToTable<Reader> \ add##Reader##Thermo##ConstructorToTable_ // for templated chemistry readers -#define addTemplateChemistryReaderType(Reader, Thermo) \ - defineNamedTemplateTypeNameAndDebug(Reader, 0); \ - chemistryReader<Thermo>::adddictionaryConstructorToTable<Reader> \ +#define addTemplateChemistryReaderType(Reader, Thermo) \ + defineNamedTemplateTypeNameAndDebug(Reader, 0); \ + chemistryReader<Thermo>::adddictionaryConstructorToTable<Reader> \ add##Reader##Thermo##ConstructorToTable_ diff --git a/src/thermophysicalModels/solidChemistryModel/makeSolidChemistryModel.H b/src/thermophysicalModels/solidChemistryModel/makeSolidChemistryModel.H index 912c44ef95b..3edd3a95839 100644 --- a/src/thermophysicalModels/solidChemistryModel/makeSolidChemistryModel.H +++ b/src/thermophysicalModels/solidChemistryModel/makeSolidChemistryModel.H @@ -34,31 +34,31 @@ Description // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -#define makeSolidChemistryModel(sChemistry, SS, Comp, SThermo) \ - \ - typedef Foam::sChemistry<Foam::Comp, Foam::SThermo> \ - sChemistry##Comp##SThermo; \ - \ - defineTemplateTypeNameAndDebugWithName \ - ( \ - sChemistry##Comp##SThermo, \ - (Foam::word(sChemistry##Comp##SThermo::typeName_()) + "<"#Comp"," \ - + SThermo::typeName() + ">").c_str(), \ - 0 \ +#define makeSolidChemistryModel(sChemistry, SS, Comp, SThermo) \ + \ + typedef Foam::sChemistry<Foam::Comp, Foam::SThermo> \ + sChemistry##Comp##SThermo; \ + \ + defineTemplateTypeNameAndDebugWithName \ + ( \ + sChemistry##Comp##SThermo, \ + (Foam::word(sChemistry##Comp##SThermo::typeName_()) + "<"#Comp"," \ + + SThermo::typeName() + ">").c_str(), \ + 0 \ ); -#define makeSolidGasChemistryModel(sChemistry, SS, Comp, SThermo, GThermo) \ - \ - typedef Foam::SS<Foam::Comp, Foam::SThermo, Foam::GThermo> \ - SS##Comp##SThermo##GThermo; \ - \ - defineTemplateTypeNameAndDebugWithName \ - ( \ - SS##Comp##SThermo##GThermo, \ - (Foam::word(SS##Comp##SThermo##GThermo::typeName_()) + "<"#Comp"," \ - + SThermo::typeName() + "," + GThermo::typeName() + ">").c_str(), \ - 0 \ +#define makeSolidGasChemistryModel(sChemistry, SS, Comp, SThermo, GThermo) \ + \ + typedef Foam::SS<Foam::Comp, Foam::SThermo, Foam::GThermo> \ + SS##Comp##SThermo##GThermo; \ + \ + defineTemplateTypeNameAndDebugWithName \ + ( \ + SS##Comp##SThermo##GThermo, \ + (Foam::word(SS##Comp##SThermo##GThermo::typeName_()) + "<"#Comp"," \ + + SThermo::typeName() + "," + GThermo::typeName() + ">").c_str(), \ + 0 \ ); diff --git a/src/thermophysicalModels/solidChemistryModel/solidChemistrySolver/makeSolidChemistrySolverType.H b/src/thermophysicalModels/solidChemistryModel/solidChemistrySolver/makeSolidChemistrySolverType.H index f638a865ef5..0a888421cd5 100644 --- a/src/thermophysicalModels/solidChemistryModel/solidChemistrySolver/makeSolidChemistrySolverType.H +++ b/src/thermophysicalModels/solidChemistryModel/solidChemistrySolver/makeSolidChemistrySolverType.H @@ -43,46 +43,46 @@ namespace Foam // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -#define makeSolidChemistrySolverType(SS, Schem, Comp, SThermo, GThermo) \ - \ - typedef SS<Schem<Comp, SThermo, GThermo>> \ - SS##Schem##Comp##SThermo##GThermo; \ - \ - defineTemplateTypeNameAndDebugWithName \ - ( \ - SS##Schem##Comp##SThermo##GThermo, \ - (#SS"<" + word(Schem<Comp, SThermo, GThermo>::typeName_()) \ - + "<"#Comp"," + SThermo::typeName() \ - + "," + GThermo::typeName() + ">>").c_str(), \ - 0 \ - ); \ - \ - addToRunTimeSelectionTable \ - ( \ - Comp, \ - SS##Schem##Comp##SThermo##GThermo, \ - fvMesh \ +#define makeSolidChemistrySolverType(SS, Schem, Comp, SThermo, GThermo) \ + \ + typedef SS<Schem<Comp, SThermo, GThermo>> \ + SS##Schem##Comp##SThermo##GThermo; \ + \ + defineTemplateTypeNameAndDebugWithName \ + ( \ + SS##Schem##Comp##SThermo##GThermo, \ + (#SS"<" + word(Schem<Comp, SThermo, GThermo>::typeName_()) \ + + "<"#Comp"," + SThermo::typeName() \ + + "," + GThermo::typeName() + ">>").c_str(), \ + 0 \ + ); \ + \ + addToRunTimeSelectionTable \ + ( \ + Comp, \ + SS##Schem##Comp##SThermo##GThermo, \ + fvMesh \ ); -#define makeSolidChemistrySolverTypes(SolidChem, Comp, SThermo, GThermo) \ - \ - makeSolidChemistrySolverType \ - ( \ - noChemistrySolver, \ - SolidChem, \ - Comp, \ - SThermo, \ - GThermo \ - ); \ - \ - makeSolidChemistrySolverType \ - ( \ - ode, \ - SolidChem, \ - Comp, \ - SThermo, \ - GThermo \ +#define makeSolidChemistrySolverTypes(SolidChem, Comp, SThermo, GThermo) \ + \ + makeSolidChemistrySolverType \ + ( \ + noChemistrySolver, \ + SolidChem, \ + Comp, \ + SThermo, \ + GThermo \ + ); \ + \ + makeSolidChemistrySolverType \ + ( \ + ode, \ + SolidChem, \ + Comp, \ + SThermo, \ + GThermo \ ); diff --git a/src/thermophysicalModels/solidSpecie/reaction/reactions/makeSolidReaction.H b/src/thermophysicalModels/solidSpecie/reaction/reactions/makeSolidReaction.H index 7674c457d7b..306bf3fddb3 100644 --- a/src/thermophysicalModels/solidSpecie/reaction/reactions/makeSolidReaction.H +++ b/src/thermophysicalModels/solidSpecie/reaction/reactions/makeSolidReaction.H @@ -45,45 +45,45 @@ namespace Foam // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -#define makeSolidReaction(ReactionType, Thermo, ReactionRate) \ - \ - typedef solidReaction<Thermo> solidReaction##Thermo; \ - \ - typedef Reaction<Thermo> Reaction##Thermo; \ - \ - typedef ReactionType<solidReaction, Thermo, ReactionRate> \ - ReactionType##Thermo##ReactionRate; \ - \ - defineTemplateRunTimeSelectionTable(Reaction##Thermo, Istream); \ - defineTemplateRunTimeSelectionTable(Reaction##Thermo, dictionary); \ - \ - defineTemplateTypeNameAndDebug(solidReaction##Thermo, 0); \ - defineTemplateTypeNameAndDebug(Reaction##Thermo, 0); \ - \ - template<> \ - const word ReactionType##Thermo##ReactionRate::typeName \ - ( \ - ReactionType::typeName_() \ - + ReactionRate::type() \ - + solidReaction##Thermo::typeName_() \ - ); \ - \ - addToRunTimeSelectionTable \ - ( \ - Reaction##Thermo, \ - ReactionType##Thermo##ReactionRate, \ - Istream \ - ); \ - \ - addToRunTimeSelectionTable \ - ( \ - Reaction##Thermo, \ - ReactionType##Thermo##ReactionRate, \ - dictionary \ +#define makeSolidReaction(ReactionType, Thermo, ReactionRate) \ + \ + typedef solidReaction<Thermo> solidReaction##Thermo; \ + \ + typedef Reaction<Thermo> Reaction##Thermo; \ + \ + typedef ReactionType<solidReaction, Thermo, ReactionRate> \ + ReactionType##Thermo##ReactionRate; \ + \ + defineTemplateRunTimeSelectionTable(Reaction##Thermo, Istream); \ + defineTemplateRunTimeSelectionTable(Reaction##Thermo, dictionary); \ + \ + defineTemplateTypeNameAndDebug(solidReaction##Thermo, 0); \ + defineTemplateTypeNameAndDebug(Reaction##Thermo, 0); \ + \ + template<> \ + const word ReactionType##Thermo##ReactionRate::typeName \ + ( \ + ReactionType::typeName_() \ + + ReactionRate::type() \ + + solidReaction##Thermo::typeName_() \ + ); \ + \ + addToRunTimeSelectionTable \ + ( \ + Reaction##Thermo, \ + ReactionType##Thermo##ReactionRate, \ + Istream \ + ); \ + \ + addToRunTimeSelectionTable \ + ( \ + Reaction##Thermo, \ + ReactionType##Thermo##ReactionRate, \ + dictionary \ ); -#define makeSolidIRReactions(Thermo, ReactionRate) \ - \ +#define makeSolidIRReactions(Thermo, ReactionRate) \ + \ makeSolidReaction(IrreversibleReaction, Thermo, ReactionRate) diff --git a/src/thermophysicalModels/solidThermo/solidReactionThermo/makeReactingSolidThermo.H b/src/thermophysicalModels/solidThermo/solidReactionThermo/makeReactingSolidThermo.H index 34c958b1061..56de02ffd28 100644 --- a/src/thermophysicalModels/solidThermo/solidReactionThermo/makeReactingSolidThermo.H +++ b/src/thermophysicalModels/solidThermo/solidReactionThermo/makeReactingSolidThermo.H @@ -37,60 +37,60 @@ Description // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // #define makeSolidReactionMixtureThermo(BaseThermo,Cthermo,Mixture,ThermoPhys) \ - \ -typedef SpecieMixture \ - < \ - Mixture \ - < \ - ThermoPhys \ - > \ - > SpecieMixture##Mixture##ThermoPhys; \ - \ -typedef \ - heThermo \ - < \ - BaseThermo, \ - SpecieMixture##Mixture##ThermoPhys \ - > heThermo##Mixture##ThermoPhys; \ - \ -typedef \ - Cthermo \ - < \ - BaseThermo, \ - SpecieMixture##Mixture##ThermoPhys \ - > Cthermo##Mixture##ThermoPhys; \ - \ - \ -defineTemplateTypeNameAndDebugWithName \ -( \ - Cthermo##Mixture##ThermoPhys, \ - ( \ - #Cthermo"<"#Mixture"<" \ - + ThermoPhys::typeName() \ - + ">>" \ - ).c_str(), \ - 0 \ -); \ - \ -addToRunTimeSelectionTable \ -( \ - basicThermo, \ - Cthermo##Mixture##ThermoPhys, \ - fvMesh \ -); \ - \ -addToRunTimeSelectionTable \ -( \ - BaseThermo, \ - Cthermo##Mixture##ThermoPhys, \ - fvMesh \ -); \ - \ -addToRunTimeSelectionTable \ -( \ - BaseThermo, \ - Cthermo##Mixture##ThermoPhys, \ - dictionary \ + \ +typedef SpecieMixture \ + < \ + Mixture \ + < \ + ThermoPhys \ + > \ + > SpecieMixture##Mixture##ThermoPhys; \ + \ +typedef \ + heThermo \ + < \ + BaseThermo, \ + SpecieMixture##Mixture##ThermoPhys \ + > heThermo##Mixture##ThermoPhys; \ + \ +typedef \ + Cthermo \ + < \ + BaseThermo, \ + SpecieMixture##Mixture##ThermoPhys \ + > Cthermo##Mixture##ThermoPhys; \ + \ + \ +defineTemplateTypeNameAndDebugWithName \ +( \ + Cthermo##Mixture##ThermoPhys, \ + ( \ + #Cthermo"<"#Mixture"<" \ + + ThermoPhys::typeName() \ + + ">>" \ + ).c_str(), \ + 0 \ +); \ + \ +addToRunTimeSelectionTable \ +( \ + basicThermo, \ + Cthermo##Mixture##ThermoPhys, \ + fvMesh \ +); \ + \ +addToRunTimeSelectionTable \ +( \ + BaseThermo, \ + Cthermo##Mixture##ThermoPhys, \ + fvMesh \ +); \ + \ +addToRunTimeSelectionTable \ +( \ + BaseThermo, \ + Cthermo##Mixture##ThermoPhys, \ + dictionary \ ); diff --git a/src/thermophysicalModels/solidThermo/solidThermo/makeSolidThermo.H b/src/thermophysicalModels/solidThermo/solidThermo/makeSolidThermo.H index 07b6ffb0502..14f564e268c 100644 --- a/src/thermophysicalModels/solidThermo/solidThermo/makeSolidThermo.H +++ b/src/thermophysicalModels/solidThermo/solidThermo/makeSolidThermo.H @@ -36,124 +36,124 @@ Description // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // #define makeSolidThermo(BaseThermo,Cthermo,Mixture,Transport,Type,Thermo,EqnOfState,Specie)\ - \ - \ -typedef \ - Transport \ - < \ - species::thermo \ - < \ - Thermo \ - < \ - EqnOfState \ - < \ - Specie \ - > \ - >, \ - Type \ - > \ - > Transport##Type##Thermo##EqnOfState##Specie; \ - \ -typedef \ - heThermo \ - < \ - BaseThermo, \ - Mixture<Transport##Type##Thermo##EqnOfState##Specie> \ - > heThermo##Mixture##Transport##Type##Thermo##EqnOfState##Specie; \ - \ -typedef \ - Cthermo \ - < \ - BaseThermo, \ - Mixture<Transport##Type##Thermo##EqnOfState##Specie> \ - > Cthermo##Mixture##Transport##Type##Thermo##EqnOfState##Specie; \ - \ - \ -defineTemplateTypeNameAndDebugWithName \ -( \ - Cthermo##Mixture##Transport##Type##Thermo##EqnOfState##Specie, \ - ( \ - #Cthermo"<"#Mixture"<" \ - + Transport##Type##Thermo##EqnOfState##Specie::typeName() \ - + ">>" \ - ).c_str(), \ - 0 \ -); \ - \ - \ -addToRunTimeSelectionTable \ -( \ - basicThermo, \ - Cthermo##Mixture##Transport##Type##Thermo##EqnOfState##Specie, \ - fvMesh \ -); \ - \ -addToRunTimeSelectionTable \ -( \ - BaseThermo, \ - Cthermo##Mixture##Transport##Type##Thermo##EqnOfState##Specie, \ - fvMesh \ -); \ - \ -addToRunTimeSelectionTable \ -( \ - BaseThermo, \ - Cthermo##Mixture##Transport##Type##Thermo##EqnOfState##Specie, \ - dictionary \ + \ + \ +typedef \ + Transport \ + < \ + species::thermo \ + < \ + Thermo \ + < \ + EqnOfState \ + < \ + Specie \ + > \ + >, \ + Type \ + > \ + > Transport##Type##Thermo##EqnOfState##Specie; \ + \ +typedef \ + heThermo \ + < \ + BaseThermo, \ + Mixture<Transport##Type##Thermo##EqnOfState##Specie> \ + > heThermo##Mixture##Transport##Type##Thermo##EqnOfState##Specie; \ + \ +typedef \ + Cthermo \ + < \ + BaseThermo, \ + Mixture<Transport##Type##Thermo##EqnOfState##Specie> \ + > Cthermo##Mixture##Transport##Type##Thermo##EqnOfState##Specie; \ + \ + \ +defineTemplateTypeNameAndDebugWithName \ +( \ + Cthermo##Mixture##Transport##Type##Thermo##EqnOfState##Specie, \ + ( \ + #Cthermo"<"#Mixture"<" \ + + Transport##Type##Thermo##EqnOfState##Specie::typeName() \ + + ">>" \ + ).c_str(), \ + 0 \ +); \ + \ + \ +addToRunTimeSelectionTable \ +( \ + basicThermo, \ + Cthermo##Mixture##Transport##Type##Thermo##EqnOfState##Specie, \ + fvMesh \ +); \ + \ +addToRunTimeSelectionTable \ +( \ + BaseThermo, \ + Cthermo##Mixture##Transport##Type##Thermo##EqnOfState##Specie, \ + fvMesh \ +); \ + \ +addToRunTimeSelectionTable \ +( \ + BaseThermo, \ + Cthermo##Mixture##Transport##Type##Thermo##EqnOfState##Specie, \ + dictionary \ ); #define makeSolidThermoPhysicsType(BaseThermo,Cthermo,Mixture,SolidPhysicsType)\ - \ - \ - \ -typedef \ - heThermo \ - < \ - BaseThermo, \ - Mixture<SolidPhysicsType> \ - > heThermo##Mixture##SolidPhysicsType; \ - \ -typedef \ - Cthermo \ - < \ - BaseThermo, \ - Mixture<SolidPhysicsType> \ - > Cthermo##Mixture##SolidPhysicsType; \ - \ - \ -defineTemplateTypeNameAndDebugWithName \ -( \ - Cthermo##Mixture##SolidPhysicsType, \ - ( \ - #Cthermo"<"#Mixture"<" \ - + SolidPhysicsType::typeName() \ - + ">>" \ - ).c_str(), \ - 0 \ -); \ - \ - \ -addToRunTimeSelectionTable \ -( \ - basicThermo, \ - Cthermo##Mixture##SolidPhysicsType, \ - fvMesh \ -); \ - \ -addToRunTimeSelectionTable \ -( \ - BaseThermo, \ - Cthermo##Mixture##SolidPhysicsType, \ - fvMesh \ -); \ - \ -addToRunTimeSelectionTable \ -( \ - BaseThermo, \ - Cthermo##Mixture##SolidPhysicsType, \ - dictionary \ + \ + \ + \ +typedef \ + heThermo \ + < \ + BaseThermo, \ + Mixture<SolidPhysicsType> \ + > heThermo##Mixture##SolidPhysicsType; \ + \ +typedef \ + Cthermo \ + < \ + BaseThermo, \ + Mixture<SolidPhysicsType> \ + > Cthermo##Mixture##SolidPhysicsType; \ + \ + \ +defineTemplateTypeNameAndDebugWithName \ +( \ + Cthermo##Mixture##SolidPhysicsType, \ + ( \ + #Cthermo"<"#Mixture"<" \ + + SolidPhysicsType::typeName() \ + + ">>" \ + ).c_str(), \ + 0 \ +); \ + \ + \ +addToRunTimeSelectionTable \ +( \ + basicThermo, \ + Cthermo##Mixture##SolidPhysicsType, \ + fvMesh \ +); \ + \ +addToRunTimeSelectionTable \ +( \ + BaseThermo, \ + Cthermo##Mixture##SolidPhysicsType, \ + fvMesh \ +); \ + \ +addToRunTimeSelectionTable \ +( \ + BaseThermo, \ + Cthermo##Mixture##SolidPhysicsType, \ + dictionary \ ); // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/src/thermophysicalModels/specie/equationOfState/icoPolynomial/icoPolynomial.H b/src/thermophysicalModels/specie/equationOfState/icoPolynomial/icoPolynomial.H index e2dde3e35a9..e3dbfcc2d9d 100644 --- a/src/thermophysicalModels/specie/equationOfState/icoPolynomial/icoPolynomial.H +++ b/src/thermophysicalModels/specie/equationOfState/icoPolynomial/icoPolynomial.H @@ -226,13 +226,13 @@ public: // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -#define makeIcoPolynomial(PolySize) \ - \ -defineTemplateTypeNameAndDebugWithName \ -( \ - icoPolynomial<Specie, PolySize>, \ - "icoPolynomial<"#PolySize">", \ - 0 \ +#define makeIcoPolynomial(PolySize) \ + \ +defineTemplateTypeNameAndDebugWithName \ +( \ + icoPolynomial<Specie, PolySize>, \ + "icoPolynomial<"#PolySize">", \ + 0 \ ); // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/src/thermophysicalModels/specie/reaction/reactions/makeReaction.H b/src/thermophysicalModels/specie/reaction/reactions/makeReaction.H index 0b72f6800d7..064f5e43d78 100644 --- a/src/thermophysicalModels/specie/reaction/reactions/makeReaction.H +++ b/src/thermophysicalModels/specie/reaction/reactions/makeReaction.H @@ -57,106 +57,106 @@ namespace Foam // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -#define makeReaction(Thermo, ReactionType, ReactionRate) \ - \ - typedef Reaction<Thermo> Reaction##Thermo; \ - \ - typedef ReactionType<Reaction, Thermo, ReactionRate> \ - ReactionType##Thermo##ReactionRate; \ - \ - template<> \ - const word ReactionType##Thermo##ReactionRate::typeName \ - ( \ - ReactionType::typeName_() \ - + ReactionRate::type() \ - + Reaction##Thermo::typeName_() \ - ); \ - \ - addToRunTimeSelectionTable \ - ( \ - Reaction##Thermo, \ - ReactionType##Thermo##ReactionRate, \ - Istream \ - ); \ - \ - addToRunTimeSelectionTable \ - ( \ - Reaction##Thermo, \ - ReactionType##Thermo##ReactionRate, \ - dictionary \ +#define makeReaction(Thermo, ReactionType, ReactionRate) \ + \ + typedef Reaction<Thermo> Reaction##Thermo; \ + \ + typedef ReactionType<Reaction, Thermo, ReactionRate> \ + ReactionType##Thermo##ReactionRate; \ + \ + template<> \ + const word ReactionType##Thermo##ReactionRate::typeName \ + ( \ + ReactionType::typeName_() \ + + ReactionRate::type() \ + + Reaction##Thermo::typeName_() \ + ); \ + \ + addToRunTimeSelectionTable \ + ( \ + Reaction##Thermo, \ + ReactionType##Thermo##ReactionRate, \ + Istream \ + ); \ + \ + addToRunTimeSelectionTable \ + ( \ + Reaction##Thermo, \ + ReactionType##Thermo##ReactionRate, \ + dictionary \ ); #define makePressureDependentReaction\ -( \ - Thermo, \ - Reaction, \ - PressureDependentReactionRate, \ - ReactionRate, \ - FallOffFunction \ -) \ - \ - typedef PressureDependentReactionRate<ReactionRate, FallOffFunction> \ - PressureDependentReactionRate##ReactionRate##FallOffFunction; \ - \ - makeReaction \ - ( \ - Thermo, \ - Reaction, \ - PressureDependentReactionRate##ReactionRate##FallOffFunction \ +( \ + Thermo, \ + Reaction, \ + PressureDependentReactionRate, \ + ReactionRate, \ + FallOffFunction \ +) \ + \ + typedef PressureDependentReactionRate<ReactionRate, FallOffFunction> \ + PressureDependentReactionRate##ReactionRate##FallOffFunction; \ + \ + makeReaction \ + ( \ + Thermo, \ + Reaction, \ + PressureDependentReactionRate##ReactionRate##FallOffFunction \ ) -#define makeIRReactions(Thermo, ReactionRate) \ - \ - makeReaction(Thermo, IrreversibleReaction, ReactionRate) \ - \ +#define makeIRReactions(Thermo, ReactionRate) \ + \ + makeReaction(Thermo, IrreversibleReaction, ReactionRate) \ + \ makeReaction(Thermo, ReversibleReaction, ReactionRate) -#define makeIRNReactions(Thermo, ReactionRate) \ - \ - makeIRReactions(Thermo, ReactionRate) \ - \ +#define makeIRNReactions(Thermo, ReactionRate) \ + \ + makeIRReactions(Thermo, ReactionRate) \ + \ makeReaction(Thermo, NonEquilibriumReversibleReaction, ReactionRate) #define makePressureDependentReactions(Thermo, ReactionRate, FallOffFunction) \ - \ - makePressureDependentReaction \ - ( \ - Thermo, \ - IrreversibleReaction, \ - FallOffReactionRate, \ - ReactionRate, \ - FallOffFunction \ - ) \ - \ - makePressureDependentReaction \ - ( \ - Thermo, \ - ReversibleReaction, \ - FallOffReactionRate, \ - ReactionRate, \ - FallOffFunction \ - ) \ - \ - makePressureDependentReaction \ - ( \ - Thermo, \ - IrreversibleReaction, \ - ChemicallyActivatedReactionRate, \ - ReactionRate, \ - FallOffFunction \ - ) \ - \ - makePressureDependentReaction \ - ( \ - Thermo, \ - ReversibleReaction, \ - ChemicallyActivatedReactionRate, \ - ReactionRate, \ - FallOffFunction \ + \ + makePressureDependentReaction \ + ( \ + Thermo, \ + IrreversibleReaction, \ + FallOffReactionRate, \ + ReactionRate, \ + FallOffFunction \ + ) \ + \ + makePressureDependentReaction \ + ( \ + Thermo, \ + ReversibleReaction, \ + FallOffReactionRate, \ + ReactionRate, \ + FallOffFunction \ + ) \ + \ + makePressureDependentReaction \ + ( \ + Thermo, \ + IrreversibleReaction, \ + ChemicallyActivatedReactionRate, \ + ReactionRate, \ + FallOffFunction \ + ) \ + \ + makePressureDependentReaction \ + ( \ + Thermo, \ + ReversibleReaction, \ + ChemicallyActivatedReactionRate, \ + ReactionRate, \ + FallOffFunction \ ) -- GitLab