From 6ce8c61d181ae66829ca17830fee0939b5a722a5 Mon Sep 17 00:00:00 2001
From: andy <andy>
Date: Mon, 10 Dec 2012 11:30:17 +0000
Subject: [PATCH] ENH: Updated sources for lagrangian solvers

---
 applications/solvers/lagrangian/coalChemistryFoam/EEqn.H  | 4 ++++
 applications/solvers/lagrangian/coalChemistryFoam/UEqn.H  | 2 ++
 applications/solvers/lagrangian/coalChemistryFoam/YEqn.H  | 2 ++
 .../solvers/lagrangian/coalChemistryFoam/rhoEqn.H         | 4 +++-
 .../solvers/lagrangian/reactingParcelFilmFoam/EEqn.H      | 4 ++++
 .../solvers/lagrangian/reactingParcelFilmFoam/UEqn.H      | 2 ++
 .../solvers/lagrangian/reactingParcelFilmFoam/YEqn.H      | 2 ++
 .../solvers/lagrangian/reactingParcelFilmFoam/rhoEqn.H    | 8 +++++++-
 applications/solvers/lagrangian/reactingParcelFoam/EEqn.H | 4 ++++
 applications/solvers/lagrangian/reactingParcelFoam/UEqn.H | 2 ++
 applications/solvers/lagrangian/reactingParcelFoam/YEqn.H | 2 ++
 .../solvers/lagrangian/reactingParcelFoam/rhoEqn.H        | 2 ++
 applications/solvers/lagrangian/sprayFoam/UEqn.H          | 2 ++
 applications/solvers/lagrangian/sprayFoam/rhoEqn.H        | 2 ++
 14 files changed, 40 insertions(+), 2 deletions(-)

diff --git a/applications/solvers/lagrangian/coalChemistryFoam/EEqn.H b/applications/solvers/lagrangian/coalChemistryFoam/EEqn.H
index 92219b9879f..37ca5e82a48 100644
--- a/applications/solvers/lagrangian/coalChemistryFoam/EEqn.H
+++ b/applications/solvers/lagrangian/coalChemistryFoam/EEqn.H
@@ -25,9 +25,13 @@
     );
 
     EEqn.relax();
+
     sources.constrain(EEqn);
+
     EEqn.solve();
 
+    sources.correct(he);
+
     thermo.correct();
     radiation->correct();
 
diff --git a/applications/solvers/lagrangian/coalChemistryFoam/UEqn.H b/applications/solvers/lagrangian/coalChemistryFoam/UEqn.H
index fe7b047d9a2..3dee99c1c77 100644
--- a/applications/solvers/lagrangian/coalChemistryFoam/UEqn.H
+++ b/applications/solvers/lagrangian/coalChemistryFoam/UEqn.H
@@ -17,5 +17,7 @@
     if (pimple.momentumPredictor())
     {
         solve(UEqn == -fvc::grad(p));
+
+        sources.correct(U);
         K = 0.5*magSqr(U);
     }
diff --git a/applications/solvers/lagrangian/coalChemistryFoam/YEqn.H b/applications/solvers/lagrangian/coalChemistryFoam/YEqn.H
index f07208909c9..a5c39e84736 100644
--- a/applications/solvers/lagrangian/coalChemistryFoam/YEqn.H
+++ b/applications/solvers/lagrangian/coalChemistryFoam/YEqn.H
@@ -39,6 +39,8 @@ tmp<fv::convectionScheme<scalar> > mvConvection
 
             YiEqn.solve(mesh.solver("Yi"));
 
+            sources.correct(Yi);
+
             Yi.max(0.0);
             Yt += Yi;
         }
diff --git a/applications/solvers/lagrangian/coalChemistryFoam/rhoEqn.H b/applications/solvers/lagrangian/coalChemistryFoam/rhoEqn.H
index c8e8193eb2c..5c37255fefd 100644
--- a/applications/solvers/lagrangian/coalChemistryFoam/rhoEqn.H
+++ b/applications/solvers/lagrangian/coalChemistryFoam/rhoEqn.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2012 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -42,6 +42,8 @@ Description
     sources.constrain(rhoEqn);
 
     rhoEqn.solve();
+
+    sources.correct(rho);
 }
 
 // ************************************************************************* //
diff --git a/applications/solvers/lagrangian/reactingParcelFilmFoam/EEqn.H b/applications/solvers/lagrangian/reactingParcelFilmFoam/EEqn.H
index 2c327a1099a..4abcdcf4414 100644
--- a/applications/solvers/lagrangian/reactingParcelFilmFoam/EEqn.H
+++ b/applications/solvers/lagrangian/reactingParcelFilmFoam/EEqn.H
@@ -25,9 +25,13 @@
     );
 
     EEqn.relax();
+
     sources.constrain(EEqn);
+
     EEqn.solve();
 
+    sources.correct(he);
+
     thermo.correct();
     radiation->correct();
 
diff --git a/applications/solvers/lagrangian/reactingParcelFilmFoam/UEqn.H b/applications/solvers/lagrangian/reactingParcelFilmFoam/UEqn.H
index 5884abe0c1f..81d90bd695e 100644
--- a/applications/solvers/lagrangian/reactingParcelFilmFoam/UEqn.H
+++ b/applications/solvers/lagrangian/reactingParcelFilmFoam/UEqn.H
@@ -26,5 +26,7 @@
                 )*mesh.magSf()
             )
         );
