Merge branch 'master' of dm:/home/dm4/OpenFOAM/OpenFOAM-dev

This commit is contained in:
opencfd
2012-12-10 17:09:34 +00:00
177 changed files with 619 additions and 223 deletions

View File

@ -25,5 +25,7 @@
EaEqn.solve(); EaEqn.solve();
sources.correct(hea);
thermo.correct(); thermo.correct();
} }

View File

@ -2,7 +2,7 @@ if (ign.ignited())
{ {
volScalarField& heau = thermo.heu(); volScalarField& heau = thermo.heu();
solve fvScalarMatrix heauEqn
( (
fvm::ddt(rho, heau) + mvConvection->fvmDiv(phi, heau) fvm::ddt(rho, heau) + mvConvection->fvmDiv(phi, heau)
+ (fvc::ddt(rho, K) + fvc::div(phi, K))*rho/thermo.rhou() + (fvc::ddt(rho, K) + fvc::div(phi, K))*rho/thermo.rhou()
@ -23,5 +23,14 @@ if (ign.ignited())
// A possible solution would be to solve for ftu as well as ft. // A possible solution would be to solve for ftu as well as ft.
//- fvm::div(muEff*fvc::grad(b)/(b + 0.001), heau) //- fvm::div(muEff*fvc::grad(b)/(b + 0.001), heau)
//+ fvm::Sp(fvc::div(muEff*fvc::grad(b)/(b + 0.001)), heau) //+ fvm::Sp(fvc::div(muEff*fvc::grad(b)/(b + 0.001)), heau)
==
sources(rho, heau)
); );
sources.constrain(heauEqn);
heauEqn.solve();
sources.correct(heau);
} }

View File

@ -15,5 +15,7 @@
if (pimple.momentumPredictor()) if (pimple.momentumPredictor())
{ {
solve(UEqn == -fvc::grad(p)); solve(UEqn == -fvc::grad(p));
sources.correct(U);
K = 0.5*magSqr(U); K = 0.5*magSqr(U);
} }

View File

@ -69,6 +69,7 @@ int main(int argc, char *argv[])
#include "readCombustionProperties.H" #include "readCombustionProperties.H"
#include "readGravitationalAcceleration.H" #include "readGravitationalAcceleration.H"
#include "createFields.H" #include "createFields.H"
#include "createSources.H"
#include "initContinuityErrs.H" #include "initContinuityErrs.H"
#include "readTimeControls.H" #include "readTimeControls.H"
#include "compressibleCourantNo.H" #include "compressibleCourantNo.H"

View File

@ -71,6 +71,8 @@ if (ign.ignited())
bEqn.solve(); bEqn.solve();
sources.correct(b);
Info<< "min(b) = " << min(b).value() << endl; Info<< "min(b) = " << min(b).value() << endl;
@ -167,6 +169,8 @@ if (ign.ignited())
SuEqn.solve(); SuEqn.solve();
sources.correct(Su);
// Limit the maximum Su // Limit the maximum Su
// ~~~~~~~~~~~~~~~~~~~~ // ~~~~~~~~~~~~~~~~~~~~
Su.min(SuMax); Su.min(SuMax);
@ -252,6 +256,8 @@ if (ign.ignited())
XiEqn.solve(); XiEqn.solve();
sources.correct(Xi);
// Correct boundedness of Xi // Correct boundedness of Xi
// ~~~~~~~~~~~~~~~~~~~~~~~~~ // ~~~~~~~~~~~~~~~~~~~~~~~~~
Xi.max(1.0); Xi.max(1.0);

View File

@ -138,5 +138,3 @@
fields.add(b); fields.add(b);
fields.add(thermo.he()); fields.add(thermo.he());
fields.add(thermo.heu()); fields.add(thermo.heu());
IObasicSourceList sources(mesh);

View File

@ -25,4 +25,6 @@ if (composition.contains("ft"))
sources.constrain(ftEqn); sources.constrain(ftEqn);
ftEqn.solve(); ftEqn.solve();
sources.correct(ft);
} }

View File

@ -47,6 +47,7 @@ int main(int argc, char *argv[])
#include "createEngineTime.H" #include "createEngineTime.H"
#include "createEngineMesh.H" #include "createEngineMesh.H"
#include "createFields.H" #include "createFields.H"
#include "createSources.H"
#include "initContinuityErrs.H" #include "initContinuityErrs.H"
#include "readEngineTimeControls.H" #include "readEngineTimeControls.H"
#include "compressibleCourantNo.H" #include "compressibleCourantNo.H"

View File

@ -69,6 +69,3 @@
Info<< "Creating field kinetic energy K\n" << endl; Info<< "Creating field kinetic energy K\n" << endl;
volScalarField K("K", 0.5*magSqr(U)); volScalarField K("K", 0.5*magSqr(U));
Info<< "Creating sources\n" << endl;
IObasicSourceList sources(mesh);

View File

