From b41d5ed5237539dc01e8e18796671855db5c7eda Mon Sep 17 00:00:00 2001
From: Mark Olesen <Mark.Olesen@esi-group.com>
Date: Wed, 11 Jul 2018 17:02:40 +0200
Subject: [PATCH] STYLE: remove deprecated constraints format from tutorials

---
 .../hexRef8/block/system/decomposeParDict     | 48 ++++++++----
 .../cavity/system/decomposeParDict            | 52 +++++++------
 .../cavity/system/decomposeParDict-2          | 52 +++++++------
 .../cavity/system/decomposeParDict-5          | 52 +++++++------
 .../cavity_pinched/system/decomposeParDict    | 46 ++++++++----
 .../system/decomposeParDict                   |  6 +-
 .../multiRegionHeater/system/decomposeParDict | 16 +++-
 .../system/decomposeParDict                   | 17 ++++-
 .../system/decomposeParDict                   | 14 +++-
 .../system/decomposeParDict                   | 15 +++-
 .../filter/system/decomposeParDict            | 16 ++--
 .../parallel/cavity/system/decomposeParDict   | 71 +++++++++++-------
 .../parallel/cavity/system/decomposeParDict-5 | 75 ++++++++++++-------
 .../parallel/filter/system/decomposeParDict   | 14 ++--
 .../system/decomposeParDict                   | 72 +++++++++++-------
 .../system/bottomAir/decomposeParDict         | 15 +++-
 .../system/decomposeParDict                   | 15 +++-
 .../system/heater/decomposeParDict            | 15 +++-
 .../system/leftSolid/decomposeParDict         | 15 +++-
 .../system/rightSolid/decomposeParDict        | 15 +++-
 .../system/topAir/decomposeParDict            | 15 +++-
 21 files changed, 433 insertions(+), 223 deletions(-)

diff --git a/applications/test/hexRef8/block/system/decomposeParDict b/applications/test/hexRef8/block/system/decomposeParDict
index 884a85624ec..ac4be587d45 100644
--- a/applications/test/hexRef8/block/system/decomposeParDict
+++ b/applications/test/hexRef8/block/system/decomposeParDict
@@ -17,22 +17,6 @@ FoamFile
 
 numberOfSubdomains  2;
 
-//- Keep owner and neighbour on same processor for faces in zones:
-// preserveFaceZones (heater solid1 solid3);
-
-//- Keep owner and neighbour on same processor for faces in patches:
-//  (makes sense only for cyclic patches)
-//preservePatches (cyclic_half0 cyclic_half1);
-
-//- Keep all of faceSet on a single processor. This puts all cells
-//  connected with a point, edge or face on the same processor.
-//  (just having face connected cells might not guarantee a balanced
-//  decomposition)
-// The processor can be -1 (the decompositionMethod chooses the processor
-// for a good load balance) or explicitly provided (upsets balance).
-//singleProcessorFaceSets ((f0 -1));
-
-
 //- Use the volScalarField named here as a weight for each cell in the
 //  decomposition.  For example, use a particle population field to decompose
 //  for a balanced number of particles in a lagrangian simulation.
@@ -126,6 +110,38 @@ structuredCoeffs
     method      scotch;
 }
 
+
+/*
+constraints
+{
+    //- Keep owner and neighbour on same processor for faces in zones:
+    faces
+    {
+        type    preserveFaceZones,
+        zones   (heater solid1 solid3);
+    }
+    //- Keep owner and neighbour on same processor for faces in patches:
+    //  (makes sense only for cyclic patches)
+    patches
+    {
+        type    preservePatches,
+        patches (cyclic_half0 cyclic_half1);
+    }
+    //- Keep all of faceSet on a single processor. This puts all cells
+    //  connected with a point, edge or face on the same processor.
+    //  (just having face connected cells might not guarantee a balanced
+    //  decomposition)
+    // The processor can be -1 (the decompositionMethod chooses the processor
+    // for a good load balance) or explicitly provided (upsets balance).
+    processors
+    {
+        type    singleProcessorFaceSets;
+        sets    ((f0 -1));
+    }
+}
+*/
+
+
 //// Is the case distributed? Note: command-line argument -roots takes
 //// precedence
 //distributed     yes;
diff --git a/applications/test/mapDistributePolyMesh/cavity/system/decomposeParDict b/applications/test/mapDistributePolyMesh/cavity/system/decomposeParDict
index 4a13ccbaef6..911121a5325 100644
--- a/applications/test/mapDistributePolyMesh/cavity/system/decomposeParDict
+++ b/applications/test/mapDistributePolyMesh/cavity/system/decomposeParDict
@@ -17,27 +17,6 @@ FoamFile
 
 numberOfSubdomains  2;
 
