diff --git a/applications/solvers/multiphase/compressibleMultiphaseInterFoam/multiphaseMixtureThermo/phaseModel/phaseModel.C b/applications/solvers/multiphase/compressibleMultiphaseInterFoam/multiphaseMixtureThermo/phaseModel/phaseModel.C
index ac37bac4aefc5d59fadfc26cf90ce458fcc49cd7..a59534e603bc1a99f61eaf3c21adaa3f55e16346 100644
--- a/applications/solvers/multiphase/compressibleMultiphaseInterFoam/multiphaseMixtureThermo/phaseModel/phaseModel.C
+++ b/applications/solvers/multiphase/compressibleMultiphaseInterFoam/multiphaseMixtureThermo/phaseModel/phaseModel.C
@@ -81,7 +81,7 @@ Foam::phaseModel::phaseModel
 Foam::autoPtr<Foam::phaseModel> Foam::phaseModel::clone() const
 {
     NotImplemented;
-    return autoPtr<phaseModel>();
+    return nullptr;
 }
 
 
diff --git a/applications/solvers/multiphase/interCondensatingEvaporatingFoam/temperaturePhaseChangeTwoPhaseMixtures/twoPhaseMixtureEThermo/twoPhaseMixtureEThermo.C b/applications/solvers/multiphase/interCondensatingEvaporatingFoam/temperaturePhaseChangeTwoPhaseMixtures/twoPhaseMixtureEThermo/twoPhaseMixtureEThermo.C
index 751df5fcb78711323dce2a659bb73c50df0637d2..3cfbfe89ed318273ac8661c3e573a29f3927a39f 100644
--- a/applications/solvers/multiphase/interCondensatingEvaporatingFoam/temperaturePhaseChangeTwoPhaseMixtures/twoPhaseMixtureEThermo/twoPhaseMixtureEThermo.C
+++ b/applications/solvers/multiphase/interCondensatingEvaporatingFoam/temperaturePhaseChangeTwoPhaseMixtures/twoPhaseMixtureEThermo/twoPhaseMixtureEThermo.C
@@ -259,7 +259,7 @@ Foam::tmp<Foam::scalarField> Foam::twoPhaseMixtureEThermo::THE
 ) const
 {
     NotImplemented;
-    return tmp<Foam::scalarField>();
+    return nullptr;
 }
 
 
@@ -272,7 +272,7 @@ Foam::tmp<Foam::scalarField> Foam::twoPhaseMixtureEThermo::THE
 ) const
 {
     NotImplemented;
-    return tmp<Foam::scalarField>();
+    return nullptr;
 }
 
 
@@ -436,8 +436,8 @@ Foam::tmp<Foam::scalarField> Foam::twoPhaseMixtureEThermo::Cpv
 
 Foam::tmp<Foam::volScalarField> Foam::twoPhaseMixtureEThermo::CpByCpv() const
 {
-     NotImplemented;
-     return tmp<Foam::volScalarField>();
+    NotImplemented;
+    return nullptr;
 }
 
 
@@ -448,8 +448,8 @@ Foam::tmp<Foam::scalarField> Foam::twoPhaseMixtureEThermo::CpByCpv
     const label patchi
 ) const
 {
-     NotImplemented;
-     return tmp<Foam::scalarField>();
+    NotImplemented;
+    return nullptr;
 }
 
 
diff --git a/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseSystem/phaseModel/phaseModel.C b/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseSystem/phaseModel/phaseModel.C
index cc6790499f099bb4b68e5a94ca2996747b6faae0..9b66605cf8b9368285da338d6df6d8f9ecec2b9f 100644
--- a/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseSystem/phaseModel/phaseModel.C
+++ b/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseSystem/phaseModel/phaseModel.C
@@ -205,7 +205,7 @@ Foam::phaseModel::~phaseModel()
 Foam::autoPtr<Foam::phaseModel> Foam::phaseModel::clone() const
 {
     NotImplemented;
-    return autoPtr<phaseModel>();
+    return nullptr;
 }
 
 
diff --git a/applications/solvers/multiphase/multiphaseInterFoam/multiphaseMixture/phase/phase.C b/applications/solvers/multiphase/multiphaseInterFoam/multiphaseMixture/phase/phase.C
index e14906619b4dfd343d3f26fc67ccb66f4e0f4173..e7a5603c9f97ce03f20a73b0ad9838649940e542 100644
--- a/applications/solvers/multiphase/multiphaseInterFoam/multiphaseMixture/phase/phase.C
+++ b/applications/solvers/multiphase/multiphaseInterFoam/multiphaseMixture/phase/phase.C
@@ -68,7 +68,7 @@ Foam::phase::phase
 Foam::autoPtr<Foam::phase> Foam::phase::clone() const
 {
     NotImplemented;
-    return autoPtr<phase>();
+    return nullptr;
 }
 
 
diff --git a/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseModel/IsothermalPhaseModel/IsothermalPhaseModel.C b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseModel/IsothermalPhaseModel/IsothermalPhaseModel.C
index 95a9f0c38bbc5219305ca469728919fd6f5d4a47..8677e02a475f1744d718fa0b94eee6671bb3349c 100644
--- a/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseModel/IsothermalPhaseModel/IsothermalPhaseModel.C
+++ b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseModel/IsothermalPhaseModel/IsothermalPhaseModel.C
@@ -65,7 +65,7 @@ template<class BasePhaseModel>
 Foam::tmp<Foam::fvScalarMatrix>
 Foam::IsothermalPhaseModel<BasePhaseModel>::heEqn()
 {
-    return tmp<fvScalarMatrix>();
+    return nullptr;
 }
 
 
diff --git a/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseModel/MultiComponentPhaseModel/MultiComponentPhaseModel.C b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseModel/MultiComponentPhaseModel/MultiComponentPhaseModel.C
index 171f2f38786e5792778886ce53726588a9e5e17c..7547954fd5618966888108822085c62c17f5ed11 100644
--- a/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseModel/MultiComponentPhaseModel/MultiComponentPhaseModel.C
+++ b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseModel/MultiComponentPhaseModel/MultiComponentPhaseModel.C
@@ -152,7 +152,7 @@ Foam::MultiComponentPhaseModel<BasePhaseModel>::YiEqn
         )
     )
     {
-        return tmp<fvScalarMatrix>();
+        return nullptr;
     }
 
     const volScalarField& alpha = *this;
diff --git a/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseModel/PurePhaseModel/PurePhaseModel.C b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseModel/PurePhaseModel/PurePhaseModel.C
index 9d94f7627e55d2c5f30c4a6135ca769aa5a09606..db8556d47d19f193ee5068839795395cbf0bd1bf 100644
--- a/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseModel/PurePhaseModel/PurePhaseModel.C
+++ b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseModel/PurePhaseModel/PurePhaseModel.C
@@ -57,8 +57,7 @@ Foam::PurePhaseModel<BasePhaseModel>::YiEqn
 )
 {
     NotImplemented;
-
-    return tmp<fvScalarMatrix>();
+    return nullptr;
 }
 
 
diff --git a/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseModel/phaseModel/phaseModel.C b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseModel/phaseModel/phaseModel.C
index 4d183cd0a296f9c1e08fd8fffce8363cc57b49d6..68e85badefde2c0ea4f42fc1244d531a77449457 100644
--- a/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseModel/phaseModel/phaseModel.C
+++ b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseModel/phaseModel/phaseModel.C
@@ -77,7 +77,7 @@ Foam::phaseModel::phaseModel
 Foam::autoPtr<Foam::phaseModel> Foam::phaseModel::clone() const
 {
     NotImplemented;
-    return autoPtr<phaseModel>();
+    return nullptr;
 }
 
 