@ -10,5 +10,7 @@
if (pimple.momentumPredictor()) if (pimple.momentumPredictor())
{ {
solve(UEqn == -fvc::grad(p)); solve(UEqn == -fvc::grad(p));
sources.correct(U);
K = 0.5*magSqr(U); K = 0.5*magSqr(U);
} }

View File

@ -71,6 +71,7 @@ int main(int argc, char *argv[])
#include "createEngineMesh.H" #include "createEngineMesh.H"
#include "readCombustionProperties.H" #include "readCombustionProperties.H"
#include "createFields.H" #include "createFields.H"
#include "createSources.H"
#include "initContinuityErrs.H" #include "initContinuityErrs.H"
#include "readEngineTimeControls.H" #include "readEngineTimeControls.H"
#include "compressibleCourantNo.H" #include "compressibleCourantNo.H"

View File

@ -27,5 +27,6 @@
) )
); );
sources.correct(U);
K = 0.5*magSqr(U); K = 0.5*magSqr(U);
} }

View File

@ -39,6 +39,8 @@ tmp<fv::convectionScheme<scalar> > mvConvection
YiEqn.solve(mesh.solver("Yi")); YiEqn.solve(mesh.solver("Yi"));
sources.correct(Yi);
Yi.max(0.0); Yi.max(0.0);
Yt += Yi; Yt += Yi;
} }
@ -82,6 +84,8 @@ tmp<fv::convectionScheme<scalar> > mvConvection
EEqn.solve(); EEqn.solve();
sources.correct(he);
thermo.correct(); thermo.correct();
Info<< "min/max(T) = " Info<< "min/max(T) = "

View File

@ -146,6 +146,3 @@
( (
additionalControlsDict.lookup("solvePrimaryRegion") additionalControlsDict.lookup("solvePrimaryRegion")
); );
IObasicSourceList sources(mesh);

View File

@ -52,6 +52,7 @@ int main(int argc, char *argv[])
#include "createMesh.H" #include "createMesh.H"
#include "readGravitationalAcceleration.H" #include "readGravitationalAcceleration.H"
#include "createFields.H" #include "createFields.H"
#include "createSources.H"
#include "createClouds.H" #include "createClouds.H"
#include "createSurfaceFilmModel.H" #include "createSurfaceFilmModel.H"
#include "createPyrolysisModel.H" #include "createPyrolysisModel.H"

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2011 OpenFOAM Foundation \\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -43,6 +43,8 @@ Description
sources.constrain(rhoEqn); sources.constrain(rhoEqn);
rhoEqn.solve(); rhoEqn.solve();
sources.correct(rho);
} }
// ************************************************************************* // // ************************************************************************* //

View File

@ -28,6 +28,8 @@
EEqn.solve(); EEqn.solve();
sources.correct(he);
thermo.correct(); thermo.correct();
Info<< "min/max(T) = " Info<< "min/max(T) = "

View File

@ -15,5 +15,7 @@
if (pimple.momentumPredictor()) if (pimple.momentumPredictor())
{ {
solve(UEqn == -fvc::grad(p)); solve(UEqn == -fvc::grad(p));
sources.correct(U);
K = 0.5*magSqr(U); K = 0.5*magSqr(U);
} }

View File

@ -37,6 +37,8 @@ tmp<fv::convectionScheme<scalar> > mvConvection
YiEqn.solve(mesh.solver("Yi")); YiEqn.solve(mesh.solver("Yi"));
sources.correct(Yi);
Yi.max(0.0); Yi.max(0.0);
Yt += Yi; Yt += Yi;
} }

View File

@ -99,5 +99,3 @@ volScalarField dQ
mesh, mesh,
dimensionedScalar("dQ", dimEnergy/dimTime, 0.0) dimensionedScalar("dQ", dimEnergy/dimTime, 0.0)
); );
IObasicSourceList sources(mesh);

View File

@ -45,6 +45,7 @@ int main(int argc, char *argv[])
#include "createMesh.H" #include "createMesh.H"
#include "readGravitationalAcceleration.H" #include "readGravitationalAcceleration.H"
#include "createFields.H" #include "createFields.H"
#include "createSources.H"
#include "initContinuityErrs.H" #include "initContinuityErrs.H"
#include "readTimeControls.H" #include "readTimeControls.H"
#include "compressibleCourantNo.H" #include "compressibleCourantNo.H"

View File

@ -101,5 +101,3 @@ volScalarField dQ
mesh, mesh,
dimensionedScalar("dQ", dimEnergy/dimTime, 0.0) dimensionedScalar("dQ", dimEnergy/dimTime, 0.0)
); );
IObasicSourceList sources(mesh);

View File

