diff --git a/applications/solvers/lagrangian/DPMFoam/createFields.H b/applications/solvers/lagrangian/DPMFoam/createFields.H
index 16ed9fa9192f390ab9b8a5f68690f43aa10855a7..b328b5b82c838c9c3b87948d8d39f8e31f0cb6d8 100644
--- a/applications/solvers/lagrangian/DPMFoam/createFields.H
+++ b/applications/solvers/lagrangian/DPMFoam/createFields.H
@@ -8,7 +8,8 @@
             runTime.constant(),
             mesh,
             IOobject::MUST_READ_IF_MODIFIED,
-            IOobject::NO_WRITE
+            IOobject::NO_WRITE,
+            false
         )
     );
 
diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/Ergun/Ergun.C b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/Ergun/Ergun.C
index c4a23d3cf35335c1bc2075d469b6721443fd2455..6c0fcbecece34ed2894ce90ec1dd35bc21683da0 100644
--- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/Ergun/Ergun.C
+++ b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/Ergun/Ergun.C
@@ -44,10 +44,11 @@ namespace dragModels
 Foam::dragModels::Ergun::Ergun
 (
     const dictionary& dict,
-    const phasePair& pair
+    const phasePair& pair,
+    const bool registerObject
 )
 :
-    dragModel(dict, pair)
+    dragModel(dict, pair, registerObject)
 {}
 
 
diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/Ergun/Ergun.H b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/Ergun/Ergun.H
index 91c8ded67429ed5f5532278e12c25e3a72cc1250..f8f29a8482014249296c771eee06a3ff7e9554e2 100644
--- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/Ergun/Ergun.H
+++ b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/Ergun/Ergun.H
@@ -70,7 +70,8 @@ public:
         Ergun
         (
             const dictionary& dict,
-            const phasePair& pair
+            const phasePair& pair,
+            const bool registerObject
         );
 
 
diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/Gibilaro/Gibilaro.C b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/Gibilaro/Gibilaro.C
index a03258b356f18ee9cf6f258215c2990ce9fdeffa..daaaf0bdc42fb1597f949bedda2a5ba8d3cc9857 100644
--- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/Gibilaro/Gibilaro.C
+++ b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/Gibilaro/Gibilaro.C
@@ -44,10 +44,11 @@ namespace dragModels
 Foam::dragModels::Gibilaro::Gibilaro
 (
     const dictionary& dict,
-    const phasePair& pair
+    const phasePair& pair,
+    const bool registerObject
 )
 :
-    dragModel(dict, pair),
+    dragModel(dict, pair, registerObject),
     residualRe_("residualRe", dimless, dict.lookup("residualRe"))
 {}
 
diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/Gibilaro/Gibilaro.H b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/Gibilaro/Gibilaro.H
index ef63e826a398de50c86ecbcfb6c4fa8560e0cc16..c2e103e911680e58c3a6977472128def4621bc7e 100644
--- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/Gibilaro/Gibilaro.H
+++ b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/Gibilaro/Gibilaro.H
@@ -78,7 +78,8 @@ public:
         Gibilaro
         (
             const dictionary& dict,
-            const phasePair& pair
+            const phasePair& pair,
+            const bool registerObject
         );
 
 
diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/GidaspowErgunWenYu/GidaspowErgunWenYu.C b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/GidaspowErgunWenYu/GidaspowErgunWenYu.C
index 8ef32322263f38811ea038971b9896858e0b5a79..9eb46e5060898861e006e253149e0a44f9606378 100644
--- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/GidaspowErgunWenYu/GidaspowErgunWenYu.C
+++ b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/GidaspowErgunWenYu/GidaspowErgunWenYu.C
@@ -46,16 +46,18 @@ namespace dragModels
 Foam::dragModels::GidaspowErgunWenYu::GidaspowErgunWenYu
 (
     const dictionary& dict,
-    const phasePair& pair
+    const phasePair& pair,
+    const bool registerObject
 )
 :
-    dragModel(dict, pair),
+    dragModel(dict, pair, registerObject),
     Ergun_
     (
         new Ergun
         (
             dict,
-            pair
+            pair,
+            false
         )
     ),
     WenYu_
