From d4864d9b6ebea9e2bd9513c88dbd6c17ffde3bd5 Mon Sep 17 00:00:00 2001
From: henry <Henry Weller h.weller@opencfd.co.uk>
Date: Tue, 4 Aug 2009 22:13:54 +0100
Subject: [PATCH] Moved the "generic" BCs into a separate library and included
 it only in those utilities which need this functionality.  Solvers will now
 check the correctness of the BCs on read.

---
 .../utilities/mesh/advanced/refineHexMesh/Make/options       | 3 ++-
 .../utilities/mesh/advanced/removeFaces/Make/options         | 3 ++-
 .../utilities/mesh/conversion/polyDualMesh/Make/options      | 1 +
 .../utilities/mesh/manipulation/createBaffles/Make/options   | 3 ++-
 .../mesh/manipulation/mergeOrSplitBaffles/Make/options       | 1 +
 .../utilities/mesh/manipulation/renumberMesh/Make/options    | 1 +
 .../mesh/manipulation/splitMeshRegions/Make/options          | 1 +
 .../utilities/mesh/manipulation/stitchMesh/Make/options      | 5 +++--
 .../utilities/mesh/manipulation/transformPoints/Make/options | 3 ++-
 .../utilities/miscellaneous/foamFormatConvert/Make/options   | 2 +-
 .../utilities/miscellaneous/patchSummary/Make/options        | 3 ++-
 .../utilities/parallelProcessing/decomposePar/Make/options   | 1 +
 .../utilities/parallelProcessing/reconstructPar/Make/options | 1 +
 .../dataConversion/foamDataToFluent/Make/options             | 3 ++-
 applications/utilities/postProcessing/foamCalc/Make/options  | 1 +
 .../graphics/PV3FoamReader/vtkPV3Foam/Make/options           | 1 +
 .../graphics/PVFoamReader/vtkFoam/Make/options               | 1 +
 .../postProcessing/graphics/ensightFoamReader/Make/options   | 1 +
 .../postProcessing/graphics/fieldview9Reader/Make/options    | 1 +
 .../postProcessing/lagrangian/particleTracks/Make/options    | 1 +
 .../miscellaneous/execFlowFunctionObjects/Make/options       | 3 ++-
 .../postProcessing/miscellaneous/postChannel/Make/options    | 1 +
 .../utilities/postProcessing/miscellaneous/ptot/Make/options | 3 ++-
 .../utilities/postProcessing/miscellaneous/wdot/Make/options | 3 ++-
 .../utilities/postProcessing/patch/patchAverage/Make/options | 3 ++-
 .../postProcessing/patch/patchIntegrate/Make/options         | 3 ++-
 .../postProcessing/sampling/probeLocations/Make/options      | 1 +
 .../utilities/postProcessing/sampling/sample/Make/options    | 1 +
 .../postProcessing/scalarField/pPrime2/Make/options          | 4 +++-
 .../postProcessing/stressField/stressComponents/Make/options | 1 +
 .../utilities/postProcessing/turbulence/R/Make/options       | 3 ++-
 .../turbulence/createTurbulenceFields/Make/options           | 3 ++-
 .../utilities/postProcessing/velocityField/Co/Make/options   | 5 +++--
 .../postProcessing/velocityField/Lambda2/Make/options        | 3 ++-
 .../utilities/postProcessing/velocityField/Mach/Make/options | 1 +
 .../utilities/postProcessing/velocityField/Pe/Make/options   | 1 +
 .../utilities/postProcessing/velocityField/Q/Make/options    | 3 ++-
 .../postProcessing/velocityField/enstrophy/Make/options      | 3 ++-
 .../postProcessing/velocityField/flowType/Make/options       | 3 ++-
 .../postProcessing/velocityField/streamFunction/Make/options | 3 ++-
 .../postProcessing/velocityField/uprime/Make/options         | 3 ++-
 .../postProcessing/velocityField/vorticity/Make/options      | 4 +++-
 .../utilities/postProcessing/wall/wallGradU/Make/options     | 3 ++-
 .../utilities/postProcessing/wall/wallHeatFlux/Make/options  | 1 +
 .../postProcessing/wall/wallShearStress/Make/options         | 3 ++-
 .../utilities/postProcessing/wall/yPlusLES/Make/options      | 3 ++-
 .../utilities/postProcessing/wall/yPlusRAS/Make/options      | 1 +
 .../utilities/preProcessing/applyBoundaryLayer/Make/options  | 1 +
 .../applyWallFunctionBoundaryConditions/Make/options         | 4 ++--
 .../utilities/preProcessing/engineSwirl/Make/options         | 5 ++++-
 applications/utilities/preProcessing/mapFields/Make/options  | 3 ++-
 applications/utilities/preProcessing/setFields/Make/options  | 1 +
 etc/controlDict                                              | 1 -
 src/OpenFOAM/Make/files                                      | 1 -
 src/finiteVolume/Make/files                                  | 1 -
 src/genericPatchFields/Make/files                            | 4 ++++
 src/genericPatchFields/Make/options                          | 5 +++++
 .../genericFvPatchField}/genericFvPatchField.C               | 0
 .../genericFvPatchField}/genericFvPatchField.H               | 0
 .../genericFvPatchField}/genericFvPatchFields.C              | 0
 .../genericFvPatchField}/genericFvPatchFields.H              | 0
 .../genericPointPatchField}/genericPointPatchField.C         | 0
 .../genericPointPatchField}/genericPointPatchField.H         | 0
 .../genericPointPatchField}/genericPointPatchFields.C        | 0
 .../genericPointPatchField}/genericPointPatchFields.H        | 0
 65 files changed, 96 insertions(+), 36 deletions(-)
 create mode 100644 src/genericPatchFields/Make/files
 create mode 100644 src/genericPatchFields/Make/options
 rename src/{finiteVolume/fields/fvPatchFields/basic/generic => genericPatchFields/genericFvPatchField}/genericFvPatchField.C (100%)
 rename src/{finiteVolume/fields/fvPatchFields/basic/generic => genericPatchFields/genericFvPatchField}/genericFvPatchField.H (100%)
 rename src/{finiteVolume/fields/fvPatchFields/basic/generic => genericPatchFields/genericFvPatchField}/genericFvPatchFields.C (100%)
 rename src/{finiteVolume/fields/fvPatchFields/basic/generic => genericPatchFields/genericFvPatchField}/genericFvPatchFields.H (100%)
 rename src/{OpenFOAM/fields/pointPatchFields/basic/generic => genericPatchFields/genericPointPatchField}/genericPointPatchField.C (100%)
 rename src/{OpenFOAM/fields/pointPatchFields/basic/generic => genericPatchFields/genericPointPatchField}/genericPointPatchField.H (100%)
 rename src/{OpenFOAM/fields/pointPatchFields/basic/generic => genericPatchFields/genericPointPatchField}/genericPointPatchFields.C (100%)
 rename src/{OpenFOAM/fields/pointPatchFields/basic/generic => genericPatchFields/genericPointPatchField}/genericPointPatchFields.H (100%)