diff --git a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATEsources/IATEsource/IATEsource.H b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATEsources/IATEsource/IATEsource.H
index db917c48659f3483213dd6a34c0ec9e2fb1df2b1..1e3b3f1f4ce2d9ca8f75a0c16aee4310b419e5c5 100644
--- a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATEsources/IATEsource/IATEsource.H
+++ b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATEsources/IATEsource/IATEsource.H
@@ -115,7 +115,7 @@ public:
         autoPtr<IATEsource> clone() const
         {
             NotImplemented;
-            return autoPtr<IATEsource>();
+            return nullptr;
         }
 
 
diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATEsources/IATEsource/IATEsource.H b/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATEsources/IATEsource/IATEsource.H
index 29c150ce741b5aa0c8ded27270ff1813129b6053..964df057ce76b4a74069a0980ba5107c22d10042 100644
--- a/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATEsources/IATEsource/IATEsource.H
+++ b/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATEsources/IATEsource/IATEsource.H
@@ -114,7 +114,7 @@ public:
         autoPtr<IATEsource> clone() const
         {
             NotImplemented;
-            return autoPtr<IATEsource>();
+            return nullptr;
         }
 
 
diff --git a/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/DelaunayMesh/DistributedDelaunayMesh.C b/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/DelaunayMesh/DistributedDelaunayMesh.C
index 620bd04decfbcf59505b18e951db3b7421829cda..f6e6c75aba4a998d124ddb81bfa7146b5a5c29ca 100644
--- a/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/DelaunayMesh/DistributedDelaunayMesh.C
+++ b/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/DelaunayMesh/DistributedDelaunayMesh.C
@@ -794,14 +794,12 @@ Foam::DistributedDelaunayMesh<Triangulation>::distribute
 {
     if (!Pstream::parRun())
     {
-        return autoPtr<mapDistribute>();
+        return nullptr;
     }
 
     distributeBoundBoxes(decomposition.procBounds());
 
-    autoPtr<mapDistribute> mapDist = decomposition.distributePoints(points);
-
-    return mapDist;
+    return decomposition.distributePoints(points);
 }
 
 
diff --git a/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/searchableSurfaceFeatures/searchableSurfaceFeatures.H b/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/searchableSurfaceFeatures/searchableSurfaceFeatures.H
index fe1c509207a14b3f33ce468038c9cf9871ae59ed..f42e974f0a09140f0f56f6f1e302757413428b9d 100644
--- a/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/searchableSurfaceFeatures/searchableSurfaceFeatures.H
+++ b/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/searchableSurfaceFeatures/searchableSurfaceFeatures.H
@@ -101,7 +101,7 @@ public:
         virtual autoPtr<searchableSurfaceFeatures> clone() const
         {
             NotImplemented;
-            return autoPtr<searchableSurfaceFeatures>();
+            return nullptr;
         }
 
 
@@ -139,7 +139,7 @@ public:
         //- Return an extendedFeatureEdgeMesh containing the features
         virtual autoPtr<extendedFeatureEdgeMesh> features() const
         {
-            return autoPtr<extendedFeatureEdgeMesh>();
+            return nullptr;
         }
 };
 
diff --git a/applications/utilities/mesh/manipulation/createBaffles/faceSelection/faceSelection.H b/applications/utilities/mesh/manipulation/createBaffles/faceSelection/faceSelection.H
index b17f016212c292fac95819d8ef3e82a8cb733f16..04a95cf0ceceac7a8be016287170431528018229 100644
--- a/applications/utilities/mesh/manipulation/createBaffles/faceSelection/faceSelection.H
+++ b/applications/utilities/mesh/manipulation/createBaffles/faceSelection/faceSelection.H
@@ -109,7 +109,7 @@ public:
         autoPtr<faceSelection> clone() const
         {
             NotImplemented;
-            return autoPtr<faceSelection>();
+            return nullptr;
         }
 
 
diff --git a/applications/utilities/mesh/manipulation/createBaffles/faceSelection/faceZoneSelection.H b/applications/utilities/mesh/manipulation/createBaffles/faceSelection/faceZoneSelection.H
index 20e7f66fe5db4a23ed8a82ef200ad6cbb8c545ac..ac19cf0ed7477e9504c6dd9376ce9b2d0459e32d 100644
--- a/applications/utilities/mesh/manipulation/createBaffles/faceSelection/faceZoneSelection.H
+++ b/applications/utilities/mesh/manipulation/createBaffles/faceSelection/faceZoneSelection.H
@@ -86,7 +86,7 @@ public:
         autoPtr<faceSelection> clone() const
         {
             NotImplemented;
-            return autoPtr<faceSelection>();
+            return nullptr;
         }
 
 
diff --git a/applications/utilities/mesh/manipulation/createBaffles/faceSelection/searchableSurfaceSelection.H b/applications/utilities/mesh/manipulation/createBaffles/faceSelection/searchableSurfaceSelection.H
index 8f934ae3c3f36ca04d542e903bf098c5b8179c25..fb76b1c486aa1e13faf0ea9df7ae0d4be4a2dc8d 100644
--- a/applications/utilities/mesh/manipulation/createBaffles/faceSelection/searchableSurfaceSelection.H
+++ b/applications/utilities/mesh/manipulation/createBaffles/faceSelection/searchableSurfaceSelection.H
@@ -79,7 +79,7 @@ public:
         autoPtr<faceSelection> clone() const
         {
             NotImplemented;
-            return autoPtr<faceSelection>();
+            return nullptr;
         }
 
 
diff --git a/applications/utilities/parallelProcessing/reconstructParMesh/reconstructParMesh.C b/applications/utilities/parallelProcessing/reconstructParMesh/reconstructParMesh.C
index a61b582980763a5f1da173545c0cb6c73904c6dd..6c0c7b96cf095625cee4319da0cd77f7d294cab0 100644
--- a/applications/utilities/parallelProcessing/reconstructParMesh/reconstructParMesh.C
+++ b/applications/utilities/parallelProcessing/reconstructParMesh/reconstructParMesh.C
@@ -251,7 +251,7 @@ autoPtr<mapPolyMesh> mergeSharedPoints
 
     if (returnReduce(pointToMaster.size(), sumOp<label>()) == 0)
     {
-        return autoPtr<mapPolyMesh>();
+        return nullptr;
     }
 
     polyTopoChange meshMod(mesh);
diff --git a/applications/utilities/postProcessing/lumped/lumpedPointForces/lumpedPointForces.C b/applications/utilities/postProcessing/lumped/lumpedPointForces/lumpedPointForces.C
index c45dce76aecd5a177f68ba27911e772affb276c3..ac36be2058ab3e504bd33f7aefbc6426928c1075 100644
--- a/applications/utilities/postProcessing/lumped/lumpedPointForces/lumpedPointForces.C
+++ b/applications/utilities/postProcessing/lumped/lumpedPointForces/lumpedPointForces.C
@@ -71,7 +71,7 @@ autoPtr<GeoFieldType> loadField
         );
     }
 
-    return autoPtr<GeoFieldType>();
+    return nullptr;
 }
 
 
diff --git a/applications/utilities/surface/surfacePatch/searchableSurfaceModifier/autoPatch.H b/applications/utilities/surface/surfacePatch/searchableSurfaceModifier/autoPatch.H
index 40d23bbb9632cd85b7d83436c9a38fe4518af1b1..e0457837f2af144e544cc2327933d1c425d6bcac 100644
--- a/applications/utilities/surface/surfacePatch/searchableSurfaceModifier/autoPatch.H
+++ b/applications/utilities/surface/surfacePatch/searchableSurfaceModifier/autoPatch.H
@@ -76,7 +76,7 @@ public:
         autoPtr<searchableSurfaceModifier> clone() const
         {
             NotImplemented;
-            return autoPtr<searchableSurfaceModifier>();
+            return nullptr;
         }
 
 
