diff --git a/applications/utilities/postProcessing/graphics/PV398Readers/PV398FoamReader/vtkPV398Foam/Make/files b/applications/utilities/postProcessing/graphics/PV398Readers/PV398FoamReader/vtkPV398Foam/Make/files
deleted file mode 100644
index df6c4a0d23ce65c0f7540248df8501e8634e038e..0000000000000000000000000000000000000000
--- a/applications/utilities/postProcessing/graphics/PV398Readers/PV398FoamReader/vtkPV398Foam/Make/files
+++ /dev/null
@@ -1,11 +0,0 @@
-vtkPV398Foam.C
-vtkPV398FoamFields.C
-vtkPV398FoamMesh.C
-vtkPV398FoamMeshLagrangian.C
-vtkPV398FoamMeshSet.C
-vtkPV398FoamMeshVolume.C
-vtkPV398FoamMeshZone.C
-vtkPV398FoamUpdateInfo.C
-vtkPV398FoamUtils.C
-
-LIB = $(FOAM_LIBBIN)/libvtkPV398Foam
diff --git a/applications/utilities/postProcessing/graphics/PV398Readers/PV398blockMeshReader/vtkPV398blockMesh/Make/files b/applications/utilities/postProcessing/graphics/PV398Readers/PV398blockMeshReader/vtkPV398blockMesh/Make/files
deleted file mode 100644
index dce0b1f5431cddba7e3d1d872383cbc3da83b185..0000000000000000000000000000000000000000
--- a/applications/utilities/postProcessing/graphics/PV398Readers/PV398blockMeshReader/vtkPV398blockMesh/Make/files
+++ /dev/null
@@ -1,5 +0,0 @@
-vtkPV398blockMesh.C
-vtkPV398blockMeshConvert.C
-vtkPV398blockMeshUtils.C
-
-LIB = $(FOAM_LIBBIN)/libvtkPV398blockMesh
diff --git a/applications/utilities/postProcessing/graphics/PV398Readers/vtkPV398Readers/Make/files b/applications/utilities/postProcessing/graphics/PV398Readers/vtkPV398Readers/Make/files
deleted file mode 100644
index 2b5d071cb3bc1aaabf44aa70b31e965daf83d594..0000000000000000000000000000000000000000
--- a/applications/utilities/postProcessing/graphics/PV398Readers/vtkPV398Readers/Make/files
+++ /dev/null
@@ -1,3 +0,0 @@
-vtkPV398Readers.C
-
-LIB = $(FOAM_LIBBIN)/libvtkPV398Readers
diff --git a/applications/utilities/postProcessing/graphics/PV3Readers/Allwmake b/applications/utilities/postProcessing/graphics/PV3Readers/Allwmake
index 03b352116e7dd678042468da06d6640c637f6cfe..54026dc9ef7c93c5ab6fc09ee682510ece753f4c 100755
--- a/applications/utilities/postProcessing/graphics/PV3Readers/Allwmake
+++ b/applications/utilities/postProcessing/graphics/PV3Readers/Allwmake
@@ -2,7 +2,7 @@
 cd ${0%/*} || exit 1    # run from this directory
 #set -x
 
-if [ "$ParaView_VERSION" != "3.98.1" ]
+if [ "$ParaView_VERSION" != "4.0.1" ]
     then
     if [ -d "$ParaView_DIR" -a -r "$ParaView_DIR" ]
     then
diff --git a/applications/utilities/postProcessing/graphics/PV398Readers/Allwclean b/applications/utilities/postProcessing/graphics/PV4Readers/Allwclean
similarity index 63%
rename from applications/utilities/postProcessing/graphics/PV398Readers/Allwclean
rename to applications/utilities/postProcessing/graphics/PV4Readers/Allwclean
index ba4eb0a015041229c45b07b61f9968fd5974032f..f1171eb61e617481ecdce36c381a1cc462515741 100755
--- a/applications/utilities/postProcessing/graphics/PV398Readers/Allwclean
+++ b/applications/utilities/postProcessing/graphics/PV4Readers/Allwclean
@@ -2,8 +2,8 @@
 cd ${0%/*} || exit 1    # run from this directory
 set -x
 
-wclean libso vtkPV398Readers
-PV398blockMeshReader/Allwclean
-PV398FoamReader/Allwclean
+wclean libso vtkPV4Readers
+PV4blockMeshReader/Allwclean
+PV4FoamReader/Allwclean
 
 # ----------------------------------------------------------------- end-of-file
diff --git a/applications/utilities/postProcessing/graphics/PV398Readers/Allwmake b/applications/utilities/postProcessing/graphics/PV4Readers/Allwmake
similarity index 70%
rename from applications/utilities/postProcessing/graphics/PV398Readers/Allwmake
rename to applications/utilities/postProcessing/graphics/PV4Readers/Allwmake
index 1469999cb6fcaac52d16d5c5a0be15c74fb6a483..99d54fef06ce3092fab99f146c0e1653e9c7d9c5 100755
--- a/applications/utilities/postProcessing/graphics/PV398Readers/Allwmake
+++ b/applications/utilities/postProcessing/graphics/PV4Readers/Allwmake
@@ -2,7 +2,7 @@
 cd ${0%/*} || exit 1    # run from this directory
 #set -x
 
-if [ "$ParaView_VERSION" == "3.98.1" ]
+if [ "$ParaView_VERSION" == "4.0.1" ]
     then
     if [ -d "$ParaView_DIR" -a -r "$ParaView_DIR" ]
     then
@@ -14,14 +14,14 @@ if [ "$ParaView_VERSION" == "3.98.1" ]
         # ensure CMake gets the correct C++ compiler
         [ -n "$WM_CXX" ] && export CXX="$WM_CXX"
 
-        wmake libso vtkPV398Readers
-        PV398blockMeshReader/Allwmake
-        PV398FoamReader/Allwmake
+        wmake libso vtkPV4Readers
+        PV4blockMeshReader/Allwmake
+        PV4FoamReader/Allwmake
     else
         echo "ERROR: ParaView not found in $ParaView_DIR"
     fi
 else
-    echo "WARN: PV398 readers not building: ParaView_VERSION=$ParaView_VERSION"
+    echo "WARN: PV4 readers not building: ParaView_VERSION=$ParaView_VERSION"
 fi
 
 # ----------------------------------------------------------------- end-of-file
diff --git a/applications/utilities/postProcessing/graphics/PV398Readers/PV398FoamReader/Allwclean b/applications/utilities/postProcessing/graphics/PV4Readers/PV4FoamReader/Allwclean
similarity index 65%
rename from applications/utilities/postProcessing/graphics/PV398Readers/PV398FoamReader/Allwclean
rename to applications/utilities/postProcessing/graphics/PV4Readers/PV4FoamReader/Allwclean
index eda9ee566b20b05b59fbfb451656f5478d672e98..39520be1ab678cf5d03b92b32b04c56da14a1b00 100755
--- a/applications/utilities/postProcessing/graphics/PV398Readers/PV398FoamReader/Allwclean
+++ b/applications/utilities/postProcessing/graphics/PV4Readers/PV4FoamReader/Allwclean
@@ -3,9 +3,9 @@ cd ${0%/*} || exit 1    # run from this directory
 set -x
 
 # deal with client/server vs combined plugins
-rm -f $FOAM_LIBBIN/libPV398FoamReader* 2>/dev/null
+rm -f $FOAM_LIBBIN/libPV4FoamReader* 2>/dev/null
 
-rm -rf PV398FoamReader/Make
-wclean libso vtkPV398Foam
+rm -rf PV4FoamReader/Make
+wclean libso vtkPV4Foam
 
 # ----------------------------------------------------------------- end-of-file
diff --git a/applications/utilities/postProcessing/graphics/PV398Readers/PV398FoamReader/Allwmake b/applications/utilities/postProcessing/graphics/PV4Readers/PV4FoamReader/Allwmake
similarity index 85%
rename from applications/utilities/postProcessing/graphics/PV398Readers/PV398FoamReader/Allwmake
rename to applications/utilities/postProcessing/graphics/PV4Readers/PV4FoamReader/Allwmake
index 77786eb58e8e28da13ba352d2a319ed91b68b901..dd88afc02982fba7df08e342beafa8a3a724073f 100755
--- a/applications/utilities/postProcessing/graphics/PV398Readers/PV398FoamReader/Allwmake
+++ b/applications/utilities/postProcessing/graphics/PV4Readers/PV4FoamReader/Allwmake
@@ -4,9 +4,9 @@ set -x
 
 if [ -d "$ParaView_DIR" -a -r "$ParaView_DIR" ]
 then
-    wmake libso vtkPV398Foam
+    wmake libso vtkPV4Foam
     (
-        cd PV398FoamReader
+        cd PV4FoamReader
         mkdir -p Make/$WM_OPTIONS > /dev/null 2>&1
         cd Make/$WM_OPTIONS
         cmake ../..
diff --git a/applications/utilities/postProcessing/graphics/PV398Readers/PV398FoamReader/PV398FoamReader/CMakeLists.txt b/applications/utilities/postProcessing/graphics/PV4Readers/PV4FoamReader/PV4FoamReader/CMakeLists.txt
similarity index 72%
rename from applications/utilities/postProcessing/graphics/PV398Readers/PV398FoamReader/PV398FoamReader/CMakeLists.txt
rename to applications/utilities/postProcessing/graphics/PV4Readers/PV4FoamReader/PV4FoamReader/CMakeLists.txt
index be5c2185b5bdd304bbc3ffcbdd6f1a7295913523..ed835d3b4792212bc964f00e68481699023110e0 100644
--- a/applications/utilities/postProcessing/graphics/PV398Readers/PV398FoamReader/PV398FoamReader/CMakeLists.txt
+++ b/applications/utilities/postProcessing/graphics/PV4Readers/PV4FoamReader/PV4FoamReader/CMakeLists.txt
@@ -21,7 +21,7 @@ INCLUDE_DIRECTORIES(
     $ENV{WM_PROJECT_DIR}/src/OpenFOAM/lnInclude
     $ENV{WM_PROJECT_DIR}/src/OSspecific/$ENV{WM_OSTYPE}/lnInclude
     $ENV{WM_PROJECT_DIR}/src/finiteVolume/lnInclude
-    ${PROJECT_SOURCE_DIR}/../vtkPV398Foam
+    ${PROJECT_SOURCE_DIR}/../vtkPV4Foam
 )
 
 ADD_DEFINITIONS(
@@ -41,45 +41,45 @@ SET(
 #
 
 # Extend the auto-generated panel
-QT4_WRAP_CPP(MOC_SRCS pqPV398FoamReaderPanel.h)
+QT4_WRAP_CPP(MOC_SRCS pqPV4FoamReaderPanel.h)
 
 ADD_PARAVIEW_OBJECT_PANEL(IFACES IFACE_SRCS
-  CLASS_NAME pqPV398FoamReaderPanel
-  XML_NAME  PV398FoamReader  # name of SourceProxy in *SM.xml
+  CLASS_NAME pqPV4FoamReaderPanel
+  XML_NAME  PV4FoamReader  # name of SourceProxy in *SM.xml
   XML_GROUP sources
 )
 
 ADD_PARAVIEW_PLUGIN(
-    PV398FoamReader_SM "1.0"
-    SERVER_MANAGER_XML PV398FoamReader_SM.xml
-    SERVER_MANAGER_SOURCES vtkPV398FoamReader.cxx
+    PV4FoamReader_SM "1.0"
+    SERVER_MANAGER_XML PV4FoamReader_SM.xml
+    SERVER_MANAGER_SOURCES vtkPV4FoamReader.cxx
     GUI_INTERFACES ${IFACES}
-    GUI_SOURCES pqPV398FoamReaderPanel.cxx
+    GUI_SOURCES pqPV4FoamReaderPanel.cxx
         ${MOC_SRCS} ${UI_SRCS} ${IFACE_SRCS}
-    GUI_RESOURCE_FILES PV398FoamReader.xml
+    GUI_RESOURCE_FILES PV4FoamReader.xml
 )
 
 # #
 # # Define the server-side portion of the reader plugin
 # #
 # ADD_PARAVIEW_PLUGIN(
-#     PV398FoamReader_SM "1.0"
-#     SERVER_MANAGER_XML PV398FoamReader_SM.xml
-#     SERVER_MANAGER_SOURCES vtkPV398FoamReader.cxx
+#     PV4FoamReader_SM "1.0"
+#     SERVER_MANAGER_XML PV4FoamReader_SM.xml
+#     SERVER_MANAGER_SOURCES vtkPV4FoamReader.cxx
 # )
 # #
 # # Define the client-side portion of the reader plugin
 # #
 # ADD_PARAVIEW_PLUGIN(
-#     PV398FoamReader "1.0"
+#     PV4FoamReader "1.0"
 #     GUI_RESOURCES PV3FoamReader.qrc
 # )
 #
 
 TARGET_LINK_LIBRARIES(
-    PV398FoamReader_SM
+    PV4FoamReader_SM
     OpenFOAM
     finiteVolume
-    vtkPV398Foam
+    vtkPV4Foam
 )
 #-----------------------------------------------------------------------------
diff --git a/applications/utilities/postProcessing/graphics/PV398Readers/PV398FoamReader/PV398FoamReader/PV398FoamReader.qrc b/applications/utilities/postProcessing/graphics/PV4Readers/PV4FoamReader/PV4FoamReader/PV4FoamReader.qrc
similarity index 64%
rename from applications/utilities/postProcessing/graphics/PV398Readers/PV398FoamReader/PV398FoamReader/PV398FoamReader.qrc
rename to applications/utilities/postProcessing/graphics/PV4Readers/PV4FoamReader/PV4FoamReader/PV4FoamReader.qrc
index 8f22c858df31ab062f0c16dba27a0f514ea59032..c5bfc27b71bcdcb4455b206e3470a1e35556ef09 100644
--- a/applications/utilities/postProcessing/graphics/PV398Readers/PV398FoamReader/PV398FoamReader/PV398FoamReader.qrc
+++ b/applications/utilities/postProcessing/graphics/PV4Readers/PV4FoamReader/PV4FoamReader/PV4FoamReader.qrc
@@ -1,5 +1,5 @@
 <RCC>
     <qresource prefix="/ParaViewResources" >
-        <file>PV398FoamReader.xml</file>
+        <file>PV4FoamReader.xml</file>
     </qresource>
 </RCC>
diff --git a/applications/utilities/postProcessing/graphics/PV398Readers/PV398FoamReader/PV398FoamReader/PV398FoamReader.xml b/applications/utilities/postProcessing/graphics/PV4Readers/PV4FoamReader/PV4FoamReader/PV4FoamReader.xml
similarity index 79%
rename from applications/utilities/postProcessing/graphics/PV398Readers/PV398FoamReader/PV398FoamReader/PV398FoamReader.xml
rename to applications/utilities/postProcessing/graphics/PV4Readers/PV4FoamReader/PV4FoamReader/PV4FoamReader.xml
index 866ef557b2bcda6f572b64f18b0579f042a87b02..bb940768de226774c9e098a90fd846e865d61e50 100644
--- a/applications/utilities/postProcessing/graphics/PV398Readers/PV398FoamReader/PV398FoamReader/PV398FoamReader.xml
+++ b/applications/utilities/postProcessing/graphics/PV4Readers/PV4FoamReader/PV4FoamReader/PV4FoamReader.xml
@@ -1,5 +1,5 @@
 <ParaViewReaders>
-  <Reader name="PV398FoamReader"
+  <Reader name="PV4FoamReader"
           extensions="OpenFOAM"
           file_description="OpenFOAM Reader">
   </Reader>
diff --git a/applications/utilities/postProcessing/graphics/PV398Readers/PV398FoamReader/PV398FoamReader/PV398FoamReader_SM.xml b/applications/utilities/postProcessing/graphics/PV4Readers/PV4FoamReader/PV4FoamReader/PV4FoamReader_SM.xml
similarity index 99%
rename from applications/utilities/postProcessing/graphics/PV398Readers/PV398FoamReader/PV398FoamReader/PV398FoamReader_SM.xml
rename to applications/utilities/postProcessing/graphics/PV4Readers/PV4FoamReader/PV4FoamReader/PV4FoamReader_SM.xml
index 73849a78c9e0bd01b65af7da122e05f392ac9ba5..8f39ac67b7051f45813a4cf3ac3e6105d6f03e15 100644
--- a/applications/utilities/postProcessing/graphics/PV398Readers/PV398FoamReader/PV398FoamReader/PV398FoamReader_SM.xml
+++ b/applications/utilities/postProcessing/graphics/PV4Readers/PV4FoamReader/PV4FoamReader/PV4FoamReader_SM.xml
@@ -1,8 +1,8 @@
 <ServerManagerConfiguration>
   <ProxyGroup name="sources">
   <SourceProxy
-    name="PV398FoamReader"
-    class="vtkPV398FoamReader">
+    name="PV4FoamReader"
+    class="vtkPV4FoamReader">
 
     <!-- File name - compulsory -->
     <StringVectorProperty
diff --git a/applications/utilities/postProcessing/graphics/PV398Readers/PV398FoamReader/PV398FoamReader/pqPV398FoamReaderPanel.cxx b/applications/utilities/postProcessing/graphics/PV4Readers/PV4FoamReader/PV4FoamReader/pqPV4FoamReaderPanel.cxx
similarity index 95%
rename from applications/utilities/postProcessing/graphics/PV398Readers/PV398FoamReader/PV398FoamReader/pqPV398FoamReaderPanel.cxx
rename to applications/utilities/postProcessing/graphics/PV4Readers/PV4FoamReader/PV4FoamReader/pqPV4FoamReaderPanel.cxx
index 758360192a00301c7c6e79bf5928553dc0e810cd..e911bb088e8dd8b08533c689f89095756a9f47a9 100644
--- a/applications/utilities/postProcessing/graphics/PV398Readers/PV398FoamReader/PV398FoamReader/pqPV398FoamReaderPanel.cxx
+++ b/applications/utilities/postProcessing/graphics/PV4Readers/PV4FoamReader/PV4FoamReader/pqPV4FoamReaderPanel.cxx
@@ -23,7 +23,7 @@ License
 
 \*---------------------------------------------------------------------------*/
 
-#include "pqPV398FoamReaderPanel.h"
+#include "pqPV4FoamReaderPanel.h"
 
 // QT
 #include <QGridLayout>
@@ -50,7 +50,7 @@ License
 
 // * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
 
-pqPV398FoamReaderPanel::pqPV398FoamReaderPanel
+pqPV4FoamReaderPanel::pqPV4FoamReaderPanel
 (
     pqProxy *proxy,
     QWidget *p
@@ -339,7 +339,7 @@ pqPV398FoamReaderPanel::pqPV398FoamReaderPanel
 
 // * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * * //
 
-void pqPV398FoamReaderPanel::CacheMeshToggled()
+void pqPV4FoamReaderPanel::CacheMeshToggled()
 {
     vtkSMIntVectorProperty::SafeDownCast
     (
@@ -348,7 +348,7 @@ void pqPV398FoamReaderPanel::CacheMeshToggled()
 }
 
 
-void pqPV398FoamReaderPanel::RefreshPressed()
+void pqPV4FoamReaderPanel::RefreshPressed()
 {
     // update everything
     vtkSMIntVectorProperty::SafeDownCast
@@ -363,7 +363,7 @@ void pqPV398FoamReaderPanel::RefreshPressed()
 }
 
 
-void pqPV398FoamReaderPanel::ZeroTimeToggled()
+void pqPV4FoamReaderPanel::ZeroTimeToggled()
 {
     vtkSMIntVectorProperty::SafeDownCast
     (
@@ -374,7 +374,7 @@ void pqPV398FoamReaderPanel::ZeroTimeToggled()
 }
 
 
-void pqPV398FoamReaderPanel::ShowPatchNamesToggled()
+void pqPV4FoamReaderPanel::ShowPatchNamesToggled()
 {
     vtkSMIntVectorProperty::SafeDownCast
     (
@@ -391,7 +391,7 @@ void pqPV398FoamReaderPanel::ShowPatchNamesToggled()
 }
 
 
-void pqPV398FoamReaderPanel::ShowGroupsOnlyToggled()
+void pqPV4FoamReaderPanel::ShowGroupsOnlyToggled()
 {
     vtkSMProperty* prop;
 
@@ -407,7 +407,7 @@ void pqPV398FoamReaderPanel::ShowGroupsOnlyToggled()
 }
 
 
-void pqPV398FoamReaderPanel::IncludeSetsToggled()
+void pqPV4FoamReaderPanel::IncludeSetsToggled()
 {
     vtkSMProperty* prop;
 
@@ -423,7 +423,7 @@ void pqPV398FoamReaderPanel::IncludeSetsToggled()
 }
 
 
-void pqPV398FoamReaderPanel::IncludeZonesToggled()
+void pqPV4FoamReaderPanel::IncludeZonesToggled()
 {
     vtkSMProperty* prop;
 
@@ -439,7 +439,7 @@ void pqPV398FoamReaderPanel::IncludeZonesToggled()
 }
 
 
-void pqPV398FoamReaderPanel::ExtrapolatePatchesToggled()
+void pqPV4FoamReaderPanel::ExtrapolatePatchesToggled()
 {
     vtkSMProperty* prop;
 
@@ -452,7 +452,7 @@ void pqPV398FoamReaderPanel::ExtrapolatePatchesToggled()
 }
 
 
-void pqPV398FoamReaderPanel::InterpolateVolFieldsToggled()
+void pqPV4FoamReaderPanel::InterpolateVolFieldsToggled()
 {
     vtkSMProperty* prop;
 
diff --git a/applications/utilities/postProcessing/graphics/PV398Readers/PV398FoamReader/PV398FoamReader/pqPV398FoamReaderPanel.h b/applications/utilities/postProcessing/graphics/PV4Readers/PV4FoamReader/PV4FoamReader/pqPV4FoamReaderPanel.h
similarity index 89%
rename from applications/utilities/postProcessing/graphics/PV398Readers/PV398FoamReader/PV398FoamReader/pqPV398FoamReaderPanel.h
rename to applications/utilities/postProcessing/graphics/PV4Readers/PV4FoamReader/PV4FoamReader/pqPV4FoamReaderPanel.h
index 17c1b88893ca94974022884297ddbc61fbf94262..3f641e271d02ea2de5e963e619af627c094d2396 100644
--- a/applications/utilities/postProcessing/graphics/PV398Readers/PV398FoamReader/PV398FoamReader/pqPV398FoamReaderPanel.h
+++ b/applications/utilities/postProcessing/graphics/PV4Readers/PV4FoamReader/PV4FoamReader/pqPV4FoamReaderPanel.h
@@ -22,19 +22,19 @@ License
     along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
 
 Class
-    pqPV398FoamReaderPanel
+    pqPV4FoamReaderPanel
 
 Description
     GUI modifications for the ParaView reader panel
 
-    A custom panel for the PV398FoamReader.
+    A custom panel for the PV4FoamReader.
 
 SourceFiles
-    pqPV398FoamReaderPanel.cxx
+    pqPV4FoamReaderPanel.cxx
 
 \*---------------------------------------------------------------------------*/
-#ifndef pqPV398FoamReaderPanel_h
-#define pqPV398FoamReaderPanel_h
+#ifndef pqPV4FoamReaderPanel_h
+#define pqPV4FoamReaderPanel_h
 
 
 #include "pqAutoGeneratedObjectPanel.h"
@@ -51,10 +51,10 @@ class vtkSMSourceProxy;
 
 
 /*---------------------------------------------------------------------------*\
-                  Class pqPV398FoamReaderPanel Declaration
+                  Class pqPV4FoamReaderPanel Declaration
 \*---------------------------------------------------------------------------*/
 
-class pqPV398FoamReaderPanel
+class pqPV4FoamReaderPanel
 :
     public pqAutoGeneratedObjectPanel
 {
@@ -105,11 +105,11 @@ public:
     // Constructors
 
         //- Construct from components
-        pqPV398FoamReaderPanel(pqProxy*, QWidget*);
+        pqPV4FoamReaderPanel(pqProxy*, QWidget*);
 
 
     //- Destructor
-    // virtual ~pqPV398FoamReaderPanel();
+    // virtual ~pqPV4FoamReaderPanel();
 };
 
 
diff --git a/applications/utilities/postProcessing/graphics/PV398Readers/PV398FoamReader/PV398FoamReader/vtkPV398FoamReader.cxx b/applications/utilities/postProcessing/graphics/PV4Readers/PV4FoamReader/PV4FoamReader/vtkPV4FoamReader.cxx
similarity index 85%
rename from applications/utilities/postProcessing/graphics/PV398Readers/PV398FoamReader/PV398FoamReader/vtkPV398FoamReader.cxx
rename to applications/utilities/postProcessing/graphics/PV4Readers/PV4FoamReader/PV4FoamReader/vtkPV4FoamReader.cxx
index 435e5d51275c371745ed610e4aebb822a6d92124..176895b668503e02e83617c7ba125c546ea75891 100644
--- a/applications/utilities/postProcessing/graphics/PV398Readers/PV398FoamReader/PV398FoamReader/vtkPV398FoamReader.cxx
+++ b/applications/utilities/postProcessing/graphics/PV4Readers/PV4FoamReader/PV4FoamReader/vtkPV4FoamReader.cxx
@@ -22,7 +22,7 @@ License
     along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
 
 \*---------------------------------------------------------------------------*/
-#include "vtkPV398FoamReader.h"
+#include "vtkPV4FoamReader.h"
 
 #include "pqApplicationCore.h"
 #include "pqRenderView.h"
@@ -40,18 +40,18 @@ License
 #include "vtkStringArray.h"
 
 // OpenFOAM includes
-#include "vtkPV398Foam.H"
+#include "vtkPV4Foam.H"
 
 #undef EXPERIMENTAL_TIME_CACHING
 
 // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
 
-vtkStandardNewMacro(vtkPV398FoamReader);
+vtkStandardNewMacro(vtkPV4FoamReader);
 
 
 // * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
 
-vtkPV398FoamReader::vtkPV398FoamReader()
+vtkPV4FoamReader::vtkPV4FoamReader()
 {
     Debug = 0;
     vtkDebugMacro(<<"Constructor");
@@ -63,7 +63,7 @@ vtkPV398FoamReader::vtkPV398FoamReader()
 
     output0_  = NULL;
 
-#ifdef VTKPV398FOAM_DUALPORT
+#ifdef VTKPV4FOAM_DUALPORT
     // Add second output for the Lagrangian
     this->SetNumberOfOutputPorts(2);
     vtkMultiBlockDataSet *lagrangian = vtkMultiBlockDataSet::New();
@@ -100,7 +100,7 @@ vtkPV398FoamReader::vtkPV398FoamReader()
     SelectionObserver = vtkCallbackCommand::New();
     SelectionObserver->SetCallback
     (
-        &vtkPV398FoamReader::SelectionModifiedCallback
+        &vtkPV4FoamReader::SelectionModifiedCallback
     );
     SelectionObserver->SetClientData(this);
 
@@ -129,7 +129,7 @@ vtkPV398FoamReader::vtkPV398FoamReader()
 
 // * * * * * * * * * * * * * * * * Destructor  * * * * * * * * * * * * * * * //
 
-vtkPV398FoamReader::~vtkPV398FoamReader()
+vtkPV4FoamReader::~vtkPV4FoamReader()
 {
     vtkDebugMacro(<<"Deconstructor");
 
@@ -168,7 +168,7 @@ vtkPV398FoamReader::~vtkPV398FoamReader()
 // * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * * //
 
 // Do everything except set the output info
-int vtkPV398FoamReader::RequestInformation
+int vtkPV4FoamReader::RequestInformation
 (
     vtkInformation* vtkNotUsed(request),
     vtkInformationVector** vtkNotUsed(inputVector),
@@ -177,7 +177,7 @@ int vtkPV398FoamReader::RequestInformation
 {
     vtkDebugMacro(<<"RequestInformation");
 
-    if (Foam::vtkPV398Foam::debug)
+    if (Foam::vtkPV4Foam::debug)
     {
         cout<<"REQUEST_INFORMATION\n";
     }
@@ -190,7 +190,7 @@ int vtkPV398FoamReader::RequestInformation
 
     int nInfo = outputVector->GetNumberOfInformationObjects();
 
-    if (Foam::vtkPV398Foam::debug)
+    if (Foam::vtkPV4Foam::debug)
     {
         cout<<"RequestInformation with " << nInfo << " item(s)\n";
         for (int infoI = 0; infoI < nInfo; ++infoI)
@@ -201,7 +201,7 @@ int vtkPV398FoamReader::RequestInformation
 
     if (!foamData_)
     {
-        foamData_ = new Foam::vtkPV398Foam(FileName, this);
+        foamData_ = new Foam::vtkPV4Foam(FileName, this);
     }
     else
     {
@@ -238,7 +238,7 @@ int vtkPV398FoamReader::RequestInformation
         timeRange[0] = timeSteps[0];
         timeRange[1] = timeSteps[nTimeSteps-1];
 
-        if (Foam::vtkPV398Foam::debug > 1)
+        if (Foam::vtkPV4Foam::debug > 1)
         {
             cout<<"nTimeSteps " << nTimeSteps << "\n"
                 <<"timeRange " << timeRange[0] << " to " << timeRange[1]
@@ -268,7 +268,7 @@ int vtkPV398FoamReader::RequestInformation
 
 
 // Set the output info
-int vtkPV398FoamReader::RequestData
+int vtkPV4FoamReader::RequestData
 (
     vtkInformation* vtkNotUsed(request),
     vtkInformationVector** vtkNotUsed(inputVector),
@@ -292,7 +292,7 @@ int vtkPV398FoamReader::RequestData
 
     int nInfo = outputVector->GetNumberOfInformationObjects();
 
-    if (Foam::vtkPV398Foam::debug)
+    if (Foam::vtkPV4Foam::debug)
     {
         cout<<"RequestData with " << nInfo << " item(s)\n";
         for (int infoI = 0; infoI < nInfo; ++infoI)
@@ -310,7 +310,7 @@ int vtkPV398FoamReader::RequestData
     // taking port0 as the lead for other outputs would be nice, but fails when
     // a filter is added - we need to check everything
     // but since PREVIOUS_UPDATE_TIME_STEPS() is protected, relay the logic
-    // to the vtkPV398Foam::setTime() method
+    // to the vtkPV4Foam::setTime() method
     for (int infoI = 0; infoI < nInfo; ++infoI)
     {
         vtkInformation *outInfo = outputVector->GetInformationObject(infoI);
@@ -342,7 +342,7 @@ int vtkPV398FoamReader::RequestData
         )
     );
 
-    if (Foam::vtkPV398Foam::debug)
+    if (Foam::vtkPV4Foam::debug)
     {
         cout<< "update output with "
             << output->GetNumberOfBlocks() << " blocks\n";
@@ -370,7 +370,7 @@ int vtkPV398FoamReader::RequestData
         output->ShallowCopy(output0_);
     }
 
-    if (Foam::vtkPV398Foam::debug)
+    if (Foam::vtkPV4Foam::debug)
     {
         if (needsUpdate)
         {
@@ -390,7 +390,7 @@ int vtkPV398FoamReader::RequestData
 
 #else
 
-#ifdef VTKPV398FOAM_DUALPORT
+#ifdef VTKPV4FOAM_DUALPORT
     foamData_->Update
     (
         output,
@@ -417,13 +417,13 @@ int vtkPV398FoamReader::RequestData
 }
 
 
-void vtkPV398FoamReader::SetRefresh(int val)
+void vtkPV4FoamReader::SetRefresh(int val)
 {
     Modified();
 }
 
 
-void vtkPV398FoamReader::SetIncludeSets(int val)
+void vtkPV4FoamReader::SetIncludeSets(int val)
 {
     if (IncludeSets != val)
     {
@@ -436,7 +436,7 @@ void vtkPV398FoamReader::SetIncludeSets(int val)
 }
 
 
-void vtkPV398FoamReader::SetIncludeZones(int val)
+void vtkPV4FoamReader::SetIncludeZones(int val)
 {
     if (IncludeZones != val)
     {
@@ -449,7 +449,7 @@ void vtkPV398FoamReader::SetIncludeZones(int val)
 }
 
 
-void vtkPV398FoamReader::SetShowPatchNames(int val)
+void vtkPV4FoamReader::SetShowPatchNames(int val)
 {
     if (ShowPatchNames != val)
     {
@@ -459,7 +459,7 @@ void vtkPV398FoamReader::SetShowPatchNames(int val)
 }
 
 
-void vtkPV398FoamReader::SetShowGroupsOnly(int val)
+void vtkPV4FoamReader::SetShowGroupsOnly(int val)
 {
     if (ShowGroupsOnly != val)
     {
@@ -472,7 +472,7 @@ void vtkPV398FoamReader::SetShowGroupsOnly(int val)
 }
 
 
-void vtkPV398FoamReader::updatePatchNamesView(const bool show)
+void vtkPV4FoamReader::updatePatchNamesView(const bool show)
 {
     pqApplicationCore* appCore = pqApplicationCore::instance();
 
@@ -506,7 +506,7 @@ void vtkPV398FoamReader::updatePatchNamesView(const bool show)
 }
 
 
-void vtkPV398FoamReader::PrintSelf(ostream& os, vtkIndent indent)
+void vtkPV4FoamReader::PrintSelf(ostream& os, vtkIndent indent)
 {
     vtkDebugMacro(<<"PrintSelf");
 
@@ -522,7 +522,7 @@ void vtkPV398FoamReader::PrintSelf(ostream& os, vtkIndent indent)
 }
 
 
-int vtkPV398FoamReader::GetTimeStep()
+int vtkPV4FoamReader::GetTimeStep()
 {
     return foamData_ ? foamData_->timeIndex() : -1;
 }
@@ -531,35 +531,35 @@ int vtkPV398FoamReader::GetTimeStep()
 // ----------------------------------------------------------------------
 // Parts selection list control
 
-vtkDataArraySelection* vtkPV398FoamReader::GetPartSelection()
+vtkDataArraySelection* vtkPV4FoamReader::GetPartSelection()
 {
     vtkDebugMacro(<<"GetPartSelection");
     return PartSelection;
 }
 
 
-int vtkPV398FoamReader::GetNumberOfPartArrays()
+int vtkPV4FoamReader::GetNumberOfPartArrays()
 {
     vtkDebugMacro(<<"GetNumberOfPartArrays");
     return PartSelection->GetNumberOfArrays();
 }
 
 
-const char* vtkPV398FoamReader::GetPartArrayName(int index)
+const char* vtkPV4FoamReader::GetPartArrayName(int index)
 {
     vtkDebugMacro(<<"GetPartArrayName");
     return PartSelection->GetArrayName(index);
 }
 
 
-int vtkPV398FoamReader::GetPartArrayStatus(const char* name)
+int vtkPV4FoamReader::GetPartArrayStatus(const char* name)
 {
     vtkDebugMacro(<<"GetPartArrayStatus");
     return PartSelection->ArrayIsEnabled(name);
 }
 
 
-void vtkPV398FoamReader::SetPartArrayStatus(const char* name, int status)
+void vtkPV4FoamReader::SetPartArrayStatus(const char* name, int status)
 {
     vtkDebugMacro("Set mesh part \"" << name << "\" status to: " << status);
 
@@ -577,35 +577,35 @@ void vtkPV398FoamReader::SetPartArrayStatus(const char* name, int status)
 // ----------------------------------------------------------------------
 // volField selection list control
 
-vtkDataArraySelection* vtkPV398FoamReader::GetVolFieldSelection()
+vtkDataArraySelection* vtkPV4FoamReader::GetVolFieldSelection()
 {
     vtkDebugMacro(<<"GetVolFieldSelection");
     return VolFieldSelection;
 }
 
 
-int vtkPV398FoamReader::GetNumberOfVolFieldArrays()
+int vtkPV4FoamReader::GetNumberOfVolFieldArrays()
 {
     vtkDebugMacro(<<"GetNumberOfVolFieldArrays");
     return VolFieldSelection->GetNumberOfArrays();
 }
 
 
-const char* vtkPV398FoamReader::GetVolFieldArrayName(int index)
+const char* vtkPV4FoamReader::GetVolFieldArrayName(int index)
 {
     vtkDebugMacro(<<"GetVolFieldArrayName");
     return VolFieldSelection->GetArrayName(index);
 }
 
 
-int vtkPV398FoamReader::GetVolFieldArrayStatus(const char* name)
+int vtkPV4FoamReader::GetVolFieldArrayStatus(const char* name)
 {
     vtkDebugMacro(<<"GetVolFieldArrayStatus");
     return VolFieldSelection->ArrayIsEnabled(name);
 }
 
 
-void vtkPV398FoamReader::SetVolFieldArrayStatus(const char* name, int status)
+void vtkPV4FoamReader::SetVolFieldArrayStatus(const char* name, int status)
 {
     vtkDebugMacro(<<"SetVolFieldArrayStatus");
     if (status)
@@ -622,35 +622,35 @@ void vtkPV398FoamReader::SetVolFieldArrayStatus(const char* name, int status)
 // ----------------------------------------------------------------------
 // pointField selection list control
 
-vtkDataArraySelection* vtkPV398FoamReader::GetPointFieldSelection()
+vtkDataArraySelection* vtkPV4FoamReader::GetPointFieldSelection()
 {
     vtkDebugMacro(<<"GetPointFieldSelection");
     return PointFieldSelection;
 }
 
 
-int vtkPV398FoamReader::GetNumberOfPointFieldArrays()
+int vtkPV4FoamReader::GetNumberOfPointFieldArrays()
 {
     vtkDebugMacro(<<"GetNumberOfPointFieldArrays");
     return PointFieldSelection->GetNumberOfArrays();
 }
 
 
-const char* vtkPV398FoamReader::GetPointFieldArrayName(int index)
+const char* vtkPV4FoamReader::GetPointFieldArrayName(int index)
 {
     vtkDebugMacro(<<"GetPointFieldArrayName");
     return PointFieldSelection->GetArrayName(index);
 }
 
 
-int vtkPV398FoamReader::GetPointFieldArrayStatus(const char* name)
+int vtkPV4FoamReader::GetPointFieldArrayStatus(const char* name)
 {
     vtkDebugMacro(<<"GetPointFieldArrayStatus");
     return PointFieldSelection->ArrayIsEnabled(name);
 }
 
 
-void vtkPV398FoamReader::SetPointFieldArrayStatus(const char* name, int status)
+void vtkPV4FoamReader::SetPointFieldArrayStatus(const char* name, int status)
 {
     vtkDebugMacro(<<"SetPointFieldArrayStatus");
     if (status)
@@ -667,35 +667,35 @@ void vtkPV398FoamReader::SetPointFieldArrayStatus(const char* name, int status)
 // ----------------------------------------------------------------------
 // lagrangianField selection list control
 
-vtkDataArraySelection* vtkPV398FoamReader::GetLagrangianFieldSelection()
+vtkDataArraySelection* vtkPV4FoamReader::GetLagrangianFieldSelection()
 {
     vtkDebugMacro(<<"GetLagrangianFieldSelection");
     return LagrangianFieldSelection;
 }
 
 
-int vtkPV398FoamReader::GetNumberOfLagrangianFieldArrays()
+int vtkPV4FoamReader::GetNumberOfLagrangianFieldArrays()
 {
     vtkDebugMacro(<<"GetNumberOfLagrangianFieldArrays");
     return LagrangianFieldSelection->GetNumberOfArrays();
 }
 
 
-const char* vtkPV398FoamReader::GetLagrangianFieldArrayName(int index)
+const char* vtkPV4FoamReader::GetLagrangianFieldArrayName(int index)
 {
     vtkDebugMacro(<<"GetLagrangianFieldArrayName");
     return LagrangianFieldSelection->GetArrayName(index);
 }
 
 
-int vtkPV398FoamReader::GetLagrangianFieldArrayStatus(const char* name)
+int vtkPV4FoamReader::GetLagrangianFieldArrayStatus(const char* name)
 {
     vtkDebugMacro(<<"GetLagrangianFieldArrayStatus");
     return LagrangianFieldSelection->ArrayIsEnabled(name);
 }
 
 
-void vtkPV398FoamReader::SetLagrangianFieldArrayStatus
+void vtkPV4FoamReader::SetLagrangianFieldArrayStatus
 (
     const char* name,
     int status
@@ -715,7 +715,7 @@ void vtkPV398FoamReader::SetLagrangianFieldArrayStatus
 
 // ----------------------------------------------------------------------
 
-void vtkPV398FoamReader::SelectionModifiedCallback
+void vtkPV4FoamReader::SelectionModifiedCallback
 (
     vtkObject*,
     unsigned long,
@@ -723,18 +723,18 @@ void vtkPV398FoamReader::SelectionModifiedCallback
     void*
 )
 {
-    static_cast<vtkPV398FoamReader*>(clientdata)->SelectionModified();
+    static_cast<vtkPV4FoamReader*>(clientdata)->SelectionModified();
 }
 
 
-void vtkPV398FoamReader::SelectionModified()
+void vtkPV4FoamReader::SelectionModified()
 {
     vtkDebugMacro(<<"SelectionModified");
     Modified();
 }
 
 
-int vtkPV398FoamReader::FillOutputPortInformation
+int vtkPV4FoamReader::FillOutputPortInformation
 (
     int port,
     vtkInformation* info
diff --git a/applications/utilities/postProcessing/graphics/PV398Readers/PV398FoamReader/PV398FoamReader/vtkPV398FoamReader.h b/applications/utilities/postProcessing/graphics/PV4Readers/PV4FoamReader/PV4FoamReader/vtkPV4FoamReader.h
similarity index 92%
rename from applications/utilities/postProcessing/graphics/PV398Readers/PV398FoamReader/PV398FoamReader/vtkPV398FoamReader.h
rename to applications/utilities/postProcessing/graphics/PV4Readers/PV4FoamReader/PV4FoamReader/vtkPV4FoamReader.h
index 21415bc44083ffd6d01f5ea935ae0b190cfa6617..0b898e3a9cc90138c56a42f013bbc765e62c7468 100644
--- a/applications/utilities/postProcessing/graphics/PV398Readers/PV398FoamReader/PV398FoamReader/vtkPV398FoamReader.h
+++ b/applications/utilities/postProcessing/graphics/PV4Readers/PV4FoamReader/PV4FoamReader/vtkPV4FoamReader.h
@@ -22,21 +22,21 @@ License
     along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
 
 Class
-    vtkPV398FoamReader
+    vtkPV4FoamReader
 
 Description
     reads a dataset in OpenFOAM format
 
-    vtkPV398blockMeshReader creates an multiblock dataset.
+    vtkPV4blockMeshReader creates an multiblock dataset.
     It uses the OpenFOAM infrastructure (fvMesh, etc) to handle mesh and
     field data.
 
 SourceFiles
-    vtkPV398blockMeshReader.cxx
+    vtkPV4blockMeshReader.cxx
 
 \*---------------------------------------------------------------------------*/
-#ifndef vtkPV398FoamReader_h
-#define vtkPV398FoamReader_h
+#ifndef vtkPV4FoamReader_h
+#define vtkPV4FoamReader_h
 
 // VTK includes
 #include "vtkMultiBlockDataSetAlgorithm.h"
@@ -50,23 +50,23 @@ class vtkCallbackCommand;
 // OpenFOAM forward declarations
 namespace Foam
 {
-    class vtkPV398Foam;
+    class vtkPV4Foam;
 }
 
 
 /*---------------------------------------------------------------------------*\
-                     Class vtkPV398FoamReader Declaration
+                     Class vtkPV4FoamReader Declaration
 \*---------------------------------------------------------------------------*/
 
-class vtkPV398FoamReader
+class vtkPV4FoamReader
 :
     public vtkMultiBlockDataSetAlgorithm
 {
 public:
-    vtkTypeMacro(vtkPV398FoamReader, vtkMultiBlockDataSetAlgorithm);
+    vtkTypeMacro(vtkPV4FoamReader, vtkMultiBlockDataSetAlgorithm);
     void PrintSelf(ostream&, vtkIndent);
 
-    static vtkPV398FoamReader* New();
+    static vtkPV4FoamReader* New();
 
     // Description:
     // Get the current timestep and the timestep range.
@@ -184,10 +184,10 @@ public:
 protected:
 
     //- Construct null
-    vtkPV398FoamReader();
+    vtkPV4FoamReader();
 
     //- Destructor
-    ~vtkPV398FoamReader();
+    ~vtkPV4FoamReader();
 
     //- Return information about mesh, times, etc without loading anything
     virtual int RequestInformation
@@ -218,10 +218,10 @@ protected:
 private:
 
     //- Disallow default bitwise copy construct
-    vtkPV398FoamReader(const vtkPV398FoamReader&);
+    vtkPV4FoamReader(const vtkPV4FoamReader&);
 
     //- Disallow default bitwise assignment
-    void operator=(const vtkPV398FoamReader&);
+    void operator=(const vtkPV4FoamReader&);
 
     //- Add/remove patch names to/from the view
     void updatePatchNamesView(const bool show);
@@ -251,7 +251,7 @@ private:
     vtkMultiBlockDataSet* output0_;
 
     //BTX
-    Foam::vtkPV398Foam* foamData_;
+    Foam::vtkPV4Foam* foamData_;
     //ETX
 };
 
diff --git a/applications/utilities/postProcessing/graphics/PV4Readers/PV4FoamReader/vtkPV4Foam/Make/files b/applications/utilities/postProcessing/graphics/PV4Readers/PV4FoamReader/vtkPV4Foam/Make/files
new file mode 100644
index 0000000000000000000000000000000000000000..548c4b8a93c2c43c4561b0899c1a8718c6b22fff
--- /dev/null
+++ b/applications/utilities/postProcessing/graphics/PV4Readers/PV4FoamReader/vtkPV4Foam/Make/files
@@ -0,0 +1,11 @@
+vtkPV4Foam.C
+vtkPV4FoamFields.C
+vtkPV4FoamMesh.C
+vtkPV4FoamMeshLagrangian.C
+vtkPV4FoamMeshSet.C
+vtkPV4FoamMeshVolume.C
+vtkPV4FoamMeshZone.C
+vtkPV4FoamUpdateInfo.C
+vtkPV4FoamUtils.C
+
+LIB = $(FOAM_LIBBIN)/libvtkPV4Foam
diff --git a/applications/utilities/postProcessing/graphics/PV398Readers/PV398FoamReader/vtkPV398Foam/Make/options b/applications/utilities/postProcessing/graphics/PV4Readers/PV4FoamReader/vtkPV4Foam/Make/options
similarity index 81%
rename from applications/utilities/postProcessing/graphics/PV398Readers/PV398FoamReader/vtkPV398Foam/Make/options
rename to applications/utilities/postProcessing/graphics/PV4Readers/PV4FoamReader/vtkPV4Foam/Make/options
index 3b0bb17b3b68a52690ef0765b0d3b8648ba1ab8b..1ed6a9e569fd731725492c1c08241866a3f40367 100644
--- a/applications/utilities/postProcessing/graphics/PV398Readers/PV398FoamReader/vtkPV398Foam/Make/options
+++ b/applications/utilities/postProcessing/graphics/PV4Readers/PV4FoamReader/vtkPV4Foam/Make/options
@@ -4,8 +4,8 @@ EXE_INC = \
     -I$(LIB_SRC)/meshTools/lnInclude \
     -I$(LIB_SRC)/finiteVolume/lnInclude \
     -I$(LIB_SRC)/lagrangian/basic/lnInclude \
-    -I../../vtkPV398Readers/lnInclude \
-    -I../PV398FoamReader \
+    -I../../vtkPV4Readers/lnInclude \
+    -I../PV4FoamReader \
     -I$(ParaView_INCLUDE_DIR) \
     $(shell \
         test -f $(ParaView_INCLUDE_DIR)/vtkPolyhedron.h && \
@@ -17,5 +17,5 @@ LIB_LIBS = \
     -lfiniteVolume \
     -lgenericPatchFields \
     -llagrangian \
-    -L$(FOAM_LIBBIN) -lvtkPV398Readers \
+    -L$(FOAM_LIBBIN) -lvtkPV4Readers \
     $(GLIBS)
diff --git a/applications/utilities/postProcessing/graphics/PV398Readers/PV398FoamReader/vtkPV398Foam/vtkDataArrayTemplateImplicit.txx b/applications/utilities/postProcessing/graphics/PV4Readers/PV4FoamReader/vtkPV4Foam/vtkDataArrayTemplateImplicit.txx
similarity index 100%
rename from applications/utilities/postProcessing/graphics/PV398Readers/PV398FoamReader/vtkPV398Foam/vtkDataArrayTemplateImplicit.txx
rename to applications/utilities/postProcessing/graphics/PV4Readers/PV4FoamReader/vtkPV4Foam/vtkDataArrayTemplateImplicit.txx
diff --git a/applications/utilities/postProcessing/graphics/PV398Readers/PV398FoamReader/vtkPV398Foam/vtkOpenFOAMPoints.H b/applications/utilities/postProcessing/graphics/PV4Readers/PV4FoamReader/vtkPV4Foam/vtkOpenFOAMPoints.H
similarity index 99%
rename from applications/utilities/postProcessing/graphics/PV398Readers/PV398FoamReader/vtkPV398Foam/vtkOpenFOAMPoints.H
rename to applications/utilities/postProcessing/graphics/PV4Readers/PV4FoamReader/vtkPV4Foam/vtkOpenFOAMPoints.H
index aa0391408e686635a30ef47644bb68f060b39950..a41fe2730dafbd8806b79457d2a96c9e05dda245 100644
--- a/applications/utilities/postProcessing/graphics/PV398Readers/PV398FoamReader/vtkPV398Foam/vtkOpenFOAMPoints.H
+++ b/applications/utilities/postProcessing/graphics/PV4Readers/PV4FoamReader/vtkPV4Foam/vtkOpenFOAMPoints.H
@@ -22,7 +22,7 @@ License
     along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
 
 InClass
-    vtkPV398Foam
+    vtkPV4Foam
 
 \*---------------------------------------------------------------------------*/
 
diff --git a/applications/utilities/postProcessing/graphics/PV398Readers/PV398FoamReader/vtkPV398Foam/vtkOpenFOAMTupleRemap.H b/applications/utilities/postProcessing/graphics/PV4Readers/PV4FoamReader/vtkPV4Foam/vtkOpenFOAMTupleRemap.H
similarity index 99%
rename from applications/utilities/postProcessing/graphics/PV398Readers/PV398FoamReader/vtkPV398Foam/vtkOpenFOAMTupleRemap.H
rename to applications/utilities/postProcessing/graphics/PV4Readers/PV4FoamReader/vtkPV4Foam/vtkOpenFOAMTupleRemap.H
index f5057359e690fd9bcbd563accc6db0d5a3d8ec39..b8358b57fe668f38d0ad4b4ba75bea30fb05074a 100644
--- a/applications/utilities/postProcessing/graphics/PV398Readers/PV398FoamReader/vtkPV398Foam/vtkOpenFOAMTupleRemap.H
+++ b/applications/utilities/postProcessing/graphics/PV4Readers/PV4FoamReader/vtkPV4Foam/vtkOpenFOAMTupleRemap.H
@@ -22,7 +22,7 @@ License
     along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
 
 InClass
-    vtkPV398Foam
+    vtkPV4Foam
 
 \*---------------------------------------------------------------------------*/
 
diff --git a/applications/utilities/postProcessing/graphics/PV398Readers/PV398FoamReader/vtkPV398Foam/vtkPV398Foam.C b/applications/utilities/postProcessing/graphics/PV4Readers/PV4FoamReader/vtkPV4Foam/vtkPV4Foam.C
similarity index 92%
rename from applications/utilities/postProcessing/graphics/PV398Readers/PV398FoamReader/vtkPV398Foam/vtkPV398Foam.C
rename to applications/utilities/postProcessing/graphics/PV4Readers/PV4FoamReader/vtkPV4Foam/vtkPV4Foam.C
index 54848ccc263b16eaf0d2976ea86b128214b233a0..960883af3414ed943bc0e57bd8338ccd7b30ad67 100644
--- a/applications/utilities/postProcessing/graphics/PV398Readers/PV398FoamReader/vtkPV398Foam/vtkPV398Foam.C
+++ b/applications/utilities/postProcessing/graphics/PV4Readers/PV4FoamReader/vtkPV4Foam/vtkPV4Foam.C
@@ -23,8 +23,8 @@ License
 
 \*---------------------------------------------------------------------------*/
 
-#include "vtkPV398Foam.H"
-#include "vtkPV398FoamReader.h"
+#include "vtkPV4Foam.H"
+#include "vtkPV4FoamReader.h"
 
 // OpenFOAM includes
 #include "fvMesh.H"
@@ -42,16 +42,16 @@ License
 
 namespace Foam
 {
-defineTypeNameAndDebug(vtkPV398Foam, 0);
+defineTypeNameAndDebug(vtkPV4Foam, 0);
 }
 
 
 // * * * * * * * * * * * * * Private Member Functions  * * * * * * * * * * * //
 
-#include "vtkPV398FoamAddToSelection.H"
-#include "vtkPV398FoamUpdateInfoFields.H"
+#include "vtkPV4FoamAddToSelection.H"
+#include "vtkPV4FoamUpdateInfoFields.H"
 
-void Foam::vtkPV398Foam::resetCounters()
+void Foam::vtkPV4Foam::resetCounters()
 {
     // Reset array range information (ids and sizes)
     arrayRangeVolume_.reset();
@@ -66,7 +66,7 @@ void Foam::vtkPV398Foam::resetCounters()
 }
 
 
-void Foam::vtkPV398Foam::reduceMemory()
+void Foam::vtkPV4Foam::reduceMemory()
 {
     forAll(regionPolyDecomp_, i)
     {
@@ -91,7 +91,7 @@ void Foam::vtkPV398Foam::reduceMemory()
 }
 
 
-int Foam::vtkPV398Foam::setTime(int nRequest, const double requestTimes[])
+int Foam::vtkPV4Foam::setTime(int nRequest, const double requestTimes[])
 {
     Time& runTime = dbPtr_();
 
@@ -116,7 +116,7 @@ int Foam::vtkPV398Foam::setTime(int nRequest, const double requestTimes[])
 
     if (debug)
     {
-        Info<< "<beg> Foam::vtkPV398Foam::setTime(";
+        Info<< "<beg> Foam::vtkPV4Foam::setTime(";
         for (int requestI = 0; requestI < nRequest; ++requestI)
         {
             if (requestI)
@@ -160,7 +160,7 @@ int Foam::vtkPV398Foam::setTime(int nRequest, const double requestTimes[])
 
     if (debug)
     {
-        Info<< "<end> Foam::vtkPV398Foam::setTime() - selectedTime="
+        Info<< "<end> Foam::vtkPV4Foam::setTime() - selectedTime="
             << Times[nearestIndex].name() << " index=" << timeIndex_
             << "/" << Times.size()
             << " meshChanged=" << Switch(meshChanged_)
@@ -171,11 +171,11 @@ int Foam::vtkPV398Foam::setTime(int nRequest, const double requestTimes[])
 }
 
 
-void Foam::vtkPV398Foam::updateMeshPartsStatus()
+void Foam::vtkPV4Foam::updateMeshPartsStatus()
 {
     if (debug)
     {
-        Info<< "<beg> Foam::vtkPV398Foam::updateMeshPartsStatus" << endl;
+        Info<< "<beg> Foam::vtkPV4Foam::updateMeshPartsStatus" << endl;
     }
 
     vtkDataArraySelection* selection = reader_->GetPartSelection();
@@ -212,17 +212,17 @@ void Foam::vtkPV398Foam::updateMeshPartsStatus()
     }
     if (debug)
     {
-        Info<< "<end> Foam::vtkPV398Foam::updateMeshPartsStatus" << endl;
+        Info<< "<end> Foam::vtkPV4Foam::updateMeshPartsStatus" << endl;
     }
 }
 
 
 // * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
 
-Foam::vtkPV398Foam::vtkPV398Foam
+Foam::vtkPV4Foam::vtkPV4Foam
 (
     const char* const FileName,
-    vtkPV398FoamReader* reader
+    vtkPV4FoamReader* reader
 )
 :
     reader_(reader),
@@ -245,7 +245,7 @@ Foam::vtkPV398Foam::vtkPV398Foam
 {
     if (debug)
     {
-        Info<< "Foam::vtkPV398Foam::vtkPV398Foam - " << FileName << endl;
+        Info<< "Foam::vtkPV4Foam::vtkPV4Foam - " << FileName << endl;
         printMemory();
     }
 
@@ -329,11 +329,11 @@ Foam::vtkPV398Foam::vtkPV398Foam
 
 // * * * * * * * * * * * * * * * * Destructor  * * * * * * * * * * * * * * * //
 
-Foam::vtkPV398Foam::~vtkPV398Foam()
+Foam::vtkPV4Foam::~vtkPV4Foam()
 {
     if (debug)
     {
-        Info<< "<end> Foam::vtkPV398Foam::~vtkPV398Foam" << endl;
+        Info<< "<end> Foam::vtkPV4Foam::~vtkPV4Foam" << endl;
     }
 
     delete meshPtr_;
@@ -342,11 +342,11 @@ Foam::vtkPV398Foam::~vtkPV398Foam()
 
 // * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
 
-void Foam::vtkPV398Foam::updateInfo()
+void Foam::vtkPV4Foam::updateInfo()
 {
     if (debug)
     {
-        Info<< "<beg> Foam::vtkPV398Foam::updateInfo"
+        Info<< "<beg> Foam::vtkPV4Foam::updateInfo"
             << " [meshPtr=" << (meshPtr_ ? "set" : "NULL") << "] timeIndex="
             << timeIndex_ << endl;
     }
@@ -409,17 +409,17 @@ void Foam::vtkPV398Foam::updateInfo()
     {
         // just for debug info
         getSelectedArrayEntries(partSelection);
-        Info<< "<end> Foam::vtkPV398Foam::updateInfo" << endl;
+        Info<< "<end> Foam::vtkPV4Foam::updateInfo" << endl;
     }
 
 }
 
 
-void Foam::vtkPV398Foam::updateFoamMesh()
+void Foam::vtkPV4Foam::updateFoamMesh()
 {
     if (debug)
     {
-        Info<< "<beg> Foam::vtkPV398Foam::updateFoamMesh" << endl;
+        Info<< "<beg> Foam::vtkPV4Foam::updateFoamMesh" << endl;
         printMemory();
     }
 
@@ -463,13 +463,13 @@ void Foam::vtkPV398Foam::updateFoamMesh()
 
     if (debug)
     {
-        Info<< "<end> Foam::vtkPV398Foam::updateFoamMesh" << endl;
+        Info<< "<end> Foam::vtkPV4Foam::updateFoamMesh" << endl;
         printMemory();
     }
 }
 
 
-void Foam::vtkPV398Foam::Update
+void Foam::vtkPV4Foam::Update
 (
     vtkMultiBlockDataSet* output,
     vtkMultiBlockDataSet* lagrangianOutput
@@ -477,7 +477,7 @@ void Foam::vtkPV398Foam::Update
 {
     if (debug)
     {
-        cout<< "<beg> Foam::vtkPV398Foam::Update - output with "
+        cout<< "<beg> Foam::vtkPV4Foam::Update - output with "
             << output->GetNumberOfBlocks() << " and "
             << lagrangianOutput->GetNumberOfBlocks() << " blocks\n";
         output->Print(cout);
@@ -518,7 +518,7 @@ void Foam::vtkPV398Foam::Update
         reader_->UpdateProgress(0.7);
     }
 
-#ifdef VTKPV398FOAM_DUALPORT
+#ifdef VTKPV4FOAM_DUALPORT
     // restart port1 at block=0
     blockNo = 0;
 #endif
@@ -540,7 +540,7 @@ void Foam::vtkPV398Foam::Update
 }
 
 
-void Foam::vtkPV398Foam::CleanUp()
+void Foam::vtkPV4Foam::CleanUp()
 {
     // reclaim some memory
     reduceMemory();
@@ -548,7 +548,7 @@ void Foam::vtkPV398Foam::CleanUp()
 }
 
 
-double* Foam::vtkPV398Foam::findTimes(int& nTimeSteps)
+double* Foam::vtkPV4Foam::findTimes(int& nTimeSteps)
 {
     int nTimes = 0;
     double* tsteps = NULL;
@@ -621,7 +621,7 @@ double* Foam::vtkPV398Foam::findTimes(int& nTimeSteps)
 }
 
 
-void Foam::vtkPV398Foam::renderPatchNames
+void Foam::vtkPV4Foam::renderPatchNames
 (
     vtkRenderer* renderer,
     const bool show
@@ -819,7 +819,7 @@ void Foam::vtkPV398Foam::renderPatchNames
 }
 
 
-void Foam::vtkPV398Foam::PrintSelf(ostream& os, vtkIndent indent) const
+void Foam::vtkPV4Foam::PrintSelf(ostream& os, vtkIndent indent) const
 {
     os  << indent << "Number of nodes: "
         << (meshPtr_ ? meshPtr_->nPoints() : 0) << "\n";
diff --git a/applications/utilities/postProcessing/graphics/PV398Readers/PV398FoamReader/vtkPV398Foam/vtkPV398Foam.H b/applications/utilities/postProcessing/graphics/PV4Readers/PV4FoamReader/vtkPV4Foam/vtkPV4Foam.H
similarity index 94%
rename from applications/utilities/postProcessing/graphics/PV398Readers/PV398FoamReader/vtkPV398Foam/vtkPV398Foam.H
rename to applications/utilities/postProcessing/graphics/PV4Readers/PV4FoamReader/vtkPV4Foam/vtkPV4Foam.H
index e692fda6dfe628ccced28fdf361e9cd8f77d65d8..bd5c22a22f1828fc86349057d7c33a623c02270b 100644
--- a/applications/utilities/postProcessing/graphics/PV398Readers/PV398FoamReader/vtkPV398Foam/vtkPV398Foam.H
+++ b/applications/utilities/postProcessing/graphics/PV4Readers/PV4FoamReader/vtkPV4Foam/vtkPV4Foam.H
@@ -22,39 +22,39 @@ License
     along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
 
 Class
-    Foam::vtkPV398Foam
+    Foam::vtkPV4Foam
 
 Description
     Provides a reader interface for OpenFOAM to VTK interaction.
 
 SourceFiles
-    vtkPV398Foam.C
-    vtkPV398Foam.H
-    vtkPV398FoamFields.C
-    vtkPV398FoamMesh.C
-    vtkPV398FoamMeshLagrangian.C
-    vtkPV398FoamTemplates.C
-    vtkPV398FoamMeshSet.C
-    vtkPV398FoamMeshVolume.C
-    vtkPV398FoamMeshZone.C
-    vtkPV398FoamFaceField.H
-    vtkPV398FoamLagrangianFields.H
-    vtkPV398FoamPatchField.H
-    vtkPV398FoamPointFields.H
-    vtkPV398FoamPoints.H
-    vtkPV398FoamUpdateInfo.C
-    vtkPV398FoamUpdateInfoFields.H
-    vtkPV398FoamUtils.C
-    vtkPV398FoamVolFields.H
-    vtkPV398FoamAddToSelection.H
+    vtkPV4Foam.C
+    vtkPV4Foam.H
+    vtkPV4FoamFields.C
+    vtkPV4FoamMesh.C
+    vtkPV4FoamMeshLagrangian.C
+    vtkPV4FoamTemplates.C
+    vtkPV4FoamMeshSet.C
+    vtkPV4FoamMeshVolume.C
+    vtkPV4FoamMeshZone.C
+    vtkPV4FoamFaceField.H
+    vtkPV4FoamLagrangianFields.H
+    vtkPV4FoamPatchField.H
+    vtkPV4FoamPointFields.H
+    vtkPV4FoamPoints.H
+    vtkPV4FoamUpdateInfo.C
+    vtkPV4FoamUpdateInfoFields.H
+    vtkPV4FoamUtils.C
+    vtkPV4FoamVolFields.H
+    vtkPV4FoamAddToSelection.H
 
     // Needed by VTK:
     vtkDataArrayTemplateImplicit.txx
 
 \*---------------------------------------------------------------------------*/
 
-#ifndef vtkPV398Foam_H
-#define vtkPV398Foam_H
+#ifndef vtkPV4Foam_H
+#define vtkPV4Foam_H
 
 // do not include legacy strstream headers
 #ifndef  VTK_EXCLUDE_STRSTREAM_HEADERS
@@ -69,14 +69,14 @@ SourceFiles
 #include "PrimitivePatchInterpolation.H"
 #include "volPointInterpolation.H"
 
-#undef VTKPV398FOAM_DUALPORT
+#undef VTKPV4FOAM_DUALPORT
 
 // * * * * * * * * * * * * * Forward Declarations  * * * * * * * * * * * * * //
 
 class vtkDataArraySelection;
 class vtkDataSet;
 class vtkPoints;
-class vtkPV398FoamReader;
+class vtkPV4FoamReader;
 class vtkRenderer;
 class vtkTextActor;
 class vtkMultiBlockDataSet;
@@ -102,10 +102,10 @@ template<class Type> class IOField;
 template<class Type> class List;
 
 /*---------------------------------------------------------------------------*\
-                        Class vtkPV398Foam Declaration
+                        Class vtkPV4Foam Declaration
 \*---------------------------------------------------------------------------*/
 
-class vtkPV398Foam
+class vtkPV4Foam
 {
     // Private classes
 
@@ -246,8 +246,8 @@ class vtkPV398Foam
 
     // Private Data
 
-        //- Access to the controlling vtkPV398FoamReader
-        vtkPV398FoamReader* reader_;
+        //- Access to the controlling vtkPV4FoamReader
+        vtkPV4FoamReader* reader_;
 
         //- OpenFOAM time control
         autoPtr<Time> dbPtr_;
@@ -652,31 +652,31 @@ class vtkPV398Foam
 
 
         //- Disallow default bitwise copy construct
-        vtkPV398Foam(const vtkPV398Foam&);
+        vtkPV4Foam(const vtkPV4Foam&);
 
         //- Disallow default bitwise assignment
-        void operator=(const vtkPV398Foam&);
+        void operator=(const vtkPV4Foam&);
 
 
 public:
 
     //- Static data members
 
-        ClassName("vtkPV398Foam");
+        ClassName("vtkPV4Foam");
 
 
     // Constructors
 
         //- Construct from components
-        vtkPV398Foam
+        vtkPV4Foam
         (
             const char* const FileName,
-            vtkPV398FoamReader* reader
+            vtkPV4FoamReader* reader
         );
 
 
     //- Destructor
-    ~vtkPV398Foam();
+    ~vtkPV4Foam();
 
 
     // Member Functions
@@ -731,7 +731,7 @@ public:
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
 #ifdef NoRepository
-#   include "vtkPV398FoamTemplates.C"
+#   include "vtkPV4FoamTemplates.C"
 #endif
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
diff --git a/applications/utilities/postProcessing/graphics/PV398Readers/PV398FoamReader/vtkPV398Foam/vtkPV398FoamAddToSelection.H b/applications/utilities/postProcessing/graphics/PV4Readers/PV4FoamReader/vtkPV4Foam/vtkPV4FoamAddToSelection.H
similarity index 94%
rename from applications/utilities/postProcessing/graphics/PV398Readers/PV398FoamReader/vtkPV398Foam/vtkPV398FoamAddToSelection.H
rename to applications/utilities/postProcessing/graphics/PV4Readers/PV4FoamReader/vtkPV4Foam/vtkPV4FoamAddToSelection.H
index f69ed8c8cb768d0685cc86f02f18e0eb0e0492be..0dc9c1a463379b4f9cd1d05abb4711c33caf7f47 100644
--- a/applications/utilities/postProcessing/graphics/PV398Readers/PV398FoamReader/vtkPV398Foam/vtkPV398FoamAddToSelection.H
+++ b/applications/utilities/postProcessing/graphics/PV4Readers/PV4FoamReader/vtkPV4Foam/vtkPV4FoamAddToSelection.H
@@ -23,8 +23,8 @@ License
 
 \*---------------------------------------------------------------------------*/
 
-#ifndef vtkPV398FoamAddToSelection_H
-#define vtkPV398FoamAddToSelection_H
+#ifndef vtkPV4FoamAddToSelection_H
+#define vtkPV4FoamAddToSelection_H
 
 // OpenFOAM includes
 #include "IOobjectList.H"
@@ -36,7 +36,7 @@ License
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
 template<class Type>
-Foam::label Foam::vtkPV398Foam::addToSelection
+Foam::label Foam::vtkPV4Foam::addToSelection
 (
     vtkDataArraySelection *select,
     const IOobjectList& objectLst,
diff --git a/applications/utilities/postProcessing/graphics/PV398Readers/PV398FoamReader/vtkPV398Foam/vtkPV398FoamFaceField.H b/applications/utilities/postProcessing/graphics/PV4Readers/PV4FoamReader/vtkPV4Foam/vtkPV4FoamFaceField.H
similarity index 96%
rename from applications/utilities/postProcessing/graphics/PV398Readers/PV398FoamReader/vtkPV398Foam/vtkPV398FoamFaceField.H
rename to applications/utilities/postProcessing/graphics/PV4Readers/PV4FoamReader/vtkPV4Foam/vtkPV4FoamFaceField.H
index 95721216d52ad05de2a518bf460373f9be00349d..b1f25f116a29315168a060af2423614cd7d02706 100644
--- a/applications/utilities/postProcessing/graphics/PV398Readers/PV398FoamReader/vtkPV398Foam/vtkPV398FoamFaceField.H
+++ b/applications/utilities/postProcessing/graphics/PV4Readers/PV4FoamReader/vtkPV4Foam/vtkPV4FoamFaceField.H
@@ -22,12 +22,12 @@ License
     along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
 
 InClass
-    vtkPV398Foam
+    vtkPV4Foam
 
 \*---------------------------------------------------------------------------*/
 
-#ifndef vtkPV398FoamFaceField_H
-#define vtkPV398FoamFaceField_H
+#ifndef vtkPV4FoamFaceField_H
+#define vtkPV4FoamFaceField_H
 
 // VTK includes
 #include "vtkCellData.h"
@@ -40,7 +40,7 @@ InClass
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
 template<class Type>
-void Foam::vtkPV398Foam::convertFaceField
+void Foam::vtkPV4Foam::convertFaceField
 (
     const GeometricField<Type, fvPatchField, volMesh>& tf,
     vtkMultiBlockDataSet* output,
diff --git a/applications/utilities/postProcessing/graphics/PV398Readers/PV398FoamReader/vtkPV398Foam/vtkPV398FoamFields.C b/applications/utilities/postProcessing/graphics/PV4Readers/PV4FoamReader/vtkPV4Foam/vtkPV4FoamFields.C
similarity index 90%
rename from applications/utilities/postProcessing/graphics/PV398Readers/PV398FoamReader/vtkPV398Foam/vtkPV398FoamFields.C
rename to applications/utilities/postProcessing/graphics/PV4Readers/PV4FoamReader/vtkPV4Foam/vtkPV4FoamFields.C
index c4b2df11d4ddac4f7f8162d9d44428931829ecc0..127f49d30614c8b62fa288b40c5a1cc78c3b2cbe 100644
--- a/applications/utilities/postProcessing/graphics/PV398Readers/PV398FoamReader/vtkPV398Foam/vtkPV398FoamFields.C
+++ b/applications/utilities/postProcessing/graphics/PV4Readers/PV4FoamReader/vtkPV4Foam/vtkPV4FoamFields.C
@@ -23,11 +23,11 @@ License
 
 \*---------------------------------------------------------------------------*/
 
-#include "vtkPV398Foam.H"
+#include "vtkPV4Foam.H"
 
 // OpenFOAM includes
 #include "IOobjectList.H"
-#include "vtkPV398FoamReader.h"
+#include "vtkPV4FoamReader.h"
 
 // VTK includes
 #include "vtkDataArraySelection.h"
@@ -36,12 +36,12 @@ License
 
 // * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
 
-#include "vtkPV398FoamVolFields.H"
-#include "vtkPV398FoamPointFields.H"
-#include "vtkPV398FoamLagrangianFields.H"
+#include "vtkPV4FoamVolFields.H"
+#include "vtkPV4FoamPointFields.H"
+#include "vtkPV4FoamLagrangianFields.H"
 
 
-void Foam::vtkPV398Foam::pruneObjectList
+void Foam::vtkPV4Foam::pruneObjectList
 (
     IOobjectList& objects,
     const wordHashSet& selected
@@ -64,7 +64,7 @@ void Foam::vtkPV398Foam::pruneObjectList
 }
 
 
-void Foam::vtkPV398Foam::convertVolFields
+void Foam::vtkPV4Foam::convertVolFields
 (
     vtkMultiBlockDataSet* output
 )
@@ -93,7 +93,7 @@ void Foam::vtkPV398Foam::convertVolFields
 
     if (debug)
     {
-        Info<< "<beg> Foam::vtkPV398Foam::convertVolFields" << nl
+        Info<< "<beg> Foam::vtkPV4Foam::convertVolFields" << nl
             << "converting OpenFOAM volume fields" << endl;
         forAllConstIter(IOobjectList, objects, iter)
         {
@@ -145,13 +145,13 @@ void Foam::vtkPV398Foam::convertVolFields
 
     if (debug)
     {
-        Info<< "<end> Foam::vtkPV398Foam::convertVolFields" << endl;
+        Info<< "<end> Foam::vtkPV4Foam::convertVolFields" << endl;
         printMemory();
     }
 }
 
 
-void Foam::vtkPV398Foam::convertPointFields
+void Foam::vtkPV4Foam::convertPointFields
 (
     vtkMultiBlockDataSet* output
 )
@@ -184,7 +184,7 @@ void Foam::vtkPV398Foam::convertPointFields
 
     if (debug)
     {
-        Info<< "<beg> Foam::vtkPV398Foam::convertPointFields" << nl
+        Info<< "<beg> Foam::vtkPV4Foam::convertPointFields" << nl
             << "converting OpenFOAM volume fields -> point fields" << endl;
         forAllConstIter(IOobjectList, objects, iter)
         {
@@ -221,13 +221,13 @@ void Foam::vtkPV398Foam::convertPointFields
 
     if (debug)
     {
-        Info<< "<end> Foam::vtkPV398Foam::convertPointFields" << endl;
+        Info<< "<end> Foam::vtkPV4Foam::convertPointFields" << endl;
         printMemory();
     }
 }
 
 
-void Foam::vtkPV398Foam::convertLagrangianFields
+void Foam::vtkPV4Foam::convertLagrangianFields
 (
     vtkMultiBlockDataSet* output
 )
@@ -247,7 +247,7 @@ void Foam::vtkPV398Foam::convertLagrangianFields
 
     if (debug)
     {
-        Info<< "<beg> Foam::vtkPV398Foam::convertLagrangianFields" << endl;
+        Info<< "<beg> Foam::vtkPV4Foam::convertLagrangianFields" << endl;
         printMemory();
     }
 
@@ -316,7 +316,7 @@ void Foam::vtkPV398Foam::convertLagrangianFields
 
     if (debug)
     {
-        Info<< "<end> Foam::vtkPV398Foam::convertLagrangianFields" << endl;
+        Info<< "<end> Foam::vtkPV4Foam::convertLagrangianFields" << endl;
         printMemory();
     }
 }
diff --git a/applications/utilities/postProcessing/graphics/PV398Readers/PV398FoamReader/vtkPV398Foam/vtkPV398FoamLagrangianFields.H b/applications/utilities/postProcessing/graphics/PV4Readers/PV4FoamReader/vtkPV4Foam/vtkPV4FoamLagrangianFields.H
similarity index 94%
rename from applications/utilities/postProcessing/graphics/PV398Readers/PV398FoamReader/vtkPV398Foam/vtkPV398FoamLagrangianFields.H
rename to applications/utilities/postProcessing/graphics/PV4Readers/PV4FoamReader/vtkPV4Foam/vtkPV4FoamLagrangianFields.H
index 8f6e4ea351646dbeef0f721da0eb5dcd2fcc75ef..9edea96c5598fdac9afac988eb43e0e7ffa219af 100644
--- a/applications/utilities/postProcessing/graphics/PV398Readers/PV398FoamReader/vtkPV398Foam/vtkPV398FoamLagrangianFields.H
+++ b/applications/utilities/postProcessing/graphics/PV4Readers/PV4FoamReader/vtkPV4Foam/vtkPV4FoamLagrangianFields.H
@@ -22,12 +22,12 @@ License
     along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
 
 InClass
-    vtkPV398Foam
+    vtkPV4Foam
 
 \*---------------------------------------------------------------------------*/
 
-#ifndef vtkPV398FoamLagrangianFields_H
-#define vtkPV398FoamLagrangianFields_H
+#ifndef vtkPV4FoamLagrangianFields_H
+#define vtkPV4FoamLagrangianFields_H
 
 #include "Cloud.H"
 
@@ -36,7 +36,7 @@ InClass
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
 template<class Type>
-void Foam::vtkPV398Foam::convertLagrangianFields
+void Foam::vtkPV4Foam::convertLagrangianFields
 (
     const IOobjectList& objects,
     vtkMultiBlockDataSet* output,
@@ -58,7 +58,7 @@ void Foam::vtkPV398Foam::convertLagrangianFields
 
 
 template<class Type>
-void Foam::vtkPV398Foam::convertLagrangianField
+void Foam::vtkPV4Foam::convertLagrangianField
 (
     const IOField<Type>& tf,
     vtkMultiBlockDataSet* output,
diff --git a/applications/utilities/postProcessing/graphics/PV398Readers/PV398FoamReader/vtkPV398Foam/vtkPV398FoamMesh.C b/applications/utilities/postProcessing/graphics/PV4Readers/PV4FoamReader/vtkPV4Foam/vtkPV4FoamMesh.C
similarity index 89%
rename from applications/utilities/postProcessing/graphics/PV398Readers/PV398FoamReader/vtkPV398Foam/vtkPV398FoamMesh.C
rename to applications/utilities/postProcessing/graphics/PV4Readers/PV4FoamReader/vtkPV4Foam/vtkPV4FoamMesh.C
index c04f2be85a555c52be5a1f4fc3a8db339bbeddf8..379868404c4d253345b2611c6901793fda32062d 100644
--- a/applications/utilities/postProcessing/graphics/PV398Readers/PV398FoamReader/vtkPV398Foam/vtkPV398FoamMesh.C
+++ b/applications/utilities/postProcessing/graphics/PV4Readers/PV4FoamReader/vtkPV4Foam/vtkPV4FoamMesh.C
@@ -23,14 +23,14 @@ License
 
 \*---------------------------------------------------------------------------*/
 
-#include "vtkPV398Foam.H"
+#include "vtkPV4Foam.H"
 
 // OpenFOAM includes
 #include "cellSet.H"
 #include "faceSet.H"
 #include "pointSet.H"
 #include "fvMeshSubset.H"
-#include "vtkPV398FoamReader.h"
+#include "vtkPV4FoamReader.h"
 #include "uindirectPrimitivePatch.H"
 
 // VTK includes
@@ -41,7 +41,7 @@ License
 
 // * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
 
-void Foam::vtkPV398Foam::convertMeshVolume
+void Foam::vtkPV4Foam::convertMeshVolume
 (
     vtkMultiBlockDataSet* output,
     int& blockNo
@@ -57,7 +57,7 @@ void Foam::vtkPV398Foam::convertMeshVolume
 
     if (debug)
     {
-        Info<< "<beg> Foam::vtkPV398Foam::convertMeshVolume" << endl;
+        Info<< "<beg> Foam::vtkPV4Foam::convertMeshVolume" << endl;
         printMemory();
     }
 
@@ -95,13 +95,13 @@ void Foam::vtkPV398Foam::convertMeshVolume
 
     if (debug)
     {
-        Info<< "<end> Foam::vtkPV398Foam::convertMeshVolume" << endl;
+        Info<< "<end> Foam::vtkPV4Foam::convertMeshVolume" << endl;
         printMemory();
     }
 }
 
 
-void Foam::vtkPV398Foam::convertMeshLagrangian
+void Foam::vtkPV4Foam::convertMeshLagrangian
 (
     vtkMultiBlockDataSet* output,
     int& blockNo
@@ -114,7 +114,7 @@ void Foam::vtkPV398Foam::convertMeshLagrangian
 
     if (debug)
     {
-        Info<< "<beg> Foam::vtkPV398Foam::convertMeshLagrangian" << endl;
+        Info<< "<beg> Foam::vtkPV4Foam::convertMeshLagrangian" << endl;
         printMemory();
     }
 
@@ -146,13 +146,13 @@ void Foam::vtkPV398Foam::convertMeshLagrangian
 
     if (debug)
     {
-        Info<< "<end> Foam::vtkPV398Foam::convertMeshLagrangian" << endl;
+        Info<< "<end> Foam::vtkPV4Foam::convertMeshLagrangian" << endl;
         printMemory();
     }
 }
 
 
-void Foam::vtkPV398Foam::convertMeshPatches
+void Foam::vtkPV4Foam::convertMeshPatches
 (
     vtkMultiBlockDataSet* output,
     int& blockNo
@@ -166,7 +166,7 @@ void Foam::vtkPV398Foam::convertMeshPatches
 
     if (debug)
     {
-        Info<< "<beg> Foam::vtkPV398Foam::convertMeshPatches" << endl;
+        Info<< "<beg> Foam::vtkPV4Foam::convertMeshPatches" << endl;
         printMemory();
     }
 
@@ -235,13 +235,13 @@ void Foam::vtkPV398Foam::convertMeshPatches
 
     if (debug)
     {
-        Info<< "<end> Foam::vtkPV398Foam::convertMeshPatches" << endl;
+        Info<< "<end> Foam::vtkPV4Foam::convertMeshPatches" << endl;
         printMemory();
     }
 }
 
 
-void Foam::vtkPV398Foam::convertMeshCellZones
+void Foam::vtkPV4Foam::convertMeshCellZones
 (
     vtkMultiBlockDataSet* output,
     int& blockNo
@@ -262,7 +262,7 @@ void Foam::vtkPV398Foam::convertMeshCellZones
 
     if (debug)
     {
-        Info<< "<beg> Foam::vtkPV398Foam::convertMeshCellZones" << endl;
+        Info<< "<beg> Foam::vtkPV4Foam::convertMeshCellZones" << endl;
         printMemory();
     }
 
@@ -324,13 +324,13 @@ void Foam::vtkPV398Foam::convertMeshCellZones
 
     if (debug)
     {
-        Info<< "<end> Foam::vtkPV398Foam::convertMeshCellZones" << endl;
+        Info<< "<end> Foam::vtkPV4Foam::convertMeshCellZones" << endl;
         printMemory();
     }
 }
 
 
-void Foam::vtkPV398Foam::convertMeshCellSets
+void Foam::vtkPV4Foam::convertMeshCellSets
 (
     vtkMultiBlockDataSet* output,
     int& blockNo
@@ -346,7 +346,7 @@ void Foam::vtkPV398Foam::convertMeshCellSets
 
     if (debug)
     {
-        Info<< "<beg> Foam::vtkPV398Foam::convertMeshCellSets" << endl;
+        Info<< "<beg> Foam::vtkPV4Foam::convertMeshCellSets" << endl;
         printMemory();
     }
 
@@ -406,13 +406,13 @@ void Foam::vtkPV398Foam::convertMeshCellSets
 
     if (debug)
     {
-        Info<< "<end> Foam::vtkPV398Foam::convertMeshCellSets" << endl;
+        Info<< "<end> Foam::vtkPV4Foam::convertMeshCellSets" << endl;
         printMemory();
     }
 }
 
 
-void Foam::vtkPV398Foam::convertMeshFaceZones
+void Foam::vtkPV4Foam::convertMeshFaceZones
 (
     vtkMultiBlockDataSet* output,
     int& blockNo
@@ -430,7 +430,7 @@ void Foam::vtkPV398Foam::convertMeshFaceZones
 
     if (debug)
     {
-        Info<< "<beg> Foam::vtkPV398Foam::convertMeshFaceZones" << endl;
+        Info<< "<beg> Foam::vtkPV4Foam::convertMeshFaceZones" << endl;
         printMemory();
     }
 
@@ -470,13 +470,13 @@ void Foam::vtkPV398Foam::convertMeshFaceZones
 
     if (debug)
     {
-        Info<< "<end> Foam::vtkPV398Foam::convertMeshFaceZones" << endl;
+        Info<< "<end> Foam::vtkPV4Foam::convertMeshFaceZones" << endl;
         printMemory();
     }
 }
 
 
-void Foam::vtkPV398Foam::convertMeshFaceSets
+void Foam::vtkPV4Foam::convertMeshFaceSets
 (
     vtkMultiBlockDataSet* output,
     int& blockNo
@@ -489,7 +489,7 @@ void Foam::vtkPV398Foam::convertMeshFaceSets
 
     if (debug)
     {
-        Info<< "<beg> Foam::vtkPV398Foam::convertMeshFaceSets" << endl;
+        Info<< "<beg> Foam::vtkPV4Foam::convertMeshFaceSets" << endl;
         printMemory();
     }
 
@@ -527,13 +527,13 @@ void Foam::vtkPV398Foam::convertMeshFaceSets
 
     if (debug)
     {
-        Info<< "<end> Foam::vtkPV398Foam::convertMeshFaceSets" << endl;
+        Info<< "<end> Foam::vtkPV4Foam::convertMeshFaceSets" << endl;
         printMemory();
     }
 }
 
 
-void Foam::vtkPV398Foam::convertMeshPointZones
+void Foam::vtkPV4Foam::convertMeshPointZones
 (
     vtkMultiBlockDataSet* output,
     int& blockNo
@@ -546,7 +546,7 @@ void Foam::vtkPV398Foam::convertMeshPointZones
 
     if (debug)
     {
-        Info<< "<beg> Foam::vtkPV398Foam::convertMeshPointZones" << endl;
+        Info<< "<beg> Foam::vtkPV4Foam::convertMeshPointZones" << endl;
         printMemory();
     }
 
@@ -582,14 +582,14 @@ void Foam::vtkPV398Foam::convertMeshPointZones
 
     if (debug)
     {
-        Info<< "<end> Foam::vtkPV398Foam::convertMeshPointZones" << endl;
+        Info<< "<end> Foam::vtkPV4Foam::convertMeshPointZones" << endl;
         printMemory();
     }
 }
 
 
 
-void Foam::vtkPV398Foam::convertMeshPointSets
+void Foam::vtkPV4Foam::convertMeshPointSets
 (
     vtkMultiBlockDataSet* output,
     int& blockNo
@@ -602,7 +602,7 @@ void Foam::vtkPV398Foam::convertMeshPointSets
 
     if (debug)
     {
-        Info<< "<beg> Foam::vtkPV398Foam::convertMeshPointSets" << endl;
+        Info<< "<beg> Foam::vtkPV4Foam::convertMeshPointSets" << endl;
         printMemory();
     }
 
@@ -640,7 +640,7 @@ void Foam::vtkPV398Foam::convertMeshPointSets
 
     if (debug)
     {
-        Info<< "<end> Foam::vtkPV398Foam::convertMeshPointSets" << endl;
+        Info<< "<end> Foam::vtkPV4Foam::convertMeshPointSets" << endl;
         printMemory();
     }
 }
diff --git a/applications/utilities/postProcessing/graphics/PV398Readers/PV398FoamReader/vtkPV398Foam/vtkPV398FoamMeshLagrangian.C b/applications/utilities/postProcessing/graphics/PV4Readers/PV4FoamReader/vtkPV4Foam/vtkPV4FoamMeshLagrangian.C
similarity index 93%
rename from applications/utilities/postProcessing/graphics/PV398Readers/PV398FoamReader/vtkPV398Foam/vtkPV398FoamMeshLagrangian.C
rename to applications/utilities/postProcessing/graphics/PV4Readers/PV4FoamReader/vtkPV4Foam/vtkPV4FoamMeshLagrangian.C
index 294c5422afc09625a7c981974bc455cda87cba45..9ade1f47e58d71f0559b15d7e5404f88d7ab1cc2 100644
--- a/applications/utilities/postProcessing/graphics/PV398Readers/PV398FoamReader/vtkPV398Foam/vtkPV398FoamMeshLagrangian.C
+++ b/applications/utilities/postProcessing/graphics/PV4Readers/PV4FoamReader/vtkPV4Foam/vtkPV4FoamMeshLagrangian.C
@@ -23,7 +23,7 @@ License
 
 \*---------------------------------------------------------------------------*/
 
-#include "vtkPV398Foam.H"
+#include "vtkPV4Foam.H"
 
 // OpenFOAM includes
 #include "Cloud.H"
@@ -39,7 +39,7 @@ License
 
 // * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
 
-vtkPolyData* Foam::vtkPV398Foam::lagrangianVTKMesh
+vtkPolyData* Foam::vtkPV4Foam::lagrangianVTKMesh
 (
     const fvMesh& mesh,
     const word& cloudName
@@ -49,7 +49,7 @@ vtkPolyData* Foam::vtkPV398Foam::lagrangianVTKMesh
 
     if (debug)
     {
-        Info<< "<beg> Foam::vtkPV398Foam::lagrangianVTKMesh - timePath "
+        Info<< "<beg> Foam::vtkPV4Foam::lagrangianVTKMesh - timePath "
             << mesh.time().timePath()/cloud::prefix/cloudName << endl;
         printMemory();
     }
@@ -98,7 +98,7 @@ vtkPolyData* Foam::vtkPV398Foam::lagrangianVTKMesh
 
     if (debug)
     {
-        Info<< "<end> Foam::vtkPV398Foam::lagrangianVTKMesh" << endl;
+        Info<< "<end> Foam::vtkPV4Foam::lagrangianVTKMesh" << endl;
         printMemory();
     }
 
diff --git a/applications/utilities/postProcessing/graphics/PV398Readers/PV398FoamReader/vtkPV398Foam/vtkPV398FoamMeshSet.C b/applications/utilities/postProcessing/graphics/PV4Readers/PV4FoamReader/vtkPV4Foam/vtkPV4FoamMeshSet.C
similarity index 89%
rename from applications/utilities/postProcessing/graphics/PV398Readers/PV398FoamReader/vtkPV398Foam/vtkPV398FoamMeshSet.C
rename to applications/utilities/postProcessing/graphics/PV4Readers/PV4FoamReader/vtkPV4Foam/vtkPV4FoamMeshSet.C
index a93e68d5c7118985be4c6d714904d535b0e9f394..2d5f3bdb79d79d658f01c915070da6c4fb708c92 100644
--- a/applications/utilities/postProcessing/graphics/PV398Readers/PV398FoamReader/vtkPV398Foam/vtkPV398FoamMeshSet.C
+++ b/applications/utilities/postProcessing/graphics/PV4Readers/PV4FoamReader/vtkPV4Foam/vtkPV4FoamMeshSet.C
@@ -23,7 +23,7 @@ License
 
 \*---------------------------------------------------------------------------*/
 
-#include "vtkPV398Foam.H"
+#include "vtkPV4Foam.H"
 
 // OpenFOAM includes
 #include "faceSet.H"
@@ -37,7 +37,7 @@ License
 
 // * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
 
-vtkPolyData* Foam::vtkPV398Foam::faceSetVTKMesh
+vtkPolyData* Foam::vtkPV4Foam::faceSetVTKMesh
 (
     const fvMesh& mesh,
     const faceSet& fSet
@@ -47,7 +47,7 @@ vtkPolyData* Foam::vtkPV398Foam::faceSetVTKMesh
 
     if (debug)
     {
-        Info<< "<beg> Foam::vtkPV398Foam::faceSetVTKMesh" << endl;
+        Info<< "<beg> Foam::vtkPV4Foam::faceSetVTKMesh" << endl;
         printMemory();
     }
 
@@ -100,7 +100,7 @@ vtkPolyData* Foam::vtkPV398Foam::faceSetVTKMesh
 
     if (debug)
     {
-        Info<< "<end> Foam::vtkPV398Foam::faceSetVTKMesh" << endl;
+        Info<< "<end> Foam::vtkPV4Foam::faceSetVTKMesh" << endl;
         printMemory();
     }
 
@@ -108,7 +108,7 @@ vtkPolyData* Foam::vtkPV398Foam::faceSetVTKMesh
 }
 
 
-vtkPolyData* Foam::vtkPV398Foam::pointSetVTKMesh
+vtkPolyData* Foam::vtkPV4Foam::pointSetVTKMesh
 (
     const fvMesh& mesh,
     const pointSet& pSet
@@ -118,7 +118,7 @@ vtkPolyData* Foam::vtkPV398Foam::pointSetVTKMesh
 
     if (debug)
     {
-        Info<< "<beg> Foam::vtkPV398Foam::pointSetVTKMesh" << endl;
+        Info<< "<beg> Foam::vtkPV4Foam::pointSetVTKMesh" << endl;
         printMemory();
     }
 
@@ -137,7 +137,7 @@ vtkPolyData* Foam::vtkPV398Foam::pointSetVTKMesh
 
     if (debug)
     {
-        Info<< "<end> Foam::vtkPV398Foam::pointSetVTKMesh" << endl;
+        Info<< "<end> Foam::vtkPV4Foam::pointSetVTKMesh" << endl;
         printMemory();
     }
 
diff --git a/applications/utilities/postProcessing/graphics/PV398Readers/PV398FoamReader/vtkPV398Foam/vtkPV398FoamMeshVolume.C b/applications/utilities/postProcessing/graphics/PV4Readers/PV4FoamReader/vtkPV4Foam/vtkPV4FoamMeshVolume.C
similarity index 98%
rename from applications/utilities/postProcessing/graphics/PV398Readers/PV398FoamReader/vtkPV398Foam/vtkPV398FoamMeshVolume.C
rename to applications/utilities/postProcessing/graphics/PV4Readers/PV4FoamReader/vtkPV4Foam/vtkPV4FoamMeshVolume.C
index bfd56242f2361b5d8a3355f45f85c143ad538634..317b370082735a5fc48c516422a375bc0ff70292 100644
--- a/applications/utilities/postProcessing/graphics/PV398Readers/PV398FoamReader/vtkPV398Foam/vtkPV398FoamMeshVolume.C
+++ b/applications/utilities/postProcessing/graphics/PV4Readers/PV4FoamReader/vtkPV4Foam/vtkPV4FoamMeshVolume.C
@@ -23,8 +23,8 @@ License
 
 \*---------------------------------------------------------------------------*/
 
-#include "vtkPV398Foam.H"
-#include "vtkPV398FoamReader.h"
+#include "vtkPV4Foam.H"
+#include "vtkPV4FoamReader.h"
 
 // OpenFOAM includes
 #include "fvMesh.H"
@@ -40,7 +40,7 @@ License
 
 // * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
 
-vtkUnstructuredGrid* Foam::vtkPV398Foam::volumeVTKMesh
+vtkUnstructuredGrid* Foam::vtkPV4Foam::volumeVTKMesh
 (
     const fvMesh& mesh,
     polyDecomp& decompInfo
@@ -57,7 +57,7 @@ vtkUnstructuredGrid* Foam::vtkPV398Foam::volumeVTKMesh
 
     if (debug)
     {
-        Info<< "<beg> Foam::vtkPV398Foam::volumeVTKMesh" << endl;
+        Info<< "<beg> Foam::vtkPV4Foam::volumeVTKMesh" << endl;
         printMemory();
     }
 
@@ -470,7 +470,7 @@ vtkUnstructuredGrid* Foam::vtkPV398Foam::volumeVTKMesh
 
     if (debug)
     {
-        Info<< "<end> Foam::vtkPV398Foam::volumeVTKMesh" << endl;
+        Info<< "<end> Foam::vtkPV4Foam::volumeVTKMesh" << endl;
         printMemory();
     }
 
diff --git a/applications/utilities/postProcessing/graphics/PV398Readers/PV398FoamReader/vtkPV398Foam/vtkPV398FoamMeshZone.C b/applications/utilities/postProcessing/graphics/PV4Readers/PV4FoamReader/vtkPV4Foam/vtkPV4FoamMeshZone.C
similarity index 90%
rename from applications/utilities/postProcessing/graphics/PV398Readers/PV398FoamReader/vtkPV398Foam/vtkPV398FoamMeshZone.C
rename to applications/utilities/postProcessing/graphics/PV4Readers/PV4FoamReader/vtkPV4Foam/vtkPV4FoamMeshZone.C
index 8c59fd2a6c3b25a3ff4c258f32d638fe76a67793..78eb386b1a870474d0832bcf10cde356450107fe 100644
--- a/applications/utilities/postProcessing/graphics/PV398Readers/PV398FoamReader/vtkPV398Foam/vtkPV398FoamMeshZone.C
+++ b/applications/utilities/postProcessing/graphics/PV4Readers/PV4FoamReader/vtkPV4Foam/vtkPV4FoamMeshZone.C
@@ -23,7 +23,7 @@ License
 
 \*---------------------------------------------------------------------------*/
 
-#include "vtkPV398Foam.H"
+#include "vtkPV4Foam.H"
 
 // OpenFOAM includes
 #include "vtkOpenFOAMPoints.H"
@@ -35,7 +35,7 @@ License
 
 // * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
 
-vtkPolyData* Foam::vtkPV398Foam::pointZoneVTKMesh
+vtkPolyData* Foam::vtkPV4Foam::pointZoneVTKMesh
 (
     const fvMesh& mesh,
     const labelList& pointLabels
@@ -45,7 +45,7 @@ vtkPolyData* Foam::vtkPV398Foam::pointZoneVTKMesh
 
     if (debug)
     {
-        Info<< "<beg> Foam::vtkPV398Foam::pointZoneVTKMesh" << endl;
+        Info<< "<beg> Foam::vtkPV4Foam::pointZoneVTKMesh" << endl;
         printMemory();
     }
 
@@ -64,7 +64,7 @@ vtkPolyData* Foam::vtkPV398Foam::pointZoneVTKMesh
 
     if (debug)
     {
-        Info<< "<beg> Foam::vtkPV398Foam::pointZoneVTKMesh" << endl;
+        Info<< "<beg> Foam::vtkPV4Foam::pointZoneVTKMesh" << endl;
         printMemory();
     }
 
diff --git a/applications/utilities/postProcessing/graphics/PV398Readers/PV398FoamReader/vtkPV398Foam/vtkPV398FoamPatchField.H b/applications/utilities/postProcessing/graphics/PV4Readers/PV4FoamReader/vtkPV4Foam/vtkPV4FoamPatchField.H
similarity index 95%
rename from applications/utilities/postProcessing/graphics/PV398Readers/PV398FoamReader/vtkPV398Foam/vtkPV398FoamPatchField.H
rename to applications/utilities/postProcessing/graphics/PV4Readers/PV4FoamReader/vtkPV4Foam/vtkPV4FoamPatchField.H
index 6223166dc8c8e9205bbd3f9e7df8cf7143af8036..982c9d80991a4faceb59325a5fd2ead4784977ef 100644
--- a/applications/utilities/postProcessing/graphics/PV398Readers/PV398FoamReader/vtkPV398Foam/vtkPV398FoamPatchField.H
+++ b/applications/utilities/postProcessing/graphics/PV4Readers/PV4FoamReader/vtkPV4Foam/vtkPV4FoamPatchField.H
@@ -22,12 +22,12 @@ License
     along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
 
 InClass
-    vtkPV398Foam
+    vtkPV4Foam
 
 \*---------------------------------------------------------------------------*/
 
-#ifndef vtkPV398FoamPatchField_H
-#define vtkPV398FoamPatchField_H
+#ifndef vtkPV4FoamPatchField_H
+#define vtkPV4FoamPatchField_H
 
 // VTK includes
 #include "vtkCellData.h"
@@ -41,7 +41,7 @@ InClass
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
 template<class Type>
-void Foam::vtkPV398Foam::convertPatchField
+void Foam::vtkPV4Foam::convertPatchField
 (
     const word& name,
     const Field<Type>& ptf,
@@ -83,7 +83,7 @@ void Foam::vtkPV398Foam::convertPatchField
 
 // as above, but with PointData()
 template<class Type>
-void Foam::vtkPV398Foam::convertPatchPointField
+void Foam::vtkPV4Foam::convertPatchPointField
 (
     const word& name,
     const Field<Type>& pptf,
diff --git a/applications/utilities/postProcessing/graphics/PV398Readers/PV398FoamReader/vtkPV398Foam/vtkPV398FoamPointFields.H b/applications/utilities/postProcessing/graphics/PV4Readers/PV4FoamReader/vtkPV4Foam/vtkPV4FoamPointFields.H
similarity index 96%
rename from applications/utilities/postProcessing/graphics/PV398Readers/PV398FoamReader/vtkPV398Foam/vtkPV398FoamPointFields.H
rename to applications/utilities/postProcessing/graphics/PV4Readers/PV4FoamReader/vtkPV4Foam/vtkPV4FoamPointFields.H
index 9cc93349e1d759631fb184cb0676711a86485012..05bc1b1bd664fbadd6896a6c047db7b8287a5b99 100644
--- a/applications/utilities/postProcessing/graphics/PV398Readers/PV398FoamReader/vtkPV398Foam/vtkPV398FoamPointFields.H
+++ b/applications/utilities/postProcessing/graphics/PV4Readers/PV4FoamReader/vtkPV4Foam/vtkPV4FoamPointFields.H
@@ -22,12 +22,12 @@ License
     along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
 
 InClass
-    vtkPV398Foam
+    vtkPV4Foam
 
 \*---------------------------------------------------------------------------*/
 
-#ifndef vtkPV398FoamPointFields_H
-#define vtkPV398FoamPointFields_H
+#ifndef vtkPV4FoamPointFields_H
+#define vtkPV4FoamPointFields_H
 
 // OpenFOAM includes
 #include "interpolatePointToCell.H"
@@ -37,7 +37,7 @@ InClass
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
 template<class Type>
-void Foam::vtkPV398Foam::convertPointFields
+void Foam::vtkPV4Foam::convertPointFields
 (
     const fvMesh& mesh,
     const pointMesh& pMesh,
@@ -62,7 +62,7 @@ void Foam::vtkPV398Foam::convertPointFields
 
         if (debug)
         {
-            Info<< "Foam::vtkPV398Foam::convertPointFields : "
+            Info<< "Foam::vtkPV4Foam::convertPointFields : "
                 << fieldName << endl;
         }
 
@@ -170,7 +170,7 @@ void Foam::vtkPV398Foam::convertPointFields
 
 
 template<class Type>
-void Foam::vtkPV398Foam::convertPointFieldBlock
+void Foam::vtkPV4Foam::convertPointFieldBlock
 (
     const GeometricField<Type, pointPatchField, pointMesh>& ptf,
     vtkMultiBlockDataSet* output,
@@ -199,7 +199,7 @@ void Foam::vtkPV398Foam::convertPointFieldBlock
 
 
 template<class Type>
-void Foam::vtkPV398Foam::convertPointField
+void Foam::vtkPV4Foam::convertPointField
 (
     const GeometricField<Type, pointPatchField, pointMesh>& ptf,
     const GeometricField<Type, fvPatchField, volMesh>& tf,
diff --git a/applications/utilities/postProcessing/graphics/PV398Readers/PV398FoamReader/vtkPV398Foam/vtkPV398FoamTemplates.C b/applications/utilities/postProcessing/graphics/PV4Readers/PV4FoamReader/vtkPV4Foam/vtkPV4FoamTemplates.C
similarity index 91%
rename from applications/utilities/postProcessing/graphics/PV398Readers/PV398FoamReader/vtkPV398Foam/vtkPV398FoamTemplates.C
rename to applications/utilities/postProcessing/graphics/PV4Readers/PV4FoamReader/vtkPV4Foam/vtkPV4FoamTemplates.C
index 450a2e5b000e8b394c231e6f0eb9441d2fb85b04..bfdf3f5a9541fbc969647fee38c40c198dc326c7 100644
--- a/applications/utilities/postProcessing/graphics/PV398Readers/PV398FoamReader/vtkPV398Foam/vtkPV398FoamTemplates.C
+++ b/applications/utilities/postProcessing/graphics/PV4Readers/PV4FoamReader/vtkPV4Foam/vtkPV4FoamTemplates.C
@@ -23,7 +23,7 @@ License
 
 \*---------------------------------------------------------------------------*/
 
-#include "vtkPV398Foam.H"
+#include "vtkPV4Foam.H"
 
 // OpenFOAM includes
 #include "polyPatch.H"
@@ -38,7 +38,7 @@ License
 // * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
 
 template<class PatchType>
-vtkPolyData* Foam::vtkPV398Foam::patchVTKMesh
+vtkPolyData* Foam::vtkPV4Foam::patchVTKMesh
 (
     const word& name,
     const PatchType& p
@@ -48,7 +48,7 @@ vtkPolyData* Foam::vtkPV398Foam::patchVTKMesh
 
     if (debug)
     {
-        Info<< "<beg> Foam::vtkPV398Foam::patchVTKMesh - " << name << endl;
+        Info<< "<beg> Foam::vtkPV4Foam::patchVTKMesh - " << name << endl;
         printMemory();
     }
 
@@ -88,7 +88,7 @@ vtkPolyData* Foam::vtkPV398Foam::patchVTKMesh
 
     if (debug)
     {
-        Info<< "<end> Foam::vtkPV398Foam::patchVTKMesh - " << name << endl;
+        Info<< "<end> Foam::vtkPV4Foam::patchVTKMesh - " << name << endl;
         printMemory();
     }
 
diff --git a/applications/utilities/postProcessing/graphics/PV398Readers/PV398FoamReader/vtkPV398Foam/vtkPV398FoamUpdateInfo.C b/applications/utilities/postProcessing/graphics/PV4Readers/PV4FoamReader/vtkPV4Foam/vtkPV4FoamUpdateInfo.C
similarity index 92%
rename from applications/utilities/postProcessing/graphics/PV398Readers/PV398FoamReader/vtkPV398Foam/vtkPV398FoamUpdateInfo.C
rename to applications/utilities/postProcessing/graphics/PV4Readers/PV4FoamReader/vtkPV4Foam/vtkPV4FoamUpdateInfo.C
index fb155dc49e81eef94f469475338fe21eeb590ae6..9ed89ff9e3cf10d2797825be428abff6380efcb6 100644
--- a/applications/utilities/postProcessing/graphics/PV398Readers/PV398FoamReader/vtkPV398Foam/vtkPV398FoamUpdateInfo.C
+++ b/applications/utilities/postProcessing/graphics/PV4Readers/PV4FoamReader/vtkPV4Foam/vtkPV4FoamUpdateInfo.C
@@ -23,7 +23,7 @@ License
 
 \*---------------------------------------------------------------------------*/
 
-#include "vtkPV398Foam.H"
+#include "vtkPV4Foam.H"
 
 // OpenFOAM includes
 #include "cellSet.H"
@@ -34,11 +34,11 @@ License
 #include "polyBoundaryMeshEntries.H"
 #include "entry.H"
 #include "Cloud.H"
-#include "vtkPV398FoamReader.h"
+#include "vtkPV4FoamReader.h"
 
 // local headers
-#include "vtkPV398FoamAddToSelection.H"
-#include "vtkPV398FoamUpdateInfoFields.H"
+#include "vtkPV4FoamAddToSelection.H"
+#include "vtkPV4FoamUpdateInfoFields.H"
 
 // VTK includes
 #include "vtkDataArraySelection.h"
@@ -82,7 +82,7 @@ public:
 // * * * * * * * * * * * * * Private Member Functions  * * * * * * * * * * * //
 
 template<class ZoneType>
-Foam::wordList Foam::vtkPV398Foam::getZoneNames
+Foam::wordList Foam::vtkPV4Foam::getZoneNames
 (
     const ZoneMesh<ZoneType, polyMesh>& zmesh
 ) const
@@ -103,7 +103,7 @@ Foam::wordList Foam::vtkPV398Foam::getZoneNames
 }
 
 
-Foam::wordList Foam::vtkPV398Foam::getZoneNames(const word& zoneType) const
+Foam::wordList Foam::vtkPV4Foam::getZoneNames(const word& zoneType) const
 {
     wordList names;
 
@@ -139,14 +139,14 @@ Foam::wordList Foam::vtkPV398Foam::getZoneNames(const word& zoneType) const
 }
 
 
-void Foam::vtkPV398Foam::updateInfoInternalMesh
+void Foam::vtkPV4Foam::updateInfoInternalMesh
 (
     vtkDataArraySelection* arraySelection
 )
 {
     if (debug)
     {
-        Info<< "<beg> Foam::vtkPV398Foam::updateInfoInternalMesh" << endl;
+        Info<< "<beg> Foam::vtkPV4Foam::updateInfoInternalMesh" << endl;
     }
 
     // Determine mesh parts (internalMesh, patches...)
@@ -163,19 +163,19 @@ void Foam::vtkPV398Foam::updateInfoInternalMesh
         // just for debug info
         getSelectedArrayEntries(arraySelection);
 
-        Info<< "<end> Foam::vtkPV398Foam::updateInfoInternalMesh" << endl;
+        Info<< "<end> Foam::vtkPV4Foam::updateInfoInternalMesh" << endl;
     }
 }
 
 
-void Foam::vtkPV398Foam::updateInfoLagrangian
+void Foam::vtkPV4Foam::updateInfoLagrangian
 (
     vtkDataArraySelection* arraySelection
 )
 {
     if (debug)
     {
-        Info<< "<beg> Foam::vtkPV398Foam::updateInfoLagrangian" << nl
+        Info<< "<beg> Foam::vtkPV4Foam::updateInfoLagrangian" << nl
             << "    " << dbPtr_->timePath()/cloud::prefix << endl;
     }
 
@@ -214,12 +214,12 @@ void Foam::vtkPV398Foam::updateInfoLagrangian
         // just for debug info
         getSelectedArrayEntries(arraySelection);
 
-        Info<< "<end> Foam::vtkPV398Foam::updateInfoLagrangian" << endl;
+        Info<< "<end> Foam::vtkPV4Foam::updateInfoLagrangian" << endl;
     }
 }
 
 
-void Foam::vtkPV398Foam::updateInfoPatches
+void Foam::vtkPV4Foam::updateInfoPatches
 (
     vtkDataArraySelection* arraySelection,
     stringList& enabledEntries
@@ -227,7 +227,7 @@ void Foam::vtkPV398Foam::updateInfoPatches
 {
     if (debug)
     {
-        Info<< "<beg> Foam::vtkPV398Foam::updateInfoPatches"
+        Info<< "<beg> Foam::vtkPV4Foam::updateInfoPatches"
             << " [meshPtr=" << (meshPtr_ ? "set" : "NULL") << "]" << endl;
     }
 
@@ -458,12 +458,12 @@ void Foam::vtkPV398Foam::updateInfoPatches
         // just for debug info
         getSelectedArrayEntries(arraySelection);
 
-        Info<< "<end> Foam::vtkPV398Foam::updateInfoPatches" << endl;
+        Info<< "<end> Foam::vtkPV4Foam::updateInfoPatches" << endl;
     }
 }
 
 
-void Foam::vtkPV398Foam::updateInfoZones
+void Foam::vtkPV4Foam::updateInfoZones
 (
     vtkDataArraySelection* arraySelection
 )
@@ -475,7 +475,7 @@ void Foam::vtkPV398Foam::updateInfoZones
 
     if (debug)
     {
-        Info<< "<beg> Foam::vtkPV398Foam::updateInfoZones"
+        Info<< "<beg> Foam::vtkPV4Foam::updateInfoZones"
             << " [meshPtr=" << (meshPtr_ ? "set" : "NULL") << "]" << endl;
     }
 
@@ -554,12 +554,12 @@ void Foam::vtkPV398Foam::updateInfoZones
         // just for debug info
         getSelectedArrayEntries(arraySelection);
 
-        Info<< "<end> Foam::vtkPV398Foam::updateInfoZones" << endl;
+        Info<< "<end> Foam::vtkPV4Foam::updateInfoZones" << endl;
     }
 }
 
 
-void Foam::vtkPV398Foam::updateInfoSets
+void Foam::vtkPV4Foam::updateInfoSets
 (
     vtkDataArraySelection* arraySelection
 )
@@ -571,7 +571,7 @@ void Foam::vtkPV398Foam::updateInfoSets
 
     if (debug)
     {
-        Info<< "<beg> Foam::vtkPV398Foam::updateInfoSets" << endl;
+        Info<< "<beg> Foam::vtkPV4Foam::updateInfoSets" << endl;
     }
 
     // Add names of sets. Search for last time directory with a sets
@@ -596,7 +596,7 @@ void Foam::vtkPV398Foam::updateInfoSets
 
     if (debug)
     {
-        Info<< "     Foam::vtkPV398Foam::updateInfoSets read "
+        Info<< "     Foam::vtkPV4Foam::updateInfoSets read "
             << objects.names() << " from " << setsInstance << endl;
     }
 
@@ -630,16 +630,16 @@ void Foam::vtkPV398Foam::updateInfoSets
         // just for debug info
         getSelectedArrayEntries(arraySelection);
 
-        Info<< "<end> Foam::vtkPV398Foam::updateInfoSets" << endl;
+        Info<< "<end> Foam::vtkPV4Foam::updateInfoSets" << endl;
     }
 }
 
 
-void Foam::vtkPV398Foam::updateInfoLagrangianFields()
+void Foam::vtkPV4Foam::updateInfoLagrangianFields()
 {
     if (debug)
     {
-        Info<< "<beg> Foam::vtkPV398Foam::updateInfoLagrangianFields"
+        Info<< "<beg> Foam::vtkPV4Foam::updateInfoLagrangianFields"
             << endl;
     }
 
@@ -715,7 +715,7 @@ void Foam::vtkPV398Foam::updateInfoLagrangianFields()
 
     if (debug)
     {
-        Info<< "<end> Foam::vtkPV398Foam::updateInfoLagrangianFields - "
+        Info<< "<end> Foam::vtkPV4Foam::updateInfoLagrangianFields - "
             << "lagrangian objects.size() = " << objects.size() << endl;
     }
 }
diff --git a/applications/utilities/postProcessing/graphics/PV398Readers/PV398FoamReader/vtkPV398Foam/vtkPV398FoamUpdateInfoFields.H b/applications/utilities/postProcessing/graphics/PV4Readers/PV4FoamReader/vtkPV4Foam/vtkPV4FoamUpdateInfoFields.H
similarity index 92%
rename from applications/utilities/postProcessing/graphics/PV398Readers/PV398FoamReader/vtkPV398Foam/vtkPV398FoamUpdateInfoFields.H
rename to applications/utilities/postProcessing/graphics/PV4Readers/PV4FoamReader/vtkPV4Foam/vtkPV4FoamUpdateInfoFields.H
index 0d864002c79b1096ca98f1834d2029b935e397c8..b191e1c52bc5e969e87ea260f3ab3f1c69e649eb 100644
--- a/applications/utilities/postProcessing/graphics/PV398Readers/PV398FoamReader/vtkPV398Foam/vtkPV398FoamUpdateInfoFields.H
+++ b/applications/utilities/postProcessing/graphics/PV4Readers/PV4FoamReader/vtkPV4Foam/vtkPV4FoamUpdateInfoFields.H
@@ -22,24 +22,24 @@ License
     along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
 
 InClass
-    vtkPV398Foam
+    vtkPV4Foam
 
 \*---------------------------------------------------------------------------*/
 
-#ifndef vtkPV398FoamUpdateInfoFields_H
-#define vtkPV398FoamUpdateInfoFields_H
+#ifndef vtkPV4FoamUpdateInfoFields_H
+#define vtkPV4FoamUpdateInfoFields_H
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
 template<template<class> class patchType, class meshType>
-void Foam::vtkPV398Foam::updateInfoFields
+void Foam::vtkPV4Foam::updateInfoFields
 (
     vtkDataArraySelection* select
 )
 {
     if (debug)
     {
-        Info<< "<beg> Foam::vtkPV398Foam::updateInfoFields <"
+        Info<< "<beg> Foam::vtkPV4Foam::updateInfoFields <"
             << meshType::Mesh::typeName
             << "> [meshPtr=" << (meshPtr_ ? "set" : "NULL") << "]"
             << endl;
@@ -104,7 +104,7 @@ void Foam::vtkPV398Foam::updateInfoFields
 
     if (debug)
     {
-        Info<< "<end> Foam::vtkPV398Foam::updateInfoFields" << endl;
+        Info<< "<end> Foam::vtkPV4Foam::updateInfoFields" << endl;
     }
 }
 
diff --git a/applications/utilities/postProcessing/graphics/PV398Readers/PV398FoamReader/vtkPV398Foam/vtkPV398FoamUtils.C b/applications/utilities/postProcessing/graphics/PV4Readers/PV4FoamReader/vtkPV4Foam/vtkPV4FoamUtils.C
similarity index 92%
rename from applications/utilities/postProcessing/graphics/PV398Readers/PV398FoamReader/vtkPV398Foam/vtkPV398FoamUtils.C
rename to applications/utilities/postProcessing/graphics/PV4Readers/PV4FoamReader/vtkPV4Foam/vtkPV4FoamUtils.C
index 0ca381b0d5acf6e71aae74462ce0c5f5ed0c403b..707914711bc053ad099d812bc18e781b1975934a 100644
--- a/applications/utilities/postProcessing/graphics/PV398Readers/PV398FoamReader/vtkPV398Foam/vtkPV398FoamUtils.C
+++ b/applications/utilities/postProcessing/graphics/PV4Readers/PV4FoamReader/vtkPV4Foam/vtkPV4FoamUtils.C
@@ -26,8 +26,8 @@ Description
 
 \*---------------------------------------------------------------------------*/
 
-#include "vtkPV398Foam.H"
-#include "vtkPV398FoamReader.h"
+#include "vtkPV4Foam.H"
+#include "vtkPV4FoamReader.h"
 
 // OpenFOAM includes
 #include "fvMesh.H"
@@ -72,7 +72,7 @@ namespace Foam
 
 // * * * * * * * * * * * * * Private Member Functions  * * * * * * * * * * * //
 
-void Foam::vtkPV398Foam::AddToBlock
+void Foam::vtkPV4Foam::AddToBlock
 (
     vtkMultiBlockDataSet* output,
     vtkDataSet* dataset,
@@ -90,7 +90,7 @@ void Foam::vtkPV398Foam::AddToBlock
     {
         if (blockDO)
         {
-            FatalErrorIn("Foam::vtkPV398Foam::AddToBlock")
+            FatalErrorIn("Foam::vtkPV4Foam::AddToBlock")
                 << "Block already has a vtkDataSet assigned to it"
                 << endl;
             return;
@@ -132,7 +132,7 @@ void Foam::vtkPV398Foam::AddToBlock
 }
 
 
-vtkDataSet* Foam::vtkPV398Foam::GetDataSetFromBlock
+vtkDataSet* Foam::vtkPV4Foam::GetDataSetFromBlock
 (
     vtkMultiBlockDataSet* output,
     const arrayRange& range,
@@ -154,7 +154,7 @@ vtkDataSet* Foam::vtkPV398Foam::GetDataSetFromBlock
 
 
 // ununsed at the moment
-Foam::label Foam::vtkPV398Foam::GetNumberOfDataSets
+Foam::label Foam::vtkPV4Foam::GetNumberOfDataSets
 (
     vtkMultiBlockDataSet* output,
     const arrayRange& range
@@ -173,13 +173,13 @@ Foam::label Foam::vtkPV398Foam::GetNumberOfDataSets
 }
 
 
-Foam::word Foam::vtkPV398Foam::getPartName(const int partId)
+Foam::word Foam::vtkPV4Foam::getPartName(const int partId)
 {
     return getFirstWord(reader_->GetPartArrayName(partId));
 }
 
 
-Foam::wordHashSet Foam::vtkPV398Foam::getSelected
+Foam::wordHashSet Foam::vtkPV4Foam::getSelected
 (
     vtkDataArraySelection* select
 )
@@ -199,7 +199,7 @@ Foam::wordHashSet Foam::vtkPV398Foam::getSelected
 }
 
 
-Foam::wordHashSet Foam::vtkPV398Foam::getSelected
+Foam::wordHashSet Foam::vtkPV4Foam::getSelected
 (
     vtkDataArraySelection* select,
     const arrayRange& range
@@ -220,7 +220,7 @@ Foam::wordHashSet Foam::vtkPV398Foam::getSelected
 }
 
 
-Foam::stringList Foam::vtkPV398Foam::getSelectedArrayEntries
+Foam::stringList Foam::vtkPV4Foam::getSelectedArrayEntries
 (
     vtkDataArraySelection* select
 )
@@ -259,7 +259,7 @@ Foam::stringList Foam::vtkPV398Foam::getSelectedArrayEntries
 }
 
 
-Foam::stringList Foam::vtkPV398Foam::getSelectedArrayEntries
+Foam::stringList Foam::vtkPV4Foam::getSelectedArrayEntries
 (
     vtkDataArraySelection* select,
     const arrayRange& range
@@ -298,7 +298,7 @@ Foam::stringList Foam::vtkPV398Foam::getSelectedArrayEntries
 }
 
 
-void Foam::vtkPV398Foam::setSelectedArrayEntries
+void Foam::vtkPV4Foam::setSelectedArrayEntries
 (
     vtkDataArraySelection* select,
     const stringList& selections
@@ -326,7 +326,7 @@ void Foam::vtkPV398Foam::setSelectedArrayEntries
 
 // * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
 
-void Foam::vtkPV398Foam::printMemory()
+void Foam::vtkPV4Foam::printMemory()
 {
     memInfo mem;
 
diff --git a/applications/utilities/postProcessing/graphics/PV398Readers/PV398FoamReader/vtkPV398Foam/vtkPV398FoamVolFields.H b/applications/utilities/postProcessing/graphics/PV4Readers/PV4FoamReader/vtkPV4Foam/vtkPV4FoamVolFields.H
similarity index 97%
rename from applications/utilities/postProcessing/graphics/PV398Readers/PV398FoamReader/vtkPV398Foam/vtkPV398FoamVolFields.H
rename to applications/utilities/postProcessing/graphics/PV4Readers/PV4FoamReader/vtkPV4Foam/vtkPV4FoamVolFields.H
index b1b92c0c72df8c8f2717767c76503cdeec7bb707..f4757a613732a9c38d14f46c9b18b21bfa28c6ab 100644
--- a/applications/utilities/postProcessing/graphics/PV398Readers/PV398FoamReader/vtkPV398Foam/vtkPV398FoamVolFields.H
+++ b/applications/utilities/postProcessing/graphics/PV4Readers/PV4FoamReader/vtkPV4Foam/vtkPV4FoamVolFields.H
@@ -22,12 +22,12 @@ License
     along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
 
 InClass
-    vtkPV398Foam
+    vtkPV4Foam
 
 \*---------------------------------------------------------------------------*/
 
-#ifndef vtkPV398FoamVolFields_H
-#define vtkPV398FoamVolFields_H
+#ifndef vtkPV4FoamVolFields_H
+#define vtkPV4FoamVolFields_H
 
 // OpenFOAM includes
 #include "emptyFvPatchField.H"
@@ -35,15 +35,15 @@ InClass
 #include "faceSet.H"
 #include "volPointInterpolation.H"
 
-#include "vtkPV398FoamFaceField.H"
-#include "vtkPV398FoamPatchField.H"
+#include "vtkPV4FoamFaceField.H"
+#include "vtkPV4FoamPatchField.H"
 
 #include "vtkOpenFOAMTupleRemap.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
 template<class Type>
-void Foam::vtkPV398Foam::convertVolFields
+void Foam::vtkPV4Foam::convertVolFields
 (
     const fvMesh& mesh,
     const PtrList<PrimitivePatchInterpolation<primitivePatch> >& ppInterpList,
@@ -281,7 +281,7 @@ void Foam::vtkPV398Foam::convertVolFields
 
 
 template<class Type>
-void Foam::vtkPV398Foam::convertVolFieldBlock
+void Foam::vtkPV4Foam::convertVolFieldBlock
 (
     const GeometricField<Type, fvPatchField, volMesh>& tf,
     autoPtr<GeometricField<Type, pointPatchField, pointMesh> >& ptfPtr,
@@ -323,7 +323,7 @@ void Foam::vtkPV398Foam::convertVolFieldBlock
 
 
 template<class Type>
-void Foam::vtkPV398Foam::convertVolField
+void Foam::vtkPV4Foam::convertVolField
 (
     const GeometricField<Type, fvPatchField, volMesh>& tf,
     vtkMultiBlockDataSet* output,
diff --git a/applications/utilities/postProcessing/graphics/PV398Readers/PV398blockMeshReader/Allwclean b/applications/utilities/postProcessing/graphics/PV4Readers/PV4blockMeshReader/Allwclean
similarity index 61%
rename from applications/utilities/postProcessing/graphics/PV398Readers/PV398blockMeshReader/Allwclean
rename to applications/utilities/postProcessing/graphics/PV4Readers/PV4blockMeshReader/Allwclean
index 7b2b10c51bb4af79108e45f92e9375f1b33a1033..9e3e5a3afae4cdc465534ad9e0676a2815ce5713 100755
--- a/applications/utilities/postProcessing/graphics/PV398Readers/PV398blockMeshReader/Allwclean
+++ b/applications/utilities/postProcessing/graphics/PV4Readers/PV4blockMeshReader/Allwclean
@@ -3,9 +3,9 @@ cd ${0%/*} || exit 1    # run from this directory
 set -x
 
 # deal with client/server vs combined plugins
-rm -f $FOAM_LIBBIN/libPV398blockMeshReader*  2>/dev/null
+rm -f $FOAM_LIBBIN/libPV4blockMeshReader*  2>/dev/null
 
-rm -rf PV398blockMeshReader/Make
-wclean libso vtkPV398blockMesh
+rm -rf PV4blockMeshReader/Make
+wclean libso vtkPV4blockMesh
 
 # ----------------------------------------------------------------- end-of-file
diff --git a/applications/utilities/postProcessing/graphics/PV398Readers/PV398blockMeshReader/Allwmake b/applications/utilities/postProcessing/graphics/PV4Readers/PV4blockMeshReader/Allwmake
similarity index 83%
rename from applications/utilities/postProcessing/graphics/PV398Readers/PV398blockMeshReader/Allwmake
rename to applications/utilities/postProcessing/graphics/PV4Readers/PV4blockMeshReader/Allwmake
index 59d6ed048c48ebbeb80f9a84f622111cd6d60bed..645a9177246ba650dd6cedf255899da4e82e30d0 100755
--- a/applications/utilities/postProcessing/graphics/PV398Readers/PV398blockMeshReader/Allwmake
+++ b/applications/utilities/postProcessing/graphics/PV4Readers/PV4blockMeshReader/Allwmake
@@ -4,9 +4,9 @@ set -x
 
 if [ -d "$ParaView_DIR" -a -r "$ParaView_DIR" ]
 then
-    wmake libso vtkPV398blockMesh
+    wmake libso vtkPV4blockMesh
     (
-        cd PV398blockMeshReader
+        cd PV4blockMeshReader
         mkdir -p Make/$WM_OPTIONS > /dev/null 2>&1
         cd Make/$WM_OPTIONS
         cmake ../..
diff --git a/applications/utilities/postProcessing/graphics/PV398Readers/PV398blockMeshReader/PV398blockMeshReader/CMakeLists.txt b/applications/utilities/postProcessing/graphics/PV4Readers/PV4blockMeshReader/PV4blockMeshReader/CMakeLists.txt
similarity index 68%
rename from applications/utilities/postProcessing/graphics/PV398Readers/PV398blockMeshReader/PV398blockMeshReader/CMakeLists.txt
rename to applications/utilities/postProcessing/graphics/PV4Readers/PV4blockMeshReader/PV4blockMeshReader/CMakeLists.txt
index c03aa2bb0f8b83162adb9c8be4516ec3081ab16b..4f4a810d5ca936af5a35f121dde9b1a92e05d433 100644
--- a/applications/utilities/postProcessing/graphics/PV398Readers/PV398blockMeshReader/PV398blockMeshReader/CMakeLists.txt
+++ b/applications/utilities/postProcessing/graphics/PV4Readers/PV4blockMeshReader/PV4blockMeshReader/CMakeLists.txt
@@ -21,7 +21,7 @@ INCLUDE_DIRECTORIES(
     $ENV{WM_PROJECT_DIR}/src/OpenFOAM/lnInclude
     $ENV{WM_PROJECT_DIR}/src/OSspecific/$ENV{WM_OSTYPE}/lnInclude
     $ENV{WM_PROJECT_DIR}/src/meshing/blockMesh/lnInclude
-    ${PROJECT_SOURCE_DIR}/../vtkPV398blockMesh
+    ${PROJECT_SOURCE_DIR}/../vtkPV4blockMesh
 )
 
 ADD_DEFINITIONS(
@@ -40,47 +40,47 @@ SET(
 #
 
 # Extend the auto-generated panel
-QT4_WRAP_CPP(MOC_SRCS pqPV398blockMeshReaderPanel.h)
+QT4_WRAP_CPP(MOC_SRCS pqPV4blockMeshReaderPanel.h)
 
 ADD_PARAVIEW_OBJECT_PANEL(IFACES IFACE_SRCS
-  CLASS_NAME pqPV398blockMeshReaderPanel
-  XML_NAME  PV398blockMeshReader # name of SourceProxy in *SM.xml
+  CLASS_NAME pqPV4blockMeshReaderPanel
+  XML_NAME  PV4blockMeshReader # name of SourceProxy in *SM.xml
   XML_GROUP sources
 )
 
 ADD_PARAVIEW_PLUGIN(
-    PV398blockMeshReader_SM "1.0"
-    SERVER_MANAGER_XML PV398blockMeshReader_SM.xml
-    SERVER_MANAGER_SOURCES  vtkPV398blockMeshReader.cxx
+    PV4blockMeshReader_SM "1.0"
+    SERVER_MANAGER_XML PV4blockMeshReader_SM.xml
+    SERVER_MANAGER_SOURCES  vtkPV4blockMeshReader.cxx
     GUI_INTERFACES ${IFACES}
-    GUI_SOURCES pqPV398blockMeshReaderPanel.cxx
+    GUI_SOURCES pqPV4blockMeshReaderPanel.cxx
         ${MOC_SRCS} ${UI_SRCS} ${IFACE_SRCS}
-    GUI_RESOURCE_FILES PV398blockMeshReader.xml
+    GUI_RESOURCE_FILES PV4blockMeshReader.xml
 )
 
 
 # #
 # # Define the server-side portion of the reader plugin
 # #
-# ADD_PARAVIEW_PLUGIN(PV398blockMeshReader_SM "1.0"
-#   SERVER_MANAGER_XML PV398blockMeshReader_SM.xml
-#   SERVER_MANAGER_SOURCES vtkPV398blockMeshReader.cxx
+# ADD_PARAVIEW_PLUGIN(PV4blockMeshReader_SM "1.0"
+#   SERVER_MANAGER_XML PV4blockMeshReader_SM.xml
+#   SERVER_MANAGER_SOURCES vtkPV4blockMeshReader.cxx
 # )
 # #
 # # Define the client-side portion of the reader plugin
 # #
 # ADD_PARAVIEW_PLUGIN(
-#     PV398blockMeshReader "1.0"
-#     GUI_RESOURCES PV398blockMeshReader.qrc
+#     PV4blockMeshReader "1.0"
+#     GUI_RESOURCES PV4blockMeshReader.qrc
 # )
 
 
 # Build the client-side plugin
 
 TARGET_LINK_LIBRARIES(
-    PV398blockMeshReader_SM
+    PV4blockMeshReader_SM
     OpenFOAM
     blockMesh
-    vtkPV398blockMesh
+    vtkPV4blockMesh
 )
 #-----------------------------------------------------------------------------
diff --git a/applications/utilities/postProcessing/graphics/PV398Readers/PV398blockMeshReader/PV398blockMeshReader/PV398blockMeshReader.qrc b/applications/utilities/postProcessing/graphics/PV4Readers/PV4blockMeshReader/PV4blockMeshReader/PV4blockMeshReader.qrc
similarity index 61%
rename from applications/utilities/postProcessing/graphics/PV398Readers/PV398blockMeshReader/PV398blockMeshReader/PV398blockMeshReader.qrc
rename to applications/utilities/postProcessing/graphics/PV4Readers/PV4blockMeshReader/PV4blockMeshReader/PV4blockMeshReader.qrc
index 5c0c189c5e8c4804790f59245d7fbf834667a1f9..5b5cc69b5278da7b8ed36fca36629d9ce4a066bf 100644
--- a/applications/utilities/postProcessing/graphics/PV398Readers/PV398blockMeshReader/PV398blockMeshReader/PV398blockMeshReader.qrc
+++ b/applications/utilities/postProcessing/graphics/PV4Readers/PV4blockMeshReader/PV4blockMeshReader/PV4blockMeshReader.qrc
@@ -1,5 +1,5 @@
 <RCC>
   <qresource prefix="/ParaViewResources" >
-      <file>PV398blockMeshReader.xml</file>
+      <file>PV4blockMeshReader.xml</file>
   </qresource>
 </RCC>
diff --git a/applications/utilities/postProcessing/graphics/PV398Readers/PV398blockMeshReader/PV398blockMeshReader/PV398blockMeshReader.xml b/applications/utilities/postProcessing/graphics/PV4Readers/PV4blockMeshReader/PV4blockMeshReader/PV4blockMeshReader.xml
similarity index 77%
rename from applications/utilities/postProcessing/graphics/PV398Readers/PV398blockMeshReader/PV398blockMeshReader/PV398blockMeshReader.xml
rename to applications/utilities/postProcessing/graphics/PV4Readers/PV4blockMeshReader/PV4blockMeshReader/PV4blockMeshReader.xml
index e9153d5d6d9f5a0a04c603dcfff6f0e6bfd9ffca..0d4b97285eafc5a8574d2adb2ccc42d175d18c38 100644
--- a/applications/utilities/postProcessing/graphics/PV398Readers/PV398blockMeshReader/PV398blockMeshReader/PV398blockMeshReader.xml
+++ b/applications/utilities/postProcessing/graphics/PV4Readers/PV4blockMeshReader/PV4blockMeshReader/PV4blockMeshReader.xml
@@ -1,5 +1,5 @@
 <ParaViewReaders>
-  <Reader name="PV398blockMeshReader"
+  <Reader name="PV4blockMeshReader"
       extensions="blockMesh"
       file_description="OpenFOAM blockMesh reader">
   </Reader>
diff --git a/applications/utilities/postProcessing/graphics/PV398Readers/PV398blockMeshReader/PV398blockMeshReader/PV398blockMeshReader_SM.xml b/applications/utilities/postProcessing/graphics/PV4Readers/PV4blockMeshReader/PV4blockMeshReader/PV4blockMeshReader_SM.xml
similarity index 97%
rename from applications/utilities/postProcessing/graphics/PV398Readers/PV398blockMeshReader/PV398blockMeshReader/PV398blockMeshReader_SM.xml
rename to applications/utilities/postProcessing/graphics/PV4Readers/PV4blockMeshReader/PV4blockMeshReader/PV4blockMeshReader_SM.xml
index 4ac661c96e448a8b6c4dd916dff7ecf808b73cd4..cc288ac7cac0bf3357276279d416c6c4e795daa1 100644
--- a/applications/utilities/postProcessing/graphics/PV398Readers/PV398blockMeshReader/PV398blockMeshReader/PV398blockMeshReader_SM.xml
+++ b/applications/utilities/postProcessing/graphics/PV4Readers/PV4blockMeshReader/PV4blockMeshReader/PV4blockMeshReader_SM.xml
@@ -1,8 +1,8 @@
 <ServerManagerConfiguration>
   <ProxyGroup name="sources">
   <SourceProxy
-    name="PV398blockMeshReader"
-    class="vtkPV398blockMeshReader">
+    name="PV4blockMeshReader"
+    class="vtkPV4blockMeshReader">
 
     <!-- File name - compulsory -->
     <StringVectorProperty
diff --git a/applications/utilities/postProcessing/graphics/PV398Readers/PV398blockMeshReader/PV398blockMeshReader/pqPV398blockMeshReaderPanel.cxx b/applications/utilities/postProcessing/graphics/PV4Readers/PV4blockMeshReader/PV4blockMeshReader/pqPV4blockMeshReaderPanel.cxx
similarity index 95%
rename from applications/utilities/postProcessing/graphics/PV398Readers/PV398blockMeshReader/PV398blockMeshReader/pqPV398blockMeshReaderPanel.cxx
rename to applications/utilities/postProcessing/graphics/PV4Readers/PV4blockMeshReader/PV4blockMeshReader/pqPV4blockMeshReaderPanel.cxx
index 9d6ac19ae2404aa6eaea0209a34d5a716e09b0ab..b5f10f01fd6e0d1d12dd1e2140538416857dc087 100644
--- a/applications/utilities/postProcessing/graphics/PV398Readers/PV398blockMeshReader/PV398blockMeshReader/pqPV398blockMeshReaderPanel.cxx
+++ b/applications/utilities/postProcessing/graphics/PV4Readers/PV4blockMeshReader/PV4blockMeshReader/pqPV4blockMeshReaderPanel.cxx
@@ -23,7 +23,7 @@ License
 
 \*---------------------------------------------------------------------------*/
 
-#include "pqPV398blockMeshReaderPanel.h"
+#include "pqPV4blockMeshReaderPanel.h"
 
 // QT
 #include <QGridLayout>
@@ -50,7 +50,7 @@ License
 
 // * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
 
-pqPV398blockMeshReaderPanel::pqPV398blockMeshReaderPanel
+pqPV4blockMeshReaderPanel::pqPV4blockMeshReaderPanel
 (
     pqProxy *proxy,
     QWidget *p
@@ -90,7 +90,7 @@ pqPV398blockMeshReaderPanel::pqPV398blockMeshReaderPanel
 
 // * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * * //
 
-void pqPV398blockMeshReaderPanel::ShowPointNumbersToggled()
+void pqPV4blockMeshReaderPanel::ShowPointNumbersToggled()
 {
     vtkSMIntVectorProperty::SafeDownCast
     (
diff --git a/applications/utilities/postProcessing/graphics/PV398Readers/PV398blockMeshReader/PV398blockMeshReader/pqPV398blockMeshReaderPanel.h b/applications/utilities/postProcessing/graphics/PV4Readers/PV4blockMeshReader/PV4blockMeshReader/pqPV4blockMeshReaderPanel.h
similarity index 84%
rename from applications/utilities/postProcessing/graphics/PV398Readers/PV398blockMeshReader/PV398blockMeshReader/pqPV398blockMeshReaderPanel.h
rename to applications/utilities/postProcessing/graphics/PV4Readers/PV4blockMeshReader/PV4blockMeshReader/pqPV4blockMeshReaderPanel.h
index ec8a1b44d9c1c3069308fa1b5e127ebe447275f2..215787a00a4c2cdc4b6a2a0b86ee0692dc88c142 100644
--- a/applications/utilities/postProcessing/graphics/PV398Readers/PV398blockMeshReader/PV398blockMeshReader/pqPV398blockMeshReaderPanel.h
+++ b/applications/utilities/postProcessing/graphics/PV4Readers/PV4blockMeshReader/PV4blockMeshReader/pqPV4blockMeshReaderPanel.h
@@ -22,19 +22,19 @@ License
     along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
 
 Class
-    pqPV398blockMeshReaderPanel
+    pqPV4blockMeshReaderPanel
 
 Description
     GUI modifications for the ParaView reader panel
 
-    A custom panel for the PV398blockMeshReader.
+    A custom panel for the PV4blockMeshReader.
 
 SourceFiles
-    pqPV398blockMeshReaderPanel.cxx
+    pqPV4blockMeshReaderPanel.cxx
 
 \*---------------------------------------------------------------------------*/
-#ifndef pqPV398blockMeshReaderPanel_h
-#define pqPV398blockMeshReaderPanel_h
+#ifndef pqPV4blockMeshReaderPanel_h
+#define pqPV4blockMeshReaderPanel_h
 
 #include "pqAutoGeneratedObjectPanel.h"
 
@@ -50,10 +50,10 @@ class vtkSMSourceProxy;
 
 
 /*---------------------------------------------------------------------------*\
-                 Class pqPV398blockMeshReaderPanel Declaration
+                 Class pqPV4blockMeshReaderPanel Declaration
 \*---------------------------------------------------------------------------*/
 
-class pqPV398blockMeshReaderPanel
+class pqPV4blockMeshReaderPanel
 :
     public pqAutoGeneratedObjectPanel
 {
@@ -74,11 +74,11 @@ public:
     // Constructors
 
         //- Construct from components
-        pqPV398blockMeshReaderPanel(pqProxy*, QWidget*);
+        pqPV4blockMeshReaderPanel(pqProxy*, QWidget*);
 
 
     //- Destructor
-    // virtual ~pqPV398blockMeshReaderPanel();
+    // virtual ~pqPV4blockMeshReaderPanel();
 };
 
 
diff --git a/applications/utilities/postProcessing/graphics/PV398Readers/PV398blockMeshReader/PV398blockMeshReader/vtkPV398blockMeshReader.cxx b/applications/utilities/postProcessing/graphics/PV4Readers/PV4blockMeshReader/PV4blockMeshReader/vtkPV4blockMeshReader.cxx
similarity index 83%
rename from applications/utilities/postProcessing/graphics/PV398Readers/PV398blockMeshReader/PV398blockMeshReader/vtkPV398blockMeshReader.cxx
rename to applications/utilities/postProcessing/graphics/PV4Readers/PV4blockMeshReader/PV4blockMeshReader/vtkPV4blockMeshReader.cxx
index 5b08a352496de60b4172a662294455c12c4b5126..aa7667c78472afd45375bc42852c246d198fd6ef 100644
--- a/applications/utilities/postProcessing/graphics/PV398Readers/PV398blockMeshReader/PV398blockMeshReader/vtkPV398blockMeshReader.cxx
+++ b/applications/utilities/postProcessing/graphics/PV4Readers/PV4blockMeshReader/PV4blockMeshReader/vtkPV4blockMeshReader.cxx
@@ -22,7 +22,7 @@ License
     along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
 
 \*---------------------------------------------------------------------------*/
-#include "vtkPV398blockMeshReader.h"
+#include "vtkPV4blockMeshReader.h"
 
 #include "pqApplicationCore.h"
 #include "pqRenderView.h"
@@ -40,16 +40,16 @@ License
 #include "vtkStringArray.h"
 
 // OpenFOAM includes
-#include "vtkPV398blockMesh.H"
+#include "vtkPV4blockMesh.H"
 
 // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
 
-vtkStandardNewMacro(vtkPV398blockMeshReader);
+vtkStandardNewMacro(vtkPV4blockMeshReader);
 
 
 // * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
 
-vtkPV398blockMeshReader::vtkPV398blockMeshReader()
+vtkPV4blockMeshReader::vtkPV4blockMeshReader()
 {
     Debug = 0;
     vtkDebugMacro(<<"Constructor");
@@ -70,7 +70,7 @@ vtkPV398blockMeshReader::vtkPV398blockMeshReader()
     SelectionObserver = vtkCallbackCommand::New();
     SelectionObserver->SetCallback
     (
-        &vtkPV398blockMeshReader::SelectionModifiedCallback
+        &vtkPV4blockMeshReader::SelectionModifiedCallback
     );
     SelectionObserver->SetClientData(this);
 
@@ -91,7 +91,7 @@ vtkPV398blockMeshReader::vtkPV398blockMeshReader()
 
 // * * * * * * * * * * * * * * * * Destructor  * * * * * * * * * * * * * * * //
 
-vtkPV398blockMeshReader::~vtkPV398blockMeshReader()
+vtkPV4blockMeshReader::~vtkPV4blockMeshReader()
 {
     vtkDebugMacro(<<"Deconstructor");
 
@@ -118,7 +118,7 @@ vtkPV398blockMeshReader::~vtkPV398blockMeshReader()
 // * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * * //
 
 // Do everything except set the output info
-int vtkPV398blockMeshReader::RequestInformation
+int vtkPV4blockMeshReader::RequestInformation
 (
     vtkInformation* vtkNotUsed(request),
     vtkInformationVector** vtkNotUsed(inputVector),
@@ -127,7 +127,7 @@ int vtkPV398blockMeshReader::RequestInformation
 {
     vtkDebugMacro(<<"RequestInformation");
 
-    if (Foam::vtkPV398blockMesh::debug)
+    if (Foam::vtkPV4blockMesh::debug)
     {
         cout<<"REQUEST_INFORMATION\n";
     }
@@ -140,7 +140,7 @@ int vtkPV398blockMeshReader::RequestInformation
 
     int nInfo = outputVector->GetNumberOfInformationObjects();
 
-    if (Foam::vtkPV398blockMesh::debug)
+    if (Foam::vtkPV4blockMesh::debug)
     {
         cout<<"RequestInformation with " << nInfo << " item(s)\n";
         for (int infoI = 0; infoI < nInfo; ++infoI)
@@ -151,7 +151,7 @@ int vtkPV398blockMeshReader::RequestInformation
 
     if (!foamData_)
     {
-        foamData_ = new Foam::vtkPV398blockMesh(FileName, this);
+        foamData_ = new Foam::vtkPV4blockMesh(FileName, this);
     }
     else
     {
@@ -175,7 +175,7 @@ int vtkPV398blockMeshReader::RequestInformation
 
 
 // Set the output info
-int vtkPV398blockMeshReader::RequestData
+int vtkPV4blockMeshReader::RequestData
 (
     vtkInformation* vtkNotUsed(request),
     vtkInformationVector** vtkNotUsed(inputVector),
@@ -199,7 +199,7 @@ int vtkPV398blockMeshReader::RequestData
 
     int nInfo = outputVector->GetNumberOfInformationObjects();
 
-    if (Foam::vtkPV398blockMesh::debug)
+    if (Foam::vtkPV4blockMesh::debug)
     {
         cout<<"RequestData with " << nInfo << " item(s)\n";
         for (int infoI = 0; infoI < nInfo; ++infoI)
@@ -216,7 +216,7 @@ int vtkPV398blockMeshReader::RequestData
         )
     );
 
-    if (Foam::vtkPV398blockMesh::debug)
+    if (Foam::vtkPV4blockMesh::debug)
     {
         cout<< "update output with "
             << output->GetNumberOfBlocks() << " blocks\n";
@@ -234,7 +234,7 @@ int vtkPV398blockMeshReader::RequestData
 
 
 
-void vtkPV398blockMeshReader::SetShowPointNumbers(const int val)
+void vtkPV4blockMeshReader::SetShowPointNumbers(const int val)
 {
     if (ShowPointNumbers != val)
     {
@@ -244,7 +244,7 @@ void vtkPV398blockMeshReader::SetShowPointNumbers(const int val)
 }
 
 
-void vtkPV398blockMeshReader::updatePointNumbersView(const bool show)
+void vtkPV4blockMeshReader::updatePointNumbersView(const bool show)
 {
     pqApplicationCore* appCore = pqApplicationCore::instance();
 
@@ -277,7 +277,7 @@ void vtkPV398blockMeshReader::updatePointNumbersView(const bool show)
 }
 
 
-void vtkPV398blockMeshReader::PrintSelf(ostream& os, vtkIndent indent)
+void vtkPV4blockMeshReader::PrintSelf(ostream& os, vtkIndent indent)
 {
     vtkDebugMacro(<<"PrintSelf");
 
@@ -292,35 +292,35 @@ void vtkPV398blockMeshReader::PrintSelf(ostream& os, vtkIndent indent)
 // ----------------------------------------------------------------------
 // Block selection list control
 
-vtkDataArraySelection* vtkPV398blockMeshReader::GetBlockSelection()
+vtkDataArraySelection* vtkPV4blockMeshReader::GetBlockSelection()
 {
     vtkDebugMacro(<<"GetBlockSelection");
     return BlockSelection;
 }
 
 
-int vtkPV398blockMeshReader::GetNumberOfBlockArrays()
+int vtkPV4blockMeshReader::GetNumberOfBlockArrays()
 {
     vtkDebugMacro(<<"GetNumberOfBlockArrays");
     return BlockSelection->GetNumberOfArrays();
 }
 
 
-const char* vtkPV398blockMeshReader::GetBlockArrayName(int index)
+const char* vtkPV4blockMeshReader::GetBlockArrayName(int index)
 {
     vtkDebugMacro(<<"GetBlockArrayName");
     return BlockSelection->GetArrayName(index);
 }
 
 
-int vtkPV398blockMeshReader::GetBlockArrayStatus(const char* name)
+int vtkPV4blockMeshReader::GetBlockArrayStatus(const char* name)
 {
     vtkDebugMacro(<<"GetBlockArrayStatus");
     return BlockSelection->ArrayIsEnabled(name);
 }
 
 
-void vtkPV398blockMeshReader::SetBlockArrayStatus
+void vtkPV4blockMeshReader::SetBlockArrayStatus
 (
     const char* name,
     int status
@@ -341,35 +341,35 @@ void vtkPV398blockMeshReader::SetBlockArrayStatus
 // ----------------------------------------------------------------------
 // CurvedEdges selection list control
 
-vtkDataArraySelection* vtkPV398blockMeshReader::GetCurvedEdgesSelection()
+vtkDataArraySelection* vtkPV4blockMeshReader::GetCurvedEdgesSelection()
 {
     vtkDebugMacro(<<"GetCurvedEdgesSelection");
     return CurvedEdgesSelection;
 }
 
 
-int vtkPV398blockMeshReader::GetNumberOfCurvedEdgesArrays()
+int vtkPV4blockMeshReader::GetNumberOfCurvedEdgesArrays()
 {
     vtkDebugMacro(<<"GetNumberOfCurvedEdgesArrays");
     return CurvedEdgesSelection->GetNumberOfArrays();
 }
 
 
-const char* vtkPV398blockMeshReader::GetCurvedEdgesArrayName(int index)
+const char* vtkPV4blockMeshReader::GetCurvedEdgesArrayName(int index)
 {
     vtkDebugMacro(<<"GetCurvedEdgesArrayName");
     return CurvedEdgesSelection->GetArrayName(index);
 }
 
 
-int vtkPV398blockMeshReader::GetCurvedEdgesArrayStatus(const char* name)
+int vtkPV4blockMeshReader::GetCurvedEdgesArrayStatus(const char* name)
 {
     vtkDebugMacro(<<"GetCurvedEdgesArrayStatus");
     return CurvedEdgesSelection->ArrayIsEnabled(name);
 }
 
 
-void vtkPV398blockMeshReader::SetCurvedEdgesArrayStatus
+void vtkPV4blockMeshReader::SetCurvedEdgesArrayStatus
 (
     const char* name,
     int status
@@ -389,7 +389,7 @@ void vtkPV398blockMeshReader::SetCurvedEdgesArrayStatus
 
 // ----------------------------------------------------------------------
 
-void vtkPV398blockMeshReader::SelectionModifiedCallback
+void vtkPV4blockMeshReader::SelectionModifiedCallback
 (
     vtkObject*,
     unsigned long,
@@ -397,11 +397,11 @@ void vtkPV398blockMeshReader::SelectionModifiedCallback
     void*
 )
 {
-    static_cast<vtkPV398blockMeshReader*>(clientdata)->Modified();
+    static_cast<vtkPV4blockMeshReader*>(clientdata)->Modified();
 }
 
 
-int vtkPV398blockMeshReader::FillOutputPortInformation
+int vtkPV4blockMeshReader::FillOutputPortInformation
 (
     int port,
     vtkInformation* info
diff --git a/applications/utilities/postProcessing/graphics/PV398Readers/PV398blockMeshReader/PV398blockMeshReader/vtkPV398blockMeshReader.h b/applications/utilities/postProcessing/graphics/PV4Readers/PV4blockMeshReader/PV4blockMeshReader/vtkPV4blockMeshReader.h
similarity index 87%
rename from applications/utilities/postProcessing/graphics/PV398Readers/PV398blockMeshReader/PV398blockMeshReader/vtkPV398blockMeshReader.h
rename to applications/utilities/postProcessing/graphics/PV4Readers/PV4blockMeshReader/PV4blockMeshReader/vtkPV4blockMeshReader.h
index 6238ce650216058856bc6e55749e559a626763b9..ba0deee4ff971fbb7fc2ed9278548d5da1729c39 100644
--- a/applications/utilities/postProcessing/graphics/PV398Readers/PV398blockMeshReader/PV398blockMeshReader/vtkPV398blockMeshReader.h
+++ b/applications/utilities/postProcessing/graphics/PV4Readers/PV4blockMeshReader/PV4blockMeshReader/vtkPV4blockMeshReader.h
@@ -22,21 +22,21 @@ License
     along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
 
 Class
-    vtkPV398blockMeshReader
+    vtkPV4blockMeshReader
 
 Description
     reads a dataset in OpenFOAM bockMesh format
 
-    vtkPV398blockMeshReader creates an multiblock dataset.
+    vtkPV4blockMeshReader creates an multiblock dataset.
     It uses the OpenFOAM infrastructure (blockMesh).
 
 SourceFiles
-    vtkPV398blockMeshReader.cxx
+    vtkPV4blockMeshReader.cxx
 
 \*---------------------------------------------------------------------------*/
 
-#ifndef vtkPV398blockMeshReader_h
-#define vtkPV398blockMeshReader_h
+#ifndef vtkPV4blockMeshReader_h
+#define vtkPV4blockMeshReader_h
 
 // VTK includes
 #include "vtkMultiBlockDataSetAlgorithm.h"
@@ -49,22 +49,22 @@ class vtkCallbackCommand;
 
 namespace Foam
 {
-    class vtkPV398blockMesh;
+    class vtkPV4blockMesh;
 }
 
 /*---------------------------------------------------------------------------*\
-                   Class vtkPV398blockMeshReader Declaration
+                   Class vtkPV4blockMeshReader Declaration
 \*---------------------------------------------------------------------------*/
 
-class vtkPV398blockMeshReader
+class vtkPV4blockMeshReader
 :
     public vtkMultiBlockDataSetAlgorithm
 {
 public:
-    vtkTypeMacro(vtkPV398blockMeshReader, vtkMultiBlockDataSetAlgorithm);
+    vtkTypeMacro(vtkPV4blockMeshReader, vtkMultiBlockDataSetAlgorithm);
     void PrintSelf(ostream&, vtkIndent);
 
-    static vtkPV398blockMeshReader* New();
+    static vtkPV4blockMeshReader* New();
 
     // Description:
     // Set/Get the filename.
@@ -113,10 +113,10 @@ public:
 protected:
 
     //- Construct null
-    vtkPV398blockMeshReader();
+    vtkPV4blockMeshReader();
 
     //- Destructor
-    ~vtkPV398blockMeshReader();
+    ~vtkPV4blockMeshReader();
 
     //- Return information about mesh, times, etc without loading anything
     virtual int RequestInformation
@@ -146,10 +146,10 @@ protected:
 private:
 
     //- Disallow default bitwise copy construct
-    vtkPV398blockMeshReader(const vtkPV398blockMeshReader&);
+    vtkPV4blockMeshReader(const vtkPV4blockMeshReader&);
 
     //- Disallow default bitwise assignment
-    void operator=(const vtkPV398blockMeshReader&);
+    void operator=(const vtkPV4blockMeshReader&);
 
     //- Add/remove point numbers to/from the view
     void updatePointNumbersView(const bool show);
@@ -166,7 +166,7 @@ private:
     vtkDataArraySelection* CurvedEdgesSelection;
 
     //BTX
-    Foam::vtkPV398blockMesh* foamData_;
+    Foam::vtkPV4blockMesh* foamData_;
     //ETX
 };
 
diff --git a/applications/utilities/postProcessing/graphics/PV4Readers/PV4blockMeshReader/vtkPV4blockMesh/Make/files b/applications/utilities/postProcessing/graphics/PV4Readers/PV4blockMeshReader/vtkPV4blockMesh/Make/files
new file mode 100644
index 0000000000000000000000000000000000000000..510637fa3f8110a84a2dbada30ec005fd24c3655
--- /dev/null
+++ b/applications/utilities/postProcessing/graphics/PV4Readers/PV4blockMeshReader/vtkPV4blockMesh/Make/files
@@ -0,0 +1,5 @@
+vtkPV4blockMesh.C
+vtkPV4blockMeshConvert.C
+vtkPV4blockMeshUtils.C
+
+LIB = $(FOAM_LIBBIN)/libvtkPV4blockMesh
diff --git a/applications/utilities/postProcessing/graphics/PV398Readers/PV398blockMeshReader/vtkPV398blockMesh/Make/options b/applications/utilities/postProcessing/graphics/PV4Readers/PV4blockMeshReader/vtkPV4blockMesh/Make/options
similarity index 63%
rename from applications/utilities/postProcessing/graphics/PV398Readers/PV398blockMeshReader/vtkPV398blockMesh/Make/options
rename to applications/utilities/postProcessing/graphics/PV4Readers/PV4blockMeshReader/vtkPV4blockMesh/Make/options
index b1613989de3c12c88f8fb0a0906f7dd8afc637e8..b1c25d894d66689f8124143ff503287b1e0d0142 100644
--- a/applications/utilities/postProcessing/graphics/PV398Readers/PV398blockMeshReader/vtkPV398blockMesh/Make/options
+++ b/applications/utilities/postProcessing/graphics/PV4Readers/PV4blockMeshReader/vtkPV4blockMesh/Make/options
@@ -2,11 +2,11 @@ EXE_INC = \
     -I$(LIB_SRC)/meshTools/lnInclude \
     -I$(LIB_SRC)/mesh/blockMesh/lnInclude \
     -I$(ParaView_INCLUDE_DIR) \
-    -I../../vtkPV398Readers/lnInclude \
-    -I../PV398blockMeshReader
+    -I../../vtkPV4Readers/lnInclude \
+    -I../PV4blockMeshReader
 
 LIB_LIBS = \
     -lmeshTools \
     -lblockMesh \
-    -L$(FOAM_LIBBIN) -lvtkPV398Readers \
+    -L$(FOAM_LIBBIN) -lvtkPV4Readers \
     $(GLIBS)
diff --git a/applications/utilities/postProcessing/graphics/PV398Readers/PV398blockMeshReader/vtkPV398blockMesh/vtkDataArrayTemplateImplicit.txx b/applications/utilities/postProcessing/graphics/PV4Readers/PV4blockMeshReader/vtkPV4blockMesh/vtkDataArrayTemplateImplicit.txx
similarity index 100%
rename from applications/utilities/postProcessing/graphics/PV398Readers/PV398blockMeshReader/vtkPV398blockMesh/vtkDataArrayTemplateImplicit.txx
rename to applications/utilities/postProcessing/graphics/PV4Readers/PV4blockMeshReader/vtkPV4blockMesh/vtkDataArrayTemplateImplicit.txx
diff --git a/applications/utilities/postProcessing/graphics/PV398Readers/PV398blockMeshReader/vtkPV398blockMesh/vtkOpenFOAMPoints.H b/applications/utilities/postProcessing/graphics/PV4Readers/PV4blockMeshReader/vtkPV4blockMesh/vtkOpenFOAMPoints.H
similarity index 98%
rename from applications/utilities/postProcessing/graphics/PV398Readers/PV398blockMeshReader/vtkPV398blockMesh/vtkOpenFOAMPoints.H
rename to applications/utilities/postProcessing/graphics/PV4Readers/PV4blockMeshReader/vtkPV4blockMesh/vtkOpenFOAMPoints.H
index c7ef0c9601e160cab0873e5c682e5ed13a5d93d9..d97dfed2dc988f19725a01e4835d409042582c40 100644
--- a/applications/utilities/postProcessing/graphics/PV398Readers/PV398blockMeshReader/vtkPV398blockMesh/vtkOpenFOAMPoints.H
+++ b/applications/utilities/postProcessing/graphics/PV4Readers/PV4blockMeshReader/vtkPV4blockMesh/vtkOpenFOAMPoints.H
@@ -22,7 +22,7 @@ License
     along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
 
 InClass
-    vtkPV398blockMesh
+    vtkPV4blockMesh
 
 \*---------------------------------------------------------------------------*/
 
diff --git a/applications/utilities/postProcessing/graphics/PV398Readers/PV398blockMeshReader/vtkPV398blockMesh/vtkPV398blockMesh.C b/applications/utilities/postProcessing/graphics/PV4Readers/PV4blockMeshReader/vtkPV4blockMesh/vtkPV4blockMesh.C
similarity index 89%
rename from applications/utilities/postProcessing/graphics/PV398Readers/PV398blockMeshReader/vtkPV398blockMesh/vtkPV398blockMesh.C
rename to applications/utilities/postProcessing/graphics/PV4Readers/PV4blockMeshReader/vtkPV4blockMesh/vtkPV4blockMesh.C
index ebeddae80c7f01c603ca78d8b9561bd1ef1c6a88..780da22770807cde1763c503b1d10f994ab0d66f 100644
--- a/applications/utilities/postProcessing/graphics/PV398Readers/PV398blockMeshReader/vtkPV398blockMesh/vtkPV398blockMesh.C
+++ b/applications/utilities/postProcessing/graphics/PV4Readers/PV4blockMeshReader/vtkPV4blockMesh/vtkPV4blockMesh.C
@@ -23,8 +23,8 @@ License
 
 \*---------------------------------------------------------------------------*/
 
-#include "vtkPV398blockMesh.H"
-#include "vtkPV398blockMeshReader.h"
+#include "vtkPV4blockMesh.H"
+#include "vtkPV4blockMeshReader.h"
 
 // OpenFOAM includes
 #include "blockMesh.H"
@@ -43,13 +43,13 @@ License
 
 namespace Foam
 {
-defineTypeNameAndDebug(vtkPV398blockMesh, 0);
+defineTypeNameAndDebug(vtkPV4blockMesh, 0);
 }
 
 
 // * * * * * * * * * * * * * Private Member Functions  * * * * * * * * * * * //
 
-void Foam::vtkPV398blockMesh::resetCounters()
+void Foam::vtkPV4blockMesh::resetCounters()
 {
     // Reset mesh part ids and sizes
     arrayRangeBlocks_.reset();
@@ -58,14 +58,14 @@ void Foam::vtkPV398blockMesh::resetCounters()
 }
 
 
-void Foam::vtkPV398blockMesh::updateInfoBlocks
+void Foam::vtkPV4blockMesh::updateInfoBlocks
 (
     vtkDataArraySelection* arraySelection
 )
 {
     if (debug)
     {
-        Info<< "<beg> Foam::vtkPV398blockMesh::updateInfoBlocks"
+        Info<< "<beg> Foam::vtkPV4blockMesh::updateInfoBlocks"
             << " [meshPtr=" << (meshPtr_ ? "set" : "NULL") << "]" << endl;
     }
 
@@ -96,19 +96,19 @@ void Foam::vtkPV398blockMesh::updateInfoBlocks
         // just for debug info
         getSelectedArrayEntries(arraySelection);
 
-        Info<< "<end> Foam::vtkPV398blockMesh::updateInfoBlocks" << endl;
+        Info<< "<end> Foam::vtkPV4blockMesh::updateInfoBlocks" << endl;
     }
 }
 
 
-void Foam::vtkPV398blockMesh::updateInfoEdges
+void Foam::vtkPV4blockMesh::updateInfoEdges
 (
     vtkDataArraySelection* arraySelection
 )
 {
     if (debug)
     {
-        Info<< "<beg> Foam::vtkPV398blockMesh::updateInfoEdges"
+        Info<< "<beg> Foam::vtkPV4blockMesh::updateInfoEdges"
             << " [meshPtr=" << (meshPtr_ ? "set" : "NULL") << "]" << endl;
     }
 
@@ -136,17 +136,17 @@ void Foam::vtkPV398blockMesh::updateInfoEdges
         // just for debug info
         getSelectedArrayEntries(arraySelection);
 
-        Info<< "<end> Foam::vtkPV398blockMesh::updateInfoEdges" << endl;
+        Info<< "<end> Foam::vtkPV4blockMesh::updateInfoEdges" << endl;
     }
 }
 
 
 // * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
 
-Foam::vtkPV398blockMesh::vtkPV398blockMesh
+Foam::vtkPV4blockMesh::vtkPV4blockMesh
 (
     const char* const FileName,
-    vtkPV398blockMeshReader* reader
+    vtkPV4blockMeshReader* reader
 )
 :
     reader_(reader),
@@ -160,7 +160,7 @@ Foam::vtkPV398blockMesh::vtkPV398blockMesh
 {
     if (debug)
     {
-        Info<< "Foam::vtkPV398blockMesh::vtkPV398blockMesh - "
+        Info<< "Foam::vtkPV4blockMesh::vtkPV4blockMesh - "
             << FileName << endl;
     }
 
@@ -243,11 +243,11 @@ Foam::vtkPV398blockMesh::vtkPV398blockMesh
 
 // * * * * * * * * * * * * * * * * Destructor  * * * * * * * * * * * * * * * //
 
-Foam::vtkPV398blockMesh::~vtkPV398blockMesh()
+Foam::vtkPV4blockMesh::~vtkPV4blockMesh()
 {
     if (debug)
     {
-        Info<< "<end> Foam::vtkPV398blockMesh::~vtkPV398blockMesh" << endl;
+        Info<< "<end> Foam::vtkPV4blockMesh::~vtkPV4blockMesh" << endl;
     }
 
     // Hmm. pointNumberTextActors are not getting removed
@@ -264,11 +264,11 @@ Foam::vtkPV398blockMesh::~vtkPV398blockMesh()
 
 // * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
 
-void Foam::vtkPV398blockMesh::updateInfo()
+void Foam::vtkPV4blockMesh::updateInfo()
 {
     if (debug)
     {
-        Info<< "<beg> Foam::vtkPV398blockMesh::updateInfo"
+        Info<< "<beg> Foam::vtkPV4blockMesh::updateInfo"
             << " [meshPtr=" << (meshPtr_ ? "set" : "NULL") << "] " << endl;
     }
 
@@ -314,16 +314,16 @@ void Foam::vtkPV398blockMesh::updateInfo()
 
     if (debug)
     {
-        Info<< "<end> Foam::vtkPV398blockMesh::updateInfo" << endl;
+        Info<< "<end> Foam::vtkPV4blockMesh::updateInfo" << endl;
     }
 }
 
 
-void Foam::vtkPV398blockMesh::updateFoamMesh()
+void Foam::vtkPV4blockMesh::updateFoamMesh()
 {
     if (debug)
     {
-        Info<< "<beg> Foam::vtkPV398blockMesh::updateFoamMesh" << endl;
+        Info<< "<beg> Foam::vtkPV4blockMesh::updateFoamMesh" << endl;
     }
 
     // Check to see if the OpenFOAM mesh has been created
@@ -355,12 +355,12 @@ void Foam::vtkPV398blockMesh::updateFoamMesh()
 
     if (debug)
     {
-        Info<< "<end> Foam::vtkPV398blockMesh::updateFoamMesh" << endl;
+        Info<< "<end> Foam::vtkPV4blockMesh::updateFoamMesh" << endl;
     }
 }
 
 
-void Foam::vtkPV398blockMesh::Update
+void Foam::vtkPV4blockMesh::Update
 (
     vtkMultiBlockDataSet* output
 )
@@ -391,13 +391,13 @@ void Foam::vtkPV398blockMesh::Update
 }
 
 
-void Foam::vtkPV398blockMesh::CleanUp()
+void Foam::vtkPV4blockMesh::CleanUp()
 {
     reader_->UpdateProgress(1.0);
 }
 
 
-void Foam::vtkPV398blockMesh::renderPointNumbers
+void Foam::vtkPV4blockMesh::renderPointNumbers
 (
     vtkRenderer* renderer,
     const bool show
@@ -456,7 +456,7 @@ void Foam::vtkPV398blockMesh::renderPointNumbers
 
 
 
-void Foam::vtkPV398blockMesh::PrintSelf(ostream& os, vtkIndent indent) const
+void Foam::vtkPV4blockMesh::PrintSelf(ostream& os, vtkIndent indent) const
 {
 #if 0
     os  << indent << "Number of nodes: "
diff --git a/applications/utilities/postProcessing/graphics/PV398Readers/PV398blockMeshReader/vtkPV398blockMesh/vtkPV398blockMesh.H b/applications/utilities/postProcessing/graphics/PV4Readers/PV4blockMeshReader/vtkPV4blockMesh/vtkPV4blockMesh.H
similarity index 93%
rename from applications/utilities/postProcessing/graphics/PV398Readers/PV398blockMeshReader/vtkPV398blockMesh/vtkPV398blockMesh.H
rename to applications/utilities/postProcessing/graphics/PV4Readers/PV4blockMeshReader/vtkPV4blockMesh/vtkPV4blockMesh.H
index 46020d4eb3262f861f2ccb8d2a645d53aef62023..37c83a6f42187d57fb3087647861e39161060024 100644
--- a/applications/utilities/postProcessing/graphics/PV398Readers/PV398blockMeshReader/vtkPV398blockMesh/vtkPV398blockMesh.H
+++ b/applications/utilities/postProcessing/graphics/PV4Readers/PV4blockMeshReader/vtkPV4blockMesh/vtkPV4blockMesh.H
@@ -22,24 +22,24 @@ License
     along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
 
 Class
-    Foam::vtkPV398blockMesh
+    Foam::vtkPV4blockMesh
 
 Description
     Provides a reader interface for OpenFOAM blockMesh to VTK interaction
 
 SourceFiles
-    vtkPV398blockMesh.C
-    vtkPV398blockMeshConvert.C
-    vtkPV398blockMeshUpdate.C
-    vtkPV398blockMeshUtils.C
+    vtkPV4blockMesh.C
+    vtkPV4blockMeshConvert.C
+    vtkPV4blockMeshUpdate.C
+    vtkPV4blockMeshUtils.C
 
     // Needed by VTK:
     vtkDataArrayTemplateImplicit.txx
 
 \*---------------------------------------------------------------------------*/
 
-#ifndef vtkPV398blockMesh_H
-#define vtkPV398blockMesh_H
+#ifndef vtkPV4blockMesh_H
+#define vtkPV4blockMesh_H
 
 // do not include legacy strstream headers
 #ifndef  VTK_EXCLUDE_STRSTREAM_HEADERS
@@ -58,7 +58,7 @@ SourceFiles
 class vtkDataArraySelection;
 class vtkDataSet;
 class vtkPoints;
-class vtkPV398blockMeshReader;
+class vtkPV4blockMeshReader;
 class vtkRenderer;
 class vtkTextActor;
 class vtkMultiBlockDataSet;
@@ -79,10 +79,10 @@ class blockMesh;
 template<class Type> class List;
 
 /*---------------------------------------------------------------------------*\
-                     Class vtkPV398blockMesh Declaration
+                     Class vtkPV4blockMesh Declaration
 \*---------------------------------------------------------------------------*/
 
-class vtkPV398blockMesh
+class vtkPV4blockMesh
 {
     // Private classes
 
@@ -164,8 +164,8 @@ class vtkPV398blockMesh
 
     // Private Data
 
-        //- Access to the controlling vtkPV398blockMeshReader
-        vtkPV398blockMeshReader* reader_;
+        //- Access to the controlling vtkPV4blockMeshReader
+        vtkPV4blockMeshReader* reader_;
 
         //- OpenFOAM time control
         autoPtr<Time> dbPtr_;
@@ -294,31 +294,31 @@ class vtkPV398blockMesh
 
 
         //- Disallow default bitwise copy construct
-        vtkPV398blockMesh(const vtkPV398blockMesh&);
+        vtkPV4blockMesh(const vtkPV4blockMesh&);
 
         //- Disallow default bitwise assignment
-        void operator=(const vtkPV398blockMesh&);
+        void operator=(const vtkPV4blockMesh&);
 
 
 public:
 
     //- Static data members
 
-        ClassName("vtkPV398blockMesh");
+        ClassName("vtkPV4blockMesh");
 
 
     // Constructors
 
         //- Construct from components
-        vtkPV398blockMesh
+        vtkPV4blockMesh
         (
             const char* const FileName,
-            vtkPV398blockMeshReader* reader
+            vtkPV4blockMeshReader* reader
         );
 
 
     //- Destructor
-    ~vtkPV398blockMesh();
+    ~vtkPV4blockMesh();
 
 
     // Member Functions
diff --git a/applications/utilities/postProcessing/graphics/PV398Readers/PV398blockMeshReader/vtkPV398blockMesh/vtkPV398blockMeshConvert.C b/applications/utilities/postProcessing/graphics/PV4Readers/PV4blockMeshReader/vtkPV4blockMesh/vtkPV4blockMeshConvert.C
similarity index 92%
rename from applications/utilities/postProcessing/graphics/PV398Readers/PV398blockMeshReader/vtkPV398blockMesh/vtkPV398blockMeshConvert.C
rename to applications/utilities/postProcessing/graphics/PV4Readers/PV4blockMeshReader/vtkPV4blockMesh/vtkPV4blockMeshConvert.C
index b9d96fdcc29a5f49d24678cb367af1673ee2eddf..d0552eb96d90196e84055bb7d4e22c8a0152babd 100644
--- a/applications/utilities/postProcessing/graphics/PV398Readers/PV398blockMeshReader/vtkPV398blockMesh/vtkPV398blockMeshConvert.C
+++ b/applications/utilities/postProcessing/graphics/PV4Readers/PV4blockMeshReader/vtkPV4blockMesh/vtkPV4blockMeshConvert.C
@@ -23,8 +23,8 @@ License
 
 \*---------------------------------------------------------------------------*/
 
-#include "vtkPV398blockMesh.H"
-#include "vtkPV398blockMeshReader.h"
+#include "vtkPV4blockMesh.H"
+#include "vtkPV4blockMeshReader.h"
 
 // OpenFOAM includes
 #include "blockMesh.H"
@@ -43,7 +43,7 @@ License
 
 // * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
 
-void Foam::vtkPV398blockMesh::convertMeshBlocks
+void Foam::vtkPV4blockMesh::convertMeshBlocks
 (
     vtkMultiBlockDataSet* output,
     int& blockNo
@@ -59,7 +59,7 @@ void Foam::vtkPV398blockMesh::convertMeshBlocks
 
     if (debug)
     {
-        Info<< "<beg> Foam::vtkPV398blockMesh::convertMeshBlocks" << endl;
+        Info<< "<beg> Foam::vtkPV4blockMesh::convertMeshBlocks" << endl;
     }
 
     int blockI = 0;
@@ -130,12 +130,12 @@ void Foam::vtkPV398blockMesh::convertMeshBlocks
 
     if (debug)
     {
-        Info<< "<end> Foam::vtkPV398blockMesh::convertMeshBlocks" << endl;
+        Info<< "<end> Foam::vtkPV4blockMesh::convertMeshBlocks" << endl;
     }
 }
 
 
-void Foam::vtkPV398blockMesh::convertMeshEdges
+void Foam::vtkPV4blockMesh::convertMeshEdges
 (
     vtkMultiBlockDataSet* output,
     int& blockNo
@@ -240,13 +240,13 @@ void Foam::vtkPV398blockMesh::convertMeshEdges
 
     if (debug)
     {
-        Info<< "<end> Foam::vtkPV398blockMesh::convertMeshEdges" << endl;
+        Info<< "<end> Foam::vtkPV4blockMesh::convertMeshEdges" << endl;
     }
 
 }
 
 
-void Foam::vtkPV398blockMesh::convertMeshCorners
+void Foam::vtkPV4blockMesh::convertMeshCorners
 (
     vtkMultiBlockDataSet* output,
     int& blockNo
@@ -261,7 +261,7 @@ void Foam::vtkPV398blockMesh::convertMeshCorners
 
     if (debug)
     {
-        Info<< "<beg> Foam::vtkPV398blockMesh::convertMeshCorners" << endl;
+        Info<< "<beg> Foam::vtkPV4blockMesh::convertMeshCorners" << endl;
     }
 
     if (true)  // or some flag or other condition
@@ -311,7 +311,7 @@ void Foam::vtkPV398blockMesh::convertMeshCorners
 
     if (debug)
     {
-        Info<< "<end> Foam::vtkPV398blockMesh::convertMeshCorners" << endl;
+        Info<< "<end> Foam::vtkPV4blockMesh::convertMeshCorners" << endl;
     }
 }
 
diff --git a/applications/utilities/postProcessing/graphics/PV398Readers/PV398blockMeshReader/vtkPV398blockMesh/vtkPV398blockMeshUtils.C b/applications/utilities/postProcessing/graphics/PV4Readers/PV4blockMeshReader/vtkPV4blockMesh/vtkPV4blockMeshUtils.C
similarity index 90%
rename from applications/utilities/postProcessing/graphics/PV398Readers/PV398blockMeshReader/vtkPV398blockMesh/vtkPV398blockMeshUtils.C
rename to applications/utilities/postProcessing/graphics/PV4Readers/PV4blockMeshReader/vtkPV4blockMesh/vtkPV4blockMeshUtils.C
index d2556575af6a86f41c5c28988b30bea99c4efb4f..d0a55bbd7b11ad6761f3aacd5919fd60df17f729 100644
--- a/applications/utilities/postProcessing/graphics/PV398Readers/PV398blockMeshReader/vtkPV398blockMesh/vtkPV398blockMeshUtils.C
+++ b/applications/utilities/postProcessing/graphics/PV4Readers/PV4blockMeshReader/vtkPV4blockMesh/vtkPV4blockMeshUtils.C
@@ -26,8 +26,8 @@ Description
 
 \*---------------------------------------------------------------------------*/
 
-#include "vtkPV398blockMesh.H"
-#include "vtkPV398blockMeshReader.h"
+#include "vtkPV4blockMesh.H"
+#include "vtkPV4blockMeshReader.h"
 
 // VTK includes
 #include "vtkDataArraySelection.h"
@@ -66,7 +66,7 @@ namespace Foam
 
 // * * * * * * * * * * * * * Private Member Functions  * * * * * * * * * * * //
 
-void Foam::vtkPV398blockMesh::AddToBlock
+void Foam::vtkPV4blockMesh::AddToBlock
 (
     vtkMultiBlockDataSet* output,
     vtkDataSet* dataset,
@@ -84,7 +84,7 @@ void Foam::vtkPV398blockMesh::AddToBlock
     {
         if (blockDO)
         {
-            FatalErrorIn("Foam::vtkPV398blockMesh::AddToBlock")
+            FatalErrorIn("Foam::vtkPV4blockMesh::AddToBlock")
                 << "Block already has a vtkDataSet assigned to it"
                 << endl;
             return;
@@ -126,7 +126,7 @@ void Foam::vtkPV398blockMesh::AddToBlock
 }
 
 
-vtkDataSet* Foam::vtkPV398blockMesh::GetDataSetFromBlock
+vtkDataSet* Foam::vtkPV4blockMesh::GetDataSetFromBlock
 (
     vtkMultiBlockDataSet* output,
     const arrayRange& range,
@@ -148,7 +148,7 @@ vtkDataSet* Foam::vtkPV398blockMesh::GetDataSetFromBlock
 
 
 // ununsed at the moment
-Foam::label Foam::vtkPV398blockMesh::GetNumberOfDataSets
+Foam::label Foam::vtkPV4blockMesh::GetNumberOfDataSets
 (
     vtkMultiBlockDataSet* output,
     const arrayRange& range
@@ -167,7 +167,7 @@ Foam::label Foam::vtkPV398blockMesh::GetNumberOfDataSets
 }
 
 
-Foam::wordHashSet Foam::vtkPV398blockMesh::getSelected
+Foam::wordHashSet Foam::vtkPV4blockMesh::getSelected
 (
     vtkDataArraySelection* select
 )
@@ -187,7 +187,7 @@ Foam::wordHashSet Foam::vtkPV398blockMesh::getSelected
 }
 
 
-Foam::wordHashSet Foam::vtkPV398blockMesh::getSelected
+Foam::wordHashSet Foam::vtkPV4blockMesh::getSelected
 (
     vtkDataArraySelection* select,
     const arrayRange& range
@@ -208,7 +208,7 @@ Foam::wordHashSet Foam::vtkPV398blockMesh::getSelected
 }
 
 
-Foam::stringList Foam::vtkPV398blockMesh::getSelectedArrayEntries
+Foam::stringList Foam::vtkPV4blockMesh::getSelectedArrayEntries
 (
     vtkDataArraySelection* select
 )
@@ -247,7 +247,7 @@ Foam::stringList Foam::vtkPV398blockMesh::getSelectedArrayEntries
 }
 
 
-Foam::stringList Foam::vtkPV398blockMesh::getSelectedArrayEntries
+Foam::stringList Foam::vtkPV4blockMesh::getSelectedArrayEntries
 (
     vtkDataArraySelection* select,
     const arrayRange& range
@@ -286,7 +286,7 @@ Foam::stringList Foam::vtkPV398blockMesh::getSelectedArrayEntries
 }
 
 
-void Foam::vtkPV398blockMesh::setSelectedArrayEntries
+void Foam::vtkPV4blockMesh::setSelectedArrayEntries
 (
     vtkDataArraySelection* select,
     const stringList& selections
@@ -312,7 +312,7 @@ void Foam::vtkPV398blockMesh::setSelectedArrayEntries
 }
 
 
-void Foam::vtkPV398blockMesh::updateBoolListStatus
+void Foam::vtkPV4blockMesh::updateBoolListStatus
 (
     boolList& status,
     vtkDataArraySelection* selection
@@ -320,7 +320,7 @@ void Foam::vtkPV398blockMesh::updateBoolListStatus
 {
     if (debug)
     {
-        Info<< "<beg> Foam::vtkPV398blockMesh::updateBoolListStatus" << endl;
+        Info<< "<beg> Foam::vtkPV4blockMesh::updateBoolListStatus" << endl;
     }
 
     const label nElem = selection->GetNumberOfArrays();
@@ -345,7 +345,7 @@ void Foam::vtkPV398blockMesh::updateBoolListStatus
     }
     if (debug)
     {
-        Info<< "<end> Foam::vtkPV398blockMesh::updateBoolListStatus" << endl;
+        Info<< "<end> Foam::vtkPV4blockMesh::updateBoolListStatus" << endl;
     }
 }
 
diff --git a/applications/utilities/postProcessing/graphics/PV4Readers/vtkPV4Readers/Make/files b/applications/utilities/postProcessing/graphics/PV4Readers/vtkPV4Readers/Make/files
new file mode 100644
index 0000000000000000000000000000000000000000..39feee713db0cdd440171cbcb2fd48cd95d530fd
--- /dev/null
+++ b/applications/utilities/postProcessing/graphics/PV4Readers/vtkPV4Readers/Make/files
@@ -0,0 +1,3 @@
+vtkPV4Readers.C
+
+LIB = $(FOAM_LIBBIN)/libvtkPV4Readers
diff --git a/applications/utilities/postProcessing/graphics/PV398Readers/vtkPV398Readers/Make/options b/applications/utilities/postProcessing/graphics/PV4Readers/vtkPV4Readers/Make/options
similarity index 100%
rename from applications/utilities/postProcessing/graphics/PV398Readers/vtkPV398Readers/Make/options
rename to applications/utilities/postProcessing/graphics/PV4Readers/vtkPV4Readers/Make/options
diff --git a/applications/utilities/postProcessing/graphics/PV398Readers/vtkPV398Readers/vtkPV398Readers.C b/applications/utilities/postProcessing/graphics/PV4Readers/vtkPV4Readers/vtkPV4Readers.C
similarity index 91%
rename from applications/utilities/postProcessing/graphics/PV398Readers/vtkPV398Readers/vtkPV398Readers.C
rename to applications/utilities/postProcessing/graphics/PV4Readers/vtkPV4Readers/vtkPV4Readers.C
index 2bdfb92a8c809b4bdf86e893ad0cdf9927f490f7..710fcc361ba5dc415633dc2cc89c8447fbdf138c 100644
--- a/applications/utilities/postProcessing/graphics/PV398Readers/vtkPV398Readers/vtkPV398Readers.C
+++ b/applications/utilities/postProcessing/graphics/PV4Readers/vtkPV4Readers/vtkPV4Readers.C
@@ -26,7 +26,7 @@ Description
 
 \*---------------------------------------------------------------------------*/
 
-#include "vtkPV398Readers.H"
+#include "vtkPV4Readers.H"
 
 // OpenFOAM includes
 #include "IFstream.H"
@@ -41,7 +41,7 @@ Description
 
 namespace Foam
 {
-defineTypeNameAndDebug(vtkPV398Readers, 0);
+defineTypeNameAndDebug(vtkPV4Readers, 0);
 }
 
 
@@ -75,7 +75,7 @@ namespace Foam
 
 // * * * * * * * * * * * * * Private Member Functions  * * * * * * * * * * * //
 
-void Foam::vtkPV398Readers::AddToBlock
+void Foam::vtkPV4Readers::AddToBlock
 (
     vtkMultiBlockDataSet* output,
     vtkDataSet* dataset,
@@ -93,7 +93,7 @@ void Foam::vtkPV398Readers::AddToBlock
     {
         if (blockDO)
         {
-            FatalErrorIn("Foam::vtkPV398Readers::AddToBlock")
+            FatalErrorIn("Foam::vtkPV4Readers::AddToBlock")
                 << "Block already has a vtkDataSet assigned to it"
                 << endl;
             return;
@@ -135,7 +135,7 @@ void Foam::vtkPV398Readers::AddToBlock
 }
 
 
-vtkDataSet* Foam::vtkPV398Readers::GetDataSetFromBlock
+vtkDataSet* Foam::vtkPV4Readers::GetDataSetFromBlock
 (
     vtkMultiBlockDataSet* output,
     const partInfo& selector,
@@ -157,7 +157,7 @@ vtkDataSet* Foam::vtkPV398Readers::GetDataSetFromBlock
 
 
 // ununsed at the moment
-Foam::label Foam::vtkPV398Readers::GetNumberOfDataSets
+Foam::label Foam::vtkPV4Readers::GetNumberOfDataSets
 (
     vtkMultiBlockDataSet* output,
     const partInfo& selector
@@ -176,13 +176,13 @@ Foam::label Foam::vtkPV398Readers::GetNumberOfDataSets
 }
 
 
-// Foam::word Foam::vtkPV398Readers::getPartName(int partId)
+// Foam::word Foam::vtkPV4Readers::getPartName(int partId)
 // {
 //     return getFirstWord(reader_->GetPartArrayName(partId));
 // }
 
 
-Foam::wordHashSet Foam::vtkPV398Readers::getSelected
+Foam::wordHashSet Foam::vtkPV4Readers::getSelected
 (
     vtkDataArraySelection* select
 )
@@ -202,7 +202,7 @@ Foam::wordHashSet Foam::vtkPV398Readers::getSelected
 }
 
 
-Foam::wordHashSet Foam::vtkPV398Readers::getSelected
+Foam::wordHashSet Foam::vtkPV4Readers::getSelected
 (
     vtkDataArraySelection* select,
     const partInfo& selector
@@ -223,7 +223,7 @@ Foam::wordHashSet Foam::vtkPV398Readers::getSelected
 }
 
 
-Foam::stringList Foam::vtkPV398Readers::getSelectedArrayEntries
+Foam::stringList Foam::vtkPV4Readers::getSelectedArrayEntries
 (
     vtkDataArraySelection* select
 )
@@ -262,7 +262,7 @@ Foam::stringList Foam::vtkPV398Readers::getSelectedArrayEntries
 }
 
 
-Foam::stringList Foam::vtkPV398Readers::getSelectedArrayEntries
+Foam::stringList Foam::vtkPV4Readers::getSelectedArrayEntries
 (
     vtkDataArraySelection* select,
     const partInfo& selector
@@ -301,7 +301,7 @@ Foam::stringList Foam::vtkPV398Readers::getSelectedArrayEntries
 }
 
 
-void Foam::vtkPV398Readers::setSelectedArrayEntries
+void Foam::vtkPV4Readers::setSelectedArrayEntries
 (
     vtkDataArraySelection* select,
     const stringList& selections
diff --git a/applications/utilities/postProcessing/graphics/PV398Readers/vtkPV398Readers/vtkPV398Readers.H b/applications/utilities/postProcessing/graphics/PV4Readers/vtkPV4Readers/vtkPV4Readers.H
similarity index 96%
rename from applications/utilities/postProcessing/graphics/PV398Readers/vtkPV398Readers/vtkPV398Readers.H
rename to applications/utilities/postProcessing/graphics/PV4Readers/vtkPV4Readers/vtkPV4Readers.H
index a5ab69a45281734d71ef141f890798d01d56b103..8ab4b94f2c1b8a075a627fc3b34125895673e0c8 100644
--- a/applications/utilities/postProcessing/graphics/PV398Readers/vtkPV398Readers/vtkPV398Readers.H
+++ b/applications/utilities/postProcessing/graphics/PV4Readers/vtkPV4Readers/vtkPV4Readers.H
@@ -22,19 +22,19 @@ License
     along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
 
 Namespace
-    Foam::vtkPV398Readers
+    Foam::vtkPV4Readers
 
 Description
     A collection of helper functions when building a reader interface in
     ParaView3.
 
 SourceFiles
-    vtkPV398Readers.C
+    vtkPV4Readers.C
 
 \*---------------------------------------------------------------------------*/
 
-#ifndef vtkPV398Readers_H
-#define vtkPV398Readers_H
+#ifndef vtkPV4Readers_H
+#define vtkPV4Readers_H
 
 // do not include legacy strstream headers
 #ifndef  VTK_EXCLUDE_STRSTREAM_HEADERS
@@ -53,7 +53,7 @@ SourceFiles
 class vtkDataArraySelection;
 class vtkDataSet;
 class vtkPoints;
-class vtkPV398FoamReader;
+class vtkPV4FoamReader;
 class vtkRenderer;
 class vtkTextActor;
 class vtkMultiBlockDataSet;
@@ -66,10 +66,10 @@ class vtkIndent;
 
 namespace Foam
 {
-namespace vtkPV398Readers
+namespace vtkPV4Readers
 {
     //- Declare name of the class and its debug switch
-    NamespaceName("vtkPV398Readers");
+    NamespaceName("vtkPV4Readers");
 
     //- Bookkeeping for GUI checklists and the multi-block organization
     class partInfo
@@ -217,7 +217,7 @@ namespace vtkPV398Readers
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-} // End namespace vtkPV398
+} // End namespace vtkPV4
 
 } // End namespace Foam
 
diff --git a/bin/paraFoam4 b/bin/paraFoam4
new file mode 100755
index 0000000000000000000000000000000000000000..56faaa913b7ce49ce5956763ea1d8a4bf4cddb39
--- /dev/null
+++ b/bin/paraFoam4
@@ -0,0 +1,271 @@
+#!/bin/sh
+#------------------------------------------------------------------------------
+# =========                 |
+# \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
+#  \\    /   O peration     |
+#   \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
+#    \\/     M anipulation  |
+#-------------------------------------------------------------------------------
+# License
+#     This file is part of OpenFOAM.
+#
+#     OpenFOAM is free software: you can redistribute it and/or modify it
+#     under the terms of the GNU General Public License as published by
+#     the Free Software Foundation, either version 3 of the License, or
+#     (at your option) any later version.
+#
+#     OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
+#     ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+#     FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+#     for more details.
+#
+#     You should have received a copy of the GNU General Public License
+#     along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
+#
+# Script
+#     paraFoam
+#
+# Description
+#     start paraview with the OpenFOAM libraries
+#
+# Note
+#     combining -block or -builtin options with the -region option yields
+#     undefined behaviour
+#------------------------------------------------------------------------------
+usage() {
+    exec 1>&2
+    while [ "$#" -ge 1 ]; do echo "$1"; shift; done
+    cat<<USAGE
+
+Usage: ${0##*/} [OPTION] [PARAVIEW_OPTION]
+options:
+  -block            use blockMesh reader  (uses .blockMesh extension)
+  -builtin          use VTK builtin OpenFOAM reader  (uses .foam extension)
+  -case <dir>       specify alternative case directory, default is the cwd
+  -region <name>    specify alternative mesh region
+  -touch            only create the file  (eg, .blockMesh, .OpenFOAM, etc)
+  -touchAll         create .blockMesh, .OpenFOAM files (and for all regions)
+  -help             print the usage
+
+
+paraview options start with a double dashes
+
+* start paraview $ParaView_VERSION with the OpenFOAM libraries
+
+USAGE
+    exit 1
+}
+
+# We want to do nice exit when running paraview to give paraview opportunity
+# to clean up
+unset FOAM_ABORT
+
+unset regionName optTouch
+
+# Hack: change all locale to 'C' i.e. using '.' for decimal point. This is
+# only needed temporarily until paraview is locale aware. (git version is
+# already 2010-07)
+export LC_ALL=C
+
+# reader extension
+extension=OpenFOAM
+
+requirePV=1
+
+# parse options
+while [ "$#" -gt 0 ]
+do
+    case "$1" in
+    -h | -help)
+        usage
+        ;;
+    -block | -blockMesh)
+        extension=blockMesh
+        shift
+        ;;
+    -builtin)
+        extension=foam
+        requirePV=0
+        shift
+        ;;
+    -case)
+        [ "$#" -ge 2 ] || usage "'$1' option requires an argument"
+        cd "$2" 2>/dev/null || usage "directory does not exist:  '$2'"
+        shift 2
+        ;;
+    -region)
+        [ "$#" -ge 2 ] || usage "'$1' option requires an argument"
+        regionName=$2
+        shift 2
+        ;;
+    -touch)
+        optTouch=true
+        requirePV=0
+        shift
+        ;;
+    -touchAll)
+        optTouch=all
+        requirePV=0
+        shift
+        ;;
+    --)
+        shift
+        break    # stop here, treat balance as paraview options
+        ;;
+    --*)
+        break    # stop here, treat this and balance as paraview options
+        ;;
+    *)
+        usage "unknown option/argument: '$*'"
+        ;;
+    esac
+done
+
+
+#
+# check that reader module has been built
+#
+if [ $requirePV -eq 1 -a ! -f $PV_PLUGIN_PATH/libPV4FoamReader_SM.so ]
+then
+    cat<< BUILDREADER
+
+FATAL ERROR: ParaView reader module libraries do not exist
+
+Please build the reader module before continuing:
+cd \$FOAM_UTILITIES/postProcessing/graphics/PV4Readers
+./Allwclean
+./Allwmake
+
+BUILDREADER
+    exit 1
+fi
+
+#
+# check for --data=... argument
+#
+hasDataArg()
+{
+    hasData=false
+    while [ "$#" -gt 0 ]
+    do
+        case "$1" in
+        (--data=*)
+            hasData=true
+            break
+            ;;
+        esac
+        shift
+    done
+}
+
+hasDataArg $@
+
+
+# get a sensible caseName from the directory name
+caseName=${PWD##*/}
+caseFile="$caseName.$extension"
+fvControls="system"
+
+if [ -n "$regionName" ]
+then
+    if [ ! -d constant/$regionName ]
+    then
+        echo "FATAL ERROR: Region $regionName does not exist"
+        exit 1
+    else
+        caseFile="$caseName{$regionName}.$extension"
+        fvControls="$fvControls/$regionName"
+    fi
+fi
+
+case "${optTouch:-false}" in
+all)
+    extension=OpenFOAM
+    if [ -f constant/polyMesh/blockMeshDict ]
+    then
+        touch "$caseName.blockMesh"
+        echo "created '$caseName.blockMesh'"
+    fi
+    touch "$caseName.$extension"
+    echo "created '$caseName.$extension'"
+    # discover probable regions
+    for region in constant/*
+    do
+        if [ -d $region -a -d $region/polyMesh ]
+        then
+            regionName=${region##*/}
+            touch "$caseName{$regionName}.$extension"
+            echo "created '$caseName{$regionName}.$extension'"
+        fi
+    done
+    exit 0
+    ;;
+true)
+    touch "$caseFile"
+    echo "created '$caseFile'"
+    exit 0
+    ;;
+esac
+
+
+# parent directory for normal or parallel results
+case "$caseName" in
+    processor*) parentDir=".." ;;
+    *)          parentDir="."  ;;
+esac
+
+
+if [ "${hasData:-false}" = true ]
+then
+
+    # has --data=.., send directly to paraview
+    exec paraview "$@"
+
+else
+
+    # check existence of essential files
+    warn="WARN file does not exist:"
+    case $extension in
+    blockMesh)
+        for check in \
+            system/controlDict \
+            constant/polyMesh/blockMeshDict \
+            ;
+        do
+            [ -s "$parentDir/$check" ] || {
+                [ -n "$warn" ] && echo "$warn" 1>&2
+                echo "    $parentDir/$check" 1>&2
+                unset warn
+            }
+        done
+        ;;
+
+    builtin | OpenFOAM)
+        for check in \
+            system/controlDict \
+            $fvControls/fvSchemes \
+            $fvControls/fvSolution \
+            ;
+        do
+            [ -s "$parentDir/$check" ] || {
+                [ -n "$warn" ] && echo "$warn" 1>&2
+                echo "    $parentDir/$check" 1>&2
+                unset warn
+            }
+        done
+        ;;
+    esac
+
+    # only create/remove caseFile if it didn't already exist
+    [ -e $caseFile ] || {
+        trap "rm -f $caseFile 2>/dev/null; exit 0" EXIT TERM INT
+        touch "$caseFile"
+        echo "created temporary '$caseFile'"
+    }
+
+    # For now filter out any ld.so errors. Caused by non-system compiler?
+    paraview --data="$caseFile" "$@" 2>&1 | fgrep -v 'Inconsistency detected by ld.so'
+fi
+
+
+#------------------------------------------------------------------------------
diff --git a/etc/config/paraview398.sh b/etc/config/paraview4.sh
similarity index 98%
rename from etc/config/paraview398.sh
rename to etc/config/paraview4.sh
index ab1dda6d9c8fab5938f5440758d3bd28a438a6fa..da695ad1e0a3a0d8e8315a032d305d5bed010beb 100644
--- a/etc/config/paraview398.sh
+++ b/etc/config/paraview4.sh
@@ -51,8 +51,7 @@ done
 
 
 #- ParaView version, automatically determine major version
-#export ParaView_VERSION=3.12.0
-export ParaView_VERSION=3.98.1
+export ParaView_VERSION=4.0.1
 export ParaView_MAJOR=detect