From 241d0946f5af42a7b5df89f230cea188cf338455 Mon Sep 17 00:00:00 2001
From: andy <andy>
Date: Wed, 4 May 2011 13:11:07 +0100
Subject: [PATCH] ENH: Updated PaSR model for laminar case and better
 code-re-use

---
 .../combustion/reactingFoam/chemistry.H       | 33 +++++++++++++------
 .../combustion/rhoReactingFoam/Make/options   |  4 ++-
 .../combustion/rhoReactingFoam/chemistry.H    | 28 ----------------
 .../lagrangian/coalChemistryFoam/Make/options |  4 ++-
 .../lagrangian/coalChemistryFoam/chemistry.H  | 32 ------------------
 .../Make/options                              |  4 ++-
 .../chemistry.H                               | 31 -----------------
 .../reactingParcelFilmFoam/Make/options       |  4 ++-
 .../reactingParcelFilmFoam/chemistry.H        | 32 ------------------
 .../reactingParcelFoam/Make/options           |  4 ++-
 .../lagrangian/reactingParcelFoam/chemistry.H | 31 -----------------
 11 files changed, 38 insertions(+), 169 deletions(-)
 delete mode 100644 applications/solvers/combustion/rhoReactingFoam/chemistry.H
 delete mode 100644 applications/solvers/lagrangian/coalChemistryFoam/chemistry.H
 delete mode 100644 applications/solvers/lagrangian/porousExplicitSourceReactingParcelFoam/chemistry.H
 delete mode 100644 applications/solvers/lagrangian/reactingParcelFilmFoam/chemistry.H
 delete mode 100644 applications/solvers/lagrangian/reactingParcelFoam/chemistry.H