diff --git a/applications/utilities/surface/surfacePatch/searchableSurfaceModifier/cut.H b/applications/utilities/surface/surfacePatch/searchableSurfaceModifier/cut.H
index 1024e5e44b0ff91d5cc1766a03f1b7ceedfa3a46..33620b8ecfdd66883865f1d98d77a7f2535fd011 100644
--- a/applications/utilities/surface/surfacePatch/searchableSurfaceModifier/cut.H
+++ b/applications/utilities/surface/surfacePatch/searchableSurfaceModifier/cut.H
@@ -100,7 +100,7 @@ public:
         autoPtr<searchableSurfaceModifier> clone() const
         {
             NotImplemented;
-            return autoPtr<searchableSurfaceModifier>();
+            return nullptr;
         }
 
 
diff --git a/applications/utilities/surface/surfacePatch/searchableSurfaceModifier/searchableSurfaceModifier.H b/applications/utilities/surface/surfacePatch/searchableSurfaceModifier/searchableSurfaceModifier.H
index 897bad68a0fc2ee09a7ab4bb40d014984622b305..a1877ebf9c80d2454b2d54017feb52da3738dd77 100644
--- a/applications/utilities/surface/surfacePatch/searchableSurfaceModifier/searchableSurfaceModifier.H
+++ b/applications/utilities/surface/surfacePatch/searchableSurfaceModifier/searchableSurfaceModifier.H
@@ -96,7 +96,7 @@ public:
         autoPtr<searchableSurfaceModifier> clone() const
         {
             NotImplemented;
-            return autoPtr<searchableSurfaceModifier>();
+            return nullptr;
         }
 
 
diff --git a/src/OpenFOAM/db/functionObjects/functionObject/functionObject.H b/src/OpenFOAM/db/functionObjects/functionObject/functionObject.H
index 825b562af7542deda5e4b35e6a333a1b680c4992..7150594c3db1754196fc30abbc7d40a6d793e1d7 100644
--- a/src/OpenFOAM/db/functionObjects/functionObject/functionObject.H
+++ b/src/OpenFOAM/db/functionObjects/functionObject/functionObject.H
@@ -197,7 +197,7 @@ public:
         autoPtr<functionObject> clone() const
         {
             NotImplemented;
-            return autoPtr<functionObject>();
+            return nullptr;
         }
 
 
diff --git a/src/OpenFOAM/matrices/LUscalarMatrix/procLduInterface.H b/src/OpenFOAM/matrices/LUscalarMatrix/procLduInterface.H
index 56de4eb76a6dad86b9c72670246f87af1455ae4c..cad2a86954120afd9d7d1caa395a044f0431c638 100644
--- a/src/OpenFOAM/matrices/LUscalarMatrix/procLduInterface.H
+++ b/src/OpenFOAM/matrices/LUscalarMatrix/procLduInterface.H
@@ -93,7 +93,7 @@ public:
         autoPtr<procLduInterface> clone()
         {
             NotImplemented;
-            return autoPtr<procLduInterface>();
+            return nullptr;
         }
 
         static autoPtr<procLduInterface> New(Istream& is)
diff --git a/src/OpenFOAM/matrices/LduMatrix/LduMatrix/LduMatrixPreconditioner.C b/src/OpenFOAM/matrices/LduMatrix/LduMatrix/LduMatrixPreconditioner.C
index 468297c2a5f974b421933e98229db0ef70c58c94..a0f4b9241f4c93173efeaa60d0ab3cdf703e7bd2 100644
--- a/src/OpenFOAM/matrices/LduMatrix/LduMatrix/LduMatrixPreconditioner.C
+++ b/src/OpenFOAM/matrices/LduMatrix/LduMatrix/LduMatrixPreconditioner.C
@@ -97,7 +97,7 @@ Foam::LduMatrix<Type, DType, LUType>::preconditioner::New
            "no diagonal or off-diagonal coefficient"
         << exit(FatalIOError);
 
-    return autoPtr<typename LduMatrix<Type, DType, LUType>::preconditioner>();
+    return nullptr;
 }
 
 
diff --git a/src/OpenFOAM/matrices/LduMatrix/LduMatrix/LduMatrixSmoother.C b/src/OpenFOAM/matrices/LduMatrix/LduMatrix/LduMatrixSmoother.C
index dd27fc51c2be623e01331635a8278d0b3f5b85a1..a362e5f16049b93f2887a8bfa36398b5826072aa 100644
--- a/src/OpenFOAM/matrices/LduMatrix/LduMatrix/LduMatrixSmoother.C
+++ b/src/OpenFOAM/matrices/LduMatrix/LduMatrix/LduMatrixSmoother.C
@@ -89,7 +89,7 @@ Foam::LduMatrix<Type, DType, LUType>::smoother::New
         << "cannot solve incomplete matrix, no off-diagonal coefficients"
         << exit(FatalIOError);
 
-    return autoPtr<typename LduMatrix<Type, DType, LUType>::smoother>();
+    return nullptr;
 }
 
 
diff --git a/src/OpenFOAM/matrices/LduMatrix/LduMatrix/LduMatrixSolver.C b/src/OpenFOAM/matrices/LduMatrix/LduMatrix/LduMatrixSolver.C
index 626301066e6232e8a2cbf583b038818024b7a174..5324acef6260b2c017136376b9374f97846ba0c9 100644
--- a/src/OpenFOAM/matrices/LduMatrix/LduMatrix/LduMatrixSolver.C
+++ b/src/OpenFOAM/matrices/LduMatrix/LduMatrix/LduMatrixSolver.C
@@ -105,7 +105,7 @@ Foam::LduMatrix<Type, DType, LUType>::solver::New
            "no diagonal or off-diagonal coefficient"
         << exit(FatalIOError);
 
-    return autoPtr<typename LduMatrix<Type, DType, LUType>::solver>();
+    return nullptr;
 }
 
 
diff --git a/src/OpenFOAM/matrices/lduMatrix/lduMatrix/lduMatrixPreconditioner.C b/src/OpenFOAM/matrices/lduMatrix/lduMatrix/lduMatrixPreconditioner.C
index 27f8c3687d21577b4ce5d117ac9b8bf1b479c8c7..059721926da6f2cd803955dbf090b7af469e5fe7 100644
--- a/src/OpenFOAM/matrices/lduMatrix/lduMatrix/lduMatrixPreconditioner.C
+++ b/src/OpenFOAM/matrices/lduMatrix/lduMatrix/lduMatrixPreconditioner.C
@@ -138,7 +138,7 @@ Foam::lduMatrix::preconditioner::New
            "no diagonal or off-diagonal coefficient"
         << exit(FatalIOError);
 
-    return autoPtr<lduMatrix::preconditioner>();
+    return nullptr;
 }
 
 
diff --git a/src/OpenFOAM/matrices/lduMatrix/lduMatrix/lduMatrixSmoother.C b/src/OpenFOAM/matrices/lduMatrix/lduMatrix/lduMatrixSmoother.C
index 731d4c89b303fe964fcf41694a8203cb26bcd481..03f62412c05b6bf71ba8a459ceea5250b621b7dc 100644
--- a/src/OpenFOAM/matrices/lduMatrix/lduMatrix/lduMatrixSmoother.C
+++ b/src/OpenFOAM/matrices/lduMatrix/lduMatrix/lduMatrixSmoother.C
@@ -142,7 +142,7 @@ Foam::autoPtr<Foam::lduMatrix::smoother> Foam::lduMatrix::smoother::New
         "no diagonal or off-diagonal coefficient"
         << exit(FatalIOError);
 
-    return autoPtr<lduMatrix::smoother>();
+    return nullptr;
 }
 
 