diff --git a/applications/utilities/mesh/advanced/refineHexMesh/Make/options b/applications/utilities/mesh/advanced/refineHexMesh/Make/options
index 376f4dff51d..baa7b45f007 100644
--- a/applications/utilities/mesh/advanced/refineHexMesh/Make/options
+++ b/applications/utilities/mesh/advanced/refineHexMesh/Make/options
@@ -7,4 +7,5 @@ EXE_INC = \
 EXE_LIBS = \
     -ldynamicMesh \
     -lmeshTools \
-    -lfiniteVolume
+    -lfiniteVolume \
+    -lgenericPatchFields
diff --git a/applications/utilities/mesh/advanced/removeFaces/Make/options b/applications/utilities/mesh/advanced/removeFaces/Make/options
index 4acbc2cd2e2..63c5dc5d78e 100644
--- a/applications/utilities/mesh/advanced/removeFaces/Make/options
+++ b/applications/utilities/mesh/advanced/removeFaces/Make/options
@@ -6,4 +6,5 @@ EXE_INC = \
 EXE_LIBS = \
     -lmeshTools \
     -ldynamicMesh \
-    -lfiniteVolume
+    -lfiniteVolume \
+    -lgenericPatchFields
diff --git a/applications/utilities/mesh/conversion/polyDualMesh/Make/options b/applications/utilities/mesh/conversion/polyDualMesh/Make/options
index dc318df9983..f3d9c89aac6 100644
--- a/applications/utilities/mesh/conversion/polyDualMesh/Make/options
+++ b/applications/utilities/mesh/conversion/polyDualMesh/Make/options
@@ -5,5 +5,6 @@ EXE_INC = \
 
 EXE_LIBS = \
     -lfiniteVolume \
+    -lgenericPatchFields \
     -ldynamicMesh \
     -lmeshTools
diff --git a/applications/utilities/mesh/manipulation/createBaffles/Make/options b/applications/utilities/mesh/manipulation/createBaffles/Make/options
index d4ab8c1b6b7..f7e0c60fede 100644
--- a/applications/utilities/mesh/manipulation/createBaffles/Make/options
+++ b/applications/utilities/mesh/manipulation/createBaffles/Make/options
@@ -6,4 +6,5 @@ EXE_INC = \
 EXE_LIBS = \
     -ldynamicMesh \
     -lmeshTools \
-    -lfiniteVolume
+    -lfiniteVolume \
+    -lgenericPatchFields
diff --git a/applications/utilities/mesh/manipulation/mergeOrSplitBaffles/Make/options b/applications/utilities/mesh/manipulation/mergeOrSplitBaffles/Make/options
index 792a51bf7fc..523fc41d302 100644
--- a/applications/utilities/mesh/manipulation/mergeOrSplitBaffles/Make/options
+++ b/applications/utilities/mesh/manipulation/mergeOrSplitBaffles/Make/options
@@ -5,5 +5,6 @@ EXE_INC = \
 
 EXE_LIBS = \
     -lfiniteVolume \
+    -lgenericPatchFields \
     -lmeshTools \
     -ldynamicMesh
diff --git a/applications/utilities/mesh/manipulation/renumberMesh/Make/options b/applications/utilities/mesh/manipulation/renumberMesh/Make/options
index 8a7e5d16744..a8d7971b3b4 100644
--- a/applications/utilities/mesh/manipulation/renumberMesh/Make/options
+++ b/applications/utilities/mesh/manipulation/renumberMesh/Make/options
@@ -8,4 +8,5 @@ EXE_LIBS = \
     -lmeshTools \
     -ldynamicMesh \
     -lfiniteVolume \
+    -lgenericPatchFields \
     -ldecompositionMethods
diff --git a/applications/utilities/mesh/manipulation/splitMeshRegions/Make/options b/applications/utilities/mesh/manipulation/splitMeshRegions/Make/options
index 9b8c3dea8c8..da1b9c50167 100644
--- a/applications/utilities/mesh/manipulation/splitMeshRegions/Make/options
+++ b/applications/utilities/mesh/manipulation/splitMeshRegions/Make/options
@@ -5,5 +5,6 @@ EXE_INC = \
 
 EXE_LIBS = \
     -lfiniteVolume \
+    -lgenericPatchFields \
     -ldynamicMesh \
     -lmeshTools
