From 4c2c4bb43d80925d93eb87789754fc63ff61851e Mon Sep 17 00:00:00 2001 From: Henry Weller Date: Wed, 23 Mar 2022 19:33:47 +0000 Subject: [PATCH] fvMesh, pointMesh: Simplified field mapping using FOR_ALL_FIELD_TYPES macro --- src/OpenFOAM/meshes/pointMesh/pointMesh.C | 23 +++++-------- src/finiteVolume/fvMesh/fvMesh.C | 40 ++++++----------------- 2 files changed, 18 insertions(+), 45 deletions(-) diff --git a/src/OpenFOAM/meshes/pointMesh/pointMesh.C b/src/OpenFOAM/meshes/pointMesh/pointMesh.C index 885e7d1448..523ab54bc8 100644 --- a/src/OpenFOAM/meshes/pointMesh/pointMesh.C +++ b/src/OpenFOAM/meshes/pointMesh/pointMesh.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2011-2021 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2022 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -48,21 +48,14 @@ void Foam::pointMesh::mapFields(const mapPolyMesh& map) << "Mapping all registered pointFields." << endl; } - // Create a mapper - const pointMeshMapper m(*this, map); - MapGeometricFields(m); - MapGeometricFields(m); - MapGeometricFields - < - sphericalTensor, - pointPatchField, - pointMeshMapper, - pointMesh - >(m); - MapGeometricFields - (m); - MapGeometricFields(m); + // Create the pointMesh mapper + const pointMeshMapper mapper(*this, map); + + #define mapPointFieldType(Type, nullArg) \ + MapGeometricFields \ + (mapper); + FOR_ALL_FIELD_TYPES(mapPointFieldType); } diff --git a/src/finiteVolume/fvMesh/fvMesh.C b/src/finiteVolume/fvMesh/fvMesh.C index 2d46e731a5..3c5475c614 100644 --- a/src/finiteVolume/fvMesh/fvMesh.C +++ b/src/finiteVolume/fvMesh/fvMesh.C @@ -688,40 +688,20 @@ void Foam::fvMesh::mapFields(const mapPolyMesh& meshMap) const fvMeshMapper mapper(*this, meshMap); // Map all the volFields in the objectRegistry - MapGeometricFields - (mapper); - MapGeometricFields - (mapper); - MapGeometricFields - (mapper); - MapGeometricFields - (mapper); - MapGeometricFields - (mapper); + #define mapVolFieldType(Type, nullArg) \ + MapGeometricFields(mapper); + FOR_ALL_FIELD_TYPES(mapVolFieldType); // Map all the surfaceFields in the objectRegistry - MapGeometricFields - (mapper); - MapGeometricFields - (mapper); - MapGeometricFields - < - sphericalTensor, - fvsPatchField, - fvMeshMapper, - surfaceMesh - >(mapper); - MapGeometricFields - (mapper); - MapGeometricFields - (mapper); + #define mapSurfaceFieldType(Type, nullArg) \ + MapGeometricFields \ + (mapper); + FOR_ALL_FIELD_TYPES(mapSurfaceFieldType); // Map all the dimensionedFields in the objectRegistry - MapDimensionedFields(mapper); - MapDimensionedFields(mapper); - MapDimensionedFields(mapper); - MapDimensionedFields(mapper); - MapDimensionedFields(mapper); + #define mapVolInternalFieldType(Type, nullArg) \ + MapDimensionedFields(mapper); + FOR_ALL_FIELD_TYPES(mapVolInternalFieldType); // Map all the clouds in the objectRegistry mapClouds(*this, meshMap);