diff --git a/src/OpenFOAM/matrices/lduMatrix/lduMatrix/lduMatrixSolver.C b/src/OpenFOAM/matrices/lduMatrix/lduMatrix/lduMatrixSolver.C
index 4b0a2092ec73d5d787471ff4a7955485e7e16de2..8629b76654a6484440eab3fb05cb6c8fae67b2cf 100644
--- a/src/OpenFOAM/matrices/lduMatrix/lduMatrix/lduMatrixSolver.C
+++ b/src/OpenFOAM/matrices/lduMatrix/lduMatrix/lduMatrixSolver.C
@@ -122,7 +122,7 @@ Foam::autoPtr<Foam::lduMatrix::solver> Foam::lduMatrix::solver::New
         "no diagonal or off-diagonal coefficient"
         << exit(FatalIOError);
 
-    return autoPtr<lduMatrix::solver>();
+    return nullptr;
 }
 
 
diff --git a/src/OpenFOAM/matrices/lduMatrix/lduMatrix/lduMatrixTemplates.C b/src/OpenFOAM/matrices/lduMatrix/lduMatrix/lduMatrixTemplates.C
index 9f28ad17cda1a9076de877c49f4c7b648c88284e..0a132a2f23077e27e17e1218f6a2556b752c08aa 100644
--- a/src/OpenFOAM/matrices/lduMatrix/lduMatrix/lduMatrixTemplates.C
+++ b/src/OpenFOAM/matrices/lduMatrix/lduMatrix/lduMatrixTemplates.C
@@ -104,7 +104,7 @@ Foam::lduMatrix::faceH(const Field<Type>& psi) const
            " the matrix does not have any off-diagonal coefficients."
         << exit(FatalError);
 
-    return tmp<Field<Type>>();
+    return nullptr;
 }
 
 
diff --git a/src/OpenFOAM/meshes/polyMesh/polyMesh.C b/src/OpenFOAM/meshes/polyMesh/polyMesh.C
index 78d3ff5cddb6cf579fa152ef1e0f521b80fe9292..f66b48555f3dc72127b7cb0ad549e4d6b1952852 100644
--- a/src/OpenFOAM/meshes/polyMesh/polyMesh.C
+++ b/src/OpenFOAM/meshes/polyMesh/polyMesh.C
@@ -152,7 +152,7 @@ Foam::autoPtr<Foam::labelIOList> Foam::polyMesh::readTetBasePtIs() const
         return autoPtr<labelIOList>::New(io);
     }
 
-    return autoPtr<labelIOList>();
+    return nullptr;
 }
 
 
diff --git a/src/OpenFOAM/primitives/functions/Function1/Function1/Function1.C b/src/OpenFOAM/primitives/functions/Function1/Function1/Function1.C
index 6d46ce921dbcb3a71c74746eed1f56c0f1f62460..d03e6e842597e4ee5e52ae2bc8836a5866b7c40d 100644
--- a/src/OpenFOAM/primitives/functions/Function1/Function1/Function1.C
+++ b/src/OpenFOAM/primitives/functions/Function1/Function1/Function1.C
@@ -79,7 +79,7 @@ Foam::tmp<Foam::Field<Type>> Foam::Function1<Type>::value
 ) const
 {
     NotImplemented;
-    return tmp<Field<Type>>();
+    return nullptr;
 }
 
 
@@ -100,7 +100,7 @@ Foam::tmp<Foam::Field<Type>> Foam::Function1<Type>::integrate
 ) const
 {
     NotImplemented;
-    return tmp<Field<Type>>();
+    return nullptr;
 }
 
 
diff --git a/src/TurbulenceModels/schemes/DEShybrid/DEShybrid.H b/src/TurbulenceModels/schemes/DEShybrid/DEShybrid.H
index f1c8dfd5992b55c364c11ea020d602a1908fd797..645670e9bda06c35c7846c906b7b5096a3619d96 100644
--- a/src/TurbulenceModels/schemes/DEShybrid/DEShybrid.H
+++ b/src/TurbulenceModels/schemes/DEShybrid/DEShybrid.H
@@ -423,7 +423,7 @@ public:
                 << "Unable to retrieve turbulence model from the mesh "
                 << "database" << exit(FatalError);
 
-            return tmp<surfaceScalarField>();
+            return nullptr;
         }
 
 
@@ -500,7 +500,7 @@ public:
                 return (bf*tScheme2_().correction(vf));
             }
 
-            return tmp<GeometricField<Type, fvsPatchField, surfaceMesh>>();
+            return nullptr;
         }
 };
 
diff --git a/src/conversion/ccm/reader/ccmReaderMesh.C b/src/conversion/ccm/reader/ccmReaderMesh.C
index f7ea2947b54c307fca62a0afbe784bb0c98a6e62..3412fbc906cd6a2f73c21e51aa3cb282ae484a3b 100644
--- a/src/conversion/ccm/reader/ccmReaderMesh.C
+++ b/src/conversion/ccm/reader/ccmReaderMesh.C
@@ -2591,7 +2591,7 @@ Foam::autoPtr<Foam::polyMesh> Foam::ccm::reader::mesh
 {
     if (!readGeometry())
     {
-        return autoPtr<polyMesh>();
+        return nullptr;
     }
 
     // merge cellTable and rename boundaryRegion
diff --git a/src/dynamicMesh/fvMeshDistribute/fvMeshDistribute.C b/src/dynamicMesh/fvMeshDistribute/fvMeshDistribute.C
index a2b245ebeb3b1f04dda58495fd4809538e322c0c..cf502e92addbf689c478aa2dc5f2218dd3c56e12 100644
--- a/src/dynamicMesh/fvMeshDistribute/fvMeshDistribute.C
+++ b/src/dynamicMesh/fvMeshDistribute/fvMeshDistribute.C
@@ -704,7 +704,7 @@ Foam::autoPtr<Foam::mapPolyMesh> Foam::fvMeshDistribute::mergeSharedPoints
 
     if (returnReduce(pointToMaster.size(), sumOp<label>()) == 0)
     {
-        return autoPtr<mapPolyMesh>();
+        return nullptr;
     }
 
     polyTopoChange meshMod(mesh_);
diff --git a/src/dynamicMesh/meshCut/cellLooper/cellLooper.H b/src/dynamicMesh/meshCut/cellLooper/cellLooper.H
index 02ade8a4383e965d7a0d842075fc62191964d2b0..c7f10685c417a445d5280a3113cc9f26640eaccd 100644
--- a/src/dynamicMesh/meshCut/cellLooper/cellLooper.H
+++ b/src/dynamicMesh/meshCut/cellLooper/cellLooper.H
@@ -145,7 +145,7 @@ public:
         autoPtr<cellLooper> clone() const
         {
             NotImplemented;
-            return autoPtr<cellLooper>();
+            return nullptr;
         }
 
 
diff --git a/src/dynamicMesh/motionSolvers/motionSolver/motionSolver.C b/src/dynamicMesh/motionSolvers/motionSolver/motionSolver.C
index 7efaf9cd5b8aabb9c2d6596d59df2165e347986e..884736f7291ed90462ea2b859d8912a462a68049 100644
--- a/src/dynamicMesh/motionSolvers/motionSolver/motionSolver.C
+++ b/src/dynamicMesh/motionSolvers/motionSolver/motionSolver.C
@@ -92,7 +92,7 @@ Foam::motionSolver::motionSolver
 Foam::autoPtr<Foam::motionSolver> Foam::motionSolver::clone() const
 {
     NotImplemented;
-    return autoPtr<motionSolver>();
+    return nullptr;
 }
 
 
diff --git a/src/dynamicMesh/polyTopoChange/polyTopoChanger/polyTopoChanger.C b/src/dynamicMesh/polyTopoChange/polyTopoChanger/polyTopoChanger.C
index 2d9f9ecf55708f8d3d3d382b29881660f1bcd78c..b12cae508cac24144e8074c3423534d9de094307 100644
--- a/src/dynamicMesh/polyTopoChange/polyTopoChanger/polyTopoChanger.C
+++ b/src/dynamicMesh/polyTopoChange/polyTopoChanger/polyTopoChanger.C
@@ -283,11 +283,9 @@ Foam::autoPtr<Foam::mapPolyMesh> Foam::polyTopoChanger::changeMesh
         mesh_.updateMesh(topoChangeMap());
         return topoChangeMap;
     }
