From a3aa589263f92a31d69c4adbcd152a0bcfd87eb2 Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Sun, 1 May 2016 11:08:01 +0100
Subject: [PATCH] EulerDdtScheme: evaluate dimensioned internal field
 expressions rather than primitive field expressions Ensures dimension
 consistency and simplifies the expressions

---
 .../EulerDdtScheme/EulerDdtScheme.C           | 41 ++++++++-----------
 1 file changed, 16 insertions(+), 25 deletions(-)

diff --git a/src/finiteVolume/finiteVolume/ddtSchemes/EulerDdtScheme/EulerDdtScheme.C b/src/finiteVolume/finiteVolume/ddtSchemes/EulerDdtScheme/EulerDdtScheme.C
index ffef9994d4a..3ac77ae34c7 100644
--- a/src/finiteVolume/finiteVolume/ddtSchemes/EulerDdtScheme/EulerDdtScheme.C
+++ b/src/finiteVolume/finiteVolume/ddtSchemes/EulerDdtScheme/EulerDdtScheme.C
@@ -122,12 +122,10 @@ EulerDdtScheme<Type>::fvcDdt
             new GeometricField<Type, fvPatchField, volMesh>
             (
                 ddtIOobject,
-                mesh(),
-                rDeltaT.dimensions()*vf.dimensions(),
-                rDeltaT.value()*
+                rDeltaT*
                 (
-                    vf.primitiveField()
-                  - vf.oldTime().primitiveField()*mesh().Vsc0()/mesh().Vsc()
+                    vf()
+                  - vf.oldTime()()*mesh().Vsc0()/mesh().Vsc()
                 ),
                 rDeltaT.value()*
                 (
@@ -174,12 +172,10 @@ EulerDdtScheme<Type>::fvcDdt
             new GeometricField<Type, fvPatchField, volMesh>
             (
                 ddtIOobject,
-                mesh(),
-                rDeltaT.dimensions()*rho.dimensions()*vf.dimensions(),
-                rDeltaT.value()*rho.value()*
+                rDeltaT*rho*
                 (
-                    vf.primitiveField()
-                  - vf.oldTime().primitiveField()*mesh().Vsc0()/mesh().Vsc()
+                    vf()
+                  - vf.oldTime()()*mesh().Vsc0()/mesh().Vsc()
                 ),
                 rDeltaT.value()*rho.value()*
                 (
@@ -226,13 +222,11 @@ EulerDdtScheme<Type>::fvcDdt
             new GeometricField<Type, fvPatchField, volMesh>
             (
                 ddtIOobject,
-                mesh(),
-                rDeltaT.dimensions()*rho.dimensions()*vf.dimensions(),
-                rDeltaT.value()*
+                rDeltaT*
                 (
-                    rho.primitiveField()*vf.primitiveField()
-                  - rho.oldTime().primitiveField()
-                   *vf.oldTime().primitiveField()*mesh().Vsc0()/mesh().Vsc()
+                    rho()*vf()
+                  - rho.oldTime()()
+                   *vf.oldTime()()*mesh().Vsc0()/mesh().Vsc()
                 ),
                 rDeltaT.value()*
                 (
@@ -282,18 +276,15 @@ EulerDdtScheme<Type>::fvcDdt
             new GeometricField<Type, fvPatchField, volMesh>
             (
                 ddtIOobject,
-                mesh(),
-                rDeltaT.dimensions()
-               *alpha.dimensions()*rho.dimensions()*vf.dimensions(),
                 rDeltaT.value()*
                 (
-                    alpha.primitiveField()
-                   *rho.primitiveField()
-                   *vf.primitiveField()
+                    alpha()
+                   *rho()
+                   *vf()
 
-                  - alpha.oldTime().primitiveField()
-                   *rho.oldTime().primitiveField()
-                   *vf.oldTime().primitiveField()*mesh().Vsc0()/mesh().Vsc()
+                  - alpha.oldTime()()
+                   *rho.oldTime()()
+                   *vf.oldTime()()*mesh().Vsc0()/mesh().Vsc()
                 ),
                 rDeltaT.value()*
                 (
-- 
GitLab