-//- Keep owner and neighbour on same processor for faces in zones:
-// preserveFaceZones (heater solid1 solid3);
-
-//- Keep owner and neighbour on same processor for faces in patches:
-//  (makes sense only for cyclic patches)
-//preservePatches (cyclic_half0 cyclic_half1);
-
-//- Keep all of faceSet on a single processor. This puts all cells
-//  connected with a point, edge or face on the same processor.
-//  (just having face connected cells might not guarantee a balanced
-//  decomposition)
-// The processor can be -1 (the decompositionMethod chooses the processor
-// for a good load balance) or explicitly provided (upsets balance).
-//singleProcessorFaceSets ((f0 -1));
-
-
-//- Keep owner and neighbour of baffles on same processor (i.e. keep it
-//  detectable as a baffle). Baffles are two boundary face sharing the
-//  same points.
-//preserveBaffles true;
-
 //- Use the volScalarField named here as a weight for each cell in the
 //  decomposition.  For example, use a particle population field to decompose
 //  for a balanced number of particles in a lagrangian simulation.
@@ -130,6 +109,37 @@ structuredCoeffs
     method      scotch;
 }
 
+
+/*
+constraints
+{
+    //- Keep owner and neighbour on same processor for faces in zones:
+    faces
+    {
+        type    preserveFaceZones,
+        zones   (heater solid1 solid3);
+    }
+    //- Keep owner and neighbour on same processor for faces in patches:
+    //  (makes sense only for cyclic patches)
+    patches
+    {
+        type    preservePatches,
+        patches (cyclic_half0 cyclic_half1);
+    }
+    //- Keep all of faceSet on a single processor. This puts all cells
+    //  connected with a point, edge or face on the same processor.
+    //  (just having face connected cells might not guarantee a balanced
+    //  decomposition)
+    // The processor can be -1 (the decompositionMethod chooses the processor
+    // for a good load balance) or explicitly provided (upsets balance).
+    processors
+    {
+        type    singleProcessorFaceSets;
+        sets    ((f0 -1));
+    }
+}
+*/
+
 //// Is the case distributed? Note: command-line argument -roots takes
 //// precedence
 //distributed     yes;
diff --git a/applications/test/mapDistributePolyMesh/cavity/system/decomposeParDict-2 b/applications/test/mapDistributePolyMesh/cavity/system/decomposeParDict-2
index 4a13ccbaef6..287b9841d98 100644
--- a/applications/test/mapDistributePolyMesh/cavity/system/decomposeParDict-2
+++ b/applications/test/mapDistributePolyMesh/cavity/system/decomposeParDict-2
@@ -17,27 +17,6 @@ FoamFile
 
 numberOfSubdomains  2;
 
-//- Keep owner and neighbour on same processor for faces in zones:
-// preserveFaceZones (heater solid1 solid3);
-
-//- Keep owner and neighbour on same processor for faces in patches:
-//  (makes sense only for cyclic patches)
-//preservePatches (cyclic_half0 cyclic_half1);
-
-//- Keep all of faceSet on a single processor. This puts all cells
-//  connected with a point, edge or face on the same processor.
-//  (just having face connected cells might not guarantee a balanced
-//  decomposition)
-// The processor can be -1 (the decompositionMethod chooses the processor
-// for a good load balance) or explicitly provided (upsets balance).
-//singleProcessorFaceSets ((f0 -1));
-
-
-//- Keep owner and neighbour of baffles on same processor (i.e. keep it
-//  detectable as a baffle). Baffles are two boundary face sharing the
-//  same points.
-//preserveBaffles true;
-
 //- Use the volScalarField named here as a weight for each cell in the
 //  decomposition.  For example, use a particle population field to decompose
 //  for a balanced number of particles in a lagrangian simulation.
@@ -130,6 +109,37 @@ structuredCoeffs
     method      scotch;
 }
 
+/*
+constraints
+{
+    //- Keep owner and neighbour on same processor for faces in zones:
+    faces
+    {
+        type    preserveFaceZones,
+        zones   (heater solid1 solid3);
+    }
+    //- Keep owner and neighbour on same processor for faces in patches:
+    //  (makes sense only for cyclic patches)
+    patches
+    {
+        type    preservePatches,
+        patches (cyclic_half0 cyclic_half1);
+    }
+    //- Keep all of faceSet on a single processor. This puts all cells
+    //  connected with a point, edge or face on the same processor.
+    //  (just having face connected cells might not guarantee a balanced
+    //  decomposition)
+    // The processor can be -1 (the decompositionMethod chooses the processor
+    // for a good load balance) or explicitly provided (upsets balance).
+    processors
+    {
+        type    singleProcessorFaceSets;
+        sets    ((f0 -1));
+    }
+}
+*/
+
+
 //// Is the case distributed? Note: command-line argument -roots takes
 //// precedence
 //distributed     yes;
diff --git a/applications/test/mapDistributePolyMesh/cavity/system/decomposeParDict-5 b/applications/test/mapDistributePolyMesh/cavity/system/decomposeParDict-5
index 426e8b0d065..f3274a9be28 100644
--- a/applications/test/mapDistributePolyMesh/cavity/system/decomposeParDict-5
+++ b/applications/test/mapDistributePolyMesh/cavity/system/decomposeParDict-5
@@ -17,27 +17,6 @@ FoamFile
 
 numberOfSubdomains  5;
 
