diff --git a/applications/utilities/mesh/advanced/refineHexMesh/Make/options b/applications/utilities/mesh/advanced/refineHexMesh/Make/options
index 376f4dff51d6c32550bd7c1a13421daab764823c..baa7b45f0074eb77361cd1d7db56bcae9c5b4969 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 4acbc2cd2e23e84dc755b106f1ecdd48edbaf70b..63c5dc5d78e26d3a65c8457900aef8f007067f9c 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 dc318df99832515cca0862ee9d04aea77fda2baf..f3d9c89aac6b56684dfdd770443cebf73cd14175 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 d4ab8c1b6b7a9960444b02e6b57d0aa18c1c9ea7..f7e0c60fedea00451bdc73c3c14e83ad22937f70 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 792a51bf7fce4e4db070d172f67aac88e26b0fc4..523fc41d302a0d60aeb55dab28487c51857ecd36 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 8a7e5d167449b3092f4e01ba390c5e8cb6d5d184..a8d7971b3b4a3ff72007b43a9db20a85694ca376 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 9b8c3dea8c859ed322ebac8c35158abedbc625f4..da1b9c50167ad9f68701dbeec656bac1d2187d06 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 98adec69d355217e62b88bc142af3a3982c58f49..ac523b8282d2edac3839731ad187509ea9240706 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 fa15f124528ebfcaf279a88a73a0d7954f2e9dc1..16eb624becb6894353d6c74bb8bab5de37551b56 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 10105d2d8a610405bcce2afd11b7784a040e087f..b2bc2047e317f0b08416aaecdfe3b19c083cf7f8 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 fa15f124528ebfcaf279a88a73a0d7954f2e9dc1..16eb624becb6894353d6c74bb8bab5de37551b56 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 4b1adfd7ba270dc7af91f2c664e8a661796e3e48..a1b8151fdd0fef6e0a5087b2708fea8ffd0ce2aa 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 6aa54bb838038da444ac72ce8c5dbd4d03d10424..b041c31836a1f66e3fa559170637574539005686 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 fa15f124528ebfcaf279a88a73a0d7954f2e9dc1..16eb624becb6894353d6c74bb8bab5de37551b56 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 dbe9ddc0488d2f4b3fa0a296368149fcf54c0a95..a49fb1204176e91ff34b0255e215b8e80a757af3 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 b40ecb51d71299823066b9b2278542c40daa0151..1e936c1d5de89d2884fdd81bf1d77a059a38ce4a 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 670c68424b6cb0a590c7ef39ff48be899c3244fc..7dd2c76c8b3f0e89a1192f4cdf48e988b7b66e35 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 7a5a2e9b1cc47f1a8cbed335c24d4715f3f00a4d..8d21a9eae4bf6e14c70a367b62a0037ab9ad777f 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 b21a3eef2d65b888295482d95d44f7dbf22da620..1303d319afce22a4438a85aea682122ff3ceae8b 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 1adeeefa12999bb91513d9e0b16a0a52a9fc15d2..a61c912ba0cb6c18a0857e0508dd8f4d853e08ce 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 fe46b10d13b93549e28c1beb1fd07ed44762219a..66477ecd8e6c9da88671e00c507f1d4bc2a107ca 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 b90b6fdd4e1c3b114664c9123a92ff043fca7244..c5e4b6238bbfb3acfee55acaee28fddb6f013c01 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 fa15f124528ebfcaf279a88a73a0d7954f2e9dc1..16eb624becb6894353d6c74bb8bab5de37551b56 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 fa15f124528ebfcaf279a88a73a0d7954f2e9dc1..16eb624becb6894353d6c74bb8bab5de37551b56 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 fa15f124528ebfcaf279a88a73a0d7954f2e9dc1..16eb624becb6894353d6c74bb8bab5de37551b56 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 fa15f124528ebfcaf279a88a73a0d7954f2e9dc1..16eb624becb6894353d6c74bb8bab5de37551b56 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 04b22c08a43668605ad1f5dab7bc06f0a962e058..44392ffc4437ed4013fba29bf3a948028cfadb61 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 ae583f3388ec7ea9040a7e6cb68db67748cd5c53..4877a53003324da70a11fdc9d0c4211de08c905d 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 fa15f124528ebfcaf279a88a73a0d7954f2e9dc1..02fc4c17b1d2e473ff7ee82e42265fe8ea3fc5d3 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 be60a20b9f4548d0983a8e22bf3cb3eaa1c6ec0b..d1016e9d4d6e35d72cd165e646024082664c9243 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 5e71b80afae8eb93a31b2d23a1707d5e2ecccec5..0bab1a4e41c512f80f2832bb2e79c978ad5058d9 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 a524a0aae574a33db8620e0285ac29be457d0bfb..88625658635aad84f541d7f9cb1adcdff85fac08 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 7bd0a2d1e0bcaff6d521031cd87758d7066c40d2..9103ae90ecabcc3475c0989e596dfce5dbc9ef8c 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 cbe51627f28e7e1f78ab617dbbc88f38a3a8af78..9103ae90ecabcc3475c0989e596dfce5dbc9ef8c 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 132e3be94ae2bac59afae1a249501df4dbb5cd5b..c9733e397ac5cf34d0d6a73af6cb619871ebc47d 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 aa00dc2b592e67bbded1c5b75957a98035d5f94d..7675f43a75295d0d10acabe3785738463c814282 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 cbe51627f28e7e1f78ab617dbbc88f38a3a8af78..9103ae90ecabcc3475c0989e596dfce5dbc9ef8c 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 cbe51627f28e7e1f78ab617dbbc88f38a3a8af78..9103ae90ecabcc3475c0989e596dfce5dbc9ef8c 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 cbe51627f28e7e1f78ab617dbbc88f38a3a8af78..9103ae90ecabcc3475c0989e596dfce5dbc9ef8c 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 fa15f124528ebfcaf279a88a73a0d7954f2e9dc1..16eb624becb6894353d6c74bb8bab5de37551b56 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 cbe51627f28e7e1f78ab617dbbc88f38a3a8af78..9103ae90ecabcc3475c0989e596dfce5dbc9ef8c 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 cbe51627f28e7e1f78ab617dbbc88f38a3a8af78..35db088457dc6248c3b905126a15b451c902a2ac 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 fa15f124528ebfcaf279a88a73a0d7954f2e9dc1..16eb624becb6894353d6c74bb8bab5de37551b56 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 8cdfe23fd1daf63d9c8e782f084eb202d891dd6e..4d244f56baa078788f3c7624c1733e91c34b08d9 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 89632547e0815e442b8f0082777fabb715fbc981..88625658635aad84f541d7f9cb1adcdff85fac08 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 f6131ce41c17a8d8d5b852fe0e1f07e1d62308f6..d7446846b06e6d87e4aae4afaf351985b0262565 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 459989eb9dfe19c0ed384e9b7db2e95d04b75861..888f9e440ef43053a0a3ec5379dcbec8dd1b42a7 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 d27c95d033dd5d7b1995c8ff8dc406e35ca1f586..06d42b6c3c9c5642799cda141c957280418d00b0 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 1d01ecc4c31db673f8e8b0ace9c81a79eda953e5..7a1f8e278d5aa4904d5c6d21476c08fef1844866 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 725122ea1df804ba46bb14bdca8a527b9e8386cc..02fc4c17b1d2e473ff7ee82e42265fe8ea3fc5d3 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 148fd04d48844a65aa7a88c4fc4a9c457ca3d13a..7bd964094e47227f22d57a6b880ef940b5579b16 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 d27c95d033dd5d7b1995c8ff8dc406e35ca1f586..06d42b6c3c9c5642799cda141c957280418d00b0 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 f95e8ef56c8fae4dd55415cbf493f446fb55e9ca..c1d7416515f2c7495b8350794ebdfb52748b47a5 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 8e2f04c3599fa398e25d497d425cbc68aaf61a7e..e608e4695bca383c91b9902a921da1176434eaad 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 6be4b7f3f49731e2966bebb58bb7a4f18618dc66..7ecbf878a61aa263e4577d596efc88d8e2be577c 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 0000000000000000000000000000000000000000..333d154a6d0841d9b3fb62001cf5458e693be563
--- /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 0000000000000000000000000000000000000000..fa15f124528ebfcaf279a88a73a0d7954f2e9dc1
--- /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