@@ -63,7 +65,8 @@ Foam::dragModels::GidaspowErgunWenYu::GidaspowErgunWenYu
         new WenYu
         (
             dict,
-            pair
+            pair,
+            false
         )
     ),
     residualRe_("residualRe", dimless, dict.lookup("residualRe"))
diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/GidaspowErgunWenYu/GidaspowErgunWenYu.H b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/GidaspowErgunWenYu/GidaspowErgunWenYu.H
index f796977c1625a50aa78677365070da7029e1621f..e29bc28dcb51026ab00bd7b46ee0775c20297cdb 100644
--- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/GidaspowErgunWenYu/GidaspowErgunWenYu.H
+++ b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/GidaspowErgunWenYu/GidaspowErgunWenYu.H
@@ -85,7 +85,8 @@ public:
         GidaspowErgunWenYu
         (
             const dictionary& interfaceDict,
-            const phasePair& pair
+            const phasePair& pair,
+            const bool registerObject
         );
 
 
diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/GidaspowSchillerNaumann/GidaspowSchillerNaumann.C b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/GidaspowSchillerNaumann/GidaspowSchillerNaumann.C
index 3e389a7a6b32aa5356b1f286bfd5150f24244186..ce35a4ac25528e954895090d699823bf5c6b8719 100644
--- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/GidaspowSchillerNaumann/GidaspowSchillerNaumann.C
+++ b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/GidaspowSchillerNaumann/GidaspowSchillerNaumann.C
@@ -44,10 +44,11 @@ namespace dragModels
 Foam::dragModels::GidaspowSchillerNaumann::GidaspowSchillerNaumann
 (
     const dictionary& dict,
-    const phasePair& pair
+    const phasePair& pair,
+    const bool registerObject
 )
 :
-    dragModel(dict, pair),
+    dragModel(dict, pair, registerObject),
     residualRe_("residualRe", dimless, dict.lookup("residualRe"))
 {}
 
diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/GidaspowSchillerNaumann/GidaspowSchillerNaumann.H b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/GidaspowSchillerNaumann/GidaspowSchillerNaumann.H
index 9277781bc357367370c80a54b69377446be501e1..b14ccf06b6d6933eb8bda20b2de92c30e0f5ecf6 100644
--- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/GidaspowSchillerNaumann/GidaspowSchillerNaumann.H
+++ b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/GidaspowSchillerNaumann/GidaspowSchillerNaumann.H
@@ -85,7 +85,8 @@ public:
         GidaspowSchillerNaumann
         (
             const dictionary& dict,
-            const phasePair& pair
+            const phasePair& pair,
+            const bool registerObject
         );
 
 
diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/SchillerNaumann/SchillerNaumann.C b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/SchillerNaumann/SchillerNaumann.C
index 7cfc98d29814c272769e294968795d21ddad7ff2..5504d1a52353d11dc6978a749b4779c591685030 100644
--- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/SchillerNaumann/SchillerNaumann.C
+++ b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/SchillerNaumann/SchillerNaumann.C
@@ -44,10 +44,11 @@ namespace dragModels
 Foam::dragModels::SchillerNaumann::SchillerNaumann
 (
     const dictionary& dict,
-    const phasePair& pair
+    const phasePair& pair,
+    const bool registerObject
 )
 :
-    dragModel(dict, pair),
+    dragModel(dict, pair, registerObject),
     residualRe_("residualRe", dimless, dict.lookup("residualRe"))
 {}
 
diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/SchillerNaumann/SchillerNaumann.H b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/SchillerNaumann/SchillerNaumann.H
index 72d0d2c1b770689551fc2ebd658544541efc3f1e..21d13358cada2d72a46160e4ca8819c7fde05fe9 100644
--- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/SchillerNaumann/SchillerNaumann.H
+++ b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/SchillerNaumann/SchillerNaumann.H
@@ -74,7 +74,8 @@ public:
         SchillerNaumann
         (
             const dictionary& dict,
-            const phasePair& pair
+            const phasePair& pair,
+            const bool registerObject
         );
 
 
diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/SyamlalOBrien/SyamlalOBrien.C b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/SyamlalOBrien/SyamlalOBrien.C
index d2c0f800b191788336bcd7e885ade6d7846abf36..fbf839178f0c3804a10464be1e46804beec42297 100644
--- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/SyamlalOBrien/SyamlalOBrien.C
+++ b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/SyamlalOBrien/SyamlalOBrien.C
@@ -44,10 +44,11 @@ namespace dragModels
 Foam::dragModels::SyamlalOBrien::SyamlalOBrien
 (
     const dictionary& dict,
-    const phasePair& pair
+    const phasePair& pair,
+    const bool registerObject
 )
 :
-    dragModel(dict, pair),
+    dragModel(dict, pair, registerObject),
     residualRe_("residualRe", dimless, dict.lookup("residualRe"))
 {}
 
diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/SyamlalOBrien/SyamlalOBrien.H b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/SyamlalOBrien/SyamlalOBrien.H
index 652013aae2e53ce0d34a920dc40d37881583ced2..4902997245323a23095a12d258b87bed0f6b6515 100644
--- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/SyamlalOBrien/SyamlalOBrien.H
+++ b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/SyamlalOBrien/SyamlalOBrien.H
@@ -77,7 +77,8 @@ public:
         SyamlalOBrien
         (
             const dictionary& dict,
-            const phasePair& pair
+            const phasePair& pair,
+            const bool registerObject
         );
 
 
diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/TomiyamaAnalytic/TomiyamaAnalytic.C b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/TomiyamaAnalytic/TomiyamaAnalytic.C
index 7770579a8659da660e5001ba9479a68e62134771..21a48c66731f61e8fdbab0ce2aebc50e6568b3b8 100644
--- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/TomiyamaAnalytic/TomiyamaAnalytic.C
+++ b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/TomiyamaAnalytic/TomiyamaAnalytic.C
@@ -44,10 +44,11 @@ namespace dragModels
 Foam::dragModels::TomiyamaAnalytic::TomiyamaAnalytic
 (
     const dictionary& dict,
-    const phasePair& pair
+    const phasePair& pair,
+    const bool registerObject
 )
 :
-    dragModel(dict, pair),
+    dragModel(dict, pair, registerObject),
     residualEo_("residualEo", dimless, dict.lookup("residualEo")),
     residualE_("residualE", dimless, dict.lookup("residualE"))
 {}
diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/TomiyamaAnalytic/TomiyamaAnalytic.H b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/TomiyamaAnalytic/TomiyamaAnalytic.H
index 7bb3a9c8c65ed96a12e79c0d6d962cbaae393d21..6c5b72fdcaa3ceed830220d35aef34d8449bd470 100644
--- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/TomiyamaAnalytic/TomiyamaAnalytic.H
+++ b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/TomiyamaAnalytic/TomiyamaAnalytic.H
@@ -87,7 +87,8 @@ public:
         TomiyamaAnalytic
         (
             const dictionary& dict,
-            const phasePair& pair
+            const phasePair& pair,
+            const bool registerObject
         );
 
 
diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/TomiyamaCorrelated/TomiyamaCorrelated.C b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/TomiyamaCorrelated/TomiyamaCorrelated.C
index c7b0eecae660586e142a7bc2f450c27e0255f707..d01af7ac9da9755158d68ce7dc17b8c1b5e60332 100644
--- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/TomiyamaCorrelated/TomiyamaCorrelated.C
+++ b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/TomiyamaCorrelated/TomiyamaCorrelated.C
@@ -44,10 +44,11 @@ namespace dragModels
 Foam::dragModels::TomiyamaCorrelated::TomiyamaCorrelated
 (
     const dictionary& dict,
-    const phasePair& pair
+    const phasePair& pair,
+    const bool registerObject
 )
 :
-    dragModel(dict, pair),
+    dragModel(dict, pair, registerObject),
     residualRe_("residualRe", dimless, dict.lookup("residualRe")),
     A_("A", dimless, dict.lookup("A"))
 {}
diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/TomiyamaCorrelated/TomiyamaCorrelated.H b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/TomiyamaCorrelated/TomiyamaCorrelated.H
index b2a8b8b0061b83be854bd288040906c8779d0b14..c779d3262e707a5b162897364f4a073447a87c62 100644
--- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/TomiyamaCorrelated/TomiyamaCorrelated.H
+++ b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/TomiyamaCorrelated/TomiyamaCorrelated.H
@@ -87,7 +87,8 @@ public:
         TomiyamaCorrelated
         (
             const dictionary& dict,
-            const phasePair& pair
+            const phasePair& pair,
+            const bool registerObject
         );
 
 
diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/WenYu/WenYu.C b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/WenYu/WenYu.C
index 707ce6268399008f4fcbafdec1f68adb506fe2f5..41aeb231d6310a7e9331f003c6f4b57de71409b9 100644
--- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/WenYu/WenYu.C
+++ b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/WenYu/WenYu.C
@@ -44,10 +44,11 @@ namespace dragModels
 Foam::dragModels::WenYu::WenYu
 (
     const dictionary& dict,
-    const phasePair& pair
+    const phasePair& pair,
+    const bool registerObject
 )
 :
-    dragModel(dict, pair),
+    dragModel(dict, pair, registerObject),
     residualRe_("residualRe", dimless, dict.lookup("residualRe"))
 {}
 
diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/WenYu/WenYu.H b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/WenYu/WenYu.H
index e471c38546fd48ec57163854b56e314310841773..48df2ae526e485037f490108e7eb9786c0d6e334 100644
--- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/WenYu/WenYu.H
+++ b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/WenYu/WenYu.H
@@ -88,7 +88,8 @@ public:
         WenYu
         (
             const dictionary& dict,
-            const phasePair& pair
+            const phasePair& pair,
+            const bool registerObject
         );
 
 
diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/dragModel/dragModel.C b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/dragModel/dragModel.C
index b76d90e390f71e9dae29777d80299a7f4f6ff649..754931df127def1f36a5a873f0dabfbe5b574804 100644
--- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/dragModel/dragModel.C
+++ b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/dragModel/dragModel.C
@@ -42,7 +42,8 @@ const Foam::dimensionSet Foam::dragModel::dimK(1, -3, -1, 0, 0);
 
 Foam::dragModel::dragModel
 (
-    const phasePair& pair
+    const phasePair& pair,
+    const bool registerObject
 )
 :
     regIOobject
@@ -51,7 +52,10 @@ Foam::dragModel::dragModel
         (
             IOobject::groupName(typeName, pair.name()),
             pair.phase1().mesh().time().timeName(),
-            pair.phase1().mesh()
+            pair.phase1().mesh(),
+            IOobject::NO_READ,
+            IOobject::NO_WRITE,
+            registerObject
         )
     ),
     pair_(pair)
@@ -61,7 +65,8 @@ Foam::dragModel::dragModel
 Foam::dragModel::dragModel
 (
     const dictionary& dict,
-    const phasePair& pair
+    const phasePair& pair,
+    const bool registerObject
 )
 :
     regIOobject
@@ -70,7 +75,10 @@ Foam::dragModel::dragModel
         (
             IOobject::groupName(typeName, pair.name()),
             pair.phase1().mesh().time().timeName(),
-            pair.phase1().mesh()
+            pair.phase1().mesh(),
+            IOobject::NO_READ,
+            IOobject::NO_WRITE,
+            registerObject
         )
     ),
     pair_(pair),
diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/dragModel/dragModel.H b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/dragModel/dragModel.H
index abaed5c5309ae2bef93a2f0050e474e2c0f5326b..ef0462e735306a1062589abbe9608604bd31691d 100644
--- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/dragModel/dragModel.H
+++ b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/dragModel/dragModel.H
@@ -87,9 +87,10 @@ public:
             dictionary,
             (
                 const dictionary& dict,
-                const phasePair& pair
+                const phasePair& pair,
+                const bool registerObject
             ),
-            (dict, pair)
+            (dict, pair, registerObject)
         );
 
 