-//- Keep owner and neighbour on same processor for faces in zones:
-// preserveFaceZones (heater solid1 solid3);
-
-//- Keep owner and neighbour on same processor for faces in patches:
-//  (makes sense only for cyclic patches)
-//preservePatches (cyclic_half0 cyclic_half1);
-
-//- Keep all of faceSet on a single processor. This puts all cells
-//  connected with a point, edge or face on the same processor.
-//  (just having face connected cells might not guarantee a balanced
-//  decomposition)
-// The processor can be -1 (the decompositionMethod chooses the processor
-// for a good load balance) or explicitly provided (upsets balance).
-//singleProcessorFaceSets ((f0 -1));
-
-
-//- Keep owner and neighbour of baffles on same processor (i.e. keep it
-//  detectable as a baffle). Baffles are two boundary face sharing the
-//  same points.
-//preserveBaffles true;
-
 //- Use the volScalarField named here as a weight for each cell in the
 //  decomposition.  For example, use a particle population field to decompose
 //  for a balanced number of particles in a lagrangian simulation.
@@ -130,6 +109,37 @@ structuredCoeffs
     method      scotch;
 }
 
+/*
+constraints
+{
+    //- Keep owner and neighbour on same processor for faces in zones:
+    faces
+    {
+        type    preserveFaceZones,
+        zones   (heater solid1 solid3);
+    }
+    //- Keep owner and neighbour on same processor for faces in patches:
+    //  (makes sense only for cyclic patches)
+    patches
+    {
+        type    preservePatches,
+        patches (cyclic_half0 cyclic_half1);
+    }
+    //- Keep all of faceSet on a single processor. This puts all cells
+    //  connected with a point, edge or face on the same processor.
+    //  (just having face connected cells might not guarantee a balanced
+    //  decomposition)
+    // The processor can be -1 (the decompositionMethod chooses the processor
+    // for a good load balance) or explicitly provided (upsets balance).
+    processors
+    {
+        type    singleProcessorFaceSets;
+        sets    ((f0 -1));
+    }
+}
+*/
+
+
 //// Is the case distributed? Note: command-line argument -roots takes
 //// precedence
 //distributed     yes;
diff --git a/applications/test/patchRegion/cavity_pinched/system/decomposeParDict b/applications/test/patchRegion/cavity_pinched/system/decomposeParDict
index 472b762e769..05fb82d4af3 100644
--- a/applications/test/patchRegion/cavity_pinched/system/decomposeParDict
+++ b/applications/test/patchRegion/cavity_pinched/system/decomposeParDict
@@ -17,22 +17,6 @@ FoamFile
 
 numberOfSubdomains  2;
 
-//- Keep owner and neighbour on same processor for faces in zones:
-// preserveFaceZones (heater solid1 solid3);
-
-//- Keep owner and neighbour on same processor for faces in patches:
-//  (makes sense only for cyclic patches)
-//preservePatches (cyclic_half0 cyclic_half1);
-
-//- Keep all of faceSet on a single processor. This puts all cells
-//  connected with a point, edge or face on the same processor.
-//  (just having face connected cells might not guarantee a balanced
-//  decomposition)
-// The processor can be -1 (the decompositionMethod chooses the processor
-// for a good load balance) or explicitly provided (upsets balance).
-//singleProcessorFaceSets ((f0 -1));
-
-
 //- Use the volScalarField named here as a weight for each cell in the
 //  decomposition.  For example, use a particle population field to decompose
 //  for a balanced number of particles in a lagrangian simulation.
@@ -125,6 +109,36 @@ structuredCoeffs
     method      scotch;
 }
 
+/*
+constraints
+{
+    //- Keep owner and neighbour on same processor for faces in zones:
+    faces
+    {
+        type    preserveFaceZones,
+        zones   (heater solid1 solid3);
+    }
+    //- Keep owner and neighbour on same processor for faces in patches:
+    //  (makes sense only for cyclic patches)
+    patches
+    {
+        type    preservePatches,
+        patches (cyclic_half0 cyclic_half1);
+    }
+    //- Keep all of faceSet on a single processor. This puts all cells
+    //  connected with a point, edge or face on the same processor.
+    //  (just having face connected cells might not guarantee a balanced
+    //  decomposition)
+    // The processor can be -1 (the decompositionMethod chooses the processor
+    // for a good load balance) or explicitly provided (upsets balance).
+    processors
+    {
+        type    singleProcessorFaceSets;
+        sets    ((f0 -1));
+    }
+}
+*/
+
 //// Is the case distributed? Note: command-line argument -roots takes
 //// precedence
 //distributed     yes;
diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/externalCoupledHeater/system/decomposeParDict b/tutorials/heatTransfer/chtMultiRegionFoam/externalCoupledHeater/system/decomposeParDict
index a46e9617d47..e8c69a5d1a5 100644
--- a/tutorials/heatTransfer/chtMultiRegionFoam/externalCoupledHeater/system/decomposeParDict
+++ b/tutorials/heatTransfer/chtMultiRegionFoam/externalCoupledHeater/system/decomposeParDict
@@ -16,9 +16,6 @@ FoamFile
 
 numberOfSubdomains  4;
 
-//- Keep owner and neighbour on same processor for faces in zones:
-// preserveFaceZones (heater solid1 solid3);
-
 method          scotch;
 // method          hierarchical;
 // method          simple;
@@ -27,9 +24,8 @@ method          scotch;
 coeffs
 {
     n           (2 2 1);
-    //delta       0.001; // default=0.001
-    //order       xyz;   // default=xzy
     dataFile    "decompositionData";
 }
 
+
 // ************************************************************************* //
diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/system/decomposeParDict b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/system/decomposeParDict
index 392b808bddc..6a683b0b2f0 100644
--- a/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/system/decomposeParDict
+++ b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/system/decomposeParDict
@@ -16,11 +16,7 @@ FoamFile
 
 numberOfSubdomains  4;
 
-//- Keep owner and neighbour on same processor for faces in zones:
-// preserveFaceZones (heater solid1 solid3);
-
 method          scotch;
-
 // method          hierarchical;
 // method          simple;
 // method          manual;
@@ -44,4 +40,16 @@ coeffs
     n       (2 2 1);
 }
 
+/*
+constraints
+{
+    //- Keep owner and neighbour on same processor for faces in zones:
+    faces
+    {
+        type    preserveFaceZones,
+        zones   (heater solid1 solid3);
+    }
+}
+*/
+
 // ************************************************************************* //
diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/system/decomposeParDict b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/system/decomposeParDict
index 019ea832f96..d41dd8c98cb 100644
--- a/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/system/decomposeParDict
+++ b/tutorials/heatTransfer/chtMultiRegionFoam/snappyMultiRegionHeater/system/decomposeParDict
@@ -16,9 +16,6 @@ FoamFile
 
 numberOfSubdomains  4;
 
-//- Keep owner and neighbour on same processor for faces in zones:
-// preserveFaceZones (heater solid1 solid3);
-
 method          scotch;
 
 regions
@@ -26,7 +23,7 @@ regions
     heater
     {
         numberOfSubdomains  1;
-        method          simple;
+        method      simple;
 
         coeffs
         {
@@ -40,4 +37,16 @@ coeffs
     n       (2 2 1);
 }
 
+/*
+constraints
+{
+    //- Keep owner and neighbour on same processor for faces in zones:
+    faces
+    {
+        type    preserveFaceZones,
+        zones   (heater solid1 solid3);
+    }
+}
+*/
+
 // ************************************************************************* //
diff --git a/tutorials/heatTransfer/chtMultiRegionSimpleFoam/externalCoupledHeater/system/decomposeParDict b/tutorials/heatTransfer/chtMultiRegionSimpleFoam/externalCoupledHeater/system/decomposeParDict
index c493fe9e6bb..db7a44b8470 100644
--- a/tutorials/heatTransfer/chtMultiRegionSimpleFoam/externalCoupledHeater/system/decomposeParDict
+++ b/tutorials/heatTransfer/chtMultiRegionSimpleFoam/externalCoupledHeater/system/decomposeParDict
@@ -16,10 +16,18 @@ FoamFile
 
 numberOfSubdomains  4;
 
-//- Keep owner and neighbour on same processor for faces in zones:
-// preserveFaceZones (heater solid1 solid3);
-
 method          scotch;
 
+/*
+constraints
+{
+    //- Keep owner and neighbour on same processor for faces in zones:
+    faces
+    {
+        type    preserveFaceZones,
+        zones   (heater solid1 solid3);
+    }
+}
+*/
 
 // ************************************************************************* //
diff --git a/tutorials/heatTransfer/chtMultiRegionSimpleFoam/multiRegionHeaterRadiation/system/decomposeParDict b/tutorials/heatTransfer/chtMultiRegionSimpleFoam/multiRegionHeaterRadiation/system/decomposeParDict
index 84839a8d06d..ab5f3e8ddc4 100644
--- a/tutorials/heatTransfer/chtMultiRegionSimpleFoam/multiRegionHeaterRadiation/system/decomposeParDict
+++ b/tutorials/heatTransfer/chtMultiRegionSimpleFoam/multiRegionHeaterRadiation/system/decomposeParDict
@@ -16,9 +16,6 @@ FoamFile
 
 numberOfSubdomains  4;
 
-//- Keep owner and neighbour on same processor for faces in zones:
-// preserveFaceZones (heater solid1 solid3);
-
 method          scotch;
 // method          hierarchical;
 // method          simple;
@@ -37,4 +34,16 @@ scotchCoeffs
 }
 
 