-    else
-    {
-        mesh_.topoChanging(false);
-        return autoPtr<mapPolyMesh>();
-    }
+
+    mesh_.topoChanging(false);
+    return nullptr;
 }
 
 
diff --git a/src/finiteArea/finiteArea/lnGradSchemes/lnGradScheme/lnGradScheme.H b/src/finiteArea/finiteArea/lnGradSchemes/lnGradScheme/lnGradScheme.H
index be8e5b7e195dd90f974d592ff671bbff603a616d..e0099127285871ea1cedb4d98aab79acdd25f03d 100644
--- a/src/finiteArea/finiteArea/lnGradSchemes/lnGradScheme/lnGradScheme.H
+++ b/src/finiteArea/finiteArea/lnGradSchemes/lnGradScheme/lnGradScheme.H
@@ -148,7 +148,7 @@ public:
         virtual tmp<GeometricField<Type, faePatchField, edgeMesh>>
         correction(const GeometricField<Type, faPatchField, areaMesh>&) const
         {
-            return tmp<GeometricField<Type, faePatchField, edgeMesh>>();
+            return nullptr;
         }
 
         //- Return the lnGrad of the given cell field
diff --git a/src/finiteArea/interpolation/edgeInterpolation/edgeInterpolationScheme/edgeInterpolationScheme.H b/src/finiteArea/interpolation/edgeInterpolation/edgeInterpolationScheme/edgeInterpolationScheme.H
index fd2e8b8ff7db6e10b5d6f546c1457e1477d3b91b..575bfb83f58cba7aa50f80a395c599be5de03ef2 100644
--- a/src/finiteArea/interpolation/edgeInterpolation/edgeInterpolationScheme/edgeInterpolationScheme.H
+++ b/src/finiteArea/interpolation/edgeInterpolation/edgeInterpolationScheme/edgeInterpolationScheme.H
@@ -189,7 +189,7 @@ public:
         virtual tmp<GeometricField<Type, faePatchField, edgeMesh>>
         correction(const GeometricField<Type, faPatchField, areaMesh>&) const
         {
-            return tmp<GeometricField<Type, faePatchField, edgeMesh>>();
+            return nullptr;
         }
 
         //- Return the face-interpolate of the given cell field
diff --git a/src/finiteVolume/cfdTools/general/MRF/MRFZone.H b/src/finiteVolume/cfdTools/general/MRF/MRFZone.H
index 236bef78370381e89ad3f8a062ed6e9eaa9cf60f..141c2efd5d8be0e7aa9330ebd97fbd0ada560c84 100644
--- a/src/finiteVolume/cfdTools/general/MRF/MRFZone.H
+++ b/src/finiteVolume/cfdTools/general/MRF/MRFZone.H
@@ -174,7 +174,7 @@ public:
         autoPtr<MRFZone> clone() const
         {
             NotImplemented;
-            return autoPtr<MRFZone>();
+            return nullptr;
         }
 
 
diff --git a/src/finiteVolume/cfdTools/general/fvOptions/fvOption.H b/src/finiteVolume/cfdTools/general/fvOptions/fvOption.H
index 45be00daa8d058ae7d6423a3094c1c10120d10bf..ac56c7d22835b0df6ca1b0fda37c1da9055a0e7b 100644
--- a/src/finiteVolume/cfdTools/general/fvOptions/fvOption.H
+++ b/src/finiteVolume/cfdTools/general/fvOptions/fvOption.H
@@ -133,7 +133,7 @@ public:
         autoPtr<option> clone() const
         {
             NotImplemented;
-            return autoPtr<option>();
+            return nullptr;
         }
 
         //- Return pointer to new fvOption object created
diff --git a/src/finiteVolume/finiteVolume/ddtSchemes/CoEulerDdtScheme/CoEulerDdtScheme.C b/src/finiteVolume/finiteVolume/ddtSchemes/CoEulerDdtScheme/CoEulerDdtScheme.C
index 3b8d31be2d9865a81c0d92d7b9437b2d55da5bd6..1e8ce859f64fff7a2bc29590a99ac019e143070f 100644
--- a/src/finiteVolume/finiteVolume/ddtSchemes/CoEulerDdtScheme/CoEulerDdtScheme.C
+++ b/src/finiteVolume/finiteVolume/ddtSchemes/CoEulerDdtScheme/CoEulerDdtScheme.C
@@ -140,7 +140,7 @@ tmp<surfaceScalarField> CoEulerDdtScheme<Type>::CofrDeltaT() const
         << "Incorrect dimensions of phi: " << phi.dimensions()
         << abort(FatalError);
 
-    return tmp<surfaceScalarField>();
+    return nullptr;
 }
 
 
diff --git a/src/functionObjects/field/heatTransferCoeff/heatTransferCoeffModels/ReynoldsAnalogy/ReynoldsAnalogy.C b/src/functionObjects/field/heatTransferCoeff/heatTransferCoeffModels/ReynoldsAnalogy/ReynoldsAnalogy.C
index b6fcdc31378b7c3fb2f9897a4b13f44968b24410..b01313428b60afb6b2e58779847d10c6f3d46197 100644
--- a/src/functionObjects/field/heatTransferCoeff/heatTransferCoeffModels/ReynoldsAnalogy/ReynoldsAnalogy.C
+++ b/src/functionObjects/field/heatTransferCoeff/heatTransferCoeffModels/ReynoldsAnalogy/ReynoldsAnalogy.C
@@ -67,7 +67,7 @@ Foam::heatTransferCoeffModels::ReynoldsAnalogy::rho(const label patchi) const
         << "Unable to set rho for patch " << patchi
         << exit(FatalError);
 
-    return tmp<Field<scalar>>();
+    return nullptr;
 }
 
 
@@ -94,7 +94,7 @@ Foam::heatTransferCoeffModels::ReynoldsAnalogy::Cp(const label patchi) const
         << "Unable to set Cp for patch " << patchi
         << exit(FatalError);
 
-    return tmp<Field<scalar>>();
+    return nullptr;
 }
 
 
diff --git a/src/functionObjects/solvers/energyTransport/energyTransport.C b/src/functionObjects/solvers/energyTransport/energyTransport.C
index 6562338cab9a25fda98e0ca11138c53217c3c087..f5f5280301d6b0aa4fbf194c58a836ed0b762ba3 100644
--- a/src/functionObjects/solvers/energyTransport/energyTransport.C
+++ b/src/functionObjects/solvers/energyTransport/energyTransport.C
@@ -105,7 +105,8 @@ Foam::functionObjects::energyTransport::kappaEff() const
 
     FatalErrorInFunction
         << "Turbulence model not found" << exit(FatalError);
-    return tmp<volScalarField>();
+
+    return nullptr;
 }
 
 
diff --git a/src/fvOptions/sources/derived/solidificationMeltingSource/solidificationMeltingSource.C b/src/fvOptions/sources/derived/solidificationMeltingSource/solidificationMeltingSource.C
index 6272af6db9517a33f4873aa9fc4aa2e71f9f7eed..09d2fec8d14511cf990599637da44c50a3728d96 100644
--- a/src/fvOptions/sources/derived/solidificationMeltingSource/solidificationMeltingSource.C
+++ b/src/fvOptions/sources/derived/solidificationMeltingSource/solidificationMeltingSource.C
@@ -116,7 +116,7 @@ Foam::fv::solidificationMeltingSource::Cp() const
         }
     }
 
