diff --git a/tutorials/basic/potentialFoam/cylinder/system/blockMeshDict b/tutorials/basic/potentialFoam/cylinder/system/blockMeshDict
index ac3995c8dc1d294db01df996844f18564a102cac..ceb0865644c4078845c2466953c6aaddecd413d3 100644
--- a/tutorials/basic/potentialFoam/cylinder/system/blockMeshDict
+++ b/tutorials/basic/potentialFoam/cylinder/system/blockMeshDict
@@ -16,6 +16,10 @@ FoamFile
 
 scale   1;
 
+// Front/back locations
+zmin -0.5;
+zmax 0.5;
+
 vertices #codeStream
 {
     codeInclude
@@ -25,34 +29,39 @@ vertices #codeStream
 
     code
     #{
-        pointField points(19);
-        points[0]  = point(0.5, 0, -0.5);
-        points[1]  = point(1, 0, -0.5);
-        points[2]  = point(2, 0, -0.5);
-        points[3]  = point(2, 0.707107, -0.5);
-        points[4]  = point(0.707107, 0.707107, -0.5);
-        points[5]  = point(0.353553, 0.353553, -0.5);
-        points[6]  = point(2, 2, -0.5);
-        points[7]  = point(0.707107, 2, -0.5);
-        points[8]  = point(0, 2, -0.5);
-        points[9]  = point(0, 1, -0.5);
-        points[10] = point(0, 0.5, -0.5);
-        points[11] = point(-0.5, 0, -0.5);
-        points[12] = point(-1, 0, -0.5);
-        points[13] = point(-2, 0, -0.5);
-        points[14] = point(-2, 0.707107, -0.5);
-        points[15] = point(-0.707107, 0.707107, -0.5);
-        points[16] = point(-0.353553, 0.353553, -0.5);
-        points[17] = point(-2, 2, -0.5);
-        points[18] = point(-0.707107, 2, -0.5);
+        // sin(45), cos(45)
+        const scalar sqrt05 = sqrt(0.5);
+
+        pointField points
+        ({
+            /* 0*/ {0.5, 0, $zmin},
+            /* 1*/ {1, 0, $zmin},
+            /* 2*/ {2, 0, $zmin},
+            /* 3*/ {2, sqrt05, $zmin},
+            /* 4*/ {sqrt05, sqrt05, $zmin},
+            /* 5*/ {sqrt05/2, sqrt05/2, $zmin},
+            /* 6*/ {2, 2, $zmin},
+            /* 7*/ {sqrt05, 2, $zmin},
+            /* 8*/ {0, 2, $zmin},
+            /* 9*/ {0, 1, $zmin},
+            /*10*/ {0, 0.5, $zmin},
+            /*11*/ {-0.5, 0, $zmin},
+            /*12*/ {-1, 0, $zmin},
+            /*13*/ {-2, 0, $zmin},
+            /*14*/ {-2, sqrt05, $zmin},
+            /*15*/ {-sqrt05, sqrt05, $zmin},
+            /*16*/ {-sqrt05/2, sqrt05/2, $zmin},
+            /*17*/ {-2, 2, $zmin},
+            /*18*/ {-sqrt05, 2, $zmin}
+        });
 
-        // Duplicate z points
-        label sz = points.size();
-        points.setSize(2*sz);
-        for (label i = 0; i < sz; i++)
+        // Duplicate z points for zmax
+        const label sz = points.size();
+        points.resize(2*sz);
+        for (label i = 0; i < sz; ++i)
         {
             const point& pt = points[i];
-            points[i+sz] = point(pt.x(), pt.y(), -pt.z());
+            points[i + sz] = point(pt.x(), pt.y(), $zmax);
         }
 
         os  << points;
@@ -76,22 +85,24 @@ blocks
 
 edges
 (
-    arc 0 5 (0.469846 0.17101 -0.5)
-    arc 5 10 (0.17101 0.469846 -0.5)
-    arc 1 4 (0.939693 0.34202 -0.5)
-    arc 4 9 (0.34202 0.939693 -0.5)
-    arc 19 24 (0.469846 0.17101 0.5)
-    arc 24 29 (0.17101 0.469846 0.5)
-    arc 20 23 (0.939693 0.34202 0.5)
-    arc 23 28 (0.34202 0.939693 0.5)
-    arc 11 16 (-0.469846 0.17101 -0.5)
-    arc 16 10 (-0.17101 0.469846 -0.5)
-    arc 12 15 (-0.939693 0.34202 -0.5)
-    arc 15 9 (-0.34202 0.939693 -0.5)
-    arc 30 35 (-0.469846 0.17101 0.5)
-    arc 35 29 (-0.17101 0.469846 0.5)
-    arc 31 34 (-0.939693 0.34202 0.5)
-    arc 34 28 (-0.34202 0.939693 0.5)
+    // Inner cylinder
+    arc  0  5 origin (0 0 $zmin)
+    arc  5 10 origin (0 0 $zmin)
+    arc  1  4 origin (0 0 $zmin)
+    arc  4  9 origin (0 0 $zmin)
+    arc 19 24 origin (0 0 $zmax)
+    arc 24 29 origin (0 0 $zmax)
+    arc 20 23 origin (0 0 $zmax)
+    arc 23 28 origin (0 0 $zmax)
+    // Intermediate cylinder
+    arc 11 16 origin (0 0 $zmin)
+    arc 16 10 origin (0 0 $zmin)
+    arc 12 15 origin (0 0 $zmin)
+    arc 15  9 origin (0 0 $zmin)
+    arc 30 35 origin (0 0 $zmax)
+    arc 35 29 origin (0 0 $zmax)
+    arc 31 34 origin (0 0 $zmax)
+    arc 34 28 origin (0 0 $zmax)
 );
 
 boundary
diff --git a/tutorials/combustion/XiDyMFoam/oscillatingCylinder/system/blockMeshDict b/tutorials/combustion/XiDyMFoam/oscillatingCylinder/system/blockMeshDict
index cc11d554db175baf7f0f4f80af58f6b54e00f075..ee3b75f0bec3812d40b0543b7dac7a6a7a6f1088 100644
--- a/tutorials/combustion/XiDyMFoam/oscillatingCylinder/system/blockMeshDict
+++ b/tutorials/combustion/XiDyMFoam/oscillatingCylinder/system/blockMeshDict
@@ -73,21 +73,22 @@ blocks
 
 edges
 (
-    arc  8  9 (-3.46410161513775 2 0)
-    arc  9 10 (-4                0 0)
-    arc 10 11 (-3.46410161513775 2 0)
-    arc 11 13 ( 0                4 0)
-    arc 13 12 ( 4                0 0)
-    arc 12  8 ( 0               -4 0)
+    arc  8  9 origin (0 0 0)
+    arc  9 10 origin (0 0 0)
+    arc 10 11 origin (0 0 0)
+    arc 11 13 origin (0 0 0)
+    arc 13 12 origin (0 0 0)
+    arc 12  8 origin (0 0 0)
 
-    arc 26 27 (-3.46410161513775 2 1)
-    arc 27 28 (-4                0 1)
-    arc 28 29 (-3.46410161513775 2 1)
-    arc 29 31 ( 0                4 1)
-    arc 31 30 ( 4                0 1)
-    arc 30 26 ( 0               -4 1)
+    arc 26 27 origin (0 0 1)
+    arc 27 28 origin (0 0 1)
+    arc 28 29 origin (0 0 1)
+    arc 29 31 origin (0 0 1)
+    arc 31 30 origin (0 0 1)
+    arc 30 26 origin (0 0 1)
 );
 
+
 defaultPatch
 {
     name    frontAndBack;
diff --git a/tutorials/combustion/fireFoam/LES/compartmentFire/system/blockMeshDict.m4 b/tutorials/combustion/fireFoam/LES/compartmentFire/system/blockMeshDict.m4
index 30801ad7b5755c73784204f71696de5580221b1a..e54dee9a38d1cfa4b56b1c4b133d430f840e4080 100644
--- a/tutorials/combustion/fireFoam/LES/compartmentFire/system/blockMeshDict.m4
+++ b/tutorials/combustion/fireFoam/LES/compartmentFire/system/blockMeshDict.m4
@@ -153,15 +153,15 @@ blocks
 
 edges
 (
-    arc 4 5 (0 0 -R_burner)
-    arc 5 6 (R_burner 0 0)
-    arc 6 7 (0 0 R_burner)
-    arc 7 4 (-R_burner 0 0)
-
-    arc 24 25 (0 H_box -R_burner)
-    arc 25 26 (R_burner H_box 0)
-    arc 26 27 (0 H_box R_burner)
-    arc 27 24 (-R_burner H_box 0)
+    arc 4 5 origin (0 0 0)
+    arc 5 6 origin (0 0 0)
+    arc 6 7 origin (0 0 0)
+    arc 7 4 origin (0 0 0)
+
+    arc 24 25 origin (0 H_box 0)
+    arc 25 26 origin (0 H_box 0)
+    arc 26 27 origin (0 H_box 0)
+    arc 27 24 origin (0 H_box 0)
 );
 
 boundary
diff --git a/tutorials/compressible/rhoPimpleFoam/RAS/externalCoupledSquareBendLiq/system/blockMeshDict b/tutorials/compressible/rhoPimpleFoam/RAS/externalCoupledSquareBendLiq/system/blockMeshDict
index d638986f2e29d318b21b5b0c257b41665f5d04d7..4aa031189d64851f460d3168411c1cbfba82f888 100644
--- a/tutorials/compressible/rhoPimpleFoam/RAS/externalCoupledSquareBendLiq/system/blockMeshDict
+++ b/tutorials/compressible/rhoPimpleFoam/RAS/externalCoupledSquareBendLiq/system/blockMeshDict
@@ -16,36 +16,39 @@ FoamFile
 
 scale   0.001;
 
+zmin -25;
+zmax 25;
+
 vertices
 (
-    // front-plane: z = +25mm
+    // front-plane:
     // inlet region
-    (   -50  25   25)           // pt 0
-    (     0  25   25)           // pt 1
-    (   -50  75   25)           // pt 2
-    (     0  75   25)           // pt 3
+    (   -50  25   $zmax)    // pt 0
+    (     0  25   $zmax)    // pt 1
+    (   -50  75   $zmax)    // pt 2
+    (     0  75   $zmax)    // pt 3
     // outlet region
-    (  -500 -75   25)           // pt 4
-    (     0 -75   25)           // pt 5
-    (  -500 -25   25)           // pt 6
-    (     0 -25   25)           // pt 7
+    (  -500 -75   $zmax)    // pt 4
+    (     0 -75   $zmax)    // pt 5
+    (  -500 -25   $zmax)    // pt 6
+    (     0 -25   $zmax)    // pt 7
     // bend mid-points
-    (    25   0   25)           // pt 8
-    (    75   0   25)           // pt 9
-    // back-plane: z = -25mm
+    (    25   0   $zmax)    // pt 8
+    (    75   0   $zmax)    // pt 9
+    // back-plane:
     // inlet region
-    (   -50  25   -25)          // pt 0 + 10
-    (     0  25   -25)          // pt 1 + 10
-    (   -50  75   -25)          // pt 2 + 10
-    (     0  75   -25)          // pt 3 + 10
+    (   -50  25   $zmin)    // pt 0 + 10
+    (     0  25   $zmin)    // pt 1 + 10
+    (   -50  75   $zmin)    // pt 2 + 10
+    (     0  75   $zmin)    // pt 3 + 10
     // outlet region
-    (  -500 -75   -25)          // pt 4 + 10
-    (     0 -75   -25)          // pt 5 + 10
-    (  -500 -25   -25)          // pt 7 + 10
-    (     0 -25   -25)          // pt 8 + 10
+    (  -500 -75   $zmin)    // pt 4 + 10
+    (     0 -75   $zmin)    // pt 5 + 10
+    (  -500 -25   $zmin)    // pt 7 + 10
+    (     0 -25   $zmin)    // pt 8 + 10
     // bend mid-points
-    (    25   0   -25)          // pt 8 + 10
-    (    75   0   -25)          // pt 9 + 10
+    (    25   0   $zmin)    // pt 8 + 10
+    (    75   0   $zmin)    // pt 9 + 10
 );
 
 blocks
@@ -59,16 +62,16 @@ blocks
 
 edges
 (
-   // block 2
-   arc  1  8  ( 17.678  17.678  25)
-   arc 11 18  ( 17.678  17.678 -25)
-   arc  3  9  ( 53.033  53.033  25)
-   arc 13 19  ( 53.033  53.033 -25)
-   // block 3
-   arc  7  8  ( 17.678  -17.678  25)
-   arc 17 18  ( 17.678  -17.678 -25)
-   arc  5  9  ( 53.033  -53.033  25)
-   arc 15 19  ( 53.033  -53.033 -25)
+    // block 2
+    arc  1  8  origin (0 0 $zmax)
+    arc  3  9  origin (0 0 $zmax)
+    arc 11 18  origin (0 0 $zmin)
+    arc 13 19  origin (0 0 $zmin)
+    // block 3
+    arc  7  8  origin (0 0 $zmax)
+    arc  5  9  origin (0 0 $zmax)
+    arc 17 18  origin (0 0 $zmin)
+    arc 15 19  origin (0 0 $zmin)
 );
 
 boundary
diff --git a/tutorials/compressible/rhoPimpleFoam/RAS/squareBendLiq/system/blockMeshDict b/tutorials/compressible/rhoPimpleFoam/RAS/squareBendLiq/system/blockMeshDict
index 165f4e9b2372a0b853e1817fdcd7dbb2113f6144..366520c4bb42ecc32182917705d664e27dc0debb 100644
--- a/tutorials/compressible/rhoPimpleFoam/RAS/squareBendLiq/system/blockMeshDict
+++ b/tutorials/compressible/rhoPimpleFoam/RAS/squareBendLiq/system/blockMeshDict
@@ -16,36 +16,39 @@ FoamFile
 
 scale   0.001;
 
+zmin -25;
+zmax 25;
+
 vertices
 (
-    // front-plane: z = +25mm
+    // front-plane:
     // inlet region
-    (   -50  25   25)           // pt 0
-    (     0  25   25)           // pt 1
-    (   -50  75   25)           // pt 2
-    (     0  75   25)           // pt 3
+    (   -50  25   $zmax)    // pt 0
+    (     0  25   $zmax)    // pt 1
+    (   -50  75   $zmax)    // pt 2
+    (     0  75   $zmax)    // pt 3
     // outlet region
-    (  -500 -75   25)           // pt 4
-    (     0 -75   25)           // pt 5
-    (  -500 -25   25)           // pt 6
-    (     0 -25   25)           // pt 7
+    (  -500 -75   $zmax)    // pt 4
+    (     0 -75   $zmax)    // pt 5
+    (  -500 -25   $zmax)    // pt 6
+    (     0 -25   $zmax)    // pt 7
     // bend mid-points
-    (    25   0   25)           // pt 8
-    (    75   0   25)           // pt 9
-    // back-plane: z = -25mm
+    (    25   0   $zmax)    // pt 8
+    (    75   0   $zmax)    // pt 9
+    // back-plane:
     // inlet region
-    (   -50  25   -25)          // pt 0 + 10
-    (     0  25   -25)          // pt 1 + 10
-    (   -50  75   -25)          // pt 2 + 10
-    (     0  75   -25)          // pt 3 + 10
+    (   -50  25   $zmin)    // pt 0 + 10
+    (     0  25   $zmin)    // pt 1 + 10
+    (   -50  75   $zmin)    // pt 2 + 10
+    (     0  75   $zmin)    // pt 3 + 10
     // outlet region
-    (  -500 -75   -25)          // pt 4 + 10
-    (     0 -75   -25)          // pt 5 + 10
-    (  -500 -25   -25)          // pt 7 + 10
-    (     0 -25   -25)          // pt 8 + 10
+    (  -500 -75   $zmin)    // pt 4 + 10
+    (     0 -75   $zmin)    // pt 5 + 10
+    (  -500 -25   $zmin)    // pt 7 + 10
+    (     0 -25   $zmin)    // pt 8 + 10
     // bend mid-points
-    (    25   0   -25)          // pt 8 + 10
-    (    75   0   -25)          // pt 9 + 10
+    (    25   0   $zmin)    // pt 8 + 10
+    (    75   0   $zmin)    // pt 9 + 10
 );
 
 blocks
@@ -60,15 +63,15 @@ blocks
 edges
 (
     // block 2
-    arc  1  8   (17.678  17.678  25)
-    arc 11 18   (17.678  17.678 -25)
-    arc  3  9   (53.033  53.033  25)
-    arc 13 19   (53.033  53.033 -25)
+    arc  1  8  origin (0 0 $zmax)
+    arc  3  9  origin (0 0 $zmax)
+    arc 11 18  origin (0 0 $zmin)
+    arc 13 19  origin (0 0 $zmin)
     // block 3
-    arc  7  8   (17.678  -17.678  25)
-    arc 17 18   (17.678  -17.678 -25)
-    arc  5  9   (53.033  -53.033  25)
-    arc 15 19   (53.033  -53.033 -25)
+    arc  7  8  origin (0 0 $zmax)
+    arc  5  9  origin (0 0 $zmax)
+    arc 17 18  origin (0 0 $zmin)
+    arc 15 19  origin (0 0 $zmin)
 );
 
 boundary
diff --git a/tutorials/compressible/rhoSimpleFoam/squareBend/system/blockMeshDict b/tutorials/compressible/rhoSimpleFoam/squareBend/system/blockMeshDict
index 165f4e9b2372a0b853e1817fdcd7dbb2113f6144..366520c4bb42ecc32182917705d664e27dc0debb 100644
--- a/tutorials/compressible/rhoSimpleFoam/squareBend/system/blockMeshDict
+++ b/tutorials/compressible/rhoSimpleFoam/squareBend/system/blockMeshDict
@@ -16,36 +16,39 @@ FoamFile
 
 scale   0.001;
 
+zmin -25;
+zmax 25;
+
 vertices
 (
-    // front-plane: z = +25mm
+    // front-plane:
     // inlet region
-    (   -50  25   25)           // pt 0
-    (     0  25   25)           // pt 1
-    (   -50  75   25)           // pt 2
-    (     0  75   25)           // pt 3
+    (   -50  25   $zmax)    // pt 0
+    (     0  25   $zmax)    // pt 1
+    (   -50  75   $zmax)    // pt 2
+    (     0  75   $zmax)    // pt 3
     // outlet region
-    (  -500 -75   25)           // pt 4
-    (     0 -75   25)           // pt 5
-    (  -500 -25   25)           // pt 6
-    (     0 -25   25)           // pt 7
+    (  -500 -75   $zmax)    // pt 4
+    (     0 -75   $zmax)    // pt 5
+    (  -500 -25   $zmax)    // pt 6
+    (     0 -25   $zmax)    // pt 7
     // bend mid-points
-    (    25   0   25)           // pt 8
-    (    75   0   25)           // pt 9
-    // back-plane: z = -25mm
+    (    25   0   $zmax)    // pt 8
+    (    75   0   $zmax)    // pt 9
+    // back-plane:
     // inlet region
-    (   -50  25   -25)          // pt 0 + 10
-    (     0  25   -25)          // pt 1 + 10
-    (   -50  75   -25)          // pt 2 + 10
-    (     0  75   -25)          // pt 3 + 10
+    (   -50  25   $zmin)    // pt 0 + 10
+    (     0  25   $zmin)    // pt 1 + 10
+    (   -50  75   $zmin)    // pt 2 + 10
+    (     0  75   $zmin)    // pt 3 + 10
     // outlet region
-    (  -500 -75   -25)          // pt 4 + 10
-    (     0 -75   -25)          // pt 5 + 10
-    (  -500 -25   -25)          // pt 7 + 10
-    (     0 -25   -25)          // pt 8 + 10
+    (  -500 -75   $zmin)    // pt 4 + 10
+    (     0 -75   $zmin)    // pt 5 + 10
+    (  -500 -25   $zmin)    // pt 7 + 10
+    (     0 -25   $zmin)    // pt 8 + 10
     // bend mid-points
-    (    25   0   -25)          // pt 8 + 10
-    (    75   0   -25)          // pt 9 + 10
+    (    25   0   $zmin)    // pt 8 + 10
+    (    75   0   $zmin)    // pt 9 + 10
 );
 
 blocks
@@ -60,15 +63,15 @@ blocks
 edges
 (
     // block 2
-    arc  1  8   (17.678  17.678  25)
-    arc 11 18   (17.678  17.678 -25)
-    arc  3  9   (53.033  53.033  25)
-    arc 13 19   (53.033  53.033 -25)
+    arc  1  8  origin (0 0 $zmax)
+    arc  3  9  origin (0 0 $zmax)
+    arc 11 18  origin (0 0 $zmin)
+    arc 13 19  origin (0 0 $zmin)
     // block 3
-    arc  7  8   (17.678  -17.678  25)
-    arc 17 18   (17.678  -17.678 -25)
-    arc  5  9   (53.033  -53.033  25)
-    arc 15 19   (53.033  -53.033 -25)
+    arc  7  8  origin (0 0 $zmax)
+    arc  5  9  origin (0 0 $zmax)
+    arc 17 18  origin (0 0 $zmin)
+    arc 15 19  origin (0 0 $zmin)
 );
 
 boundary
diff --git a/tutorials/compressible/rhoSimpleFoam/squareBendLiq/system/blockMeshDict b/tutorials/compressible/rhoSimpleFoam/squareBendLiq/system/blockMeshDict
index 165f4e9b2372a0b853e1817fdcd7dbb2113f6144..366520c4bb42ecc32182917705d664e27dc0debb 100644
--- a/tutorials/compressible/rhoSimpleFoam/squareBendLiq/system/blockMeshDict
+++ b/tutorials/compressible/rhoSimpleFoam/squareBendLiq/system/blockMeshDict
@@ -16,36 +16,39 @@ FoamFile
 
 scale   0.001;
 
+zmin -25;
+zmax 25;
+
 vertices
 (
-    // front-plane: z = +25mm
+    // front-plane:
     // inlet region
-    (   -50  25   25)           // pt 0
-    (     0  25   25)           // pt 1
-    (   -50  75   25)           // pt 2
-    (     0  75   25)           // pt 3
+    (   -50  25   $zmax)    // pt 0
+    (     0  25   $zmax)    // pt 1
+    (   -50  75   $zmax)    // pt 2
+    (     0  75   $zmax)    // pt 3
     // outlet region
-    (  -500 -75   25)           // pt 4
-    (     0 -75   25)           // pt 5
-    (  -500 -25   25)           // pt 6
-    (     0 -25   25)           // pt 7
+    (  -500 -75   $zmax)    // pt 4
+    (     0 -75   $zmax)    // pt 5
+    (  -500 -25   $zmax)    // pt 6
+    (     0 -25   $zmax)    // pt 7
     // bend mid-points
-    (    25   0   25)           // pt 8
-    (    75   0   25)           // pt 9
-    // back-plane: z = -25mm
+    (    25   0   $zmax)    // pt 8
+    (    75   0   $zmax)    // pt 9
+    // back-plane:
     // inlet region
-    (   -50  25   -25)          // pt 0 + 10
-    (     0  25   -25)          // pt 1 + 10
-    (   -50  75   -25)          // pt 2 + 10
-    (     0  75   -25)          // pt 3 + 10
+    (   -50  25   $zmin)    // pt 0 + 10
+    (     0  25   $zmin)    // pt 1 + 10
+    (   -50  75   $zmin)    // pt 2 + 10
+    (     0  75   $zmin)    // pt 3 + 10
     // outlet region
-    (  -500 -75   -25)          // pt 4 + 10
-    (     0 -75   -25)          // pt 5 + 10
-    (  -500 -25   -25)          // pt 7 + 10
-    (     0 -25   -25)          // pt 8 + 10
+    (  -500 -75   $zmin)    // pt 4 + 10
+    (     0 -75   $zmin)    // pt 5 + 10
+    (  -500 -25   $zmin)    // pt 7 + 10
+    (     0 -25   $zmin)    // pt 8 + 10
     // bend mid-points
-    (    25   0   -25)          // pt 8 + 10
-    (    75   0   -25)          // pt 9 + 10
+    (    25   0   $zmin)    // pt 8 + 10
+    (    75   0   $zmin)    // pt 9 + 10
 );
 
 blocks
@@ -60,15 +63,15 @@ blocks
 edges
 (
     // block 2
-    arc  1  8   (17.678  17.678  25)
-    arc 11 18   (17.678  17.678 -25)
-    arc  3  9   (53.033  53.033  25)
-    arc 13 19   (53.033  53.033 -25)
+    arc  1  8  origin (0 0 $zmax)
+    arc  3  9  origin (0 0 $zmax)
+    arc 11 18  origin (0 0 $zmin)
+    arc 13 19  origin (0 0 $zmin)
     // block 3
-    arc  7  8   (17.678  -17.678  25)
-    arc 17 18   (17.678  -17.678 -25)
-    arc  5  9   (53.033  -53.033  25)
-    arc 15 19   (53.033  -53.033 -25)
+    arc  7  8  origin (0 0 $zmax)
+    arc  5  9  origin (0 0 $zmax)
+    arc 17 18  origin (0 0 $zmin)
+    arc 15 19  origin (0 0 $zmin)
 );
 
 boundary
diff --git a/tutorials/electromagnetics/electrostaticFoam/chargedWire/system/blockMeshDict b/tutorials/electromagnetics/electrostaticFoam/chargedWire/system/blockMeshDict
index 0b40b5bfcf8ea79ab37617fb198909619e1f8da5..57c872d8a04f52cd8186c48e438f45b6a9781f83 100644
--- a/tutorials/electromagnetics/electrostaticFoam/chargedWire/system/blockMeshDict
+++ b/tutorials/electromagnetics/electrostaticFoam/chargedWire/system/blockMeshDict
@@ -53,14 +53,14 @@ blocks
 
 edges
 (
-    arc 0 5 (0.00092387 0.00038268 0)
-    arc 5 10 (0.00038268 0.00092387 0)
-    arc 1 4 (0.0351074 0.0145419 0)
-    arc 4 9 (0.0145419 0.0351074 0)
-    arc 11 16 (0.00092387 0.00038268 0.5)
-    arc 16 21 (0.00038268 0.00092387 0.5)
-    arc 12 15 (0.0351074 0.0145419 0.5)
-    arc 15 20 (0.0145419 0.0351074 0.5)
+    arc 0 5 origin (0 0 0)
+    arc 5 10 origin (0 0 0)
+    arc 1 4 origin (0 0 0)
+    arc 4 9 origin (0 0 0)
+    arc 11 16 origin (0 0 0.5)
+    arc 16 21 origin (0 0 0.5)
+    arc 12 15 origin (0 0 0.5)
+    arc 15 20 origin (0 0 0.5)
 );
 
 boundary
diff --git a/tutorials/finiteArea/liquidFilmFoam/cylinder/system/blockMeshDict b/tutorials/finiteArea/liquidFilmFoam/cylinder/system/blockMeshDict
index aededbfc0f89dc845c5d10ae0d4d4fe7fef6bf06..6b56721ed0c5d81241fbbe77225c091e06b4275a 100644
--- a/tutorials/finiteArea/liquidFilmFoam/cylinder/system/blockMeshDict
+++ b/tutorials/finiteArea/liquidFilmFoam/cylinder/system/blockMeshDict
@@ -14,49 +14,54 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
+// Almost identical to basic/potentialFoam/cylinder
+
 scale   0.016;
 
+// Front/back locations
+zmin 0;
+zmax 0.5;
+
 vertices
 (
-    (0.5 0 0)
-    (1 0 0)
-    (2 0 0)
-    (2 0.707107 0)
-    (0.707107 0.707107 0)
-    (0.353553 0.353553 0)
-    (2 2 0)
-    (0.707107 2 0)
-    (0 2 0)
-    (0 1 0)
-    (0 0.5 0)
-    (-0.5 0 0)
-    (-1 0 0)
-    (-2 0 0)
-    (-2 0.707107 0)
-    (-0.707107 0.707107 0)
-    (-0.353553 0.353553 0)
-    (-2 2 0)
-    (-0.707107 2 0)
-
-    (0.5 0 0.5)
-    (1 0 0.5)
-    (2 0 0.5)
-    (2 0.707107 0.5)
-    (0.707107 0.707107 0.5)
-    (0.353553 0.353553 0.5)
-    (2 2 0.5)
-    (0.707107 2 0.5)
-    (0 2 0.5)
-    (0 1 0.5)
-    (0 0.5 0.5)
-    (-0.5 0 0.5)
-    (-1 0 0.5)
-    (-2 0 0.5)
-    (-2 0.707107 0.5)
-    (-0.707107 0.707107 0.5)
-    (-0.353553 0.353553 0.5)
-    (-2 2 0.5)
-    (-0.707107 2 0.5)
+    (0.5 0 $zmin)
+    (1 0 $zmin)
+    (2 0 $zmin)
+    (2 0.707107 $zmin)
+    (0.707107 0.707107 $zmin)
+    (0.353553 0.353553 $zmin)
+    (2 2 $zmin)
+    (0.707107 2 $zmin)
+    (0 2 $zmin)
+    (0 1 $zmin)
+    (0 0.5 $zmin)
+    (-0.5 0 $zmin)
+    (-1 0 $zmin)
+    (-2 0 $zmin)
+    (-2 0.707107 $zmin)
+    (-0.707107 0.707107 $zmin)
+    (-0.353553 0.353553 $zmin)
+    (-2 2 $zmin)
+    (-0.707107 2 $zmin)
+    (0.5 0 $zmax)
+    (1 0 $zmax)
+    (2 0 $zmax)
+    (2 0.707107 $zmax)
+    (0.707107 0.707107 $zmax)
+    (0.353553 0.353553 $zmax)
+    (2 2 $zmax)
+    (0.707107 2 $zmax)
+    (0 2 $zmax)
+    (0 1 $zmax)
+    (0 0.5 $zmax)
+    (-0.5 0 $zmax)
+    (-1 0 $zmax)
+    (-2 0 $zmax)
+    (-2 0.707107 $zmax)
+    (-0.707107 0.707107 $zmax)
+    (-0.353553 0.353553 $zmax)
+    (-2 2 $zmax)
+    (-0.707107 2 $zmax)
 );
 
 blocks
@@ -75,22 +80,24 @@ blocks
 
 edges
 (
-    arc 0 5 (0.469846 0.17101 0)
-    arc 5 10 (0.17101 0.469846 0)
-    arc 1 4 (0.939693 0.34202 0)
-    arc 4 9 (0.34202 0.939693 0)
-    arc 19 24 (0.469846 0.17101 0.5)
-    arc 24 29 (0.17101 0.469846 0.5)
-    arc 20 23 (0.939693 0.34202 0.5)
-    arc 23 28 (0.34202 0.939693 0.5)
-    arc 11 16 (-0.469846 0.17101 0)
-    arc 16 10 (-0.17101 0.469846 0)
-    arc 12 15 (-0.939693 0.34202 0)
-    arc 15 9 (-0.34202 0.939693 0)
-    arc 30 35 (-0.469846 0.17101 0.5)
-    arc 35 29 (-0.17101 0.469846 0.5)
-    arc 31 34 (-0.939693 0.34202 0.5)
-    arc 34 28 (-0.34202 0.939693 0.5)
+    // Inner cylinder
+    arc  0  5 origin (0 0 $zmin)
+    arc  5 10 origin (0 0 $zmin)
+    arc  1  4 origin (0 0 $zmin)
+    arc  4  9 origin (0 0 $zmin)
+    arc 19 24 origin (0 0 $zmax)
+    arc 24 29 origin (0 0 $zmax)
+    arc 20 23 origin (0 0 $zmax)
+    arc 23 28 origin (0 0 $zmax)
+    // Intermediate cylinder
+    arc 11 16 origin (0 0 $zmin)
+    arc 16 10 origin (0 0 $zmin)
+    arc 12 15 origin (0 0 $zmin)
+    arc 15  9 origin (0 0 $zmin)
+    arc 30 35 origin (0 0 $zmax)
+    arc 35 29 origin (0 0 $zmax)
+    arc 31 34 origin (0 0 $zmax)
+    arc 34 28 origin (0 0 $zmax)
 );
 
 patches
diff --git a/tutorials/incompressible/SRFSimpleFoam/mixer/system/blockMeshDict b/tutorials/incompressible/SRFSimpleFoam/mixer/system/blockMeshDict
index 56729cdf23e4e6008ff9574a316471131e44ac9f..578ecbf576f53579f4cd9326bca466802569e32e 100644
--- a/tutorials/incompressible/SRFSimpleFoam/mixer/system/blockMeshDict
+++ b/tutorials/incompressible/SRFSimpleFoam/mixer/system/blockMeshDict
@@ -17,57 +17,60 @@ FoamFile
 
 scale   0.1;
 
+zmin 0;
+zmax 2;
+
 vertices
 (
-      (       0.500        0.000        0.000)
-      (       0.369        0.338        0.000)
-      (       0.338        0.369        0.000)
-      (       0.000        0.500        0.000)
-      (       0.737        0.676        0.000)
-      (       0.074        0.068        0.000)
-      (       0.676        0.737        0.000)
-      (       0.068        0.074        0.000)
-      (       0.000        1.000        0.000)
-      (       1.000        0.000        0.000)
-      (       0.100        0.000        0.000)
-      (       0.000        0.100        0.000)
-      (       0.500        0.000        2.000)
-      (       0.369        0.338        2.000)
-      (       0.338        0.369        2.000)
-      (       0.000        0.500        2.000)
-      (       0.737        0.676        2.000)
-      (       0.074        0.068        2.000)
-      (       0.676        0.737        2.000)
-      (       0.068        0.074        2.000)
-      (       0.000        1.000        2.000)
-      (       1.000        0.000        2.000)
-      (       0.100        0.000        2.000)
-      (       0.000        0.100        2.000)
+    (0.500        0.000    $zmin)
+    (0.369        0.338    $zmin)
+    (0.338        0.369    $zmin)
+    (0.000        0.500    $zmin)
+    (0.737        0.676    $zmin)
+    (0.074        0.068    $zmin)
+    (0.676        0.737    $zmin)
+    (0.068        0.074    $zmin)
+    (0.000        1.000    $zmin)
+    (1.000        0.000    $zmin)
+    (0.100        0.000    $zmin)
+    (0.000        0.100    $zmin)
+    (0.500        0.000    $zmax)
+    (0.369        0.338    $zmax)
+    (0.338        0.369    $zmax)
+    (0.000        0.500    $zmax)
+    (0.737        0.676    $zmax)
+    (0.074        0.068    $zmax)
+    (0.676        0.737    $zmax)
+    (0.068        0.074    $zmax)
+    (0.000        1.000    $zmax)
+    (1.000        0.000    $zmax)
+    (0.100        0.000    $zmax)
+    (0.000        0.100    $zmax)
 );
 
 blocks
 (
-      hex (1 0 9 4 13 12 21 16) (10 20 40) simpleGrading (1 1 1)
-      hex (2 1 4 6 14 13 16 18) (2 20 40) simpleGrading (1 1 1)
-      hex (3 2 6 8 15 14 18 20) (10 20 40) simpleGrading (1 1 1)
-      hex (5 10 0 1 17 22 12 13) (10 20 40) simpleGrading (1 1 1)
-      hex (11 7 2 3 23 19 14 15) (10 20 40) simpleGrading (1 1 1)
+    hex (1 0 9 4 13 12 21 16) (10 20 40) simpleGrading (1 1 1)
+    hex (2 1 4 6 14 13 16 18) (2 20 40) simpleGrading (1 1 1)
+    hex (3 2 6 8 15 14 18 20) (10 20 40) simpleGrading (1 1 1)
+    hex (5 10 0 1 17 22 12 13) (10 20 40) simpleGrading (1 1 1)
+    hex (11 7 2 3 23 19 14 15) (10 20 40) simpleGrading (1 1 1)
 );
 
 edges
 (
-      arc  0 1 (       0.470        0.171        0.000 )
-      arc  12 13 (       0.470        0.171        2.000 )
-      arc  2 3 (       0.171        0.470        0.000 )
-      arc  14 15 (       0.171        0.470        2.000 )
-      arc  9 4 (       0.940        0.342        0.000 )
-      arc  21 16 (       0.940        0.342        2.000 )
-      arc  5 10 (       0.094        0.034        0.000 )
-      arc  17 22 (       0.094        0.034        2.000 )
-      arc  6 8 (       0.342        0.940        0.000 )
-      arc  18 20 (       0.342        0.940        2.000 )
-      arc  11 7 (       0.034        0.094        0.000 )
-      arc  23 19 (       0.034        0.094        2.000 )
+    arc   0  1 origin (0 0 $zmin)
+    arc  12 13 origin (0 0 $zmax)
+    arc   2  3 origin (0 0 $zmin)
+    arc  14 15 origin (0 0 $zmax)
+    arc   9  4 origin (0 0 $zmin)
+    arc  21 16 origin (0 0 $zmax)
+    arc   5 10 origin (0 0 $zmin)
+    arc  17 22 origin (0 0 $zmax)
+    arc   6  8 origin (0 0 $zmin)
+    arc  18 20 origin (0 0 $zmax)
+    arc  11  7 origin (0 0 $zmin)
+    arc  23 19 origin (0 0 $zmax)
 );
 
 boundary
diff --git a/tutorials/incompressible/nonNewtonianIcoFoam/offsetCylinder/system/blockMeshDict b/tutorials/incompressible/nonNewtonianIcoFoam/offsetCylinder/system/blockMeshDict
index 2ec0e7a55a0557f1f2db1fb313d48dd54dea264d..5ec15e92523cc7fdef2d99ff1585f59b852ace3b 100644
--- a/tutorials/incompressible/nonNewtonianIcoFoam/offsetCylinder/system/blockMeshDict
+++ b/tutorials/incompressible/nonNewtonianIcoFoam/offsetCylinder/system/blockMeshDict
@@ -16,72 +16,75 @@ FoamFile
 
 scale   1;
 
+zmin -1;
+zmax 1;
+
 vertices
 (
-    (1 0 -1)
-    (1.4 0 -1)
-    (5 0 -1)
-    (5 0.989949 -1)
-    (0.989949 0.989949 -1)
-    (0.707107 0.707107 -1)
-    (5 2.5 -1)
-    (0.989949 2.5 -1)
-    (0 2.5 -1)
-    (0 1.4 -1)
-    (0 1 -1)
-    (-1 0 -1)
-    (-1.4 0 -1)
-    (-5 0 -1)
-    (-5 0.989949 -1)
-    (-0.989949 0.989949 -1)
-    (-0.707107 0.707107 -1)
-    (-5 2.5 -1)
-    (-0.989949 2.5 -1)
-    (5 -0.989949 -1)
-    (0.989949 -0.989949 -1)
-    (0.707107 -0.707107 -1)
-    (5 -1.5 -1)
-    (0.989949 -1.5 -1)
-    (0 -1.5 -1)
-    (0 -1.4 -1)
-    (0 -1 -1)
-    (-5 -0.989949 -1)
-    (-0.989949 -0.989949 -1)
-    (-0.707107 -0.707107 -1)
-    (-5 -1.5 -1)
-    (-0.989949 -1.5 -1)
-    (1 0 1)
-    (1.4 0 1)
-    (5 0 1)
-    (5 0.989949 1)
-    (0.989949 0.989949 1)
-    (0.707107 0.707107 1)
-    (5 2.5 1)
-    (0.989949 2.5 1)
-    (0 2.5 1)
-    (0 1.4 1)
-    (0 1 1)
-    (-1 0 1)
-    (-1.4 0 1)
-    (-5 0 1)
-    (-5 0.989949 1)
-    (-0.989949 0.989949 1)
-    (-0.707107 0.707107 1)
-    (-5 2.5 1)
-    (-0.989949 2.5 1)
-    (5 -0.989949 1)
-    (0.989949 -0.989949 1)
-    (0.707107 -0.707107 1)
-    (5 -1.5 1)
-    (0.989949 -1.5 1)
-    (0 -1.5 1)
-    (0 -1.4 1)
-    (0 -1 1)
-    (-5 -0.989949 1)
-    (-0.989949 -0.989949 1)
-    (-0.707107 -0.707107 1)
-    (-5 -1.5 1)
-    (-0.989949 -1.5 1)
+    (1 0 $zmin)
+    (1.4 0 $zmin)
+    (5 0 $zmin)
+    (5 0.989949 $zmin)
+    (0.989949 0.989949 $zmin)
+    (0.707107 0.707107 $zmin)
+    (5 2.5 $zmin)
+    (0.989949 2.5 $zmin)
+    (0 2.5 $zmin)
+    (0 1.4 $zmin)
+    (0 1 $zmin)
+    (-1 0 $zmin)
+    (-1.4 0 $zmin)
+    (-5 0 $zmin)
+    (-5 0.989949 $zmin)
+    (-0.989949 0.989949 $zmin)
+    (-0.707107 0.707107 $zmin)
+    (-5 2.5 $zmin)
+    (-0.989949 2.5 $zmin)
+    (5 -0.989949 $zmin)
+    (0.989949 -0.989949 $zmin)
+    (0.707107 -0.707107 $zmin)
+    (5 -1.5 $zmin)
+    (0.989949 -1.5 $zmin)
+    (0 -1.5 $zmin)
+    (0 -1.4 $zmin)
+    (0 -1 $zmin)
+    (-5 -0.989949 $zmin)
+    (-0.989949 -0.989949 $zmin)
+    (-0.707107 -0.707107 $zmin)
+    (-5 -1.5 $zmin)
+    (-0.989949 -1.5 $zmin)
+    (1 0 $zmax)
+    (1.4 0 $zmax)
+    (5 0 $zmax)
+    (5 0.989949 $zmax)
+    (0.989949 0.989949 $zmax)
+    (0.707107 0.707107 $zmax)
+    (5 2.5 $zmax)
+    (0.989949 2.5 $zmax)
+    (0 2.5 $zmax)
+    (0 1.4 $zmax)
+    (0 1 $zmax)
+    (-1 0 $zmax)
+    (-1.4 0 $zmax)
+    (-5 0 $zmax)
+    (-5 0.989949 $zmax)
+    (-0.989949 0.989949 $zmax)
+    (-0.707107 0.707107 $zmax)
+    (-5 2.5 $zmax)
+    (-0.989949 2.5 $zmax)
+    (5 -0.989949 $zmax)
+    (0.989949 -0.989949 $zmax)
+    (0.707107 -0.707107 $zmax)
+    (5 -1.5 $zmax)
+    (0.989949 -1.5 $zmax)
+    (0 -1.5 $zmax)
+    (0 -1.4 $zmax)
+    (0 -1 $zmax)
+    (-5 -0.989949 $zmax)
+    (-0.989949 -0.989949 $zmax)
+    (-0.707107 -0.707107 $zmax)
+    (-5 -1.5 $zmax)
+    (-0.989949 -1.5 $zmax)
 );
 
 blocks
@@ -110,38 +113,38 @@ blocks
 
 edges
 (
-    arc 5 0 (0.92388 0.382683 -1)
-    arc 5 10 (0.382683 0.923879 -1)
-    arc 1 4 (1.29343 0.535757 -1)
-    arc 4 9 (0.535757 1.29343 -1)
-    arc 32 37 (0.92388 0.382683 1)
-    arc 37 42 (0.382683 0.923879 1)
-    arc 33 36 (1.29343 0.535757 1)
-    arc 36 41 (0.535757 1.29343 1)
-    arc 11 16 (-0.923879 0.382683 -1)
-    arc 16 10 (-0.382683 0.923879 -1)
-    arc 12 15 (-1.29343 0.535757 -1)
-    arc 15 9 (-0.535757 1.29343 -1)
-    arc 43 48 (-0.923879 0.382683 1)
-    arc 48 42 (-0.382683 0.923879 1)
-    arc 44 47 (-1.29343 0.535757 1)
-    arc 47 41 (-0.535757 1.29343 1)
-    arc 0 21 (0.923879 -0.382683 -1)
-    arc 21 26 (0.382683 -0.923879 -1)
-    arc 1 20 (1.29343 -0.535757 -1)
-    arc 20 25 (0.535757 -1.29343 -1)
-    arc 32 53 (0.923879 -0.382683 1)
-    arc 53 58 (0.382683 -0.923879 1)
-    arc 33 52 (1.29343 -0.535757 1)
-    arc 52 57 (0.535757 -1.29343 1)
-    arc 11 29 (-0.923879 -0.382683 -1)
-    arc 29 26 (-0.382683 -0.923879 -1)
-    arc 12 28 (-1.29343 -0.535757 -1)
-    arc 28 25 (-0.535757 -1.29343 -1)
-    arc 43 61 (-0.923879 -0.382683 1)
-    arc 61 58 (-0.382683 -0.923879 1)
-    arc 44 60 (-1.29343 -0.535757 1)
-    arc 60 57 (-0.535757 -1.29343 1)
+    arc 5 0 origin (0 0 $zmin)
+    arc 5 10 origin (0 0 $zmin)
+    arc 1 4 origin (0 0 $zmin)
+    arc 4 9 origin (0 0 $zmin)
+    arc 32 37 origin (0 0 $zmax)
+    arc 37 42 origin (0 0 $zmax)
+    arc 33 36 origin (0 0 $zmax)
+    arc 36 41 origin (0 0 $zmax)
+    arc 11 16 origin (0 0 $zmin)
+    arc 16 10 origin (0 0 $zmin)
+    arc 12 15 origin (0 0 $zmin)
+    arc 15 9 origin (0 0 $zmin)
+    arc 43 48 origin (0 0 $zmax)
+    arc 48 42 origin (0 0 $zmax)
+    arc 44 47 origin (0 0 $zmax)
+    arc 47 41 origin (0 0 $zmax)
+    arc 0 21 origin (0 0 $zmin)
+    arc 21 26 origin (0 0 $zmin)
+    arc 1 20 origin (0 0 $zmin)
+    arc 20 25 origin (0 0 $zmin)
+    arc 32 53 origin (0 0 $zmax)
+    arc 53 58 origin (0 0 $zmax)
+    arc 33 52 origin (0 0 $zmax)
+    arc 52 57 origin (0 0 $zmax)
+    arc 11 29 origin (0 0 $zmin)
+    arc 29 26 origin (0 0 $zmin)
+    arc 12 28 origin (0 0 $zmin)
+    arc 28 25 origin (0 0 $zmin)
+    arc 43 61 origin (0 0 $zmax)
+    arc 61 58 origin (0 0 $zmax)
+    arc 44 60 origin (0 0 $zmax)
+    arc 60 57 origin (0 0 $zmax)
 );
 
 boundary
diff --git a/tutorials/incompressible/pimpleFoam/laminar/cylinder2D/system/blockMeshDict.main b/tutorials/incompressible/pimpleFoam/laminar/cylinder2D/system/blockMeshDict.main
index f6c2adc8f79da8187746b9cbc23378d9da6552a2..223dc50e5ae3c8a19e7d58ac1d770c29092682f0 100644
--- a/tutorials/incompressible/pimpleFoam/laminar/cylinder2D/system/blockMeshDict.main
+++ b/tutorials/incompressible/pimpleFoam/laminar/cylinder2D/system/blockMeshDict.main
@@ -23,18 +23,6 @@ x3        #eval{ 10.0*$R };
 xOutlet   #eval{ 18.6667*$R };
 xInlet    #eval{ -10.125*$R };
 
-RsinPi8   #eval{ $R*sin(0.125*pi()) };
-RsinPi8n  #eval{ -$RsinPi8 };
-RcosPi8   #eval{ $R*cos(0.125*pi()) };
-RcosPi8n  #eval{ -$RcosPi8 };
-RsinPi4   #eval{ $R*sin(0.25*pi()) };
-
-x2sinPi8  #eval{ $x2*sin(0.125*pi()) };
-x2sinPi8n #eval{ -$x2sinPi8 };
-x2cosPi8  #eval{ $x2*cos(0.125*pi()) };
-x2cosPi8n #eval{ -$x2cosPi8 };
-x2sinPi4  #eval{ $x2*sin(0.25*pi()) };
-
 z0        -0.0075;
 z1        0.0075;
 nz        1;
@@ -49,15 +37,18 @@ vertices #codeStream
 
     code
     #{
+        // sin(45), cos(45)
+        const scalar sqrt05 = sqrt(0.5);
+
         pointField points(19);
         points[0] = point($R, 0, $z0);
         points[1] = point($x2, 0, $z0);
         points[2] = point($x3, 0, $z0);
-        points[3] = point($x3, $x2sinPi4, $z0);
-        points[4] = point($x2sinPi4, $x2sinPi4, $z0);
-        points[5] = point($RsinPi4, $RsinPi4, $z0);
+        points[3] = point($x3, $x2*sqrt05, $z0);
+        points[4] = point($x2*sqrt05, $x2*sqrt05, $z0);
+        points[5] = point($R*sqrt05, $R*sqrt05, $z0);
         points[6] = point($x3, $x3, $z0);
-        points[7] = point($x2sinPi4, $x3, $z0);
+        points[7] = point($x2*sqrt05, $x3, $z0);
 
         // Mirror +x points to -x side
         points[11] = point(-points[0].x(), points[0].y(), points[0].z());
@@ -76,7 +67,7 @@ vertices #codeStream
 
         // Mirror -z points to +z side
         label sz = points.size();
-        points.setSize(2*sz);
+        points.resize(2*sz);
         for (label i = 0; i < sz; ++i)
         {
             const point& pt = points[i];
@@ -86,7 +77,7 @@ vertices #codeStream
         // Add an inner cylinder
         sz = points.size();
         label nAdd = 6;
-        points.setSize(sz + nAdd);
+        points.resize(sz + nAdd);
 
         // Points within the inner cylinder
         points[sz] = point(0, 0, $z0);
@@ -102,7 +93,7 @@ vertices #codeStream
 
         // Mirror -z points to +z side
         sz = points.size();
-        points.setSize(sz + nAdd);
+        points.resize(sz + nAdd);
         for (label i = 0; i < nAdd; ++i)
         {
             const point& pt = points[i+sz-nAdd];
@@ -112,21 +103,21 @@ vertices #codeStream
         // Add downstream and upstream blocks
         sz = points.size();
         nAdd = 6;
-        points.setSize(sz + nAdd);
+        points.resize(sz + nAdd);
 
         // Points on outlet
         points[sz] = point($xOutlet, 0, $z0);
         points[sz + 1] = point($xOutlet, $x3, $z0);
-        points[sz + 4] = point($xOutlet, $x2sinPi4, $z0);
+        points[sz + 4] = point($xOutlet, $x2*sqrt05, $z0);
 
         // Points on inlet
         points[sz + 2] = point($xInlet, 0, $z0);
         points[sz + 3] = point($xInlet, $x3, $z0);
-        points[sz + 5] = point($xInlet, $x2sinPi4, $z0);
+        points[sz + 5] = point($xInlet, $x2*sqrt05, $z0);
 
         // Mirror -z points to +z side
         sz = points.size();
-        points.setSize(sz + nAdd);
+        points.resize(sz + nAdd);
         for (label i = 0; i < nAdd; ++i)
         {
             const point& pt = points[i + sz - nAdd];
@@ -158,22 +149,22 @@ blocks
 
 edges
 (
-    arc  0  5 ($RcosPi8   $RsinPi8  $z0)
-    arc  5 10 ($RsinPi8   $RcosPi8  $z0)
-    arc  1  4 ($x2cosPi8  $x2sinPi8 $z0)
-    arc  4  9 ($x2sinPi8  $x2cosPi8 $z0)
-    arc 19 24 ($RcosPi8   $RsinPi8  $z1)
-    arc 24 29 ($RsinPi8   $RcosPi8  $z1)
-    arc 20 23 ($x2cosPi8  $x2sinPi8 $z1)
-    arc 23 28 ($x2sinPi8  $x2cosPi8 $z1)
-    arc 11 16 ($RcosPi8n  $RsinPi8  $z0)
-    arc 16 10 ($RsinPi8n  $RcosPi8  $z0)
-    arc 12 15 ($x2cosPi8n $x2sinPi8 $z0)
-    arc 15  9 ($x2sinPi8n $x2cosPi8 $z0)
-    arc 30 35 ($RcosPi8n  $RsinPi8  $z1)
-    arc 35 29 ($RsinPi8n  $RcosPi8  $z1)
-    arc 31 34 ($x2cosPi8n $x2sinPi8 $z1)
-    arc 34 28 ($x2sinPi8n $x2cosPi8 $z1)
+    arc  0  5 origin (0 0 $z0)
+    arc  5 10 origin (0 0 $z0)
+    arc  1  4 origin (0 0 $z0)
+    arc  4  9 origin (0 0 $z0)
+    arc 19 24 origin (0 0 $z1)
+    arc 24 29 origin (0 0 $z1)
+    arc 20 23 origin (0 0 $z1)
+    arc 23 28 origin (0 0 $z1)
+    arc 11 16 origin (0 0 $z0)
+    arc 16 10 origin (0 0 $z0)
+    arc 12 15 origin (0 0 $z0)
+    arc 15  9 origin (0 0 $z0)
+    arc 30 35 origin (0 0 $z1)
+    arc 35 29 origin (0 0 $z1)
+    arc 31 34 origin (0 0 $z1)
+    arc 34 28 origin (0 0 $z1)
 );
 
 boundary
diff --git a/tutorials/incompressible/simpleFoam/bump2D/system/blockMeshDict b/tutorials/incompressible/simpleFoam/bump2D/system/blockMeshDict
index 890fc02425665e787f19fe714326ecb242006bc2..5d2a59b5cdec8c6f10c70a083ca8f32dab4f3605 100644
--- a/tutorials/incompressible/simpleFoam/bump2D/system/blockMeshDict
+++ b/tutorials/incompressible/simpleFoam/bump2D/system/blockMeshDict
@@ -74,14 +74,14 @@ edges #codeStream
 
     code
     #{
-        const scalar xMin = 0.3;
-        const scalar xMax = 1.2;
-        const label nPoints = 100;
-        const scalar dx = (xMax - xMin)/scalar(nPoints - 1);
+        constexpr scalar xMin = 0.3;
+        constexpr scalar xMax = 1.2;
+        constexpr label nPoints = 100;
+        constexpr scalar dx = (xMax - xMin)/scalar(nPoints - 1);
+        constexpr scalar pi = constant::mathematical::pi;
 
         os  << "(" << nl << "spline 2 3" << nl;
         pointField profile(nPoints);
-        const scalar pi = constant::mathematical::pi;
 
         for (label i = 0; i < nPoints; ++i)
         {
diff --git a/tutorials/incompressible/simpleFoam/pipeCyclic/system/blockMeshDict b/tutorials/incompressible/simpleFoam/pipeCyclic/system/blockMeshDict
index bdbbf798dd014343b2182b3453d7bf87a90d525e..b97babdd44b1739a53c2ad499fd592d5a0c761d7 100644
--- a/tutorials/incompressible/simpleFoam/pipeCyclic/system/blockMeshDict
+++ b/tutorials/incompressible/simpleFoam/pipeCyclic/system/blockMeshDict
@@ -25,34 +25,33 @@ halfAngle 45.0;
 radius  0.5;
 
 y               #eval{ $radius*sin(degToRad($halfAngle)) };
-minY            #eval{ -1*$y };
 z               #eval{ $radius*cos(degToRad($halfAngle)) };
+minY            #eval{ -1*$y };
 minZ            #eval{ -1*$z };
 
 vertices
 (
-    (0.0    0.0 0)      //0
-    (10     0.0 0)
-    (10     0.0 0)      //2
-    (0.0    0.0 0)
+    (0  0 0)        //0
+    (10 0 0)        //1
+    (10 0 0)        //2
+    (0  0 0)        //3
 
-    (0.0    $minY $z)   //4
-    (10     $minY $z)
-    (10     $y $z)      //6
-    (0.0    $y $z)
+    (0  $minY $z)   //4
+    (10 $minY $z)   //5
+    (10 $y $z)      //6
+    (0  $y $z)      //7
 
 );
 
 blocks
 (
-    // inlet block
-    hex (0 1 2 3  4 5 6 7) (50 5 5) simpleGrading (1 1 1)
+    hex (0 1 2 3 4 5 6 7) (50 5 5) simpleGrading (1 1 1)
 );
 
 edges
 (
-    arc 4 7 (0 0 $radius)
-    arc 5 6 (10 0 $radius)
+    arc 4 7 origin (0 0 0)
+    arc 5 6 origin (10 0 0)
 );
 
 boundary
diff --git a/tutorials/incompressible/simpleFoam/squareBend/system/blockMeshDict b/tutorials/incompressible/simpleFoam/squareBend/system/blockMeshDict
index 165f4e9b2372a0b853e1817fdcd7dbb2113f6144..366520c4bb42ecc32182917705d664e27dc0debb 100644
--- a/tutorials/incompressible/simpleFoam/squareBend/system/blockMeshDict
+++ b/tutorials/incompressible/simpleFoam/squareBend/system/blockMeshDict
@@ -16,36 +16,39 @@ FoamFile
 
 scale   0.001;
 
+zmin -25;
+zmax 25;
+
 vertices
 (
-    // front-plane: z = +25mm
+    // front-plane:
     // inlet region
-    (   -50  25   25)           // pt 0
-    (     0  25   25)           // pt 1
-    (   -50  75   25)           // pt 2
-    (     0  75   25)           // pt 3
+    (   -50  25   $zmax)    // pt 0
+    (     0  25   $zmax)    // pt 1
+    (   -50  75   $zmax)    // pt 2
+    (     0  75   $zmax)    // pt 3
     // outlet region
-    (  -500 -75   25)           // pt 4
-    (     0 -75   25)           // pt 5
-    (  -500 -25   25)           // pt 6
-    (     0 -25   25)           // pt 7
+    (  -500 -75   $zmax)    // pt 4
+    (     0 -75   $zmax)    // pt 5
+    (  -500 -25   $zmax)    // pt 6
+    (     0 -25   $zmax)    // pt 7
     // bend mid-points
-    (    25   0   25)           // pt 8
-    (    75   0   25)           // pt 9
-    // back-plane: z = -25mm
+    (    25   0   $zmax)    // pt 8
+    (    75   0   $zmax)    // pt 9
+    // back-plane:
     // inlet region
-    (   -50  25   -25)          // pt 0 + 10
-    (     0  25   -25)          // pt 1 + 10
-    (   -50  75   -25)          // pt 2 + 10
-    (     0  75   -25)          // pt 3 + 10
+    (   -50  25   $zmin)    // pt 0 + 10
+    (     0  25   $zmin)    // pt 1 + 10
+    (   -50  75   $zmin)    // pt 2 + 10
+    (     0  75   $zmin)    // pt 3 + 10
     // outlet region
-    (  -500 -75   -25)          // pt 4 + 10
-    (     0 -75   -25)          // pt 5 + 10
-    (  -500 -25   -25)          // pt 7 + 10
-    (     0 -25   -25)          // pt 8 + 10
+    (  -500 -75   $zmin)    // pt 4 + 10
+    (     0 -75   $zmin)    // pt 5 + 10
+    (  -500 -25   $zmin)    // pt 7 + 10
+    (     0 -25   $zmin)    // pt 8 + 10
     // bend mid-points
-    (    25   0   -25)          // pt 8 + 10
-    (    75   0   -25)          // pt 9 + 10
+    (    25   0   $zmin)    // pt 8 + 10
+    (    75   0   $zmin)    // pt 9 + 10
 );
 
 blocks
@@ -60,15 +63,15 @@ blocks
 edges
 (
     // block 2
-    arc  1  8   (17.678  17.678  25)
-    arc 11 18   (17.678  17.678 -25)
-    arc  3  9   (53.033  53.033  25)
-    arc 13 19   (53.033  53.033 -25)
+    arc  1  8  origin (0 0 $zmax)
+    arc  3  9  origin (0 0 $zmax)
+    arc 11 18  origin (0 0 $zmin)
+    arc 13 19  origin (0 0 $zmin)
     // block 3
-    arc  7  8   (17.678  -17.678  25)
-    arc 17 18   (17.678  -17.678 -25)
-    arc  5  9   (53.033  -53.033  25)
-    arc 15 19   (53.033  -53.033 -25)
+    arc  7  8  origin (0 0 $zmax)
+    arc  5  9  origin (0 0 $zmax)
+    arc 17 18  origin (0 0 $zmin)
+    arc 15 19  origin (0 0 $zmin)
 );
 
 boundary
diff --git a/tutorials/lagrangian/reactingParcelFoam/cylinder/system/blockMeshDict b/tutorials/lagrangian/reactingParcelFoam/cylinder/system/blockMeshDict
index 7445c244285d49afb38e391924596dee60aa51e5..2161b74b1c572db2e9f0ae404f36bb210d0e0e83 100644
--- a/tutorials/lagrangian/reactingParcelFoam/cylinder/system/blockMeshDict
+++ b/tutorials/lagrangian/reactingParcelFoam/cylinder/system/blockMeshDict
@@ -14,48 +14,54 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
+// Almost identical to basic/potentialFoam/cylinder
+
 scale   1;
 
+// Front/back locations
+zmin -0.5;
+zmax 0.5;
+
 vertices
 (
-    (0.5 0 -0.5)
-    (1 0 -0.5)
-    (2 0 -0.5)
-    (2 0.707107 -0.5)
-    (0.707107 0.707107 -0.5)
-    (0.353553 0.353553 -0.5)
-    (2 2 -0.5)
-    (0.707107 2 -0.5)
-    (0 2 -0.5)
-    (0 1 -0.5)
-    (0 0.5 -0.5)
-    (-0.5 0 -0.5)
-    (-1 0 -0.5)
-    (-2 0 -0.5)
-    (-2 0.707107 -0.5)
-    (-0.707107 0.707107 -0.5)
-    (-0.353553 0.353553 -0.5)
-    (-2 2 -0.5)
-    (-0.707107 2 -0.5)
-    (0.5 0 0.5)
-    (1 0 0.5)
-    (2 0 0.5)
-    (2 0.707107 0.5)
-    (0.707107 0.707107 0.5)
-    (0.353553 0.353553 0.5)
-    (2 2 0.5)
-    (0.707107 2 0.5)
-    (0 2 0.5)
-    (0 1 0.5)
-    (0 0.5 0.5)
-    (-0.5 0 0.5)
-    (-1 0 0.5)
-    (-2 0 0.5)
-    (-2 0.707107 0.5)
-    (-0.707107 0.707107 0.5)
-    (-0.353553 0.353553 0.5)
-    (-2 2 0.5)
-    (-0.707107 2 0.5)
+    (0.5 0 $zmin)
+    (1 0 $zmin)
+    (2 0 $zmin)
+    (2 0.707107 $zmin)
+    (0.707107 0.707107 $zmin)
+    (0.353553 0.353553 $zmin)
+    (2 2 $zmin)
+    (0.707107 2 $zmin)
+    (0 2 $zmin)
+    (0 1 $zmin)
+    (0 0.5 $zmin)
+    (-0.5 0 $zmin)
+    (-1 0 $zmin)
+    (-2 0 $zmin)
+    (-2 0.707107 $zmin)
+    (-0.707107 0.707107 $zmin)
+    (-0.353553 0.353553 $zmin)
+    (-2 2 $zmin)
+    (-0.707107 2 $zmin)
+    (0.5 0 $zmax)
+    (1 0 $zmax)
+    (2 0 $zmax)
+    (2 0.707107 $zmax)
+    (0.707107 0.707107 $zmax)
+    (0.353553 0.353553 $zmax)
+    (2 2 $zmax)
+    (0.707107 2 $zmax)
+    (0 2 $zmax)
+    (0 1 $zmax)
+    (0 0.5 $zmax)
+    (-0.5 0 $zmax)
+    (-1 0 $zmax)
+    (-2 0 $zmax)
+    (-2 0.707107 $zmax)
+    (-0.707107 0.707107 $zmax)
+    (-0.353553 0.353553 $zmax)
+    (-2 2 $zmax)
+    (-0.707107 2 $zmax)
 );
 
 blocks
@@ -74,22 +80,24 @@ blocks
 
 edges
 (
-    arc 0 5 (0.469846 0.17101 -0.5)
-    arc 5 10 (0.17101 0.469846 -0.5)
-    arc 1 4 (0.939693 0.34202 -0.5)
-    arc 4 9 (0.34202 0.939693 -0.5)
-    arc 19 24 (0.469846 0.17101 0.5)
-    arc 24 29 (0.17101 0.469846 0.5)
-    arc 20 23 (0.939693 0.34202 0.5)
-    arc 23 28 (0.34202 0.939693 0.5)
-    arc 11 16 (-0.469846 0.17101 -0.5)
-    arc 16 10 (-0.17101 0.469846 -0.5)
-    arc 12 15 (-0.939693 0.34202 -0.5)
-    arc 15 9 (-0.34202 0.939693 -0.5)
-    arc 30 35 (-0.469846 0.17101 0.5)
-    arc 35 29 (-0.17101 0.469846 0.5)
-    arc 31 34 (-0.939693 0.34202 0.5)
-    arc 34 28 (-0.34202 0.939693 0.5)
+    // Inner cylinder
+    arc  0  5 origin (0 0 $zmin)
+    arc  5 10 origin (0 0 $zmin)
+    arc  1  4 origin (0 0 $zmin)
+    arc  4  9 origin (0 0 $zmin)
+    arc 19 24 origin (0 0 $zmax)
+    arc 24 29 origin (0 0 $zmax)
+    arc 20 23 origin (0 0 $zmax)
+    arc 23 28 origin (0 0 $zmax)
+    // Intermediate cylinder
+    arc 11 16 origin (0 0 $zmin)
+    arc 16 10 origin (0 0 $zmin)
+    arc 12 15 origin (0 0 $zmin)
+    arc 15  9 origin (0 0 $zmin)
+    arc 30 35 origin (0 0 $zmax)
+    arc 35 29 origin (0 0 $zmax)
+    arc 31 34 origin (0 0 $zmax)
+    arc 34 28 origin (0 0 $zmax)
 );
 
 defaultPatch
diff --git a/tutorials/mesh/blockMesh/sphere/system/blockMeshDict b/tutorials/mesh/blockMesh/sphere/system/blockMeshDict
index 59d5a948f8ddeebc5df9e53610f5da1cfdeb0bd4..191c1f6a4948528dc2a87f17afb2716ef780cea9 100644
--- a/tutorials/mesh/blockMesh/sphere/system/blockMeshDict
+++ b/tutorials/mesh/blockMesh/sphere/system/blockMeshDict
@@ -16,65 +16,71 @@ FoamFile
 
 scale   1;
 
+// Geometric parameters
+outerRadius 1;
+
+// Divisions in x/y/z directions. Can be unequal.
+nx   10;
+ny   $nx;
+nz   $nx;
+
 geometry
 {
     sphere
     {
         type   sphere;
         origin (0 0 0);
-        radius 1;
+        radius $outerRadius;
     }
 }
 
-v 0.5773502;
-mv -0.5773502;
-
-a 0.7071067;
-ma -0.7071067;
+// Box sizes
+vo   #eval{ sqrt($outerRadius/3) };
+mvo  #eval{ -$vo };
 
 vertices
 (
-    ($mv $mv $mv)
-    ( $v $mv $mv)
-    ( $v  $v $mv)
-    ($mv  $v $mv)
-    ($mv $mv  $v)
-    ( $v $mv  $v)
-    ( $v  $v  $v)
-    ($mv  $v  $v)
+    ($mvo $mvo $mvo)
+    ( $vo $mvo $mvo)
+    ( $vo  $vo $mvo)
+    ($mvo  $vo $mvo)
+    ($mvo $mvo  $vo)
+    ( $vo $mvo  $vo)
+    ( $vo  $vo  $vo)
+    ($mvo  $vo  $vo)
 );
 
 blocks
 (
-    hex (0 1 2 3 4 5 6 7) (10 10 10) simpleGrading (1 1 1)
+    hex (0 1 2 3 4 5 6 7) ($nx $ny $nz) grading (1 1 1)
 );
 
 edges
 (
-    arc 0 1 (0 $ma $ma)
-    arc 2 3 (0 $a $ma)
-    arc 6 7 (0 $a $a)
-    arc 4 5 (0 $ma $a)
+    arc 0 1 origin (0 0 0)
+    arc 2 3 origin (0 0 0)
+    arc 6 7 origin (0 0 0)
+    arc 4 5 origin (0 0 0)
 
-    arc 0 3 ($ma 0 $ma)
-    arc 1 2 ($a 0 $ma)
-    arc 5 6 ($a 0 $a)
-    arc 4 7 ($ma 0 $a)
+    arc 0 3 origin (0 0 0)
+    arc 1 2 origin (0 0 0)
+    arc 5 6 origin (0 0 0)
+    arc 4 7 origin (0 0 0)
 
-    arc 0 4 ($ma $ma 0)
-    arc 1 5 ($a $ma 0)
-    arc 2 6 ($a $a 0)
-    arc 3 7 ($ma $a 0)
+    arc 0 4 origin (0 0 0)
+    arc 1 5 origin (0 0 0)
+    arc 2 6 origin (0 0 0)
+    arc 3 7 origin (0 0 0)
 );
 
 faces
 (
-    project (0 4 7 3) sphere
-    project (2 6 5 1) sphere
-    project (1 5 4 0) sphere
-    project (3 7 6 2) sphere
-    project (0 3 2 1) sphere
-    project (4 5 6 7) sphere
+    project (0 4 7 3) sphere  // x-min
+    project (1 2 6 5) sphere  // x-max
+    project (0 1 5 4) sphere  // y-min
+    project (3 7 6 2) sphere  // y-max
+    project (0 3 2 1) sphere  // z-min
+    project (4 5 6 7) sphere  // z-max
 );
 
 boundary
@@ -84,12 +90,12 @@ boundary
         type wall;
         faces
         (
-            (0 4 7 3)
-            (2 6 5 1)
-            (1 5 4 0)
-            (3 7 6 2)
-            (0 3 2 1)
-            (4 5 6 7)
+            (0 4 7 3)  // x-min
+            (1 2 6 5)  // x-max
+            (0 1 5 4)  // y-min
+            (3 7 6 2)  // y-max
+            (0 3 2 1)  // z-min
+            (4 5 6 7)  // z-max
         );
     }
 );
diff --git a/tutorials/mesh/blockMesh/sphere7/system/blockMeshDict b/tutorials/mesh/blockMesh/sphere7/system/blockMeshDict
index 3e7c71adee678c6ab468479faddbcd85ce0ae0a7..6d19d4a536eb004a4b18efb48edcbf3c41c887d0 100644
--- a/tutorials/mesh/blockMesh/sphere7/system/blockMeshDict
+++ b/tutorials/mesh/blockMesh/sphere7/system/blockMeshDict
@@ -17,103 +17,115 @@ FoamFile
 scale   1;
 verbose no;
 
+// Geometric parameters
+outerRadius 1;
+innerRatio  0.7;
+
+// Divisions in x/y/z and radial directions. Can be unequal.
+nx   10;
+ny   $nx;
+nz   $nx;
+nr   6;
+
 geometry
 {
     sphere
     {
         type   sphere;
         origin (0 0 0);
-        radius 1;
+        radius $outerRadius;
     }
 }
 
+// Outer box sizes
+vo   #eval{ sqrt($outerRadius/3) };
+mvo  #eval{ -$vo };
 
-n    10;
-
-v    0.5773502;
-mv  -0.5773502;
-vh   0.2886751;
-mvh -0.2886751;
-
-a    0.7071067;
-ma  -0.7071067;
-ah   0.3464101;
-mah -0.3464101;
+// Inner box sizes - % of overall dimension
+vi   #eval{ $innerRatio*$vo };
+mvi  #eval{ $innerRatio*$mvo };
 
 vertices
 (
-    ($mvh $mvh $mvh)
-    ( $vh $mvh $mvh)
-    ( $vh  $vh $mvh)
-    ($mvh  $vh $mvh)
-    ($mvh $mvh  $vh)
-    ( $vh $mvh  $vh)
-    ( $vh  $vh  $vh)
-    ($mvh  $vh  $vh)
-
-    ($mv $mv $mv)
-    ( $v $mv $mv)
-    ( $v  $v $mv)
-    ($mv  $v $mv)
-    ($mv $mv  $v)
-    ( $v $mv  $v)
-    ( $v  $v  $v)
-    ($mv  $v  $v)
+    // Inner block
+    ($mvi $mvi $mvi)
+    ( $vi $mvi $mvi)
+    ( $vi  $vi $mvi)
+    ($mvi  $vi $mvi)
+    ($mvi $mvi  $vi)
+    ( $vi $mvi  $vi)
+    ( $vi  $vi  $vi)
+    ($mvi  $vi  $vi)
+
+    // Outer blocks
+    ($mvo $mvo $mvo)
+    ( $vo $mvo $mvo)
+    ( $vo  $vo $mvo)
+    ($mvo  $vo $mvo)
+    ($mvo $mvo  $vo)
+    ( $vo $mvo  $vo)
+    ( $vo  $vo  $vo)
+    ($mvo  $vo  $vo)
 );
 
 blocks
 (
-    hex ( 0  1  2  3  4  5  6  7) ($n $n $n) simpleGrading (1 1 1)
-    hex ( 9  8 12 13  1  0  4  5) ($n $n $n) simpleGrading (1 1 1)
-    hex (10  9 13 14  2  1  5  6) ($n $n $n) simpleGrading (1 1 1)
-    hex (11 10 14 15  3  2  6  7) ($n $n $n) simpleGrading (1 1 1)
-    hex ( 8 11 15 12  0  3  7  4) ($n $n $n) simpleGrading (1 1 1)
-    hex ( 8  9 10 11  0  1  2  3) ($n $n $n) simpleGrading (1 1 1)
-    hex (13 12 15 14  5  4  7  6) ($n $n $n) simpleGrading (1 1 1)
+    hex (0 1 2 3 4 5 6 7) ($nx $ny $nz) grading (1 1 1)  // Inner block
+
+    // Outer blocks
+    hex ( 8  0  3 11 12  4  7 15) ($nr $ny $nz) grading (1 1 1)  // x-min
+    hex ( 1  9 10  2  5 13 14  6) ($nr $ny $nz) grading (1 1 1)  // x-max
+    hex ( 8  9  1  0 12 13  5  4) ($nx $nr $nz) grading (1 1 1)  // y-min
+    hex ( 3  2 10 11  7  6 14 15) ($nx $nr $nz) grading (1 1 1)  // y-max
+    hex ( 8  9 10 11  0  1  2  3) ($nx $ny $nr) grading (1 1 1)  // z-min
+    hex ( 4  5  6  7 12 13 14 15) ($nx $ny $nr) grading (1 1 1)  // z-max
 );
 
+
 edges
 (
-    arc  8  9 (0 $ma $ma)
-    arc 10 11 (0 $a $ma)
-    arc 14 15 (0 $a $a)
-    arc 12 13 (0 $ma $a)
-
-    arc  8 11 ($ma 0 $ma)
-    arc  9 10 ($a 0 $ma)
-    arc 13 14 ($a 0 $a)
-    arc 12 15 ($ma 0 $a)
-
-    arc  8 12 ($ma $ma 0)
-    arc  9 13 ($a $ma 0)
-    arc 10 14 ($a $a 0)
-    arc 11 15 ($ma $a 0)
-
-
-    arc  0  1 (0 $mah $mah)
-    arc  2  3 (0 $ah $mah)
-    arc  6  7 (0 $ah $ah)
-    arc  4  5 (0 $mah $ah)
-
-    arc  0  3 ($mah 0 $mah)
-    arc  1  2 ($ah 0 $mah)
-    arc  5  6 ($ah 0 $ah)
-    arc  4  7 ($mah 0 $ah)
-
-    arc  0  4 ($mah $mah 0)
-    arc  1  5 ($ah $mah 0)
-    arc  2  6 ($ah $ah 0)
-    arc  3  7 ($mah $ah 0)
+    // Outer blocks
+    arc  8  9 origin (0 0 0)
+    arc 10 11 origin (0 0 0)
+    arc 14 15 origin (0 0 0)
+    arc 12 13 origin (0 0 0)
+
+    arc  8 11 origin (0 0 0)
+    arc  9 10 origin (0 0 0)
+    arc 13 14 origin (0 0 0)
+    arc 12 15 origin (0 0 0)
+
+    arc  8 12 origin (0 0 0)
+    arc  9 13 origin (0 0 0)
+    arc 10 14 origin (0 0 0)
+    arc 11 15 origin (0 0 0)
+
+    // Inner block - flattened by factor 1.1
+    arc 0 1 origin 1.1 (0 0 0)
+    arc 2 3 origin 1.1 (0 0 0)
+    arc 6 7 origin 1.1 (0 0 0)
+    arc 4 5 origin 1.1 (0 0 0)
+
+    arc 0 3 origin 1.1 (0 0 0)
+    arc 1 2 origin 1.1 (0 0 0)
+    arc 5 6 origin 1.1 (0 0 0)
+    arc 4 7 origin 1.1 (0 0 0)
+
+    arc 0 4 origin 1.1 (0 0 0)
+    arc 1 5 origin 1.1 (0 0 0)
+    arc 2 6 origin 1.1 (0 0 0)
+    arc 3 7 origin 1.1 (0 0 0)
 );
 
 faces
 (
-    project ( 8 12 15 11) sphere
-    project (10 14 13  9) sphere
-    project ( 9 13 12  8) sphere
-    project (11 15 14 10) sphere
-    project ( 8 11 10  9) sphere
-    project (12 13 14 15) sphere
+    // Outer blocks
+    project ( 8 12 15 11) sphere  // x-min
+    project ( 9 10 14 13) sphere  // x-max
+    project ( 8  9 13 12) sphere  // y-min
+    project (11 15 14 10) sphere  // y-max
+    project ( 8 11 10  9) sphere  // z-min
+    project (12 13 14 15) sphere  // z-max
 );
 
 boundary
@@ -123,12 +135,12 @@ boundary
         type wall;
         faces
         (
-            ( 8 12 15 11)
-            (10 14 13  9)
-            ( 9 13 12  8)
-            (11 15 14 10)
-            ( 8 11 10  9)
-            (12 13 14 15)
+            ( 8 12 15 11)  // x-min
+            ( 9 10 14 13)  // x-max
+            ( 8  9 13 12)  // y-min
+            (11 15 14 10)  // y-max
+            ( 8 11 10  9)  // z-min
+            (12 13 14 15)  // z-max
         );
     }
 );
diff --git a/tutorials/mesh/blockMesh/sphere7ProjectedEdges/system/blockMeshDict b/tutorials/mesh/blockMesh/sphere7ProjectedEdges/system/blockMeshDict
index 27624af9302c8f0abc632035b5de717d260f4685..6f7108118ffc581c11a3823e5aebad685a7b0c78 100644
--- a/tutorials/mesh/blockMesh/sphere7ProjectedEdges/system/blockMeshDict
+++ b/tutorials/mesh/blockMesh/sphere7ProjectedEdges/system/blockMeshDict
@@ -17,68 +17,81 @@ FoamFile
 scale   1;
 verbose no;
 
+// Geometric parameters
+outerRadius 1;
+innerRatio  0.5;
+
+// Divisions in x/y/z and radial directions. Can be unequal.
+nx   10;
+ny   $nx;
+nz   $nx;
+nr   6;
+
 geometry
 {
     sphere
     {
         type   sphere;
         origin (0 0 0);
-        radius 1;
+        radius $outerRadius;
     }
 
     innerSphere
     {
         type   sphere;
         origin (0 0 0);
-        radius 0.5;
+        radius #eval{ $innerRatio * $outerRadius };
     }
 }
 
-n    10;
 
-// Rough approximation of corner points
-v    0.5773502;
-mv  -0.5773502;
-vh   0.2886751;
-mvh -0.2886751;
+// Outer box sizes (approximate)
+vo   #eval{ sqrt($outerRadius/3) };
+mvo  #eval{ -$vo };
+
+// Inner box sizes - % of overall dimension
+vi   #eval{ $innerRatio*$vo };
+mvi  #eval{ $innerRatio*$mvo };
 
 vertices
 (
     // Inner block points
-    project ($mvh $mvh $mvh) (innerSphere)
-    project ( $vh $mvh $mvh) (innerSphere)
-    project ( $vh  $vh $mvh) (innerSphere)
-    project ($mvh  $vh $mvh) (innerSphere)
-    project ($mvh $mvh  $vh) (innerSphere)
-    project ( $vh $mvh  $vh) (innerSphere)
-    project ( $vh  $vh  $vh) (innerSphere)
-    project ($mvh  $vh  $vh) (innerSphere)
+    project ($mvi $mvi $mvi) (innerSphere)
+    project ( $vi $mvi $mvi) (innerSphere)
+    project ( $vi  $vi $mvi) (innerSphere)
+    project ($mvi  $vi $mvi) (innerSphere)
+    project ($mvi $mvi  $vi) (innerSphere)
+    project ( $vi $mvi  $vi) (innerSphere)
+    project ( $vi  $vi  $vi) (innerSphere)
+    project ($mvi  $vi  $vi) (innerSphere)
 
     // Outer block points
-    project ($mv $mv $mv) (sphere)
-    project ( $v $mv $mv) (sphere)
-    project ( $v  $v $mv) (sphere)
-    project ($mv  $v $mv) (sphere)
-    project ($mv $mv  $v) (sphere)
-    project ( $v $mv  $v) (sphere)
-    project ( $v  $v  $v) (sphere)
-    project ($mv  $v  $v) (sphere)
+    project ($mvo $mvo $mvo) (sphere)
+    project ( $vo $mvo $mvo) (sphere)
+    project ( $vo  $vo $mvo) (sphere)
+    project ($mvo  $vo $mvo) (sphere)
+    project ($mvo $mvo  $vo) (sphere)
+    project ( $vo $mvo  $vo) (sphere)
+    project ( $vo  $vo  $vo) (sphere)
+    project ($mvo  $vo  $vo) (sphere)
 );
 
 blocks
 (
-    hex ( 0  1  2  3  4  5  6  7) ($n $n $n) simpleGrading (1 1 1)
-    hex ( 9  8 12 13  1  0  4  5) ($n $n $n) simpleGrading (1 1 1)
-    hex (10  9 13 14  2  1  5  6) ($n $n $n) simpleGrading (1 1 1)
-    hex (11 10 14 15  3  2  6  7) ($n $n $n) simpleGrading (1 1 1)
-    hex ( 8 11 15 12  0  3  7  4) ($n $n $n) simpleGrading (1 1 1)
-    hex ( 8  9 10 11  0  1  2  3) ($n $n $n) simpleGrading (1 1 1)
-    hex (13 12 15 14  5  4  7  6) ($n $n $n) simpleGrading (1 1 1)
+    hex (0 1 2 3 4 5 6 7) ($nx $ny $nz) grading (1 1 1)  // Inner block
+
+    // Outer blocks
+    hex ( 8  0  3 11 12  4  7 15) ($nr $ny $nz) grading (1 1 1)  // x-min
+    hex ( 1  9 10  2  5 13 14  6) ($nr $ny $nz) grading (1 1 1)  // x-max
+    hex ( 8  9  1  0 12 13  5  4) ($nx $nr $nz) grading (1 1 1)  // y-min
+    hex ( 3  2 10 11  7  6 14 15) ($nx $nr $nz) grading (1 1 1)  // y-max
+    hex ( 8  9 10 11  0  1  2  3) ($nx $ny $nr) grading (1 1 1)  // z-min
+    hex ( 4  5  6  7 12 13 14 15) ($nx $ny $nr) grading (1 1 1)  // z-max
 );
 
 edges
 (
-    // Outer edges
+    // Outer blocks
     project  8  9 (sphere)
     project 10 11 (sphere)
     project 14 15 (sphere)
@@ -94,32 +107,32 @@ edges
     project 10 14 (sphere)
     project 11 15 (sphere)
 
-
-    // Inner edges
-    project  0  1 (innerSphere)
-    project  2  3 (innerSphere)
-    project  6  7 (innerSphere)
-    project  4  5 (innerSphere)
-
-    project  0  3 (innerSphere)
-    project  1  2 (innerSphere)
-    project  5  6 (innerSphere)
-    project  4  7 (innerSphere)
-
-    project  0  4 (innerSphere)
-    project  1  5 (innerSphere)
-    project  2  6 (innerSphere)
-    project  3  7 (innerSphere)
+    // Inner block
+    project 0 1 (innerSphere)
+    project 2 3 (innerSphere)
+    project 6 7 (innerSphere)
+    project 4 5 (innerSphere)
+
+    project 0 3 (innerSphere)
+    project 1 2 (innerSphere)
+    project 5 6 (innerSphere)
+    project 4 7 (innerSphere)
+
+    project 0 4 (innerSphere)
+    project 1 5 (innerSphere)
+    project 2 6 (innerSphere)
+    project 3 7 (innerSphere)
 );
 
 faces
 (
-    project ( 8 12 15 11) sphere
-    project (10 14 13  9) sphere
-    project ( 9 13 12  8) sphere
-    project (11 15 14 10) sphere
-    project ( 8 11 10  9) sphere
-    project (12 13 14 15) sphere
+    // Outer blocks
+    project ( 8 12 15 11) sphere  // x-min
+    project ( 9 10 14 13) sphere  // x-max
+    project ( 8  9 13 12) sphere  // y-min
+    project (11 15 14 10) sphere  // y-max
+    project ( 8 11 10  9) sphere  // z-min
+    project (12 13 14 15) sphere  // z-max
 );
 
 boundary
@@ -129,12 +142,12 @@ boundary
         type wall;
         faces
         (
-            ( 8 12 15 11)
-            (10 14 13  9)
-            ( 9 13 12  8)
-            (11 15 14 10)
-            ( 8 11 10  9)
-            (12 13 14 15)
+            ( 8 12 15 11)  // x-min
+            ( 9 10 14 13)  // x-max
+            ( 8  9 13 12)  // y-min
+            (11 15 14 10)  // y-max
+            ( 8 11 10  9)  // z-min
+            (12 13 14 15)  // z-max
         );
     }
 );