@@ -104,14 +105,16 @@ public:
         // Construct without residual constants
         dragModel
         (
-            const phasePair& pair
+            const phasePair& pair,
+            const bool registerObject
         );
 
         // Construct with residual constants
         dragModel
         (
             const dictionary& dict,
-            const phasePair& pair
+            const phasePair& pair,
+            const bool registerObject
         );
 
 
diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/dragModel/newDragModel.C b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/dragModel/newDragModel.C
index b2c9657e4f9ffd3ba1463f0cbe830706370ecd99..ce06feab070a3f847639f9d20878db69550fb392 100644
--- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/dragModel/newDragModel.C
+++ b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/dragModel/newDragModel.C
@@ -52,7 +52,7 @@ Foam::autoPtr<Foam::dragModel> Foam::dragModel::New
             << exit(FatalError);
     }
 
-    return cstrIter()(dict, pair);
+    return cstrIter()(dict, pair, true);
 }
 
 
diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/noDrag/noDrag.C b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/noDrag/noDrag.C
index f12e3bf972a625dbaed9a277b7ee4a227faffb35..f57979c349257276079f9c24d2db24ee1f7da128 100644
--- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/noDrag/noDrag.C
+++ b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/noDrag/noDrag.C
@@ -44,10 +44,11 @@ namespace dragModels
 Foam::dragModels::noDrag::noDrag
 (
     const dictionary& dict,
-    const phasePair& pair
+    const phasePair& pair,
+    const bool registerObject
 )
 :
-    dragModel(pair)
+    dragModel(pair, registerObject)
 {}
 
 
diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/noDrag/noDrag.H b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/noDrag/noDrag.H
index 356c08c4383bc8af34b591ad0a626358b588d293..74c30e674548fd1f2a8513cef015b18403ed917e 100644
--- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/noDrag/noDrag.H
+++ b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/noDrag/noDrag.H
@@ -66,7 +66,8 @@ public:
         noDrag
         (
             const dictionary& dict,
-            const phasePair& pair
+            const phasePair& pair,
+            const bool registerObject
         );
 
 
diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/segregated/segregated.C b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/segregated/segregated.C
index 47016fb5c0c554198163a067e6a6b89b898e3d68..08b59fbf6b163ab8c54b98e5be361b7769fc757e 100644
--- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/segregated/segregated.C
+++ b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/segregated/segregated.C
@@ -45,10 +45,11 @@ namespace dragModels
 Foam::dragModels::segregated::segregated
 (
     const dictionary& dict,
-    const phasePair& pair
+    const phasePair& pair,
+    const bool registerObject
 )
 :
-    dragModel(dict, pair),
+    dragModel(dict, pair, registerObject),
     residualRe_("residualRe", dimless, dict.lookup("residualRe")),
     m_("m", dimless, dict.lookup("m")),
     n_("n", dimless, dict.lookup("n"))
diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/segregated/segregated.H b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/segregated/segregated.H
index 3e2925f87cba4cd1667a24543d9df05e5f810a7c..1b68d94d2513107e7a30b8c9d45a7c4bf34d5c4d 100644
--- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/segregated/segregated.H
+++ b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/segregated/segregated.H
@@ -88,7 +88,8 @@ public:
         segregated
         (
             const dictionary& dict,
-            const phasePair& pair
+            const phasePair& pair,
+            const bool registerObject
         );
 
 
diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/virtualMassModels/Lamb/Lamb.C b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/virtualMassModels/Lamb/Lamb.C
index 9ddcc4e358e3f476229542e8271d541d32545562..9e248c8bd8cd73abc9086879c3a2bf2ce7151c39 100644
--- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/virtualMassModels/Lamb/Lamb.C
+++ b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/virtualMassModels/Lamb/Lamb.C
@@ -49,10 +49,11 @@ namespace virtualMassModels
 Foam::virtualMassModels::Lamb::Lamb
 (
     const dictionary& dict,
-    const phasePair& pair
+    const phasePair& pair,
+    const bool registerObject
 )
 :
-    virtualMassModel(dict, pair)
+    virtualMassModel(dict, pair, registerObject)
 {}
 
 
diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/virtualMassModels/Lamb/Lamb.H b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/virtualMassModels/Lamb/Lamb.H
index 86f42ed3e16cb198fe956a688270730d8a1ef597..2fe4e1647c2020893934498d4dad4c1f722680f4 100644
--- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/virtualMassModels/Lamb/Lamb.H
+++ b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/virtualMassModels/Lamb/Lamb.H
@@ -74,7 +74,8 @@ public:
         Lamb
         (
             const dictionary& dict,
-            const phasePair& pair
+            const phasePair& pair,
+            const bool registerObject
         );
 
 
diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/virtualMassModels/constantVirtualMassCoefficient/constantVirtualMassCoefficient.C b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/virtualMassModels/constantVirtualMassCoefficient/constantVirtualMassCoefficient.C
index b76ec41c6cc5d406c64991d8e00feb8cd779aad3..bdf1ab08b4a7bf1564fd072dcd592bd6b83f977d 100644
--- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/virtualMassModels/constantVirtualMassCoefficient/constantVirtualMassCoefficient.C
+++ b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/virtualMassModels/constantVirtualMassCoefficient/constantVirtualMassCoefficient.C
@@ -50,10 +50,11 @@ Foam::virtualMassModels::constantVirtualMassCoefficient::
 constantVirtualMassCoefficient
 (
     const dictionary& dict,
-    const phasePair& pair
+    const phasePair& pair,
+    const bool registerObject
 )
 :
-    virtualMassModel(dict, pair),
+    virtualMassModel(dict, pair, registerObject),
     Cvm_("Cvm", dimless, dict.lookup("Cvm"))
 {}
 
diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/virtualMassModels/constantVirtualMassCoefficient/constantVirtualMassCoefficient.H b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/virtualMassModels/constantVirtualMassCoefficient/constantVirtualMassCoefficient.H
index f8b1f5a3de835f9abfaa0d676dc70770b5686d21..8ce2b691adca074c8d0125451ca9ace2df99771f 100644
--- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/virtualMassModels/constantVirtualMassCoefficient/constantVirtualMassCoefficient.H
+++ b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/virtualMassModels/constantVirtualMassCoefficient/constantVirtualMassCoefficient.H
@@ -75,7 +75,8 @@ public:
         constantVirtualMassCoefficient
         (
             const dictionary& dict,
-            const phasePair& pair
+            const phasePair& pair,
+            const bool registerObject
         );
 
 
diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/virtualMassModels/noVirtualMass/noVirtualMass.C b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/virtualMassModels/noVirtualMass/noVirtualMass.C
index 674bd63b9bc0b6f455415131a5f7eaf67b413550..56d69ec77f49ad05ecd388eff5610849e1c240b7 100644
--- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/virtualMassModels/noVirtualMass/noVirtualMass.C
+++ b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/virtualMassModels/noVirtualMass/noVirtualMass.C
@@ -44,10 +44,11 @@ namespace virtualMassModels
 Foam::virtualMassModels::noVirtualMass::noVirtualMass
 (
     const dictionary& dict,
-    const phasePair& pair
+    const phasePair& pair,
+    const bool registerObject
 )
 :
-    virtualMassModel(dict, pair)
+    virtualMassModel(dict, pair, registerObject)
 {}
 
 
diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/virtualMassModels/noVirtualMass/noVirtualMass.H b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/virtualMassModels/noVirtualMass/noVirtualMass.H
index ca498c4606a786cce5d4136f6f26274fb64eca5d..a8733e5f4368c06307c26bfb2be8f165917b868f 100644
--- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/virtualMassModels/noVirtualMass/noVirtualMass.H
+++ b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/virtualMassModels/noVirtualMass/noVirtualMass.H
@@ -66,7 +66,8 @@ public:
         noVirtualMass
         (
             const dictionary& dict,
-            const phasePair& pair
+            const phasePair& pair,
+            const bool registerObject
         );
 
 
diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/virtualMassModels/virtualMassModel/newVirtualMassModel.C b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/virtualMassModels/virtualMassModel/newVirtualMassModel.C
index d8df3a8b506a68015ec95c5474d3468057b9c019..82b9b47f170d002c7ead6841fb09cc3a6de81264 100644
--- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/virtualMassModels/virtualMassModel/newVirtualMassModel.C
+++ b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/virtualMassModels/virtualMassModel/newVirtualMassModel.C
@@ -52,7 +52,7 @@ Foam::autoPtr<Foam::virtualMassModel> Foam::virtualMassModel::New
             << exit(FatalError);
     }
 