+/*
+constraints
+{
+    //- Keep owner and neighbour on same processor for faces in zones:
+    faces
+    {
+        type    preserveFaceZones,
+        zones   (heater solid1 solid3);
+    }
+}
+*/
+
 // ************************************************************************* //
diff --git a/tutorials/lagrangian/reactingParcelFoam/filter/system/decomposeParDict b/tutorials/lagrangian/reactingParcelFoam/filter/system/decomposeParDict
index 6ca27c3a100..705fe24c65e 100644
--- a/tutorials/lagrangian/reactingParcelFoam/filter/system/decomposeParDict
+++ b/tutorials/lagrangian/reactingParcelFoam/filter/system/decomposeParDict
@@ -18,15 +18,19 @@ numberOfSubdomains 4;
 
 method          scotch;
 
-preserveFaceZones
-(
-    cycLeft
-    cycRight
-);
-
 coeffs
 {
     n       (2 2 1);
 }
 
+constraints
+{
+    //- Keep owner and neighbour on same processor for faces in zones:
+    faces
+    {
+        type    preserveFaceZones,
+        zones   (cycLeft cycRight);
+    }
+}
+
 // ************************************************************************* //
diff --git a/tutorials/mesh/parallel/cavity/system/decomposeParDict b/tutorials/mesh/parallel/cavity/system/decomposeParDict
index e4d2ef5435b..978d27ee1da 100644
--- a/tutorials/mesh/parallel/cavity/system/decomposeParDict
+++ b/tutorials/mesh/parallel/cavity/system/decomposeParDict
@@ -17,27 +17,6 @@ FoamFile
 
 numberOfSubdomains  2;
 
-//- Keep owner and neighbour on same processor for faces in zones:
-// preserveFaceZones (heater solid1 solid3);
-
-//- Keep owner and neighbour on same processor for faces in patches:
-//  (makes sense only for cyclic patches)
-//preservePatches (cyclic_half0 cyclic_half1);
-
-//- Keep all of faceSet on a single processor. This puts all cells
-//  connected with a point, edge or face on the same processor.
-//  (just having face connected cells might not guarantee a balanced
-//  decomposition)
-// The processor can be -1 (the decompositionMethod chooses the processor
-// for a good load balance) or explicitly provided (upsets balance).
-//singleProcessorFaceSets ((f0 -1));
-
-
-//- Keep owner and neighbour of baffles on same processor (i.e. keep it
-//  detectable as a baffle). Baffles are two boundary face sharing the
-//  same points.
-//preserveBaffles true;
-
 //- Use the volScalarField named here as a weight for each cell in the
 //  decomposition.  For example, use a particle population field to decompose
 //  for a balanced number of particles in a lagrangian simulation.
@@ -79,15 +58,12 @@ multiLevelCoeffs
 
 simpleCoeffs
 {
-    n           (2 1 1);
-    delta       0.001;
+    n       (2 1 1);
 }
 
 hierarchicalCoeffs
 {
-    n           (1 2 1);
-    delta       0.001;
-    order       xyz;
+    n       (1 2 1);
 }
 
 metisCoeffs
@@ -131,6 +107,49 @@ structuredCoeffs
     method      scotch;
 }
 
+constraints
+{
+    //- Keep owner and neighbour on same processor for faces in zones:
+    zones
+    {
+        type    preserveFaceZones;
+        zones   (heater solid1 solid3);
+        enabled false;
+    }
+
+    //- Keep owner and neighbour on same processor for faces in patches:
+    //  (makes sense only for cyclic patches)
+    patches
+    {
+        type    preservePatches;
+        patches (cyclic_half0 cyclic_half1);
+        enabled false;
+    }
+
+    //- Keep all of faceSet on a single processor. This puts all cells
+    //  connected with a point, edge or face on the same processor.
+    //  (just having face connected cells might not guarantee a balanced
+    //  decomposition)
+    //  The processor can be -1 (the decompositionMethod chooses the processor
+    //  for a good load balance) or explicitly provided (upsets balance).
+    processors
+    {
+        type    singleProcessorFaceSets;
+        sets    ((f0 -1));
+        enabled false;
+    }
+
+    //- Keep owner and neighbour of baffles on same processor
+    //  (i.e. keep it detectable as a baffle).
+    //  Baffles are two boundary face sharing the same points.
+    baffles
+    {
+        type    preserveBaffles;
+        enabled false;
+    }
+}
+
+
 //// Is the case distributed? Note: command-line argument -roots takes
 //// precedence
 //distributed     yes;
diff --git a/tutorials/mesh/parallel/cavity/system/decomposeParDict-5 b/tutorials/mesh/parallel/cavity/system/decomposeParDict-5
index 1e6184c072f..008d946f443 100644
--- a/tutorials/mesh/parallel/cavity/system/decomposeParDict-5
+++ b/tutorials/mesh/parallel/cavity/system/decomposeParDict-5
@@ -17,27 +17,6 @@ FoamFile
 
 numberOfSubdomains  5;
 