diff --git a/tutorials/mesh/refineMesh/refineFieldDirs/system/blockMeshDict b/tutorials/mesh/refineMesh/refineFieldDirs/system/blockMeshDict
index a7266f14e154fb5b8e07e04efdf3a6ca0f9eebc8..f97a1d33872fbfa42ae9aff6acc086f705b52c1e 100644
--- a/tutorials/mesh/refineMesh/refineFieldDirs/system/blockMeshDict
+++ b/tutorials/mesh/refineMesh/refineFieldDirs/system/blockMeshDict
@@ -1,9 +1,15 @@
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  v2006                                 |
+|   \\  /    A nd           | Website:  www.openfoam.com                      |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
 FoamFile
 {
     version     2.0;
     format      ascii;
     class       dictionary;
-    location    "system";
     object      blockMeshDict;
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
@@ -25,13 +31,10 @@ scale   1;
                          D
 */
 
-Ax  0.438912;    Ay  0.000000;
-Bx  18.28800;    By  0.000000;
-Cx  0.310358;    Cy  -0.310358;
-Dx  12.931569;   Dy  -12.931569;
-
-Hx  0.405502;    Hy  -0.167964;
-Gx  16.895909;   Gy  -6.998515;
+Ax  0.438912;    Ay  0;
+Bx  18.28800;    By  0;
+Cx  0.310358;    Cy  #eval{-$Cx};
+Dx  12.931569;   Dy  #eval{-$Dx};
 
 Z_DB_low  -0.88706;
 Z_AC_low  -1.07;
@@ -51,16 +54,15 @@ vertices
 
 blocks
 (
-   hex (0 1 2 3 4 5 6 7)    (47 10 4) simpleGrading (41.6669 1 1)
+    hex (0 1 2 3 4 5 6 7) (47 10 4) simpleGrading (41.6669 1 1)
 );
 
 edges
 (
-  arc 0 3 ($Hx $Hy $Z_AC_low)
-  arc 4 7 ($Hx $Hy $Z_high)
-
-  arc 1 2 ($Gx $Gy $Z_DB_low)
-  arc 5 6 ($Gx $Gy $Z_high)
+    arc 0 3 origin (0 0 $Z_AC_low)
+    arc 4 7 origin (0 0 $Z_high)
+    arc 1 2 origin (0 0 $Z_DB_low)
+    arc 5 6 origin (0 0 $Z_high)
 );
 
 patches
diff --git a/tutorials/stressAnalysis/solidDisplacementFoam/plateHole/system/blockMeshDict b/tutorials/stressAnalysis/solidDisplacementFoam/plateHole/system/blockMeshDict
index bce421f9a9142cdf99073fa91943f07da006a5dc..b194cb8d50b037b77feffad798ad30e138476546 100644
--- a/tutorials/stressAnalysis/solidDisplacementFoam/plateHole/system/blockMeshDict
+++ b/tutorials/stressAnalysis/solidDisplacementFoam/plateHole/system/blockMeshDict
@@ -53,14 +53,14 @@ blocks
 
 edges
 (
-    arc 0 5 (0.469846 0.17101 0)
-    arc 5 10 (0.17101 0.469846 0)
-    arc 1 4 (0.939693 0.34202 0)
-    arc 4 9 (0.34202 0.939693 0)
-    arc 11 16 (0.469846 0.17101 0.5)
-    arc 16 21 (0.17101 0.469846 0.5)
-    arc 12 15 (0.939693 0.34202 0.5)
-    arc 15 20 (0.34202 0.939693 0.5)
+    arc  0  5 origin (0 0 0)
+    arc  5 10 origin (0 0 0)
+    arc  1  4 origin (0 0 0)
+    arc  4  9 origin (0 0 0)
+    arc 11 16 origin (0 0 0.5)
+    arc 16 21 origin (0 0 0.5)
+    arc 12 15 origin (0 0 0.5)
+    arc 15 20 origin (0 0 0.5)
 );
 
 boundary