-    return cstrIter()(dict, pair);
+    return cstrIter()(dict, pair, true);
 }
 
 
diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/virtualMassModels/virtualMassModel/virtualMassModel.C b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/virtualMassModels/virtualMassModel/virtualMassModel.C
index ffdfb44a8325dc213f90757c71a190de8a2081c3..f709a092e4805ebe360d76d2375d219c1553a80f 100644
--- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/virtualMassModels/virtualMassModel/virtualMassModel.C
+++ b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/virtualMassModels/virtualMassModel/virtualMassModel.C
@@ -42,7 +42,8 @@ const Foam::dimensionSet Foam::virtualMassModel::dimK(dimDensity);
 Foam::virtualMassModel::virtualMassModel
 (
     const dictionary& dict,
-    const phasePair& pair
+    const phasePair& pair,
+    const bool registerObject
 )
 :
     regIOobject
@@ -51,7 +52,10 @@ Foam::virtualMassModel::virtualMassModel
         (
             IOobject::groupName(typeName, pair.name()),
             pair.phase1().mesh().time().timeName(),
-            pair.phase1().mesh()
+            pair.phase1().mesh(),
+            IOobject::NO_READ,
+            IOobject::NO_WRITE,
+            registerObject
         )
     ),
     pair_(pair)
diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/virtualMassModels/virtualMassModel/virtualMassModel.H b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/virtualMassModels/virtualMassModel/virtualMassModel.H
index 90222e8f67159bcf2cbd0c53bb1f841d9f7c99b8..bfaf4573454fcd06b951bccccdfa5e5235162605 100644
--- a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/virtualMassModels/virtualMassModel/virtualMassModel.H
+++ b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/virtualMassModels/virtualMassModel/virtualMassModel.H
@@ -77,9 +77,10 @@ public:
             dictionary,
             (
                 const dictionary& dict,
-                const phasePair& pair
+                const phasePair& pair,
+                const bool registerObject
             ),
-            (dict, pair)
+            (dict, pair, registerObject)
         );
 
 
@@ -95,7 +96,8 @@ public:
         virtualMassModel
         (
             const dictionary& dict,
-            const phasePair& pair
+            const phasePair& pair,
+            const bool registerObject
         );
 
 
diff --git a/src/ODE/ODESolvers/Rosenbrock23/Rosenbrock23.H b/src/ODE/ODESolvers/Rosenbrock23/Rosenbrock23.H
index 1c740d74585c203aa4e92c5dd917f659be409f80..ec9fb76504e6282586d0fb3d00877eda4c428932 100644
--- a/src/ODE/ODESolvers/Rosenbrock23/Rosenbrock23.H
+++ b/src/ODE/ODESolvers/Rosenbrock23/Rosenbrock23.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2013 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2013-2014 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -25,7 +25,7 @@ Class
     Foam::Rosenbrock23
 
 Description
-    L-stable embedded Rosenbrock ODE solver of order (3)4.
+    L-stable embedded Rosenbrock ODE solver of order (2)3.
 
     References:
     \verbatim
diff --git a/tutorials/combustion/fireFoam/les/flameSpreadWaterSuppressionPanel/constant/pyrolysisRegion/chemistryProperties b/tutorials/combustion/fireFoam/les/flameSpreadWaterSuppressionPanel/constant/pyrolysisRegion/chemistryProperties
index 1366ff04bdf5e7bb89a39616cb80ef065906cdd6..7cb5c41c06f886c82d49d7178941fff0cd4bbc72 100644
--- a/tutorials/combustion/fireFoam/les/flameSpreadWaterSuppressionPanel/constant/pyrolysisRegion/chemistryProperties
+++ b/tutorials/combustion/fireFoam/les/flameSpreadWaterSuppressionPanel/constant/pyrolysisRegion/chemistryProperties
@@ -27,7 +27,7 @@ initialChemicalTimeStep 1e-07;
 
 odeCoeffs
 {
-    solver          SIBS;
+    solver          seulex;
     eps             0.05;
 }
 