diff --git a/applications/utilities/mesh/manipulation/stitchMesh/Make/options b/applications/utilities/mesh/manipulation/stitchMesh/Make/options
index 98adec69d35..ac523b8282d 100644
--- a/applications/utilities/mesh/manipulation/stitchMesh/Make/options
+++ b/applications/utilities/mesh/manipulation/stitchMesh/Make/options
@@ -1,9 +1,10 @@
 EXE_INC = \
     -I$(LIB_SRC)/dynamicMesh/lnInclude \
     -I$(LIB_SRC)/meshTools/lnInclude \
-    -I$(LIB_SRC)/finiteVolume/lnInclude 
+    -I$(LIB_SRC)/finiteVolume/lnInclude
 
 EXE_LIBS = \
     -ldynamicMesh \
     -lmeshTools \
-    -lfiniteVolume
+    -lfiniteVolume \
+    -lgenericPatchFields
diff --git a/applications/utilities/mesh/manipulation/transformPoints/Make/options b/applications/utilities/mesh/manipulation/transformPoints/Make/options
index fa15f124528..16eb624becb 100644
--- a/applications/utilities/mesh/manipulation/transformPoints/Make/options
+++ b/applications/utilities/mesh/manipulation/transformPoints/Make/options
@@ -2,4 +2,5 @@ EXE_INC = \
     -I$(LIB_SRC)/finiteVolume/lnInclude
 
 EXE_LIBS = \
-    -lfiniteVolume
+    -lfiniteVolume \
+    -lgenericPatchFields
diff --git a/applications/utilities/miscellaneous/foamFormatConvert/Make/options b/applications/utilities/miscellaneous/foamFormatConvert/Make/options
index 10105d2d8a6..b2bc2047e31 100644
--- a/applications/utilities/miscellaneous/foamFormatConvert/Make/options
+++ b/applications/utilities/miscellaneous/foamFormatConvert/Make/options
@@ -6,5 +6,5 @@ EXE_INC = \
 EXE_LIBS = \
     -lmeshTools \
     -lfiniteVolume \
+    -lgenericPatchFields \
     -llagrangian
-
diff --git a/applications/utilities/miscellaneous/patchSummary/Make/options b/applications/utilities/miscellaneous/patchSummary/Make/options
index fa15f124528..16eb624becb 100644
--- a/applications/utilities/miscellaneous/patchSummary/Make/options
+++ b/applications/utilities/miscellaneous/patchSummary/Make/options
@@ -2,4 +2,5 @@ EXE_INC = \
     -I$(LIB_SRC)/finiteVolume/lnInclude
 
 EXE_LIBS = \
-    -lfiniteVolume
+    -lfiniteVolume \
+    -lgenericPatchFields
diff --git a/applications/utilities/parallelProcessing/decomposePar/Make/options b/applications/utilities/parallelProcessing/decomposePar/Make/options
index 4b1adfd7ba2..a1b8151fdd0 100644
--- a/applications/utilities/parallelProcessing/decomposePar/Make/options
+++ b/applications/utilities/parallelProcessing/decomposePar/Make/options
@@ -6,6 +6,7 @@ EXE_INC = \
 
 EXE_LIBS = \
     -lfiniteVolume \
+    -lgenericPatchFields \
     -ldecompositionMethods \
     -llagrangian \
     -lmeshTools
diff --git a/applications/utilities/parallelProcessing/reconstructPar/Make/options b/applications/utilities/parallelProcessing/reconstructPar/Make/options
index 6aa54bb8380..b041c31836a 100644
--- a/applications/utilities/parallelProcessing/reconstructPar/Make/options
+++ b/applications/utilities/parallelProcessing/reconstructPar/Make/options
@@ -4,5 +4,6 @@ EXE_INC = \
 
 EXE_LIBS = \
     -lfiniteVolume \
+    -lgenericPatchFields \
     -llagrangian \
     -lmeshTools
diff --git a/applications/utilities/postProcessing/dataConversion/foamDataToFluent/Make/options b/applications/utilities/postProcessing/dataConversion/foamDataToFluent/Make/options
index fa15f124528..16eb624becb 100644
--- a/applications/utilities/postProcessing/dataConversion/foamDataToFluent/Make/options
+++ b/applications/utilities/postProcessing/dataConversion/foamDataToFluent/Make/options
@@ -2,4 +2,5 @@ EXE_INC = \
     -I$(LIB_SRC)/finiteVolume/lnInclude
 
 EXE_LIBS = \
-    -lfiniteVolume
+    -lfiniteVolume \
+    -lgenericPatchFields
diff --git a/applications/utilities/postProcessing/foamCalc/Make/options b/applications/utilities/postProcessing/foamCalc/Make/options
index dbe9ddc0488..a49fb120417 100644
--- a/applications/utilities/postProcessing/foamCalc/Make/options
+++ b/applications/utilities/postProcessing/foamCalc/Make/options
@@ -4,4 +4,5 @@ EXE_INC = \
 
 EXE_LIBS = \
     -lfiniteVolume \
+    -lgenericPatchFields \
     -lfoamCalcFunctions
diff --git a/applications/utilities/postProcessing/graphics/PV3FoamReader/vtkPV3Foam/Make/options b/applications/utilities/postProcessing/graphics/PV3FoamReader/vtkPV3Foam/Make/options
index b40ecb51d71..1e936c1d5de 100644
--- a/applications/utilities/postProcessing/graphics/PV3FoamReader/vtkPV3Foam/Make/options
+++ b/applications/utilities/postProcessing/graphics/PV3FoamReader/vtkPV3Foam/Make/options
@@ -12,6 +12,7 @@ EXE_INC = \
 
 LIB_LIBS = \
     -lfiniteVolume \
+    -lgenericPatchFields \
     -llagrangian \
     -lmeshTools \
     $(GLIBS)
