From d04de0d481096c922b0e7116f3e8ffadfa386c47 Mon Sep 17 00:00:00 2001
From: sergio <sergio>
Date: Mon, 7 Oct 2019 12:59:39 -0700
Subject: [PATCH] ENH: modified laplacianFoam to use dimScalar or volScalar for
 DT (#1388)

---
 .../basic/laplacianFoam/createFields.H        | 35 +++++++++++++------
 .../solvers/basic/laplacianFoam/write.H       | 12 +++++++
 2 files changed, 36 insertions(+), 11 deletions(-)

diff --git a/applications/solvers/basic/laplacianFoam/createFields.H b/applications/solvers/basic/laplacianFoam/createFields.H
index dbddccb9049..6f7ac045291 100644
--- a/applications/solvers/basic/laplacianFoam/createFields.H
+++ b/applications/solvers/basic/laplacianFoam/createFields.H
@@ -14,23 +14,36 @@ volScalarField T
 );
 
 
-Info<< "Reading transportProperties\n" << endl;
+Info<< "Reading diffusivity DT\n" << endl;
 
-IOdictionary transportProperties
+volScalarField DT
 (
     IOobject
     (
-        "transportProperties",
-        runTime.constant(),
+        "DT",
+        runTime.timeName(),
         mesh,
-        IOobject::MUST_READ_IF_MODIFIED,
-        IOobject::NO_WRITE
-    )
+        IOobject::READ_IF_PRESENT,
+        IOobject::AUTO_WRITE
+    ),
+    mesh,
+    dimensionedScalar(dimViscosity, Zero)
 );
 
-
-Info<< "Reading diffusivity DT\n" << endl;
-
-dimensionedScalar DT("DT", dimViscosity, transportProperties);
+if (!DT.headerOk())
+{
+    IOdictionary transportProperties
+    (
+        IOobject
+        (
+            "transportProperties",
+            runTime.constant(),
+            mesh,
+            IOobject::MUST_READ_IF_MODIFIED,
+            IOobject::NO_WRITE
+        )
+    );
+    DT = dimensionedScalar("DT", dimViscosity, transportProperties);
+}
 
 #include "createFvOptions.H"
diff --git a/applications/solvers/basic/laplacianFoam/write.H b/applications/solvers/basic/laplacianFoam/write.H
index 6b14ba49955..c4d405d449e 100644
--- a/applications/solvers/basic/laplacianFoam/write.H
+++ b/applications/solvers/basic/laplacianFoam/write.H
@@ -41,6 +41,18 @@
             gradT.component(vector::Z)
         );
 
+        volVectorField DTgradT
+        (
+            IOobject
+            (
+                "flux",
+                runTime.timeName(),
+                mesh,
+                IOobject::NO_READ,
+                IOobject::AUTO_WRITE
+            ),
+            DT*gradT
+        );
 
         runTime.write();
     }
-- 
GitLab