diff --git a/applications/solvers/combustion/reactingFoam/chemistry.H b/applications/solvers/combustion/reactingFoam/chemistry.H
index 3a36aaac520..99f418af6f1 100644
--- a/applications/solvers/combustion/reactingFoam/chemistry.H
+++ b/applications/solvers/combustion/reactingFoam/chemistry.H
@@ -1,3 +1,4 @@
+if (chemistry.chemistry())
 {
     Info<< "Solving chemistry" << endl;
 
@@ -10,17 +11,29 @@
     // turbulent time scale
     if (turbulentReaction)
     {
-        volScalarField tk
-        (
-            Cmix*sqrt(turbulence->muEff()/rho/turbulence->epsilon())
-        );
-        volScalarField tc
-        (
-            chemistry.tc()
-        );
+        tmp<volScalarField> tepsilon(turbulence->epsilon());
+        const volScalarField& epsilon = tepsilon();
+        tmp<volScalarField> tmuEff(turbulence->muEff());
+        const volScalarField& muEff = tmuEff();
+        tmp<volScalarField> ttc(chemistry.tc());
+        const volScalarField& tc = ttc();
 
-        // Chalmers PaSR model
-        kappa = (runTime.deltaT() + tc)/(runTime.deltaT() + tc + tk);
+        forAll(epsilon, i)
+        {
+            if (epsilon[i] > 0)
+            {
+                // Chalmers PaSR model
+                scalar tk = Cmix.value()*Foam::sqrt(muEff[i]/rho[i]/epsilon[i]);
+                kappa[i] =
+                    (runTime.deltaTValue() + tc[i])
+                   /(runTime.deltaTValue() + tc[i] + tk);
+            }
+            else
+            {
+                // Return to laminar combustion
+                kappa[i] = 1.0;
+            }
+        }
     }
     else
     {
diff --git a/applications/solvers/combustion/rhoReactingFoam/Make/options b/applications/solvers/combustion/rhoReactingFoam/Make/options
index 6386af8c557..d6306816fd8 100644
--- a/applications/solvers/combustion/rhoReactingFoam/Make/options
+++ b/applications/solvers/combustion/rhoReactingFoam/Make/options
@@ -5,7 +5,9 @@ EXE_INC = \
     -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \
     -I$(LIB_SRC)/thermophysicalModels/chemistryModel/lnInclude \
     -I$(LIB_SRC)/ODE/lnInclude \
-    -I$(LIB_SRC)/finiteVolume/lnInclude
+    -I$(LIB_SRC)/finiteVolume/lnInclude \
+    -I$(FOAM_SOLVERS)/combustion/reactingFoam
+
 
 EXE_LIBS = \
     -lcompressibleTurbulenceModel \
diff --git a/applications/solvers/combustion/rhoReactingFoam/chemistry.H b/applications/solvers/combustion/rhoReactingFoam/chemistry.H
deleted file mode 100644
index 841b434a717..00000000000
--- a/applications/solvers/combustion/rhoReactingFoam/chemistry.H
+++ /dev/null
@@ -1,28 +0,0 @@
-{
-    Info<< "Solving chemistry" << endl;
-
-    chemistry.solve
-    (
-        runTime.value() - runTime.deltaTValue(),
-        runTime.deltaTValue()
-    );
-
-    // turbulent time scale
-    if (turbulentReaction)
-    {
-        volScalarField tk
-        (
-            Cmix*sqrt(turbulence->muEff()/rho/turbulence->epsilon())
-        );
-        volScalarField tc(chemistry.tc());
-
-        // Chalmers PaSR model
-        kappa = (runTime.deltaT() + tc)/(runTime.deltaT() + tc + tk);
-    }
-    else
-    {
-        kappa = 1.0;
-    }
-
-    chemistrySh = kappa*chemistry.Sh()();
-}
diff --git a/applications/solvers/lagrangian/coalChemistryFoam/Make/options b/applications/solvers/lagrangian/coalChemistryFoam/Make/options
index ab0bd2c08a5..75bbcab490e 100644
--- a/applications/solvers/lagrangian/coalChemistryFoam/Make/options
+++ b/applications/solvers/lagrangian/coalChemistryFoam/Make/options
@@ -19,7 +19,9 @@ EXE_INC = \
     -I$(LIB_SRC)/thermophysicalModels/radiationModels/lnInclude \
     -I$(LIB_SRC)/regionModels/regionModel/lnInclude \
     -I$(LIB_SRC)/regionModels/surfaceFilmModels/lnInclude \
-    -I$(LIB_SRC)/ODE/lnInclude
+    -I$(LIB_SRC)/ODE/lnInclude \
+    -I$(FOAM_SOLVERS)/combustion/reactingFoam
+
 
 EXE_LIBS = \
     -lfiniteVolume \
diff --git a/applications/solvers/lagrangian/coalChemistryFoam/chemistry.H b/applications/solvers/lagrangian/coalChemistryFoam/chemistry.H
deleted file mode 100644
index a1a5cb39ba2..00000000000
--- a/applications/solvers/lagrangian/coalChemistryFoam/chemistry.H
+++ /dev/null
@@ -1,32 +0,0 @@
-if (chemistry.chemistry())
-{
-    Info<< "Solving chemistry" << endl;
-
-    chemistry.solve
-    (
-        runTime.value() - runTime.deltaTValue(),
-        runTime.deltaTValue()
-    );
-
-    // turbulent time scale
-    if (turbulentReaction)
-    {
-        DimensionedField<scalar, volMesh> tk
-        (
-            Cmix*sqrt(turbulence->muEff()/rho/turbulence->epsilon())
-        );
-        DimensionedField<scalar, volMesh> tc
-        (
-            chemistry.tc()().dimensionedInternalField()
-        );
-
-        // Chalmers PaSR model
-        kappa = (runTime.deltaT() + tc)/(runTime.deltaT() + tc + tk);
-    }
-    else
-    {
-        kappa = 1.0;
-    }
-
-    chemistrySh = kappa*chemistry.Sh()();
-}
diff --git a/applications/solvers/lagrangian/porousExplicitSourceReactingParcelFoam/Make/options b/applications/solvers/lagrangian/porousExplicitSourceReactingParcelFoam/Make/options
index 1ff1aaa6129..386e25dd477 100644
--- a/applications/solvers/lagrangian/porousExplicitSourceReactingParcelFoam/Make/options
+++ b/applications/solvers/lagrangian/porousExplicitSourceReactingParcelFoam/Make/options
@@ -19,7 +19,9 @@ EXE_INC = \
     -I$(LIB_SRC)/thermophysicalModels/radiationModels/lnInclude \
     -I$(LIB_SRC)/ODE/lnInclude \
     -I$(LIB_SRC)/regionModels/regionModel/lnInclude \
-    -I$(LIB_SRC)/regionModels/surfaceFilmModels/lnInclude
+    -I$(LIB_SRC)/regionModels/surfaceFilmModels/lnInclude \
+    -I$(FOAM_SOLVERS)/combustion/reactingFoam
+
 
 EXE_LIBS = \
     -lfiniteVolume \
diff --git a/applications/solvers/lagrangian/porousExplicitSourceReactingParcelFoam/chemistry.H b/applications/solvers/lagrangian/porousExplicitSourceReactingParcelFoam/chemistry.H
deleted file mode 100644
index 1690487b45d..00000000000
--- a/applications/solvers/lagrangian/porousExplicitSourceReactingParcelFoam/chemistry.H
+++ /dev/null
@@ -1,31 +0,0 @@
-{
-    Info<< "Solving chemistry" << endl;
-
-    chemistry.solve
-    (
-        runTime.value() - runTime.deltaTValue(),
-        runTime.deltaTValue()
-    );
-
-    // turbulent time scale
-    if (turbulentReaction)
-    {
-        DimensionedField<scalar, volMesh> tk
-        (
-            Cmix*sqrt(turbulence->muEff()/rho/turbulence->epsilon())
-        );
-        DimensionedField<scalar, volMesh> tc
-        (
-            chemistry.tc()().dimensionedInternalField()
-        );
-
-        // Chalmers PaSR model
-        kappa = (runTime.deltaT() + tc)/(runTime.deltaT() + tc + tk);
-    }
-    else
-    {
-        kappa = 1.0;
-    }
-
-    chemistrySh = kappa*chemistry.Sh()();
-}
diff --git a/applications/solvers/lagrangian/reactingParcelFilmFoam/Make/options b/applications/solvers/lagrangian/reactingParcelFilmFoam/Make/options
index 1efc598b5b1..cd1c25ffea9 100644
--- a/applications/solvers/lagrangian/reactingParcelFilmFoam/Make/options
+++ b/applications/solvers/lagrangian/reactingParcelFilmFoam/Make/options
@@ -18,7 +18,9 @@ EXE_INC = \
     -I$(LIB_SRC)/regionModels/surfaceFilmModels/lnInclude \
     -I$(LIB_SRC)/lagrangian/basic/lnInclude \
     -I$(LIB_SRC)/lagrangian/intermediate/lnInclude \
-    -I$(LIB_SRC)/ODE/lnInclude
+    -I$(LIB_SRC)/ODE/lnInclude \
+    -I$(FOAM_SOLVERS)/combustion/reactingFoam
+
 
 EXE_LIBS = \
     -lfiniteVolume \
diff --git a/applications/solvers/lagrangian/reactingParcelFilmFoam/chemistry.H b/applications/solvers/lagrangian/reactingParcelFilmFoam/chemistry.H
deleted file mode 100644
index ce36fa0d1b5..00000000000
--- a/applications/solvers/lagrangian/reactingParcelFilmFoam/chemistry.H
+++ /dev/null
@@ -1,32 +0,0 @@
-if (chemistry.chemistry())
-{
-    Info << "Solving chemistry" << endl;
-
-    chemistry.solve
-    (
-        runTime.value() - runTime.deltaTValue(),
-        runTime.deltaTValue()
-    );
-
-    // turbulent time scale
-    if (turbulentReaction)
-    {
-        DimensionedField<scalar, volMesh> tk
-        (
-            Cmix*sqrt(turbulence->muEff()/rho/turbulence->epsilon())
-        );
-        DimensionedField<scalar, volMesh> tc
-        (
-            chemistry.tc()().dimensionedInternalField()
-        );
-
-        // Chalmers PaSR model
-        kappa = (runTime.deltaT() + tc)/(runTime.deltaT() + tc + tk);
-    }
-    else
-    {
-        kappa = 1.0;
-    }
-
-    chemistrySh = kappa*chemistry.Sh()();
-}
diff --git a/applications/solvers/lagrangian/reactingParcelFoam/Make/options b/applications/solvers/lagrangian/reactingParcelFoam/Make/options
index fb54b88e269..1380c457e26 100644
--- a/applications/solvers/lagrangian/reactingParcelFoam/Make/options
+++ b/applications/solvers/lagrangian/reactingParcelFoam/Make/options
@@ -18,7 +18,9 @@ EXE_INC = \
     -I$(LIB_SRC)/thermophysicalModels/radiationModels/lnInclude \
     -I$(LIB_SRC)/ODE/lnInclude \
     -I$(LIB_SRC)/regionModels/regionModel/lnInclude \
-    -I$(LIB_SRC)/regionModels/surfaceFilmModels/lnInclude
+    -I$(LIB_SRC)/regionModels/surfaceFilmModels/lnInclude \
+    -I$(FOAM_SOLVERS)/combustion/reactingFoam
+
 
 EXE_LIBS = \
     -lfiniteVolume \
diff --git a/applications/solvers/lagrangian/reactingParcelFoam/chemistry.H b/applications/solvers/lagrangian/reactingParcelFoam/chemistry.H
deleted file mode 100644
index 1690487b45d..00000000000
--- a/applications/solvers/lagrangian/reactingParcelFoam/chemistry.H
+++ /dev/null
@@ -1,31 +0,0 @@
-{
-    Info<< "Solving chemistry" << endl;
-
-    chemistry.solve
-    (
-        runTime.value() - runTime.deltaTValue(),
-        runTime.deltaTValue()
-    );
-
-    // turbulent time scale
-    if (turbulentReaction)
-    {
-        DimensionedField<scalar, volMesh> tk
-        (
-            Cmix*sqrt(turbulence->muEff()/rho/turbulence->epsilon())
-        );
-        DimensionedField<scalar, volMesh> tc
-        (
-            chemistry.tc()().dimensionedInternalField()
-        );
-
-        // Chalmers PaSR model
-        kappa = (runTime.deltaT() + tc)/(runTime.deltaT() + tc + tk);
-    }
-    else
-    {
-        kappa = 1.0;
-    }
-
-    chemistrySh = kappa*chemistry.Sh()();
-}
-- 
GitLab