-    return tmp<volScalarField>();
+    return nullptr;
 }
 
 
@@ -128,10 +128,8 @@ Foam::vector Foam::fv::solidificationMeltingSource::g() const
             mesh_.lookupObject<uniformDimensionedVectorField>("g");
         return value.value();
     }
-    else
-    {
-        return coeffs_.lookup("g");
-    }
+
+    return coeffs_.lookup("g");
 }
 
 
diff --git a/src/fvOptions/sources/derived/viscousDissipation/viscousDissipation.C b/src/fvOptions/sources/derived/viscousDissipation/viscousDissipation.C
index 7ac99f96f75d792555c515d4aa2bd990a551c70e..3a78957d9da30e6a13df4fc3bc41b730453be187 100644
--- a/src/fvOptions/sources/derived/viscousDissipation/viscousDissipation.C
+++ b/src/fvOptions/sources/derived/viscousDissipation/viscousDissipation.C
@@ -82,7 +82,7 @@ Foam::tmp<Foam::volScalarField> Foam::fv::viscousDissipation::rho() const
         << "Neither rhoName nor rho are specified."
         << exit(FatalError);
 
-    return tmp<volScalarField>();
+    return nullptr;
 }
 
 
@@ -133,8 +133,8 @@ Foam::fv::viscousDissipation::viscousDissipation
 
 // * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
 
-Foam::tmp<Foam::volSymmTensorField> Foam::fv::viscousDissipation::
-devRhoReff() const
+Foam::tmp<Foam::volSymmTensorField>
+Foam::fv::viscousDissipation::devRhoReff() const
 {
     // Incompressible
     {
@@ -166,7 +166,7 @@ devRhoReff() const
         << " The turbulence model is not found in the database."
         << exit(FatalError);
 
-    return tmp<volSymmTensorField>();
+    return nullptr;
 }
 
 
diff --git a/src/lagrangian/intermediate/submodels/MPPIC/ParticleStressModels/Lun/Lun.C b/src/lagrangian/intermediate/submodels/MPPIC/ParticleStressModels/Lun/Lun.C
index 47ba7192888fe0dba20c94b27cc01acf4498367e..e4aba79ab96ece40710b3e5caec27726eb3adfba 100644
--- a/src/lagrangian/intermediate/submodels/MPPIC/ParticleStressModels/Lun/Lun.C
+++ b/src/lagrangian/intermediate/submodels/MPPIC/ParticleStressModels/Lun/Lun.C
@@ -109,7 +109,7 @@ Foam::ParticleStressModels::Lun::dTaudTheta
 ) const
 {
     NotImplemented;
-    return tmp<Field<scalar>>();
+    return nullptr;
 }
 
 
diff --git a/src/lagrangian/turbulence/submodels/Kinematic/DispersionModel/DispersionRASModel/DispersionRASModel.C b/src/lagrangian/turbulence/submodels/Kinematic/DispersionModel/DispersionRASModel/DispersionRASModel.C
index 35f869c5861cbe6be747082b2b214874b4c575d5..b1116d76ce5326302fa8c335ab7f4a62a9591732 100644
--- a/src/lagrangian/turbulence/submodels/Kinematic/DispersionModel/DispersionRASModel/DispersionRASModel.C
+++ b/src/lagrangian/turbulence/submodels/Kinematic/DispersionModel/DispersionRASModel/DispersionRASModel.C
@@ -53,7 +53,7 @@ Foam::DispersionRASModel<CloudType>::kModel() const
         << "Database objects include: " << obr.sortedToc()
         << abort(FatalError);
 
-    return tmp<volScalarField>();
+    return nullptr;
 }
 
 
@@ -81,7 +81,7 @@ Foam::DispersionRASModel<CloudType>::epsilonModel() const
         << "Database objects include: " << obr.sortedToc()
         << abort(FatalError);
 
-    return tmp<volScalarField>();
+    return nullptr;
 }
 
 
diff --git a/src/lagrangian/turbulence/submodels/Thermodynamic/ParticleForces/BrownianMotion/BrownianMotionForce.C b/src/lagrangian/turbulence/submodels/Thermodynamic/ParticleForces/BrownianMotion/BrownianMotionForce.C
index 4b0be43e65e34fbbe0ace7af9bd4bde7ebc5827d..ac4eb95f7f5a4ff9672735fc5762359c5c78ca98 100644
--- a/src/lagrangian/turbulence/submodels/Thermodynamic/ParticleForces/BrownianMotion/BrownianMotionForce.C
+++ b/src/lagrangian/turbulence/submodels/Thermodynamic/ParticleForces/BrownianMotion/BrownianMotionForce.C
@@ -76,7 +76,7 @@ Foam::BrownianMotionForce<CloudType>::kModel() const
         << "Database objects include: " << obr.sortedToc()
         << abort(FatalError);
 
-    return tmp<volScalarField>();
+    return nullptr;
 }
 
 
diff --git a/src/lumpedPointMotion/lumpedPointTools.C b/src/lumpedPointMotion/lumpedPointTools.C
index e842aa8c50f86825dc16e60b513f24db2b15d058..3f3b330edf3d9d0227629affa04ac208b99dadce 100644
--- a/src/lumpedPointMotion/lumpedPointTools.C
+++ b/src/lumpedPointMotion/lumpedPointTools.C
@@ -62,7 +62,7 @@ namespace Foam
             );
         }
 
-        return autoPtr<GeoFieldType>();
+        return nullptr;
     }
 }
 
diff --git a/src/mesh/blockMesh/blockEdges/blockEdge/blockEdge.C b/src/mesh/blockMesh/blockEdges/blockEdge/blockEdge.C
index 1d48424208a78185b031eaa4ce7353b202999e3d..ca4b4cd6fea8cfd74b0129c1b30c9976366871cd 100644
--- a/src/mesh/blockMesh/blockEdges/blockEdge/blockEdge.C
+++ b/src/mesh/blockMesh/blockEdges/blockEdge/blockEdge.C
@@ -67,7 +67,7 @@ Foam::blockEdge::blockEdge
 Foam::autoPtr<Foam::blockEdge> Foam::blockEdge::clone() const
 {
     NotImplemented;
-    return autoPtr<blockEdge>();
+    return nullptr;
 }
 
 
diff --git a/src/mesh/blockMesh/blockFaces/blockFace/blockFace.C b/src/mesh/blockMesh/blockFaces/blockFace/blockFace.C
index 812fb52fb31e8ba773743e46a952c92b216ddc77..d60886a694ac6c6599aec65b37cadd807159375f 100644
--- a/src/mesh/blockMesh/blockFaces/blockFace/blockFace.C
+++ b/src/mesh/blockMesh/blockFaces/blockFace/blockFace.C
@@ -65,7 +65,7 @@ Foam::blockFace::blockFace
 Foam::autoPtr<Foam::blockFace> Foam::blockFace::clone() const
 {
     NotImplemented;
-    return autoPtr<blockFace>();
+    return nullptr;
 }
 
 
diff --git a/src/mesh/blockMesh/blockVertices/blockVertex/blockVertex.C b/src/mesh/blockMesh/blockVertices/blockVertex/blockVertex.C
index 902295182e470c72166d6c12c260349369ee04fe..bf6016072324419ad1ff4bb457c9b93364365e87 100644
--- a/src/mesh/blockMesh/blockVertices/blockVertex/blockVertex.C
+++ b/src/mesh/blockMesh/blockVertices/blockVertex/blockVertex.C
@@ -45,7 +45,7 @@ Foam::blockVertex::blockVertex()
 Foam::autoPtr<Foam::blockVertex> Foam::blockVertex::clone() const
 {
     NotImplemented;
-    return autoPtr<blockVertex>();
+    return nullptr;
 }
 
 