diff --git a/applications/utilities/postProcessing/graphics/PVFoamReader/vtkFoam/Make/options b/applications/utilities/postProcessing/graphics/PVFoamReader/vtkFoam/Make/options
index 670c68424b6..7dd2c76c8b3 100644
--- a/applications/utilities/postProcessing/graphics/PVFoamReader/vtkFoam/Make/options
+++ b/applications/utilities/postProcessing/graphics/PVFoamReader/vtkFoam/Make/options
@@ -5,4 +5,5 @@ EXE_INC = \
 
 LIB_LIBS = \
     -lfiniteVolume \
+    -lgenericPatchFields \
     $(GLIBS)
diff --git a/applications/utilities/postProcessing/graphics/ensightFoamReader/Make/options b/applications/utilities/postProcessing/graphics/ensightFoamReader/Make/options
index 7a5a2e9b1cc..8d21a9eae4b 100644
--- a/applications/utilities/postProcessing/graphics/ensightFoamReader/Make/options
+++ b/applications/utilities/postProcessing/graphics/ensightFoamReader/Make/options
@@ -7,5 +7,6 @@ EXE_INC = \
 LIB_LIBS = \
     -lOpenFOAM \
     -lfiniteVolume \
+    -lgenericPatchFields \
     -llagrangian \
     $(PROJECT_LIBS)
diff --git a/applications/utilities/postProcessing/graphics/fieldview9Reader/Make/options b/applications/utilities/postProcessing/graphics/fieldview9Reader/Make/options
index b21a3eef2d6..1303d319afc 100644
--- a/applications/utilities/postProcessing/graphics/fieldview9Reader/Make/options
+++ b/applications/utilities/postProcessing/graphics/fieldview9Reader/Make/options
@@ -99,4 +99,5 @@ EXE_INC = \
 EXE_LIBS = \
     $(FV_LIBS) \
     -lfiniteVolume \
+    -lgenericPatchFields \
     -lmeshTools
diff --git a/applications/utilities/postProcessing/lagrangian/particleTracks/Make/options b/applications/utilities/postProcessing/lagrangian/particleTracks/Make/options
index 1adeeefa129..a61c912ba0c 100644
--- a/applications/utilities/postProcessing/lagrangian/particleTracks/Make/options
+++ b/applications/utilities/postProcessing/lagrangian/particleTracks/Make/options
@@ -4,4 +4,5 @@ EXE_INC = \
 
 EXE_LIBS = \
     -lfiniteVolume \
+    -lgenericPatchFields \
     -llagrangian
diff --git a/applications/utilities/postProcessing/miscellaneous/execFlowFunctionObjects/Make/options b/applications/utilities/postProcessing/miscellaneous/execFlowFunctionObjects/Make/options
index fe46b10d13b..66477ecd8e6 100644
--- a/applications/utilities/postProcessing/miscellaneous/execFlowFunctionObjects/Make/options
+++ b/applications/utilities/postProcessing/miscellaneous/execFlowFunctionObjects/Make/options
@@ -15,4 +15,5 @@ EXE_LIBS = \
     -lspecie \
     -lcompressibleRASModels \
     -lcompressibleLESModels \
-    -lfiniteVolume
+    -lfiniteVolume \
+    -lgenericPatchFields
diff --git a/applications/utilities/postProcessing/miscellaneous/postChannel/Make/options b/applications/utilities/postProcessing/miscellaneous/postChannel/Make/options
index b90b6fdd4e1..c5e4b6238bb 100644
--- a/applications/utilities/postProcessing/miscellaneous/postChannel/Make/options
+++ b/applications/utilities/postProcessing/miscellaneous/postChannel/Make/options
@@ -6,4 +6,5 @@ EXE_INC = \
 EXE_LIBS = \
     -lmeshTools \
     -lfiniteVolume \
+    -lgenericPatchFields \
     -lsampling
diff --git a/applications/utilities/postProcessing/miscellaneous/ptot/Make/options b/applications/utilities/postProcessing/miscellaneous/ptot/Make/options
index fa15f124528..16eb624becb 100644
--- a/applications/utilities/postProcessing/miscellaneous/ptot/Make/options
+++ b/applications/utilities/postProcessing/miscellaneous/ptot/Make/options
@@ -2,4 +2,5 @@ EXE_INC = \
     -I$(LIB_SRC)/finiteVolume/lnInclude
 
 EXE_LIBS = \
-    -lfiniteVolume
+    -lfiniteVolume \
+    -lgenericPatchFields
diff --git a/applications/utilities/postProcessing/miscellaneous/wdot/Make/options b/applications/utilities/postProcessing/miscellaneous/wdot/Make/options
index fa15f124528..16eb624becb 100644
--- a/applications/utilities/postProcessing/miscellaneous/wdot/Make/options
+++ b/applications/utilities/postProcessing/miscellaneous/wdot/Make/options
@@ -2,4 +2,5 @@ EXE_INC = \
     -I$(LIB_SRC)/finiteVolume/lnInclude
 
 EXE_LIBS = \
-    -lfiniteVolume
+    -lfiniteVolume \
+    -lgenericPatchFields
diff --git a/applications/utilities/postProcessing/patch/patchAverage/Make/options b/applications/utilities/postProcessing/patch/patchAverage/Make/options
index fa15f124528..16eb624becb 100644
--- a/applications/utilities/postProcessing/patch/patchAverage/Make/options
+++ b/applications/utilities/postProcessing/patch/patchAverage/Make/options
@@ -2,4 +2,5 @@ EXE_INC = \
     -I$(LIB_SRC)/finiteVolume/lnInclude
 
 EXE_LIBS = \