@ -46,6 +46,7 @@ int main(int argc, char *argv[])
#include "createMesh.H" #include "createMesh.H"
#include "readGravitationalAcceleration.H" #include "readGravitationalAcceleration.H"
#include "createFields.H" #include "createFields.H"
#include "createSources.H"
#include "initContinuityErrs.H" #include "initContinuityErrs.H"
#include "readTimeControls.H" #include "readTimeControls.H"
#include "compressibleCourantNo.H" #include "compressibleCourantNo.H"

View File

@ -21,8 +21,12 @@
); );
EEqn.relax(); EEqn.relax();
sources.constrain(EEqn); sources.constrain(EEqn);
EEqn.solve(); EEqn.solve();
sources.correct(he);
thermo.correct(); thermo.correct();
} }

View File

@ -16,5 +16,7 @@ sources.constrain(UEqn());
if (pimple.momentumPredictor()) if (pimple.momentumPredictor())
{ {
solve(UEqn() == -fvc::grad(p)); solve(UEqn() == -fvc::grad(p));
sources.correct(U);
K = 0.5*magSqr(U); K = 0.5*magSqr(U);
} }

View File

@ -69,6 +69,3 @@
Info<< "Creating field kinetic energy K\n" << endl; Info<< "Creating field kinetic energy K\n" << endl;
volScalarField K("K", 0.5*magSqr(U)); volScalarField K("K", 0.5*magSqr(U));
Info<< "Creating sources\n" << endl;
IObasicSourceList sources(mesh);

View File

@ -54,6 +54,7 @@ int main(int argc, char *argv[])
#include "setInitialrDeltaT.H" #include "setInitialrDeltaT.H"
#include "createFields.H" #include "createFields.H"
#include "createSources.H"
#include "initContinuityErrs.H" #include "initContinuityErrs.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

View File

@ -51,6 +51,7 @@ int main(int argc, char *argv[])
pimpleControl pimple(mesh); pimpleControl pimple(mesh);
#include "createFields.H" #include "createFields.H"
#include "createSources.H"
#include "initContinuityErrs.H" #include "initContinuityErrs.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

View File

@ -51,6 +51,7 @@ int main(int argc, char *argv[])
pimpleControl pimple(mesh); pimpleControl pimple(mesh);
#include "createFields.H" #include "createFields.H"
#include "createSources.H"
#include "initContinuityErrs.H" #include "initContinuityErrs.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

View File