@@ -98,7 +98,7 @@ Foam::autoPtr<Foam::blockVertex> Foam::blockVertex::New
         << firstToken.info()
         << exit(FatalIOError);
 
-    return autoPtr<blockVertex>();
+    return nullptr;
 }
 
 
diff --git a/src/mesh/blockMesh/blocks/block/block.H b/src/mesh/blockMesh/blocks/block/block.H
index b0941d3462e25ae9eef90d35506dc0c43b58e275..9f3e0f6e7e8165fbedd52cc6515da526895d75e4 100644
--- a/src/mesh/blockMesh/blocks/block/block.H
+++ b/src/mesh/blockMesh/blocks/block/block.H
@@ -134,7 +134,7 @@ public:
         autoPtr<block> clone() const
         {
             NotImplemented;
-            return autoPtr<block>();
+            return nullptr;
         }
 
         //- New function which constructs and returns pointer to a block
diff --git a/src/meshTools/coordinateSystems/coordinateRotation/EulerCoordinateRotation.C b/src/meshTools/coordinateSystems/coordinateRotation/EulerCoordinateRotation.C
index cbc612462469ed9cc521874c4ba26acd02ec38ad..5a7d86e8289abd916cd690334396094f69c60320 100644
--- a/src/meshTools/coordinateSystems/coordinateRotation/EulerCoordinateRotation.C
+++ b/src/meshTools/coordinateSystems/coordinateRotation/EulerCoordinateRotation.C
@@ -70,7 +70,7 @@ Foam::tmp<Foam::vectorField> Foam::EulerCoordinateRotation::transform
 ) const
 {
     NotImplemented;
-    return tmp<vectorField>();
+    return nullptr;
 }
 
 
@@ -80,7 +80,7 @@ Foam::tmp<Foam::vectorField> Foam::EulerCoordinateRotation::invTransform
 ) const
 {
     NotImplemented;
-    return tmp<vectorField>();
+    return nullptr;
 }
 
 
@@ -96,8 +96,8 @@ Foam::tmp<Foam::tensorField> Foam::EulerCoordinateRotation::transformTensor
     const tensorField& st
 ) const
 {
-     NotImplemented;
-    return tmp<tensorField>();
+    NotImplemented;
+    return nullptr;
 }
 
 
@@ -117,7 +117,7 @@ Foam::tmp<Foam::tensorField> Foam::EulerCoordinateRotation::transformTensor
 ) const
 {
     NotImplemented;
-    return tmp<tensorField>();
+    return nullptr;
 }
 
 
diff --git a/src/meshTools/coordinateSystems/coordinateRotation/STARCDCoordinateRotation.C b/src/meshTools/coordinateSystems/coordinateRotation/STARCDCoordinateRotation.C
index fcaa3ed09922e01ddaae14783a1149d8d2265b51..2cb61d9d1df474347cee17190eb0277e930ac4d6 100644
--- a/src/meshTools/coordinateSystems/coordinateRotation/STARCDCoordinateRotation.C
+++ b/src/meshTools/coordinateSystems/coordinateRotation/STARCDCoordinateRotation.C
@@ -71,7 +71,7 @@ Foam::tmp<Foam::vectorField> Foam::STARCDCoordinateRotation::transform
 ) const
 {
     NotImplemented;
-    return tmp<vectorField>();
+    return nullptr;
 }
 
 
@@ -81,7 +81,7 @@ Foam::tmp<Foam::vectorField> Foam::STARCDCoordinateRotation::invTransform
 ) const
 {
     NotImplemented;
-    return tmp<vectorField>();
+    return nullptr;
 }
 
 
@@ -97,8 +97,8 @@ Foam::tmp<Foam::tensorField> Foam::STARCDCoordinateRotation::transformTensor
     const tensorField& st
 ) const
 {
-     NotImplemented;
-    return tmp<tensorField>();
+    NotImplemented;
+    return nullptr;
 }
 
 
@@ -118,7 +118,7 @@ Foam::tmp<Foam::tensorField> Foam::STARCDCoordinateRotation::transformTensor
 ) const
 {
     NotImplemented;
-    return tmp<tensorField>();
+    return nullptr;
 }
 
 
diff --git a/src/meshTools/coordinateSystems/coordinateRotation/axesRotation.C b/src/meshTools/coordinateSystems/coordinateRotation/axesRotation.C
index 162bab5cb8a7661a2c5b28e856ce4886d2c441eb..95ec8f0e763ab90e9366b5f36545eed68a5daea5 100644
--- a/src/meshTools/coordinateSystems/coordinateRotation/axesRotation.C
+++ b/src/meshTools/coordinateSystems/coordinateRotation/axesRotation.C
@@ -245,7 +245,7 @@ Foam::tmp<Foam::tensorField> Foam::axesRotation::transformTensor
 ) const
 {
     NotImplemented;
-    return tmp<tensorField>();
+    return nullptr;
 }
 
 
@@ -265,7 +265,7 @@ Foam::tmp<Foam::tensorField> Foam::axesRotation::transformTensor
 ) const
 {
     NotImplemented;
-    return tmp<tensorField>();
+    return nullptr;
 }
 
 
diff --git a/src/meshTools/searchableSurfaces/searchableSurface/searchableSurface.H b/src/meshTools/searchableSurfaces/searchableSurface/searchableSurface.H
index 9f67882eb8fd5ee15d06fd7042dfae9ffb391d2c..38f9d0226bc6137cb96f8be80b6f4bd0b344cd37 100644
--- a/src/meshTools/searchableSurfaces/searchableSurface/searchableSurface.H
+++ b/src/meshTools/searchableSurfaces/searchableSurface/searchableSurface.H
@@ -139,7 +139,7 @@ public:
         virtual autoPtr<searchableSurface> clone() const
         {
             NotImplemented;
-            return autoPtr<searchableSurface>();
+            return nullptr;
         }
 
 
diff --git a/src/meshTools/sets/topoSetSource/topoSetSource.H b/src/meshTools/sets/topoSetSource/topoSetSource.H
index 293474c1ccbbb14bfa77ed373e41f9f3a3a0d4fc..5ec704141114dfbf9b6a74342eaf89ef097c6fd1 100644
--- a/src/meshTools/sets/topoSetSource/topoSetSource.H
+++ b/src/meshTools/sets/topoSetSource/topoSetSource.H
@@ -243,7 +243,7 @@ public:
         autoPtr<topoSetSource> clone() const
         {
             NotImplemented;
-            return autoPtr<topoSetSource>();
+            return nullptr;
         }
 
 
diff --git a/src/meshTools/sets/topoSets/topoSet.H b/src/meshTools/sets/topoSets/topoSet.H
index 2fde875ceced7b7f5df3549dede49ea083a56ade..034989429813422122031fe0a3c6bade88fc9730 100644
--- a/src/meshTools/sets/topoSets/topoSet.H
+++ b/src/meshTools/sets/topoSets/topoSet.H
@@ -254,7 +254,7 @@ public:
         autoPtr<topoSet> clone() const
         {
             NotImplemented;
-            return autoPtr<topoSet>();
+            return nullptr;
         }
 
 
diff --git a/src/regionModels/pyrolysisModels/pyrolysisModel/pyrolysisModel.H b/src/regionModels/pyrolysisModels/pyrolysisModel/pyrolysisModel.H
index daa2938e722b7ed6e1d8ffce99c67f213b73a8f6..79af2752cd075afd039c70ecff62fa35501c7553 100644
--- a/src/regionModels/pyrolysisModels/pyrolysisModel/pyrolysisModel.H
+++ b/src/regionModels/pyrolysisModels/pyrolysisModel/pyrolysisModel.H
@@ -156,7 +156,7 @@ public:
         autoPtr<pyrolysisModel> clone() const
         {
             NotImplemented;
-            return autoPtr<pyrolysisModel>();
+            return nullptr;
         }
 
 