-    -lfiniteVolume
+    -lfiniteVolume \
+    -lgenericPatchFields
diff --git a/applications/utilities/postProcessing/patch/patchIntegrate/Make/options b/applications/utilities/postProcessing/patch/patchIntegrate/Make/options
index fa15f124528..16eb624becb 100644
--- a/applications/utilities/postProcessing/patch/patchIntegrate/Make/options
+++ b/applications/utilities/postProcessing/patch/patchIntegrate/Make/options
@@ -2,4 +2,5 @@ EXE_INC = \
     -I$(LIB_SRC)/finiteVolume/lnInclude
 
 EXE_LIBS = \
-    -lfiniteVolume
+    -lfiniteVolume \
+    -lgenericPatchFields
diff --git a/applications/utilities/postProcessing/sampling/probeLocations/Make/options b/applications/utilities/postProcessing/sampling/probeLocations/Make/options
index 04b22c08a43..44392ffc443 100644
--- a/applications/utilities/postProcessing/sampling/probeLocations/Make/options
+++ b/applications/utilities/postProcessing/sampling/probeLocations/Make/options
@@ -7,6 +7,7 @@ EXE_INC = \
 
 EXE_LIBS = \
     -lfiniteVolume \
+    -lgenericPatchFields \
     -lmeshTools \
     -lsampling \
     -ltriSurface \
diff --git a/applications/utilities/postProcessing/sampling/sample/Make/options b/applications/utilities/postProcessing/sampling/sample/Make/options
index ae583f3388e..4877a530033 100644
--- a/applications/utilities/postProcessing/sampling/sample/Make/options
+++ b/applications/utilities/postProcessing/sampling/sample/Make/options
@@ -8,6 +8,7 @@ EXE_INC = \
 
 EXE_LIBS = \
     -lfiniteVolume \
+    -lgenericPatchFields \
     -lmeshTools \
     -lsampling \
     -lsurfMesh \
diff --git a/applications/utilities/postProcessing/scalarField/pPrime2/Make/options b/applications/utilities/postProcessing/scalarField/pPrime2/Make/options
index fa15f124528..02fc4c17b1d 100644
--- a/applications/utilities/postProcessing/scalarField/pPrime2/Make/options
+++ b/applications/utilities/postProcessing/scalarField/pPrime2/Make/options
@@ -2,4 +2,6 @@ EXE_INC = \
     -I$(LIB_SRC)/finiteVolume/lnInclude
 
 EXE_LIBS = \
-    -lfiniteVolume
+    -lfiniteVolume \
+    -lgenericPatchFields
+
diff --git a/applications/utilities/postProcessing/stressField/stressComponents/Make/options b/applications/utilities/postProcessing/stressField/stressComponents/Make/options
index be60a20b9f4..d1016e9d4d6 100644
--- a/applications/utilities/postProcessing/stressField/stressComponents/Make/options
+++ b/applications/utilities/postProcessing/stressField/stressComponents/Make/options
@@ -5,5 +5,6 @@ EXE_INC = \
 
 EXE_LIBS = \
     -lfiniteVolume \
+    -lgenericPatchFields \
     -lincompressibleRASModels \
     -lincompressibleTransportModels
diff --git a/applications/utilities/postProcessing/turbulence/R/Make/options b/applications/utilities/postProcessing/turbulence/R/Make/options
index 5e71b80afae..0bab1a4e41c 100644
--- a/applications/utilities/postProcessing/turbulence/R/Make/options
+++ b/applications/utilities/postProcessing/turbulence/R/Make/options
@@ -7,4 +7,5 @@ EXE_INC = \
 EXE_LIBS = \
     -lincompressibleRASModels \
     -lincompressibleTransportModels \
-    -lfiniteVolume
+    -lfiniteVolume \
+    -lgenericPatchFields
diff --git a/applications/utilities/postProcessing/turbulence/createTurbulenceFields/Make/options b/applications/utilities/postProcessing/turbulence/createTurbulenceFields/Make/options
index a524a0aae57..88625658635 100644
--- a/applications/utilities/postProcessing/turbulence/createTurbulenceFields/Make/options
+++ b/applications/utilities/postProcessing/turbulence/createTurbulenceFields/Make/options
@@ -7,4 +7,5 @@ EXE_INC = \
 EXE_LIBS = \
     -lincompressibleRASModels \
     -lincompressibleTransportModels \
-    -lfiniteVolume
\ No newline at end of file
+    -lfiniteVolume \
+    -lgenericPatchFields
diff --git a/applications/utilities/postProcessing/velocityField/Co/Make/options b/applications/utilities/postProcessing/velocityField/Co/Make/options
index 7bd0a2d1e0b..9103ae90eca 100644
--- a/applications/utilities/postProcessing/velocityField/Co/Make/options
+++ b/applications/utilities/postProcessing/velocityField/Co/Make/options
@@ -1,7 +1,8 @@
 EXE_INC = \
     -I$(LIB_SRC)/postProcessing/postCalc \
-    -I$(LIB_SRC)/finiteVolume/lnInclude 
+    -I$(LIB_SRC)/finiteVolume/lnInclude
 
 EXE_LIBS = \
     $(FOAM_LIBBIN)/postCalc.o \
-    -lfiniteVolume 
+    -lfiniteVolume \
+    -lgenericPatchFields
diff --git a/applications/utilities/postProcessing/velocityField/Lambda2/Make/options b/applications/utilities/postProcessing/velocityField/Lambda2/Make/options
index cbe51627f28..9103ae90eca 100644
--- a/applications/utilities/postProcessing/velocityField/Lambda2/Make/options
+++ b/applications/utilities/postProcessing/velocityField/Lambda2/Make/options
@@ -4,4 +4,5 @@ EXE_INC = \
 
 EXE_LIBS = \
     $(FOAM_LIBBIN)/postCalc.o \