@ -3,7 +3,7 @@ cd ${0%/*} || exit 1 # run from this directory
set -x set -x
wclean wclean
wclean rhoPorousMRFSimpleFoam wclean rhoPorousSimpleFoam
wclean rhoSimplecFoam wclean rhoSimplecFoam
# ----------------------------------------------------------------- end-of-file # ----------------------------------------------------------------- end-of-file

View File

@ -3,7 +3,7 @@ cd ${0%/*} || exit 1 # run from this directory
set -x set -x
wmake wmake
wmake rhoPorousMRFSimpleFoam wmake rhoPorousSimpleFoam
wmake rhoSimplecFoam wmake rhoSimplecFoam
# ----------------------------------------------------------------- end-of-file # ----------------------------------------------------------------- end-of-file

View File

@ -15,8 +15,12 @@
); );
EEqn.relax(); EEqn.relax();
sources.constrain(EEqn); sources.constrain(EEqn);
EEqn.solve(); EEqn.solve();
sources.correct(he);
thermo.correct(); thermo.correct();
} }

View File

@ -10,4 +10,8 @@
UEqn().relax(); UEqn().relax();
sources.constrain(UEqn());
solve(UEqn() == -fvc::grad(p)); solve(UEqn() == -fvc::grad(p));
sources.correct(U);

View File

@ -60,6 +60,3 @@
); );
dimensionedScalar initialMass = fvc::domainIntegrate(rho); dimensionedScalar initialMass = fvc::domainIntegrate(rho);
Info<< "Creating sources\n" << endl;
IObasicSourceList sources(mesh);

View File

@ -15,8 +15,12 @@
); );
EEqn.relax(); EEqn.relax();
sources.constrain(EEqn); sources.constrain(EEqn);
EEqn.solve(); EEqn.solve();
sources.correct(he);
thermo.correct(); thermo.correct();
} }

View File

@ -33,6 +33,8 @@
U = trTU() & ((UEqn() == sources(rho, U))().H() - gradp); U = trTU() & ((UEqn() == sources(rho, U))().H() - gradp);
} }
U.correctBoundaryConditions(); U.correctBoundaryConditions();
sources.correct(U);
} }
else else
{ {
@ -42,6 +44,8 @@
solve(UEqn() == -fvc::grad(p) + sources(rho, U)); solve(UEqn() == -fvc::grad(p) + sources(rho, U));
sources.correct(U);
trAU = 1.0/UEqn().A(); trAU = 1.0/UEqn().A();
trAU().rename("rAU"); trAU().rename("rAU");
} }

View File

@ -59,6 +59,3 @@
); );
dimensionedScalar initialMass = fvc::domainIntegrate(rho); dimensionedScalar initialMass = fvc::domainIntegrate(rho);
Info<< "Creating sources\n" << endl;
IObasicSourceList sources(mesh);

View File

@ -50,6 +50,7 @@ int main(int argc, char *argv[])
simpleControl simple(mesh); simpleControl simple(mesh);
#include "createFields.H" #include "createFields.H"
#include "createSources.H"
#include "createZones.H" #include "createZones.H"
#include "initContinuityErrs.H" #include "initContinuityErrs.H"

View File

@ -47,6 +47,7 @@ int main(int argc, char *argv[])
simpleControl simple(mesh); simpleControl simple(mesh);
#include "createFields.H" #include "createFields.H"
#include "createSources.H"
#include "initContinuityErrs.H" #include "initContinuityErrs.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

View File

@ -49,6 +49,7 @@ int main(int argc, char *argv[])
simpleControl simple(mesh); simpleControl simple(mesh);
#include "createFields.H" #include "createFields.H"
#include "createSources.H"
#include "initContinuityErrs.H" #include "initContinuityErrs.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

View File

@ -21,8 +21,12 @@
); );
EEqn.relax(); EEqn.relax();
sources.constrain(EEqn); sources.constrain(EEqn);
EEqn.solve(); EEqn.solve();
sources.correct(he);
thermo.correct(); thermo.correct();
} }

View File

@ -27,5 +27,7 @@
)*mesh.magSf() )*mesh.magSf()
) )
); );
sources.correct(U);
K = 0.5*magSqr(U); K = 0.5*magSqr(U);
} }

View File

@ -49,6 +49,7 @@ int main(int argc, char *argv[])
#include "createMesh.H" #include "createMesh.H"
#include "readGravitationalAcceleration.H" #include "readGravitationalAcceleration.H"
#include "createFields.H" #include "createFields.H"
#include "createSources.H"
#include "createRadiationModel.H" #include "createRadiationModel.H"
#include "initContinuityErrs.H" #include "initContinuityErrs.H"
#include "readTimeControls.H" #include "readTimeControls.H"

View File

@ -86,6 +86,3 @@
Info<< "Creating field kinetic energy K\n" << endl; Info<< "Creating field kinetic energy K\n" << endl;
volScalarField K("K", 0.5*magSqr(U)); volScalarField K("K", 0.5*magSqr(U));
Info<< "Creating sources\n" << endl;
IObasicSourceList sources(mesh);

View File

@ -21,6 +21,8 @@
EEqn.solve(); EEqn.solve();
sources.correct(he);
thermo.correct(); thermo.correct();
radiation->correct(); radiation->correct();
} }

View File

@ -26,4 +26,6 @@
)*mesh.magSf() )*mesh.magSf()
) )
); );
sources.correct(U);
} }

View File

@ -46,6 +46,7 @@ int main(int argc, char *argv[])
#include "createMesh.H" #include "createMesh.H"
#include "readGravitationalAcceleration.H" #include "readGravitationalAcceleration.H"
#include "createFields.H" #include "createFields.H"
#include "createSources.H"
#include "createRadiationModel.H" #include "createRadiationModel.H"
#include "initContinuityErrs.H" #include "initContinuityErrs.H"

View File

@ -87,5 +87,3 @@
dimensionedScalar initialMass = fvc::domainIntegrate(rho); dimensionedScalar initialMass = fvc::domainIntegrate(rho);
dimensionedScalar totalVolume = sum(mesh.V()); dimensionedScalar totalVolume = sum(mesh.V());
IObasicSourceList sources(mesh);

View File

@ -45,7 +45,6 @@ Description
#include "solidRegionDiffNo.H" #include "solidRegionDiffNo.H"
#include "solidThermo.H" #include "solidThermo.H"
#include "radiationModel.H" #include "radiationModel.H"
#include "IOporosityModelList.H"
#include "IObasicSourceList.H" #include "IObasicSourceList.H"

View File

@ -21,6 +21,8 @@
EEqn.solve(); EEqn.solve();
sources.correct(he);
thermo.correct(); thermo.correct();
rad.correct(); rad.correct();

View File

@ -23,3 +23,5 @@
)*mesh.magSf() )*mesh.magSf()
) )
); );
sources.correct(U);

View File

@ -17,7 +17,7 @@
PtrList<dimensionedScalar> rhoMax(fluidRegions.size()); PtrList<dimensionedScalar> rhoMax(fluidRegions.size());
PtrList<dimensionedScalar> rhoMin(fluidRegions.size()); PtrList<dimensionedScalar> rhoMin(fluidRegions.size());
PtrList<IObasicSourceList> heatSources(fluidRegions.size()); PtrList<IObasicSourceList> fluidSources(fluidRegions.size());
// Populate fluid field pointer lists // Populate fluid field pointer lists
forAll(fluidRegions, i) forAll(fluidRegions, i)
@ -194,7 +194,7 @@
); );
Info<< " Adding sources\n" << endl; Info<< " Adding sources\n" << endl;
heatSources.set fluidSources.set
( (
i, i,
new IObasicSourceList(fluidRegions[i]) new IObasicSourceList(fluidRegions[i])

View File

@ -12,7 +12,7 @@
volScalarField& p = thermo.p(); volScalarField& p = thermo.p();
const volScalarField& psi = thermo.psi(); const volScalarField& psi = thermo.psi();
IObasicSourceList& sources = heatSources[i]; IObasicSourceList& sources = fluidSources[i];
const dimensionedScalar initialMass const dimensionedScalar initialMass
( (

View File

@ -6,8 +6,14 @@
- fvm::laplacian(betav*alpha, h, "laplacian(alpha,h)") - fvm::laplacian(betav*alpha, h, "laplacian(alpha,h)")
+ sources(rho, h) + sources(rho, h)
); );
hEqn.relax(); hEqn.relax();
sources.constrain(hEqn);
hEqn.solve(); hEqn.solve();
sources.correct(h);
} }
} }

View File

@ -22,8 +22,13 @@
); );
EEqn.relax(); EEqn.relax();
sources.constrain(EEqn);
EEqn.solve(mesh.solver(he.select(finalIter))); EEqn.solve(mesh.solver(he.select(finalIter)));
sources.correct(he);
thermo.correct(); thermo.correct();
rad.correct(); rad.correct();

View File

@ -9,8 +9,7 @@
UEqn().relax(); UEqn().relax();
// Add porous resistance sources.constrain(UEqn());
pZones.addResistance(UEqn());
if (momentumPredictor) if (momentumPredictor)
{ {
@ -21,11 +20,13 @@
fvc::reconstruct fvc::reconstruct
( (
( (
- ghf*fvc::snGrad(rho) - ghf*fvc::snGrad(rho)
- fvc::snGrad(p_rgh) - fvc::snGrad(p_rgh)
)*mesh.magSf() )*mesh.magSf()
), ),
mesh.solver(U.select(finalIter)) mesh.solver(U.select(finalIter))
); );
sources.correct(U);
K = 0.5*magSqr(U); K = 0.5*magSqr(U);
} }

View File

@ -14,8 +14,7 @@
List<scalar> initialMassFluid(fluidRegions.size()); List<scalar> initialMassFluid(fluidRegions.size());
PtrList<IObasicSourceList> heatSources(fluidRegions.size()); PtrList<IObasicSourceList> fluidSources(fluidRegions.size());
PtrList<IOporosityModelList> porousZonesFluid(fluidRegions.size());
// Populate fluid field pointer lists // Populate fluid field pointer lists
forAll(fluidRegions, i) forAll(fluidRegions, i)
@ -192,16 +191,9 @@
); );
Info<< " Adding sources\n" << endl; Info<< " Adding sources\n" << endl;
heatSources.set fluidSources.set
( (
i, i,
new IObasicSourceList(fluidRegions[i]) new IObasicSourceList(fluidRegions[i])
); );
Info<< " Adding porous zones\n" << endl;
porousZonesFluid.set
(
i,
new IOporosityModelList(fluidRegions[i])
);
} }

View File

@ -20,9 +20,7 @@
radiation::radiationModel& rad = radiation[i]; radiation::radiationModel& rad = radiation[i];
IObasicSourceList& sources = heatSources[i]; IObasicSourceList& sources = fluidSources[i];
const IOporosityModelList& pZones = porousZonesFluid[i];
const dimensionedScalar initialMass const dimensionedScalar initialMass
( (

View File

@ -19,6 +19,8 @@ if (finalIter)
sources.constrain(hEqn()); sources.constrain(hEqn());
hEqn().solve(mesh.solver(h.select(finalIter))); hEqn().solve(mesh.solver(h.select(finalIter)));
sources.correct(h);
} }
} }

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2011 OpenFOAM Foundation \\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -47,6 +47,7 @@ int main(int argc, char *argv[])
#include "createTime.H" #include "createTime.H"
#include "createMesh.H" #include "createMesh.H"
#include "createFields.H" #include "createFields.H"
#include "createSources.H"
#include "initContinuityErrs.H" #include "initContinuityErrs.H"
pimpleControl pimple(mesh); pimpleControl pimple(mesh);

View File

@ -12,3 +12,5 @@
sources.constrain(UrelEqn()); sources.constrain(UrelEqn());
solve(UrelEqn() == -fvc::grad(p) + sources(Urel)); solve(UrelEqn() == -fvc::grad(p) + sources(Urel));
sources.correct(Urel);

View File

@ -70,6 +70,3 @@ volVectorField U
), ),
Urel + SRF->U() Urel + SRF->U()
); );
IObasicSourceList sources(mesh);

View File

@ -18,4 +18,6 @@ volScalarField rAU(1.0/UEqn().A());
if (pimple.momentumPredictor()) if (pimple.momentumPredictor())
{ {
solve(UEqn() == -fvc::grad(p)); solve(UEqn() == -fvc::grad(p));
sources.correct(U);
} }

View File

@ -40,6 +40,3 @@ autoPtr<incompressible::turbulenceModel> turbulence
( (
incompressible::turbulenceModel::New(U, phi, laminarTransport) incompressible::turbulenceModel::New(U, phi, laminarTransport)
); );
IObasicSourceList sources(mesh);

View File

@ -16,4 +16,6 @@ rAU = 1.0/UEqn().A();
if (pimple.momentumPredictor()) if (pimple.momentumPredictor())
{ {
solve(UEqn() == -fvc::grad(p) + sources(U)); solve(UEqn() == -fvc::grad(p) + sources(U));
sources.correct(U);
} }

View File

@ -56,6 +56,3 @@
runTime.deltaT(), runTime.deltaT(),
zeroGradientFvPatchScalarField::typeName zeroGradientFvPatchScalarField::typeName
); );
IObasicSourceList sources(mesh);

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2011 OpenFOAM Foundation \\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -49,6 +49,7 @@ int main(int argc, char *argv[])
#include "createDynamicFvMesh.H" #include "createDynamicFvMesh.H"
#include "initContinuityErrs.H" #include "initContinuityErrs.H"
#include "createFields.H" #include "createFields.H"
#include "createSources.H"
#include "readTimeControls.H" #include "readTimeControls.H"
pimpleControl pimple(mesh); pimpleControl pimple(mesh);

View File

@ -50,6 +50,7 @@ int main(int argc, char *argv[])
#include "createTime.H" #include "createTime.H"
#include "createMesh.H" #include "createMesh.H"
#include "createFields.H" #include "createFields.H"
#include "createSources.H"
#include "initContinuityErrs.H" #include "initContinuityErrs.H"
pimpleControl pimple(mesh); pimpleControl pimple(mesh);

View File

@ -13,4 +13,6 @@ sources.constrain(UEqn());
if (pimple.momentumPredictor()) if (pimple.momentumPredictor())
{ {
solve(UEqn() == -fvc::grad(p_gh) + sources(U)); solve(UEqn() == -fvc::grad(p_gh) + sources(U));
sources.correct(U);
} }

View File

@ -74,6 +74,3 @@
label p_ghRefCell = 0; label p_ghRefCell = 0;
scalar p_ghRefValue = 0.0; scalar p_ghRefValue = 0.0;
setRefCell(p_gh, pimple.dict(), p_ghRefCell, p_ghRefValue); setRefCell(p_gh, pimple.dict(), p_ghRefCell, p_ghRefValue);
IObasicSourceList sources(mesh);

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2011 OpenFOAM Foundation \\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -52,6 +52,7 @@ int main(int argc, char *argv[])
pimpleControl pimple(mesh); pimpleControl pimple(mesh);
#include "createFields.H" #include "createFields.H"
#include "createSources.H"
#include "initContinuityErrs.H" #include "initContinuityErrs.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2011 OpenFOAM Foundation \\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -45,6 +45,7 @@ int main(int argc, char *argv[])
#include "createTime.H" #include "createTime.H"
#include "createMesh.H" #include "createMesh.H"
#include "createFields.H" #include "createFields.H"
#include "createSources.H"
#include "initContinuityErrs.H" #include "initContinuityErrs.H"
simpleControl simple(mesh); simpleControl simple(mesh);

View File

@ -14,3 +14,5 @@
sources.constrain(UrelEqn()); sources.constrain(UrelEqn());
solve(UrelEqn() == -fvc::grad(p)); solve(UrelEqn() == -fvc::grad(p));
sources.correct(Urel);

View File

@ -52,9 +52,4 @@
); );
Info<< "Creating SRF model\n" << endl; Info<< "Creating SRF model\n" << endl;
autoPtr<SRF::SRFModel> SRF autoPtr<SRF::SRFModel> SRF(SRF::SRFModel::New(Urel));
(
SRF::SRFModel::New(Urel)
);
IObasicSourceList sources(mesh);

View File

@ -13,3 +13,5 @@
sources.constrain(UEqn()); sources.constrain(UEqn());
solve(UEqn() == -fvc::grad(p)); solve(UEqn() == -fvc::grad(p));
sources.correct(U);

View File

@ -39,5 +39,3 @@
( (
incompressible::RASModel::New(U, phi, laminarTransport) incompressible::RASModel::New(U, phi, laminarTransport)
); );
IObasicSourceList sources(mesh);

View File

@ -12,8 +12,6 @@
UEqn().relax(); UEqn().relax();
sources.constrain(UEqn());
// Include the porous media resistance and solve the momentum equation // Include the porous media resistance and solve the momentum equation
// either implicit in the tensorial resistance or transport using by // either implicit in the tensorial resistance or transport using by
// including the spherical part of the resistance in the momentum diagonal // including the spherical part of the resistance in the momentum diagonal
@ -28,6 +26,8 @@
trTU = inv(tTU()); trTU = inv(tTU());
trTU().rename("rAU"); trTU().rename("rAU");
sources.constrain(UEqn());
volVectorField gradp(fvc::grad(p)); volVectorField gradp(fvc::grad(p));
for (int UCorr=0; UCorr<nUCorr; UCorr++) for (int UCorr=0; UCorr<nUCorr; UCorr++)
@ -35,13 +35,19 @@
U = trTU() & (UEqn().H() - gradp); U = trTU() & (UEqn().H() - gradp);
} }
U.correctBoundaryConditions(); U.correctBoundaryConditions();
sources.correct(U);
} }
else else
{ {
pZones.addResistance(UEqn()); pZones.addResistance(UEqn());
sources.constrain(UEqn());
solve(UEqn() == -fvc::grad(p)); solve(UEqn() == -fvc::grad(p));
sources.correct(U);
trAU = 1.0/UEqn().A(); trAU = 1.0/UEqn().A();
trAU().rename("rAU"); trAU().rename("rAU");
} }

View File

@ -50,6 +50,7 @@ int main(int argc, char *argv[])
simpleControl simple(mesh); simpleControl simple(mesh);
#include "createFields.H" #include "createFields.H"
#include "createSources.H"
#include "createZones.H" #include "createZones.H"
#include "initContinuityErrs.H" #include "initContinuityErrs.H"

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2011 OpenFOAM Foundation \\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -43,6 +43,7 @@ int main(int argc, char *argv[])
#include "createTime.H" #include "createTime.H"
#include "createMesh.H" #include "createMesh.H"
#include "createFields.H" #include "createFields.H"
#include "createSources.H"
#include "initContinuityErrs.H" #include "initContinuityErrs.H"
simpleControl simple(mesh); simpleControl simple(mesh);

View File

@ -25,9 +25,13 @@
); );
EEqn.relax(); EEqn.relax();
sources.constrain(EEqn); sources.constrain(EEqn);
EEqn.solve(); EEqn.solve();
sources.correct(he);
thermo.correct(); thermo.correct();
radiation->correct(); radiation->correct();

View File

@ -17,5 +17,7 @@
if (pimple.momentumPredictor()) if (pimple.momentumPredictor())
{ {
solve(UEqn == -fvc::grad(p)); solve(UEqn == -fvc::grad(p));
sources.correct(U);
K = 0.5*magSqr(U); K = 0.5*magSqr(U);
} }

View File

@ -39,6 +39,8 @@ tmp<fv::convectionScheme<scalar> > mvConvection
YiEqn.solve(mesh.solver("Yi")); YiEqn.solve(mesh.solver("Yi"));
sources.correct(Yi);
Yi.max(0.0); Yi.max(0.0);
Yt += Yi; Yt += Yi;
} }

View File

@ -55,6 +55,7 @@ int main(int argc, char *argv[])
#include "createMesh.H" #include "createMesh.H"
#include "readGravitationalAcceleration.H" #include "readGravitationalAcceleration.H"
#include "createFields.H" #include "createFields.H"
#include "createSources.H"
#include "createClouds.H" #include "createClouds.H"
#include "createRadiationModel.H" #include "createRadiationModel.H"
#include "initContinuityErrs.H" #include "initContinuityErrs.H"

View File

@ -126,9 +126,6 @@
Info<< "Creating field kinetic energy K\n" << endl; Info<< "Creating field kinetic energy K\n" << endl;
volScalarField K("K", 0.5*magSqr(U)); volScalarField K("K", 0.5*magSqr(U));
Info<< "\nConstructing sources" << endl;
IObasicSourceList sources(mesh);
volScalarField dQ volScalarField dQ
( (
IOobject IOobject

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2011 OpenFOAM Foundation \\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -42,6 +42,8 @@ Description
sources.constrain(rhoEqn); sources.constrain(rhoEqn);
rhoEqn.solve(); rhoEqn.solve();
sources.correct(rho);
} }
// ************************************************************************* // // ************************************************************************* //

View File

@ -25,9 +25,13 @@
); );
EEqn.relax(); EEqn.relax();
sources.constrain(EEqn); sources.constrain(EEqn);
EEqn.solve(); EEqn.solve();
sources.correct(he);
thermo.correct(); thermo.correct();
radiation->correct(); radiation->correct();

View File

@ -26,5 +26,7 @@
)*mesh.magSf() )*mesh.magSf()
) )
); );
sources.correct(U);
K = 0.5*magSqr(U); K = 0.5*magSqr(U);
} }

View File

@ -40,6 +40,8 @@ tmp<fv::convectionScheme<scalar> > mvConvection
YEqn.solve(mesh.solver("Yi")); YEqn.solve(mesh.solver("Yi"));
sources.correct(Yi);
Yi.max(0.0); Yi.max(0.0);
Yt += Yi; Yt += Yi;
} }

View File

@ -139,5 +139,3 @@
mesh, mesh,
dimensionedScalar("dQ", dimEnergy/dimTime, 0.0) dimensionedScalar("dQ", dimEnergy/dimTime, 0.0)
); );
IObasicSourceList sources(mesh);

View File

@ -50,6 +50,7 @@ int main(int argc, char *argv[])
#include "createMesh.H" #include "createMesh.H"
#include "readGravitationalAcceleration.H" #include "readGravitationalAcceleration.H"
#include "createFields.H" #include "createFields.H"
#include "createSources.H"
#include "createClouds.H" #include "createClouds.H"
#include "createRadiationModel.H" #include "createRadiationModel.H"
#include "createSurfaceFilmModel.H" #include "createSurfaceFilmModel.H"

View File

@ -30,7 +30,7 @@ Description
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/
{ {
solve fvScalarMatrix rhoEqn
( (
fvm::ddt(rho) fvm::ddt(rho)
+ fvc::div(phi) + fvc::div(phi)
@ -39,6 +39,12 @@ Description
+ surfaceFilm.Srho() + surfaceFilm.Srho()
+ sources(rho) + sources(rho)
); );
sources.constrain(rhoEqn);
rhoEqn.solve();
sources.correct(rho);
} }
// ************************************************************************* // // ************************************************************************* //

View File

@ -24,9 +24,13 @@
); );
EEqn.relax(); EEqn.relax();
sources.constrain(EEqn); sources.constrain(EEqn);
EEqn.solve(); EEqn.solve();
sources.correct(he);
thermo.correct(); thermo.correct();
radiation->correct(); radiation->correct();

View File

@ -60,11 +60,10 @@ int main(int argc, char *argv[])
#include "readTimeControls.H" #include "readTimeControls.H"
#include "createFields.H" #include "createFields.H"
#include "createSources.H"
#include "createRDeltaT.H" #include "createRDeltaT.H"
#include "createRadiationModel.H" #include "createRadiationModel.H"
#include "createClouds.H" #include "createClouds.H"
#include "createExplicitSources.H"
#include "createPorousZones.H"
#include "initContinuityErrs.H" #include "initContinuityErrs.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

View File

@ -1,6 +1,5 @@
fvVectorMatrix UEqn fvVectorMatrix UEqn
( (
//pZones.ddt(rho, U)
fvm::ddt(rho, U) fvm::ddt(rho, U)
+ fvm::div(phi, U) + fvm::div(phi, U)
+ turbulence->divDevRhoReff(U) + turbulence->divDevRhoReff(U)
@ -14,10 +13,10 @@
sources.constrain(UEqn); sources.constrain(UEqn);
pZones.addResistance(UEqn);
if (pimple.momentumPredictor()) if (pimple.momentumPredictor())
{ {
solve(UEqn == -fvc::grad(p)); solve(UEqn == -fvc::grad(p));
sources.correct(U);
K = 0.5*magSqr(U); K = 0.5*magSqr(U);
} }

View File

@ -38,6 +38,8 @@ tmp<fv::convectionScheme<scalar> > mvConvection
YEqn.solve(mesh.solver("Yi")); YEqn.solve(mesh.solver("Yi"));
sources.correct(Yi);
Yi.max(0.0); Yi.max(0.0);
Yt += Yi; Yt += Yi;
} }

View File

@ -1,2 +0,0 @@
Info<< "Creating sources\n" << endl;
IObasicSourceList sources(mesh);

View File

@ -1,3 +0,0 @@
Info<< "Creating porous zones" << nl << endl;
IOporosityModelList pZones(mesh);

View File

@ -64,8 +64,7 @@ int main(int argc, char *argv[])
#include "createFields.H" #include "createFields.H"
#include "createRadiationModel.H" #include "createRadiationModel.H"
#include "createClouds.H" #include "createClouds.H"
#include "createExplicitSources.H" #include "createSources.H"
#include "createPorousZones.H"
#include "initContinuityErrs.H" #include "initContinuityErrs.H"
#include "readTimeControls.H" #include "readTimeControls.H"
#include "compressibleCourantNo.H" #include "compressibleCourantNo.H"

View File

@ -43,6 +43,8 @@ Description
rhoEqn.solve(); rhoEqn.solve();
sources.correct(rho);
Info<< "rho min/max = " << min(rho).value() << ", " << max(rho).value() Info<< "rho min/max = " << min(rho).value() << ", " << max(rho).value()
<< endl; << endl;
} }

View File

@ -16,5 +16,7 @@
if (pimple.momentumPredictor()) if (pimple.momentumPredictor())
{ {
solve(UEqn == -fvc::grad(p)); solve(UEqn == -fvc::grad(p));
sources.correct(U);
K = 0.5*magSqr(U); K = 0.5*magSqr(U);
} }

Some files were not shown because too many files have changed in this diff Show More