diff --git a/src/sampling/sampledSet/sampledSet/sampledSet.H b/src/sampling/sampledSet/sampledSet/sampledSet.H
index 7de1433443d318b79cc3830a8b498a035f96cbd0..1a7a253d976afbebdcd452ab6cd486633339caa4 100644
--- a/src/sampling/sampledSet/sampledSet/sampledSet.H
+++ b/src/sampling/sampledSet/sampledSet/sampledSet.H
@@ -217,7 +217,7 @@ public:
         autoPtr<sampledSet> clone() const
         {
             NotImplemented;
-            return autoPtr<sampledSet>();
+            return nullptr;
         }
 
 
diff --git a/src/sampling/sampledSurface/sampledSurface/sampledSurface.C b/src/sampling/sampledSurface/sampledSurface/sampledSurface.C
index 8f3ea1ad50cace94d8d88d86d9a181bd7ac8d0bb..9265cd389f91e1a43c3a1b5d188fdc2ac3898414 100644
--- a/src/sampling/sampledSurface/sampledSurface/sampledSurface.C
+++ b/src/sampling/sampledSurface/sampledSurface/sampledSurface.C
@@ -137,7 +137,7 @@ Foam::tmp<Foam::scalarField> Foam::sampledSurface::sample
 ) const
 {
     NotImplemented;
-    return tmp<scalarField>();
+    return nullptr;
 }
 
 
@@ -147,7 +147,7 @@ Foam::tmp<Foam::vectorField> Foam::sampledSurface::sample
 ) const
 {
     NotImplemented;
-    return tmp<vectorField>();
+    return nullptr;
 }
 
 
@@ -157,7 +157,7 @@ Foam::tmp<Foam::sphericalTensorField> Foam::sampledSurface::sample
 ) const
 {
     NotImplemented;
-    return tmp<sphericalTensorField>();
+    return nullptr;
 }
 
 
@@ -167,7 +167,7 @@ Foam::tmp<Foam::symmTensorField> Foam::sampledSurface::sample
 ) const
 {
     NotImplemented;
-    return tmp<symmTensorField>();
+    return nullptr;
 }
 
 
@@ -177,7 +177,7 @@ Foam::tmp<Foam::tensorField> Foam::sampledSurface::sample
 ) const
 {
     NotImplemented;
-    return tmp<tensorField>();
+    return nullptr;
 }
 
 
diff --git a/src/sampling/sampledSurface/sampledSurface/sampledSurface.H b/src/sampling/sampledSurface/sampledSurface/sampledSurface.H
index 1080c96d5d115ac7fa0ce3bce6af3f15ecaff346..cdda4084ce8f3967f81a34e6ac172d7f642f1dd1 100644
--- a/src/sampling/sampledSurface/sampledSurface/sampledSurface.H
+++ b/src/sampling/sampledSurface/sampledSurface/sampledSurface.H
@@ -205,7 +205,7 @@ public:
         autoPtr<sampledSurface> clone() const
         {
             NotImplemented;
-            return autoPtr<sampledSurface>();
+            return nullptr;
         }
 
 
diff --git a/src/sampling/sampledSurface/sampledTriSurfaceMesh/sampledTriSurfaceMeshNormal.H b/src/sampling/sampledSurface/sampledTriSurfaceMesh/sampledTriSurfaceMeshNormal.H
index 13ad4b847ceda40d38cfb05df3e2ea90d50be6ef..7409e3b548e78a9324edbb64875ea8ecb50ed98c 100644
--- a/src/sampling/sampledSurface/sampledTriSurfaceMesh/sampledTriSurfaceMeshNormal.H
+++ b/src/sampling/sampledSurface/sampledTriSurfaceMesh/sampledTriSurfaceMeshNormal.H
@@ -103,7 +103,7 @@ public:
         ) const
         {
             NotImplemented;
-            return tmp<scalarField>();
+            return nullptr;
         }
 
         //- Sample field on surface
@@ -119,7 +119,7 @@ public:
         ) const
         {
             NotImplemented;
-            return tmp<sphericalTensorField>();
+            return nullptr;
         }
 
         //- Sample field on surface
@@ -129,7 +129,7 @@ public:
         ) const
         {
             NotImplemented;
-            return tmp<symmTensorField>();
+            return nullptr;
         }
 
         //- Sample field on surface
@@ -139,7 +139,7 @@ public:
         ) const
         {
             NotImplemented;
-            return tmp<tensorField>();
+            return nullptr;
         }
 
         //- Interpolate field on surface
@@ -149,7 +149,7 @@ public:
         ) const
         {
             NotImplemented;
-            return tmp<scalarField>();
+            return nullptr;
         }
 
         //- Interpolate field on surface
@@ -165,7 +165,7 @@ public:
         ) const
         {
             NotImplemented;
-            return tmp<sphericalTensorField>();
+            return nullptr;
         }
 
         //- Interpolate field on surface
@@ -175,7 +175,7 @@ public:
         ) const
         {
             NotImplemented;
-            return tmp<symmTensorField>();
+            return nullptr;
         }
 
         //- Interpolate field on surface
@@ -185,7 +185,7 @@ public:
         ) const
         {
             NotImplemented;
-            return tmp<tensorField>();
+            return nullptr;
         }
 };
 
diff --git a/src/sampling/surfMeshSampler/surfMeshSampler/surfMeshSampler.H b/src/sampling/surfMeshSampler/surfMeshSampler/surfMeshSampler.H
index a4f8d5c45fd1d53a0143bb0d9814eac0cebb87e7..027d5d8c2970ee68bc06ef0c066ccabc972ac9c6 100644
--- a/src/sampling/surfMeshSampler/surfMeshSampler/surfMeshSampler.H
+++ b/src/sampling/surfMeshSampler/surfMeshSampler/surfMeshSampler.H
@@ -181,7 +181,7 @@ public:
         autoPtr<surfMeshSampler> clone() const
         {
             NotImplemented;
-            return autoPtr<surfMeshSampler>();
+            return nullptr;
         }
 
 
diff --git a/src/sampling/surface/triSurfaceMesh/discreteSurfaceTemplates.C b/src/sampling/surface/triSurfaceMesh/discreteSurfaceTemplates.C
index 2fed330e657f73a4c174a127132c6651f2a19c40..03523195044a91ec678ed1b408ef73601b2658ae 100644
--- a/src/sampling/surface/triSurfaceMesh/discreteSurfaceTemplates.C
+++ b/src/sampling/surface/triSurfaceMesh/discreteSurfaceTemplates.C
@@ -120,10 +120,8 @@ Foam::discreteSurface::sampleType
         const VolFieldType& fld = mesh().lookupObject<VolFieldType>(fieldName);
         return sampleField(fld);
     }
-    else
-    {
-        return tmp<Field<Type>>();
-    }
+
+    return nullptr;
 }
 
 
diff --git a/src/surfMesh/surfZone/surfZone/surfZone.H b/src/surfMesh/surfZone/surfZone/surfZone.H
index 7507845397382ea5a19dd4537355db354d7cfa74..d90fdde90ade829f44aa0394c300c81772b9ada0 100644
--- a/src/surfMesh/surfZone/surfZone/surfZone.H
+++ b/src/surfMesh/surfZone/surfZone/surfZone.H
@@ -115,7 +115,7 @@ public:
         autoPtr<surfZone> clone() const
         {
             NotImplemented;
-            return autoPtr<surfZone>();
+            return nullptr;
         }
 
         static autoPtr<surfZone> New(Istream& is)