-//- Keep owner and neighbour on same processor for faces in zones:
-// preserveFaceZones (heater solid1 solid3);
-
-//- Keep owner and neighbour on same processor for faces in patches:
-//  (makes sense only for cyclic patches)
-//preservePatches (cyclic_half0 cyclic_half1);
-
-//- Keep all of faceSet on a single processor. This puts all cells
-//  connected with a point, edge or face on the same processor.
-//  (just having face connected cells might not guarantee a balanced
-//  decomposition)
-// The processor can be -1 (the decompositionMethod chooses the processor
-// for a good load balance) or explicitly provided (upsets balance).
-//singleProcessorFaceSets ((f0 -1));
-
-
-//- Keep owner and neighbour of baffles on same processor (i.e. keep it
-//  detectable as a baffle). Baffles are two boundary face sharing the
-//  same points.
-//preserveBaffles true;
-
 //- Use the volScalarField named here as a weight for each cell in the
 //  decomposition.  For example, use a particle population field to decompose
 //  for a balanced number of particles in a lagrangian simulation.
@@ -79,15 +58,12 @@ multiLevelCoeffs
 
 simpleCoeffs
 {
-    n           (2 1 1);
-    delta       0.001;
+    n       (2 1 1);
 }
 
 hierarchicalCoeffs
 {
-    n           (1 2 1);
-    delta       0.001;
-    order       xyz;
+    n       (1 2 1);
 }
 
 metisCoeffs
@@ -123,14 +99,57 @@ manualCoeffs
 
 structuredCoeffs
 {
+    // Method to use on the 2D subset
+    method      scotch;
+
     // Patches to do 2D decomposition on. Structured mesh only; cells have
     // to be in 'columns' on top of patches.
     patches     (movingWall);
+}
 
-    // Method to use on the 2D subset
-    method      scotch;
+constraints
+{
+    //- Keep owner and neighbour on same processor for faces in zones:
+    zones
+    {
+        type    preserveFaceZones;
+        zones   (heater solid1 solid3);
+        enabled false;
+    }
+
+    //- Keep owner and neighbour on same processor for faces in patches:
+    //  (makes sense only for cyclic patches)
+    patches
+    {
+        type    preservePatches;
+        patches (cyclic_half0 cyclic_half1);
+        enabled false;
+    }
+
+    //- Keep all of faceSet on a single processor. This puts all cells
+    //  connected with a point, edge or face on the same processor.
+    //  (just having face connected cells might not guarantee a balanced
+    //  decomposition)
+    //  The processor can be -1 (the decompositionMethod chooses the processor
+    //  for a good load balance) or explicitly provided (upsets balance).
+    processors
+    {
+        type    singleProcessorFaceSets;
+        sets    ((f0 -1));
+        enabled false;
+    }
+
+    //- Keep owner and neighbour of baffles on same processor
+    //  (i.e. keep it detectable as a baffle).
+    //  Baffles are two boundary face sharing the same points.
+    baffles
+    {
+        type    preserveBaffles;
+        enabled false;
+    }
 }
 
+
 //// Is the case distributed? Note: command-line argument -roots takes
 //// precedence
 //distributed     yes;
diff --git a/tutorials/mesh/parallel/filter/system/decomposeParDict b/tutorials/mesh/parallel/filter/system/decomposeParDict
index e38cbfb560c..16086ce80ad 100644
--- a/tutorials/mesh/parallel/filter/system/decomposeParDict
+++ b/tutorials/mesh/parallel/filter/system/decomposeParDict
@@ -18,11 +18,15 @@ numberOfSubdomains 3;
 
 method          scotch;
 
-preserveFaceZones
-(
-    cycLeft
-    cycRight
-);
+constraints
+{
+    //- Keep owner and neighbour on same processor for faces in zones:
+    faces
+    {
+        type    preserveFaceZones,
+        zones   (cycLeft cycRight);
+    }
+}
 
 
 // ************************************************************************* //
diff --git a/tutorials/mesh/snappyHexMesh/addLayersToFaceZone/system/decomposeParDict b/tutorials/mesh/snappyHexMesh/addLayersToFaceZone/system/decomposeParDict
index 4a13ccbaef6..64a98e1f0e7 100644
--- a/tutorials/mesh/snappyHexMesh/addLayersToFaceZone/system/decomposeParDict
+++ b/tutorials/mesh/snappyHexMesh/addLayersToFaceZone/system/decomposeParDict
@@ -17,27 +17,6 @@ FoamFile
 
 numberOfSubdomains  2;
 
