I note that the only non-whitespace differences between this demo and `extrusion43mp_real3.py` are:

````patch
@@ -253,8 +254,7 @@ tdat = time.clock() - t0dat
 
 ### DECLARE OP2 STRUCTURES
 #create the set of dofs, they will be our'virtual' mesh entity
-#the dat has to be based on dofs not specific mesh elements
-coords_dofsSet = op2.Set(nums[0] * layers, 2, "coords_dofsSet")
+coords_dofsSet = op2.Set(nums[0] * layers * 2, 1,"coords_dofsSet")
 coords = op2.Dat(coords_dofsSet, coords_dat, np.float64, "coords")
 
````
and
````patch
@@ -277,6 +277,7 @@ duration1 = time.clock() - t0ind
 
 ### ADD LAYERS INFO TO ITERATION SET
 # the elements set must also contain the layers
+elements.setLayers(layers)
 elements.setPartitionSize(partition_size)
 
 ### CALL PAR LOOP
````

Is it possible that the two can be consolidated?