+
+        sources.correct(U);
         K = 0.5*magSqr(U);
     }
diff --git a/applications/solvers/lagrangian/reactingParcelFilmFoam/YEqn.H b/applications/solvers/lagrangian/reactingParcelFilmFoam/YEqn.H
index e05dcdef6ab..615342c4364 100644
--- a/applications/solvers/lagrangian/reactingParcelFilmFoam/YEqn.H
+++ b/applications/solvers/lagrangian/reactingParcelFilmFoam/YEqn.H
@@ -40,6 +40,8 @@ tmp<fv::convectionScheme<scalar> > mvConvection
 
             YEqn.solve(mesh.solver("Yi"));
 
+            sources.correct(Yi);
+
             Yi.max(0.0);
             Yt += Yi;
         }
diff --git a/applications/solvers/lagrangian/reactingParcelFilmFoam/rhoEqn.H b/applications/solvers/lagrangian/reactingParcelFilmFoam/rhoEqn.H
index 282acfe91ee..5cc780abb1d 100644
--- a/applications/solvers/lagrangian/reactingParcelFilmFoam/rhoEqn.H
+++ b/applications/solvers/lagrangian/reactingParcelFilmFoam/rhoEqn.H
@@ -30,7 +30,7 @@ Description
 \*---------------------------------------------------------------------------*/
 
 {
-    solve
+    fvScalarMatrix rhoEqn
     (
         fvm::ddt(rho)
       + fvc::div(phi)
@@ -39,6 +39,12 @@ Description
       + surfaceFilm.Srho()
       + sources(rho)
     );
+
+    sources.constrain(rhoEqn);
+
+    rhoEqn.solve();
+
+    sources.correct(rho);
 }
 
 // ************************************************************************* //
diff --git a/applications/solvers/lagrangian/reactingParcelFoam/EEqn.H b/applications/solvers/lagrangian/reactingParcelFoam/EEqn.H
index c8ef9bf84e3..57456fe791c 100644
--- a/applications/solvers/lagrangian/reactingParcelFoam/EEqn.H
+++ b/applications/solvers/lagrangian/reactingParcelFoam/EEqn.H
@@ -24,9 +24,13 @@
     );
 
     EEqn.relax();
+
     sources.constrain(EEqn);
+
     EEqn.solve();
 
+    sources.correct(he);
+
     thermo.correct();
     radiation->correct();
 
diff --git a/applications/solvers/lagrangian/reactingParcelFoam/UEqn.H b/applications/solvers/lagrangian/reactingParcelFoam/UEqn.H
index 612e582c542..421da48ab02 100644
--- a/applications/solvers/lagrangian/reactingParcelFoam/UEqn.H
+++ b/applications/solvers/lagrangian/reactingParcelFoam/UEqn.H
@@ -19,5 +19,7 @@
     if (pimple.momentumPredictor())
     {
         solve(UEqn == -fvc::grad(p));
+
+        sources.correct(U);
         K = 0.5*magSqr(U);
     }
diff --git a/applications/solvers/lagrangian/reactingParcelFoam/YEqn.H b/applications/solvers/lagrangian/reactingParcelFoam/YEqn.H
index a22267d9be2..b7e40dcc59f 100644
--- a/applications/solvers/lagrangian/reactingParcelFoam/YEqn.H
+++ b/applications/solvers/lagrangian/reactingParcelFoam/YEqn.H
@@ -38,6 +38,8 @@ tmp<fv::convectionScheme<scalar> > mvConvection
 
             YEqn.solve(mesh.solver("Yi"));
 
+            sources.correct(Yi);
+
             Yi.max(0.0);
             Yt += Yi;
         }
diff --git a/applications/solvers/lagrangian/reactingParcelFoam/rhoEqn.H b/applications/solvers/lagrangian/reactingParcelFoam/rhoEqn.H
index f142f620bee..6ad34d56c7e 100644
--- a/applications/solvers/lagrangian/reactingParcelFoam/rhoEqn.H
+++ b/applications/solvers/lagrangian/reactingParcelFoam/rhoEqn.H
@@ -43,6 +43,8 @@ Description
 
     rhoEqn.solve();
 
+    sources.correct(rho);
+
     Info<< "rho min/max = " << min(rho).value() << ", " << max(rho).value()
         << endl;
 }
diff --git a/applications/solvers/lagrangian/sprayFoam/UEqn.H b/applications/solvers/lagrangian/sprayFoam/UEqn.H
index 3723f7f79db..11d4b27ef8e 100644
--- a/applications/solvers/lagrangian/sprayFoam/UEqn.H
+++ b/applications/solvers/lagrangian/sprayFoam/UEqn.H
@@ -16,5 +16,7 @@
     if (pimple.momentumPredictor())
     {
         solve(UEqn == -fvc::grad(p));
+
+        sources.correct(U);
         K = 0.5*magSqr(U);
     }
diff --git a/applications/solvers/lagrangian/sprayFoam/rhoEqn.H b/applications/solvers/lagrangian/sprayFoam/rhoEqn.H
index b6293f2c1f0..ecda54ee833 100644
--- a/applications/solvers/lagrangian/sprayFoam/rhoEqn.H
+++ b/applications/solvers/lagrangian/sprayFoam/rhoEqn.H
@@ -42,6 +42,8 @@ Description
     sources.constrain(rhoEqn);
 
     rhoEqn.solve();
+
+    sources.correct(rho);
 }
 
 // ************************************************************************* //
-- 
GitLab