-//- Keep owner and neighbour on same processor for faces in zones:
-// preserveFaceZones (heater solid1 solid3);
-
-//- Keep owner and neighbour on same processor for faces in patches:
-//  (makes sense only for cyclic patches)
-//preservePatches (cyclic_half0 cyclic_half1);
-
-//- Keep all of faceSet on a single processor. This puts all cells
-//  connected with a point, edge or face on the same processor.
-//  (just having face connected cells might not guarantee a balanced
-//  decomposition)
-// The processor can be -1 (the decompositionMethod chooses the processor
-// for a good load balance) or explicitly provided (upsets balance).
-//singleProcessorFaceSets ((f0 -1));
-
-
-//- Keep owner and neighbour of baffles on same processor (i.e. keep it
-//  detectable as a baffle). Baffles are two boundary face sharing the
-//  same points.
-//preserveBaffles true;
-
 //- Use the volScalarField named here as a weight for each cell in the
 //  decomposition.  For example, use a particle population field to decompose
 //  for a balanced number of particles in a lagrangian simulation.
@@ -79,14 +58,11 @@ multiLevelCoeffs
 simpleCoeffs
 {
     n           (2 1 1);
-    delta       0.001;
 }
 
 hierarchicalCoeffs
 {
     n           (1 2 1);
-    delta       0.001;
-    order       xyz;
 }
 
 metisCoeffs
@@ -122,14 +98,58 @@ manualCoeffs
 
 structuredCoeffs
 {
+    // Method to use on the 2D subset
+    method      scotch;
+
     // Patches to do 2D decomposition on. Structured mesh only; cells have
     // to be in 'columns' on top of patches.
     patches     (movingWall);
+}
 
-    // Method to use on the 2D subset
-    method      scotch;
+
+constraints
+{
+    //- Keep owner and neighbour on same processor for faces in zones:
+    zones
+    {
+        type    preserveFaceZones;
+        zones   (heater solid1 solid3);
+        enabled false;
+    }
+
+    //- Keep owner and neighbour on same processor for faces in patches:
+    //  (makes sense only for cyclic patches)
+    patches
+    {
+        type    preservePatches;
+        patches (cyclic_half0 cyclic_half1);
+        enabled false;
+    }
+
+    //- Keep all of faceSet on a single processor. This puts all cells
+    //  connected with a point, edge or face on the same processor.
+    //  (just having face connected cells might not guarantee a balanced
+    //  decomposition)
+    //  The processor can be -1 (the decompositionMethod chooses the processor
+    //  for a good load balance) or explicitly provided (upsets balance).
+    singleProcessorFaceSets
+    {
+        type    singleProcessorFaceSets;
+        sets    ((f0 -1));
+        enabled false;
+    }
+
+    //- Keep owner and neighbour of baffles on same processor
+    //  (i.e. keep it detectable as a baffle).
+    //  Baffles are two boundary face sharing the same points.
+    baffles
+    {
+        type    preserveBaffles;
+        enabled false;
+    }
 }
 
+
 //// Is the case distributed? Note: command-line argument -roots takes
 //// precedence
 //distributed     yes;
diff --git a/tutorials/preProcessing/createZeroDirectory/snappyMultiRegionHeater/system/bottomAir/decomposeParDict b/tutorials/preProcessing/createZeroDirectory/snappyMultiRegionHeater/system/bottomAir/decomposeParDict
index 67106528e39..8719f23c1f0 100644
--- a/tutorials/preProcessing/createZeroDirectory/snappyMultiRegionHeater/system/bottomAir/decomposeParDict
+++ b/tutorials/preProcessing/createZeroDirectory/snappyMultiRegionHeater/system/bottomAir/decomposeParDict
@@ -16,9 +16,6 @@ FoamFile
 
 numberOfSubdomains  4;
 
-//- Keep owner and neighbour on same processor for faces in zones:
-// preserveFaceZones (heater solid1 solid3);
-
 method          scotch;
 // method          hierarchical;
 // method          simple;
@@ -45,4 +42,16 @@ scotchCoeffs
     //strategy "b";
 }
 
+/*
+constraints
+{
+    //- Keep owner and neighbour on same processor for faces in zones:
+    faces
+    {
+        type    preserveFaceZones,
+        zones   (heater solid1 solid3);
+    }
+}
+*/
+
 // ************************************************************************* //
diff --git a/tutorials/preProcessing/createZeroDirectory/snappyMultiRegionHeater/system/decomposeParDict b/tutorials/preProcessing/createZeroDirectory/snappyMultiRegionHeater/system/decomposeParDict
index 75c6ca9fc83..8866e098719 100644
--- a/tutorials/preProcessing/createZeroDirectory/snappyMultiRegionHeater/system/decomposeParDict
+++ b/tutorials/preProcessing/createZeroDirectory/snappyMultiRegionHeater/system/decomposeParDict
@@ -16,9 +16,6 @@ FoamFile
 
 numberOfSubdomains  4;
 
-//- Keep owner and neighbour on same processor for faces in zones:
-// preserveFaceZones (heater solid1 solid3);
-
 // method          scotch;
 method          hierarchical;
 // method          simple;
@@ -45,4 +42,16 @@ scotchCoeffs
     //strategy "b";
 }
 
+/*
+constraints
+{
+    //- Keep owner and neighbour on same processor for faces in zones:
+    faces
+    {
+        type    preserveFaceZones;
+        zones   (heater solid1 solid3);
+    }
+}
+*/
+
 // ************************************************************************* //