-    -lfiniteVolume
+    -lfiniteVolume \
+    -lgenericPatchFields
diff --git a/applications/utilities/postProcessing/velocityField/Mach/Make/options b/applications/utilities/postProcessing/velocityField/Mach/Make/options
index 132e3be94ae..c9733e397ac 100644
--- a/applications/utilities/postProcessing/velocityField/Mach/Make/options
+++ b/applications/utilities/postProcessing/velocityField/Mach/Make/options
@@ -6,5 +6,6 @@ EXE_INC = \
 EXE_LIBS = \
     $(FOAM_LIBBIN)/postCalc.o \
     -lfiniteVolume \
+    -lgenericPatchFields \
     -lbasicThermophysicalModels \
     -lspecie
diff --git a/applications/utilities/postProcessing/velocityField/Pe/Make/options b/applications/utilities/postProcessing/velocityField/Pe/Make/options
index aa00dc2b592..7675f43a752 100644
--- a/applications/utilities/postProcessing/velocityField/Pe/Make/options
+++ b/applications/utilities/postProcessing/velocityField/Pe/Make/options
@@ -18,4 +18,5 @@ EXE_LIBS = \
     -lcompressibleRASModels \
     -lcompressibleLESModels \
     -lfiniteVolume \
+    -lgenericPatchFields \
     -lmeshTools
diff --git a/applications/utilities/postProcessing/velocityField/Q/Make/options b/applications/utilities/postProcessing/velocityField/Q/Make/options
index cbe51627f28..9103ae90eca 100644
--- a/applications/utilities/postProcessing/velocityField/Q/Make/options
+++ b/applications/utilities/postProcessing/velocityField/Q/Make/options
@@ -4,4 +4,5 @@ EXE_INC = \
 
 EXE_LIBS = \
     $(FOAM_LIBBIN)/postCalc.o \
-    -lfiniteVolume
+    -lfiniteVolume \
+    -lgenericPatchFields
diff --git a/applications/utilities/postProcessing/velocityField/enstrophy/Make/options b/applications/utilities/postProcessing/velocityField/enstrophy/Make/options
index cbe51627f28..9103ae90eca 100644
--- a/applications/utilities/postProcessing/velocityField/enstrophy/Make/options
+++ b/applications/utilities/postProcessing/velocityField/enstrophy/Make/options
@@ -4,4 +4,5 @@ EXE_INC = \
 
 EXE_LIBS = \
     $(FOAM_LIBBIN)/postCalc.o \
-    -lfiniteVolume
+    -lfiniteVolume \
+    -lgenericPatchFields
diff --git a/applications/utilities/postProcessing/velocityField/flowType/Make/options b/applications/utilities/postProcessing/velocityField/flowType/Make/options
index cbe51627f28..9103ae90eca 100644
--- a/applications/utilities/postProcessing/velocityField/flowType/Make/options
+++ b/applications/utilities/postProcessing/velocityField/flowType/Make/options
@@ -4,4 +4,5 @@ EXE_INC = \
 
 EXE_LIBS = \
     $(FOAM_LIBBIN)/postCalc.o \
-    -lfiniteVolume
+    -lfiniteVolume \
+    -lgenericPatchFields
diff --git a/applications/utilities/postProcessing/velocityField/streamFunction/Make/options b/applications/utilities/postProcessing/velocityField/streamFunction/Make/options
index fa15f124528..16eb624becb 100644
--- a/applications/utilities/postProcessing/velocityField/streamFunction/Make/options
+++ b/applications/utilities/postProcessing/velocityField/streamFunction/Make/options
@@ -2,4 +2,5 @@ EXE_INC = \
     -I$(LIB_SRC)/finiteVolume/lnInclude
 
 EXE_LIBS = \
-    -lfiniteVolume
+    -lfiniteVolume \
+    -lgenericPatchFields
diff --git a/applications/utilities/postProcessing/velocityField/uprime/Make/options b/applications/utilities/postProcessing/velocityField/uprime/Make/options
index cbe51627f28..9103ae90eca 100644
--- a/applications/utilities/postProcessing/velocityField/uprime/Make/options
+++ b/applications/utilities/postProcessing/velocityField/uprime/Make/options
@@ -4,4 +4,5 @@ EXE_INC = \
 
 EXE_LIBS = \
     $(FOAM_LIBBIN)/postCalc.o \
-    -lfiniteVolume
+    -lfiniteVolume \
+    -lgenericPatchFields
diff --git a/applications/utilities/postProcessing/velocityField/vorticity/Make/options b/applications/utilities/postProcessing/velocityField/vorticity/Make/options
index cbe51627f28..35db088457d 100644
--- a/applications/utilities/postProcessing/velocityField/vorticity/Make/options
+++ b/applications/utilities/postProcessing/velocityField/vorticity/Make/options
@@ -4,4 +4,6 @@ EXE_INC = \
 
 EXE_LIBS = \
     $(FOAM_LIBBIN)/postCalc.o \
-    -lfiniteVolume
+    -lfiniteVolume \
+    -lgenericPatchFields
+
diff --git a/applications/utilities/postProcessing/wall/wallGradU/Make/options b/applications/utilities/postProcessing/wall/wallGradU/Make/options
index fa15f124528..16eb624becb 100644
--- a/applications/utilities/postProcessing/wall/wallGradU/Make/options
+++ b/applications/utilities/postProcessing/wall/wallGradU/Make/options
@@ -2,4 +2,5 @@ EXE_INC = \
     -I$(LIB_SRC)/finiteVolume/lnInclude
 
 EXE_LIBS = \
-    -lfiniteVolume
+    -lfiniteVolume \
+    -lgenericPatchFields
diff --git a/applications/utilities/postProcessing/wall/wallHeatFlux/Make/options b/applications/utilities/postProcessing/wall/wallHeatFlux/Make/options
index 8cdfe23fd1d..4d244f56baa 100644
--- a/applications/utilities/postProcessing/wall/wallHeatFlux/Make/options
+++ b/applications/utilities/postProcessing/wall/wallHeatFlux/Make/options
@@ -10,5 +10,6 @@ EXE_LIBS = \
     -lcompressibleRASModels \
     -lreactionThermophysicalModels \
     -lfiniteVolume \