diff --git a/tutorials/combustion/fireFoam/les/oppositeBurningPanels/constant/panelRegion/chemistryProperties b/tutorials/combustion/fireFoam/les/oppositeBurningPanels/constant/panelRegion/chemistryProperties
index 5535bbdb93697336b9cd4911e49b0751a24ee720..df407c07fffab58d5c7c853bb30bd63a9f294431 100644
--- a/tutorials/combustion/fireFoam/les/oppositeBurningPanels/constant/panelRegion/chemistryProperties
+++ b/tutorials/combustion/fireFoam/les/oppositeBurningPanels/constant/panelRegion/chemistryProperties
@@ -27,7 +27,7 @@ initialChemicalTimeStep 1e-07;
 
 odeCoeffs
 {
-    solver          SIBS;
+    solver          seulex;
     absTol          1e-12;
     relTol          0.01;
 }
diff --git a/tutorials/lagrangian/coalChemistryFoam/simplifiedSiwek/constant/chemistryProperties b/tutorials/lagrangian/coalChemistryFoam/simplifiedSiwek/constant/chemistryProperties
index 21cf68db59b0e1549f3e001b2b2358c0d568f79c..2d6208654bd6a384218d9f80dd7b7d243c4c5fb3 100644
--- a/tutorials/lagrangian/coalChemistryFoam/simplifiedSiwek/constant/chemistryProperties
+++ b/tutorials/lagrangian/coalChemistryFoam/simplifiedSiwek/constant/chemistryProperties
@@ -33,7 +33,7 @@ EulerImplicitCoeffs
 
 odeCoeffs
 {
-    solver          SIBS;
+    solver          seulex;
     eps             0.05;
 }
 
diff --git a/tutorials/lagrangian/reactingParcelFoam/filter/constant/chemistryProperties b/tutorials/lagrangian/reactingParcelFoam/filter/constant/chemistryProperties
index 16abe88752c48159501619254405bab19431985b..502724fef5d5e17f8be2a326e56404616cba2e60 100644
--- a/tutorials/lagrangian/reactingParcelFoam/filter/constant/chemistryProperties
+++ b/tutorials/lagrangian/reactingParcelFoam/filter/constant/chemistryProperties
@@ -33,7 +33,7 @@ EulerImplicitCoeffs
 
 odeCoeffs
 {
-    solver          RK;
+    solver          seulex;
     eps             0.05;
 }
 
diff --git a/tutorials/lagrangian/reactingParcelFoam/verticalChannel/constant/chemistryProperties b/tutorials/lagrangian/reactingParcelFoam/verticalChannel/constant/chemistryProperties
index 16abe88752c48159501619254405bab19431985b..502724fef5d5e17f8be2a326e56404616cba2e60 100644
--- a/tutorials/lagrangian/reactingParcelFoam/verticalChannel/constant/chemistryProperties
+++ b/tutorials/lagrangian/reactingParcelFoam/verticalChannel/constant/chemistryProperties
@@ -33,7 +33,7 @@ EulerImplicitCoeffs
 
 odeCoeffs
 {
-    solver          RK;
+    solver          seulex;
     eps             0.05;
 }
 
diff --git a/tutorials/lagrangian/sprayFoam/aachenBomb/constant/chemistryProperties b/tutorials/lagrangian/sprayFoam/aachenBomb/constant/chemistryProperties
index ea16d954f1b6ac9f838e400fb3c901e68d253a6e..999aba673f20db0fe99eed27982fc81c94e69d81 100644
--- a/tutorials/lagrangian/sprayFoam/aachenBomb/constant/chemistryProperties
+++ b/tutorials/lagrangian/sprayFoam/aachenBomb/constant/chemistryProperties
@@ -27,7 +27,7 @@ initialChemicalTimeStep 1e-07;
 
 odeCoeffs
 {
-    solver          SIBS;
+    solver          seulex;
     eps             0.05;
 }