diff --git a/tutorials/preProcessing/createZeroDirectory/snappyMultiRegionHeater/system/heater/decomposeParDict b/tutorials/preProcessing/createZeroDirectory/snappyMultiRegionHeater/system/heater/decomposeParDict
index 67106528e39..8719f23c1f0 100644
--- a/tutorials/preProcessing/createZeroDirectory/snappyMultiRegionHeater/system/heater/decomposeParDict
+++ b/tutorials/preProcessing/createZeroDirectory/snappyMultiRegionHeater/system/heater/decomposeParDict
@@ -16,9 +16,6 @@ FoamFile
 
 numberOfSubdomains  4;
 
-//- Keep owner and neighbour on same processor for faces in zones:
-// preserveFaceZones (heater solid1 solid3);
-
 method          scotch;
 // method          hierarchical;
 // method          simple;
@@ -45,4 +42,16 @@ scotchCoeffs
     //strategy "b";
 }
 
+/*
+constraints
+{
+    //- Keep owner and neighbour on same processor for faces in zones:
+    faces
+    {
+        type    preserveFaceZones,
+        zones   (heater solid1 solid3);
+    }
+}
+*/
+
 // ************************************************************************* //
diff --git a/tutorials/preProcessing/createZeroDirectory/snappyMultiRegionHeater/system/leftSolid/decomposeParDict b/tutorials/preProcessing/createZeroDirectory/snappyMultiRegionHeater/system/leftSolid/decomposeParDict
index 67106528e39..8719f23c1f0 100644
--- a/tutorials/preProcessing/createZeroDirectory/snappyMultiRegionHeater/system/leftSolid/decomposeParDict
+++ b/tutorials/preProcessing/createZeroDirectory/snappyMultiRegionHeater/system/leftSolid/decomposeParDict
@@ -16,9 +16,6 @@ FoamFile
 
 numberOfSubdomains  4;
 
-//- Keep owner and neighbour on same processor for faces in zones:
-// preserveFaceZones (heater solid1 solid3);
-
 method          scotch;
 // method          hierarchical;
 // method          simple;
@@ -45,4 +42,16 @@ scotchCoeffs
     //strategy "b";
 }
 
+/*
+constraints
+{
+    //- Keep owner and neighbour on same processor for faces in zones:
+    faces
+    {
+        type    preserveFaceZones,
+        zones   (heater solid1 solid3);
+    }
+}
+*/
+
 // ************************************************************************* //
diff --git a/tutorials/preProcessing/createZeroDirectory/snappyMultiRegionHeater/system/rightSolid/decomposeParDict b/tutorials/preProcessing/createZeroDirectory/snappyMultiRegionHeater/system/rightSolid/decomposeParDict
index 67106528e39..8719f23c1f0 100644
--- a/tutorials/preProcessing/createZeroDirectory/snappyMultiRegionHeater/system/rightSolid/decomposeParDict
+++ b/tutorials/preProcessing/createZeroDirectory/snappyMultiRegionHeater/system/rightSolid/decomposeParDict
@@ -16,9 +16,6 @@ FoamFile
 
 numberOfSubdomains  4;
 
-//- Keep owner and neighbour on same processor for faces in zones:
-// preserveFaceZones (heater solid1 solid3);
-
 method          scotch;
 // method          hierarchical;
 // method          simple;
@@ -45,4 +42,16 @@ scotchCoeffs
     //strategy "b";
 }
 
+/*
+constraints
+{
+    //- Keep owner and neighbour on same processor for faces in zones:
+    faces
+    {
+        type    preserveFaceZones,
+        zones   (heater solid1 solid3);
+    }
+}
+*/
+
 // ************************************************************************* //
diff --git a/tutorials/preProcessing/createZeroDirectory/snappyMultiRegionHeater/system/topAir/decomposeParDict b/tutorials/preProcessing/createZeroDirectory/snappyMultiRegionHeater/system/topAir/decomposeParDict
index 67106528e39..8719f23c1f0 100644
--- a/tutorials/preProcessing/createZeroDirectory/snappyMultiRegionHeater/system/topAir/decomposeParDict
+++ b/tutorials/preProcessing/createZeroDirectory/snappyMultiRegionHeater/system/topAir/decomposeParDict
@@ -16,9 +16,6 @@ FoamFile
 
 numberOfSubdomains  4;
 
-//- Keep owner and neighbour on same processor for faces in zones:
-// preserveFaceZones (heater solid1 solid3);
-
 method          scotch;
 // method          hierarchical;
 // method          simple;
@@ -45,4 +42,16 @@ scotchCoeffs
     //strategy "b";
 }
 
+/*
+constraints
+{
+    //- Keep owner and neighbour on same processor for faces in zones:
+    faces
+    {
+        type    preserveFaceZones,
+        zones   (heater solid1 solid3);
+    }
+}
+*/
+
 // ************************************************************************* //
-- 
GitLab