+    -lgenericPatchFields \
     -lspecie \
     -lbasicThermophysicalModels
diff --git a/applications/utilities/postProcessing/wall/wallShearStress/Make/options b/applications/utilities/postProcessing/wall/wallShearStress/Make/options
index 89632547e08..88625658635 100644
--- a/applications/utilities/postProcessing/wall/wallShearStress/Make/options
+++ b/applications/utilities/postProcessing/wall/wallShearStress/Make/options
@@ -7,4 +7,5 @@ EXE_INC = \
 EXE_LIBS = \
     -lincompressibleRASModels \
     -lincompressibleTransportModels \
-    -lfiniteVolume
+    -lfiniteVolume \
+    -lgenericPatchFields
diff --git a/applications/utilities/postProcessing/wall/yPlusLES/Make/options b/applications/utilities/postProcessing/wall/yPlusLES/Make/options
index f6131ce41c1..d7446846b06 100644
--- a/applications/utilities/postProcessing/wall/yPlusLES/Make/options
+++ b/applications/utilities/postProcessing/wall/yPlusLES/Make/options
@@ -9,4 +9,5 @@ EXE_INC = \
 EXE_LIBS = \
     -lincompressibleLESModels \
     -lincompressibleTransportModels \
-    -lfiniteVolume
+    -lfiniteVolume \
+    -lgenericPatchFields
diff --git a/applications/utilities/postProcessing/wall/yPlusRAS/Make/options b/applications/utilities/postProcessing/wall/yPlusRAS/Make/options
index 459989eb9df..888f9e440ef 100644
--- a/applications/utilities/postProcessing/wall/yPlusRAS/Make/options
+++ b/applications/utilities/postProcessing/wall/yPlusRAS/Make/options
@@ -14,5 +14,6 @@ EXE_LIBS = \
     -lspecie \
     -lcompressibleRASModels \
     -lfiniteVolume \
+    -lgenericPatchFields \
     -lmeshTools \
     -lsampling
diff --git a/applications/utilities/preProcessing/applyBoundaryLayer/Make/options b/applications/utilities/preProcessing/applyBoundaryLayer/Make/options
index d27c95d033d..06d42b6c3c9 100644
--- a/applications/utilities/preProcessing/applyBoundaryLayer/Make/options
+++ b/applications/utilities/preProcessing/applyBoundaryLayer/Make/options
@@ -4,4 +4,5 @@ EXE_INC = \
 
 EXE_LIBS = \
     -lfiniteVolume \
+    -lgenericPatchFields \
     -lmeshTools
diff --git a/applications/utilities/preProcessing/applyWallFunctionBoundaryConditions/Make/options b/applications/utilities/preProcessing/applyWallFunctionBoundaryConditions/Make/options
index 1d01ecc4c31..7a1f8e278d5 100644
--- a/applications/utilities/preProcessing/applyWallFunctionBoundaryConditions/Make/options
+++ b/applications/utilities/preProcessing/applyWallFunctionBoundaryConditions/Make/options
@@ -9,5 +9,5 @@ EXE_LIBS = \
     -lbasicThermophysicalModels \
     -lspecie \
     -lcompressibleRASModels \
-    -lfiniteVolume
-
+    -lfiniteVolume \
+    -lgenericPatchFields
diff --git a/applications/utilities/preProcessing/engineSwirl/Make/options b/applications/utilities/preProcessing/engineSwirl/Make/options
index 725122ea1df..02fc4c17b1d 100644
--- a/applications/utilities/preProcessing/engineSwirl/Make/options
+++ b/applications/utilities/preProcessing/engineSwirl/Make/options
@@ -1,4 +1,7 @@
 EXE_INC = \
     -I$(LIB_SRC)/finiteVolume/lnInclude
 
-EXE_LIBS = -lfiniteVolume
+EXE_LIBS = \
+    -lfiniteVolume \
+    -lgenericPatchFields
+
diff --git a/applications/utilities/preProcessing/mapFields/Make/options b/applications/utilities/preProcessing/mapFields/Make/options
index 148fd04d488..7bd964094e4 100644
--- a/applications/utilities/preProcessing/mapFields/Make/options
+++ b/applications/utilities/preProcessing/mapFields/Make/options
@@ -8,4 +8,5 @@ EXE_LIBS = \
     -lsampling \
     -lmeshTools \
     -llagrangian \
-    -lfiniteVolume
+    -lfiniteVolume \
+    -lgenericPatchFields
diff --git a/applications/utilities/preProcessing/setFields/Make/options b/applications/utilities/preProcessing/setFields/Make/options
index d27c95d033d..06d42b6c3c9 100644
--- a/applications/utilities/preProcessing/setFields/Make/options
+++ b/applications/utilities/preProcessing/setFields/Make/options
@@ -4,4 +4,5 @@ EXE_INC = \
 
 EXE_LIBS = \
     -lfiniteVolume \
+    -lgenericPatchFields \
     -lmeshTools
diff --git a/etc/controlDict b/etc/controlDict
index f95e8ef56c8..c1d7416515f 100644
--- a/etc/controlDict
+++ b/etc/controlDict
@@ -366,7 +366,6 @@ DebugSwitches
     directMappedVelocityFlux 0;
     directionMixed      0;
     directional         0;
-    disallowGenericFvsPatchField 0;
     disallowGenericFvPatchField 0;
     disallowGenericPointPatchField 0;
     disallowGenericPolyPatch    0;
