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