mirror of
https://develop.openfoam.com/Development/openfoam.git
synced 2025-11-28 03:28:01 +00:00
Merge branch 'master' of dm:/home/dm4/OpenFOAM/OpenFOAM-dev
This commit is contained in:
@ -25,5 +25,7 @@
|
|||||||
|
|
||||||
EaEqn.solve();
|
EaEqn.solve();
|
||||||
|
|
||||||
|
sources.correct(hea);
|
||||||
|
|
||||||
thermo.correct();
|
thermo.correct();
|
||||||
}
|
}
|
||||||
|
|||||||
@ -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);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -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);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -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"
|
||||||
|
|||||||
@ -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);
|
||||||
|
|||||||
@ -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);
|
|
||||||
|
|||||||
@ -25,4 +25,6 @@ if (composition.contains("ft"))
|
|||||||
sources.constrain(ftEqn);
|
sources.constrain(ftEqn);
|
||||||
|
|
||||||
ftEqn.solve();
|
ftEqn.solve();
|
||||||
|
|
||||||
|
sources.correct(ft);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -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"
|
||||||
|
|||||||
@ -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);
|
|
||||||
|
|||||||
@ -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);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -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"
|
||||||
|
|||||||
@ -27,5 +27,6 @@
|
|||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
sources.correct(U);
|
||||||
K = 0.5*magSqr(U);
|
K = 0.5*magSqr(U);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -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) = "
|
||||||
|
|||||||
@ -146,6 +146,3 @@
|
|||||||
(
|
(
|
||||||
additionalControlsDict.lookup("solvePrimaryRegion")
|
additionalControlsDict.lookup("solvePrimaryRegion")
|
||||||
);
|
);
|
||||||
|
|
||||||
IObasicSourceList sources(mesh);
|
|
||||||
|
|
||||||
|
|||||||
@ -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"
|
||||||
|
|||||||
@ -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);
|
||||||
}
|
}
|
||||||
|
|
||||||
// ************************************************************************* //
|
// ************************************************************************* //
|
||||||
|
|||||||
@ -28,6 +28,8 @@
|
|||||||
|
|
||||||
EEqn.solve();
|
EEqn.solve();
|
||||||
|
|
||||||
|
sources.correct(he);
|
||||||
|
|
||||||
thermo.correct();
|
thermo.correct();
|
||||||
|
|
||||||
Info<< "min/max(T) = "
|
Info<< "min/max(T) = "
|
||||||
|
|||||||
@ -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);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -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;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -99,5 +99,3 @@ volScalarField dQ
|
|||||||
mesh,
|
mesh,
|
||||||
dimensionedScalar("dQ", dimEnergy/dimTime, 0.0)
|
dimensionedScalar("dQ", dimEnergy/dimTime, 0.0)
|
||||||
);
|
);
|
||||||
|
|
||||||
IObasicSourceList sources(mesh);
|
|
||||||
|
|||||||
@ -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"
|
||||||
|
|||||||
@ -101,5 +101,3 @@ volScalarField dQ
|
|||||||
mesh,
|
mesh,
|
||||||
dimensionedScalar("dQ", dimEnergy/dimTime, 0.0)
|
dimensionedScalar("dQ", dimEnergy/dimTime, 0.0)
|
||||||
);
|
);
|
||||||
|
|
||||||
IObasicSourceList sources(mesh);
|
|
||||||
|
|||||||
@ -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"
|
||||||
|
|||||||
@ -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();
|
||||||
}
|
}
|
||||||
|
|||||||
@ -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);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -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);
|
|
||||||
|
|||||||
@ -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"
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|||||||
@ -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"
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|||||||
@ -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"
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
@ -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();
|
||||||
}
|
}
|
||||||
|
|||||||
@ -10,4 +10,8 @@
|
|||||||
|
|
||||||
UEqn().relax();
|
UEqn().relax();
|
||||||
|
|
||||||
|
sources.constrain(UEqn());
|
||||||
|
|
||||||
solve(UEqn() == -fvc::grad(p));
|
solve(UEqn() == -fvc::grad(p));
|
||||||
|
|
||||||
|
sources.correct(U);
|
||||||
|
|||||||
@ -60,6 +60,3 @@
|
|||||||
);
|
);
|
||||||
|
|
||||||
dimensionedScalar initialMass = fvc::domainIntegrate(rho);
|
dimensionedScalar initialMass = fvc::domainIntegrate(rho);
|
||||||
|
|
||||||
Info<< "Creating sources\n" << endl;
|
|
||||||
IObasicSourceList sources(mesh);
|
|
||||||
|
|||||||
@ -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();
|
||||||
}
|
}
|
||||||
|
|||||||
@ -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");
|
||||||
}
|
}
|
||||||
|
|||||||
@ -59,6 +59,3 @@
|
|||||||
);
|
);
|
||||||
|
|
||||||
dimensionedScalar initialMass = fvc::domainIntegrate(rho);
|
dimensionedScalar initialMass = fvc::domainIntegrate(rho);
|
||||||
|
|
||||||
Info<< "Creating sources\n" << endl;
|
|
||||||
IObasicSourceList sources(mesh);
|
|
||||||
|
|||||||
@ -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"
|
||||||
|
|
||||||
|
|||||||
@ -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"
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|||||||
@ -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"
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|||||||
@ -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();
|
||||||
}
|
}
|
||||||
|
|||||||
@ -27,5 +27,7 @@
|
|||||||
)*mesh.magSf()
|
)*mesh.magSf()
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
sources.correct(U);
|
||||||
K = 0.5*magSqr(U);
|
K = 0.5*magSqr(U);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -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"
|
||||||
|
|||||||
@ -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);
|
|
||||||
|
|||||||
@ -21,6 +21,8 @@
|
|||||||
|
|
||||||
EEqn.solve();
|
EEqn.solve();
|
||||||
|
|
||||||
|
sources.correct(he);
|
||||||
|
|
||||||
thermo.correct();
|
thermo.correct();
|
||||||
radiation->correct();
|
radiation->correct();
|
||||||
}
|
}
|
||||||
|
|||||||
@ -26,4 +26,6 @@
|
|||||||
)*mesh.magSf()
|
)*mesh.magSf()
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
sources.correct(U);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -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"
|
||||||
|
|
||||||
|
|||||||
@ -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);
|
|
||||||
|
|||||||
@ -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"
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -21,6 +21,8 @@
|
|||||||
|
|
||||||
EEqn.solve();
|
EEqn.solve();
|
||||||
|
|
||||||
|
sources.correct(he);
|
||||||
|
|
||||||
thermo.correct();
|
thermo.correct();
|
||||||
rad.correct();
|
rad.correct();
|
||||||
|
|
||||||
|
|||||||
@ -23,3 +23,5 @@
|
|||||||
)*mesh.magSf()
|
)*mesh.magSf()
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
sources.correct(U);
|
||||||
|
|||||||
@ -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])
|
||||||
|
|||||||
@ -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
|
||||||
(
|
(
|
||||||
|
|||||||
@ -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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -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();
|
||||||
|
|
||||||
|
|||||||
@ -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);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -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])
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -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
|
||||||
(
|
(
|
||||||
|
|||||||
@ -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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -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);
|
||||||
|
|||||||
@ -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);
|
||||||
|
|||||||
@ -70,6 +70,3 @@ volVectorField U
|
|||||||
),
|
),
|
||||||
Urel + SRF->U()
|
Urel + SRF->U()
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
IObasicSourceList sources(mesh);
|
|
||||||
|
|||||||
@ -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);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -40,6 +40,3 @@ autoPtr<incompressible::turbulenceModel> turbulence
|
|||||||
(
|
(
|
||||||
incompressible::turbulenceModel::New(U, phi, laminarTransport)
|
incompressible::turbulenceModel::New(U, phi, laminarTransport)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
IObasicSourceList sources(mesh);
|
|
||||||
|
|||||||
@ -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);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -56,6 +56,3 @@
|
|||||||
runTime.deltaT(),
|
runTime.deltaT(),
|
||||||
zeroGradientFvPatchScalarField::typeName
|
zeroGradientFvPatchScalarField::typeName
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
IObasicSourceList sources(mesh);
|
|
||||||
|
|||||||
@ -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);
|
||||||
|
|||||||
@ -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);
|
||||||
|
|||||||
@ -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);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -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);
|
|
||||||
|
|||||||
@ -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"
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|||||||
@ -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);
|
||||||
|
|||||||
@ -14,3 +14,5 @@
|
|||||||
sources.constrain(UrelEqn());
|
sources.constrain(UrelEqn());
|
||||||
|
|
||||||
solve(UrelEqn() == -fvc::grad(p));
|
solve(UrelEqn() == -fvc::grad(p));
|
||||||
|
|
||||||
|
sources.correct(Urel);
|
||||||
|
|||||||
@ -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);
|
|
||||||
|
|||||||
@ -13,3 +13,5 @@
|
|||||||
sources.constrain(UEqn());
|
sources.constrain(UEqn());
|
||||||
|
|
||||||
solve(UEqn() == -fvc::grad(p));
|
solve(UEqn() == -fvc::grad(p));
|
||||||
|
|
||||||
|
sources.correct(U);
|
||||||
|
|||||||
@ -39,5 +39,3 @@
|
|||||||
(
|
(
|
||||||
incompressible::RASModel::New(U, phi, laminarTransport)
|
incompressible::RASModel::New(U, phi, laminarTransport)
|
||||||
);
|
);
|
||||||
|
|
||||||
IObasicSourceList sources(mesh);
|
|
||||||
|
|||||||
@ -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");
|
||||||
}
|
}
|
||||||
|
|||||||
@ -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"
|
||||||
|
|
||||||
|
|||||||
@ -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);
|
||||||
|
|||||||
@ -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();
|
||||||
|
|
||||||
|
|||||||
@ -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);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -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;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -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"
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
@ -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);
|
||||||
}
|
}
|
||||||
|
|
||||||
// ************************************************************************* //
|
// ************************************************************************* //
|
||||||
|
|||||||
@ -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();
|
||||||
|
|
||||||
|
|||||||
@ -26,5 +26,7 @@
|
|||||||
)*mesh.magSf()
|
)*mesh.magSf()
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
sources.correct(U);
|
||||||
K = 0.5*magSqr(U);
|
K = 0.5*magSqr(U);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -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;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -139,5 +139,3 @@
|
|||||||
mesh,
|
mesh,
|
||||||
dimensionedScalar("dQ", dimEnergy/dimTime, 0.0)
|
dimensionedScalar("dQ", dimEnergy/dimTime, 0.0)
|
||||||
);
|
);
|
||||||
|
|
||||||
IObasicSourceList sources(mesh);
|
|
||||||
|
|||||||
@ -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"
|
||||||
|
|||||||
@ -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);
|
||||||
}
|
}
|
||||||
|
|
||||||
// ************************************************************************* //
|
// ************************************************************************* //
|
||||||
|
|||||||
@ -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();
|
||||||
|
|
||||||
|
|||||||
@ -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"
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|||||||
@ -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);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -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;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,2 +0,0 @@
|
|||||||
Info<< "Creating sources\n" << endl;
|
|
||||||
IObasicSourceList sources(mesh);
|
|
||||||
@ -1,3 +0,0 @@
|
|||||||
Info<< "Creating porous zones" << nl << endl;
|
|
||||||
|
|
||||||
IOporosityModelList pZones(mesh);
|
|
||||||
@ -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"
|
||||||
|
|||||||
@ -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;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -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
Reference in New Issue
Block a user