diff --git a/src/OpenFOAM/Make/files b/src/OpenFOAM/Make/files
index 8e2f04c3599..e608e4695bc 100644
--- a/src/OpenFOAM/Make/files
+++ b/src/OpenFOAM/Make/files
@@ -478,7 +478,6 @@ $(pointPatchFields)/pointPatchField/pointPatchFields.C
 
 basicPointPatchFields = $(pointPatchFields)/basic
 $(basicPointPatchFields)/calculated/calculatedPointPatchFields.C
-$(basicPointPatchFields)/generic/genericPointPatchFields.C
 $(basicPointPatchFields)/coupled/coupledPointPatchFields.C
 $(basicPointPatchFields)/value/valuePointPatchFields.C
 $(basicPointPatchFields)/fixedValue/fixedValuePointPatchFields.C
diff --git a/src/finiteVolume/Make/files b/src/finiteVolume/Make/files
index 6be4b7f3f49..7ecbf878a61 100644
--- a/src/finiteVolume/Make/files
+++ b/src/finiteVolume/Make/files
@@ -86,7 +86,6 @@ $(basicFvPatchFields)/coupled/coupledFvPatchFields.C
 $(basicFvPatchFields)/directionMixed/directionMixedFvPatchFields.C
 $(basicFvPatchFields)/fixedGradient/fixedGradientFvPatchFields.C
 $(basicFvPatchFields)/fixedValue/fixedValueFvPatchFields.C
-$(basicFvPatchFields)/generic/genericFvPatchFields.C
 $(basicFvPatchFields)/mixed/mixedFvPatchFields.C
 $(basicFvPatchFields)/sliced/slicedFvPatchFields.C
 $(basicFvPatchFields)/transform/transformFvPatchFields.C
diff --git a/src/genericPatchFields/Make/files b/src/genericPatchFields/Make/files
new file mode 100644
index 00000000000..333d154a6d0
--- /dev/null
+++ b/src/genericPatchFields/Make/files
@@ -0,0 +1,4 @@
+genericFvPatchField/genericFvPatchFields.C
+genericPointPatchField/genericPointPatchFields.C
+
+LIB = $(FOAM_LIBBIN)/libgenericPatchFields
diff --git a/src/genericPatchFields/Make/options b/src/genericPatchFields/Make/options
new file mode 100644
index 00000000000..fa15f124528
--- /dev/null
+++ b/src/genericPatchFields/Make/options
@@ -0,0 +1,5 @@
+EXE_INC = \
+    -I$(LIB_SRC)/finiteVolume/lnInclude
+
+EXE_LIBS = \
+    -lfiniteVolume
diff --git a/src/finiteVolume/fields/fvPatchFields/basic/generic/genericFvPatchField.C b/src/genericPatchFields/genericFvPatchField/genericFvPatchField.C
similarity index 100%
rename from src/finiteVolume/fields/fvPatchFields/basic/generic/genericFvPatchField.C
rename to src/genericPatchFields/genericFvPatchField/genericFvPatchField.C
diff --git a/src/finiteVolume/fields/fvPatchFields/basic/generic/genericFvPatchField.H b/src/genericPatchFields/genericFvPatchField/genericFvPatchField.H
similarity index 100%
rename from src/finiteVolume/fields/fvPatchFields/basic/generic/genericFvPatchField.H
rename to src/genericPatchFields/genericFvPatchField/genericFvPatchField.H
diff --git a/src/finiteVolume/fields/fvPatchFields/basic/generic/genericFvPatchFields.C b/src/genericPatchFields/genericFvPatchField/genericFvPatchFields.C
similarity index 100%
rename from src/finiteVolume/fields/fvPatchFields/basic/generic/genericFvPatchFields.C
rename to src/genericPatchFields/genericFvPatchField/genericFvPatchFields.C
diff --git a/src/finiteVolume/fields/fvPatchFields/basic/generic/genericFvPatchFields.H b/src/genericPatchFields/genericFvPatchField/genericFvPatchFields.H
similarity index 100%
rename from src/finiteVolume/fields/fvPatchFields/basic/generic/genericFvPatchFields.H
rename to src/genericPatchFields/genericFvPatchField/genericFvPatchFields.H
diff --git a/src/OpenFOAM/fields/pointPatchFields/basic/generic/genericPointPatchField.C b/src/genericPatchFields/genericPointPatchField/genericPointPatchField.C
similarity index 100%
rename from src/OpenFOAM/fields/pointPatchFields/basic/generic/genericPointPatchField.C
rename to src/genericPatchFields/genericPointPatchField/genericPointPatchField.C
diff --git a/src/OpenFOAM/fields/pointPatchFields/basic/generic/genericPointPatchField.H b/src/genericPatchFields/genericPointPatchField/genericPointPatchField.H
similarity index 100%
rename from src/OpenFOAM/fields/pointPatchFields/basic/generic/genericPointPatchField.H
rename to src/genericPatchFields/genericPointPatchField/genericPointPatchField.H
diff --git a/src/OpenFOAM/fields/pointPatchFields/basic/generic/genericPointPatchFields.C b/src/genericPatchFields/genericPointPatchField/genericPointPatchFields.C
similarity index 100%
rename from src/OpenFOAM/fields/pointPatchFields/basic/generic/genericPointPatchFields.C
rename to src/genericPatchFields/genericPointPatchField/genericPointPatchFields.C
diff --git a/src/OpenFOAM/fields/pointPatchFields/basic/generic/genericPointPatchFields.H b/src/genericPatchFields/genericPointPatchField/genericPointPatchFields.H
similarity index 100%
rename from src/OpenFOAM/fields/pointPatchFields/basic/generic/genericPointPatchFields.H
rename to src/genericPatchFields/genericPointPatchField/genericPointPatchFields.H
-- 
GitLab