diff --git a/applications/solvers/incompressible/simpleFoam/Allwmake b/applications/solvers/incompressible/simpleFoam/Allwmake
index 577d11018f..79109c8f04 100755
--- a/applications/solvers/incompressible/simpleFoam/Allwmake
+++ b/applications/solvers/incompressible/simpleFoam/Allwmake
@@ -3,6 +3,10 @@ cd ${0%/*} || exit 1 # run from this directory
set -x
wmake
+
+wmake SRFSimpleFoam
+wmake MRFSimpleFoam
+wmake windSimpleFoam
wmake porousSimpleFoam
# ----------------------------------------------------------------- end-of-file
diff --git a/tutorials/lagrangian/rhoPisoTwinParcelFoam/rhoPisoTwinParcelFoam/rhoPisoTwinParcelFoam.C b/applications/solvers/incompressible/simpleFoam/MRFSimpleFoam/MRFSimpleFoam.C
similarity index 64%
rename from tutorials/lagrangian/rhoPisoTwinParcelFoam/rhoPisoTwinParcelFoam/rhoPisoTwinParcelFoam.C
rename to applications/solvers/incompressible/simpleFoam/MRFSimpleFoam/MRFSimpleFoam.C
index c00bc032ff..8125321157 100644
--- a/tutorials/lagrangian/rhoPisoTwinParcelFoam/rhoPisoTwinParcelFoam/rhoPisoTwinParcelFoam.C
+++ b/applications/solvers/incompressible/simpleFoam/MRFSimpleFoam/MRFSimpleFoam.C
@@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
- \\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd.
+ \\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@@ -22,19 +22,19 @@ License
along with OpenFOAM. If not, see .
Application
- rhoPisoTwinParcelFoam
+ MRFSimpleFoam
Description
- Transient solver for compressible, turbulent flow with two thermo-clouds.
+ Steady-state solver for incompressible, turbulent flow of non-Newtonian
+ fluids with MRF regions.
\*---------------------------------------------------------------------------*/
#include "fvCFD.H"
-#include "basicPsiThermo.H"
-#include "turbulenceModel.H"
-
-#include "basicThermoCloud.H"
-#include "basicKinematicCloud.H"
+#include "singlePhaseTransportModel.H"
+#include "RASModel.H"
+#include "MRFZones.H"
+#include "simpleControl.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
@@ -44,54 +44,32 @@ int main(int argc, char *argv[])
#include "createTime.H"
#include "createMesh.H"
- #include "readGravitationalAcceleration.H"
#include "createFields.H"
- #include "createClouds.H"
- #include "readPISOControls.H"
#include "initContinuityErrs.H"
- #include "readTimeControls.H"
- #include "compressibleCourantNo.H"
- #include "setInitialDeltaT.H"
+
+ MRFZones mrfZones(mesh);
+ mrfZones.correctBoundaryVelocity(U);
+
+ simpleControl simple(mesh);
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
Info<< "\nStarting time loop\n" << endl;
- while (runTime.run())
+ while (simple.loop())
{
- #include "readTimeControls.H"
- #include "readPISOControls.H"
- #include "compressibleCourantNo.H"
- #include "setDeltaT.H"
-
- runTime++;
-
Info<< "Time = " << runTime.timeName() << nl << endl;
- thermoCloud1.evolve();
+ p.storePrevIter();
- kinematicCloud1.evolve();
-
-
- #include "rhoEqn.H"
-
- // --- PIMPLE loop
- for (int ocorr=1; ocorr<=nOuterCorr; ocorr++)
+ // --- Pressure-velocity SIMPLE corrector
{
#include "UEqn.H"
-
- // --- PISO loop
- for (int corr=1; corr<=nCorr; corr++)
- {
- #include "hsEqn.H"
- #include "pEqn.H"
- }
+ #include "pEqn.H"
}
turbulence->correct();
- rho = thermo.rho();
-
runTime.write();
Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s"
diff --git a/applications/solvers/incompressible/simpleFoam/MRFSimpleFoam/Make/files b/applications/solvers/incompressible/simpleFoam/MRFSimpleFoam/Make/files
new file mode 100644
index 0000000000..56c194272d
--- /dev/null
+++ b/applications/solvers/incompressible/simpleFoam/MRFSimpleFoam/Make/files
@@ -0,0 +1,3 @@
+MRFSimpleFoam.C
+
+EXE = $(FOAM_APPBIN)/MRFSimpleFoam
diff --git a/tutorials/incompressible/MRFSimpleFoam/MRFSimpleFoam/Make/options b/applications/solvers/incompressible/simpleFoam/MRFSimpleFoam/Make/options
similarity index 97%
rename from tutorials/incompressible/MRFSimpleFoam/MRFSimpleFoam/Make/options
rename to applications/solvers/incompressible/simpleFoam/MRFSimpleFoam/Make/options
index 1223bdd06f..81310cc2e0 100644
--- a/tutorials/incompressible/MRFSimpleFoam/MRFSimpleFoam/Make/options
+++ b/applications/solvers/incompressible/simpleFoam/MRFSimpleFoam/Make/options
@@ -1,4 +1,5 @@
EXE_INC = \
+ -I.. \
-I$(LIB_SRC)/turbulenceModels \
-I$(LIB_SRC)/turbulenceModels/incompressible/RAS/RASModel \
-I$(LIB_SRC)/transportModels \
diff --git a/applications/solvers/incompressible/simpleFoam/MRFSimpleFoam/UEqn.H b/applications/solvers/incompressible/simpleFoam/MRFSimpleFoam/UEqn.H
new file mode 100644
index 0000000000..27d50944ce
--- /dev/null
+++ b/applications/solvers/incompressible/simpleFoam/MRFSimpleFoam/UEqn.H
@@ -0,0 +1,12 @@
+ // Momentum predictor
+
+ tmp UEqn
+ (
+ fvm::div(phi, U)
+ + turbulence->divDevReff(U)
+ );
+ mrfZones.addCoriolis(UEqn());
+
+ UEqn().relax();
+
+ solve(UEqn() == -fvc::grad(p));
diff --git a/tutorials/incompressible/simpleWindFoam/simpleWindFoam/pEqn.H b/applications/solvers/incompressible/simpleFoam/MRFSimpleFoam/pEqn.H
similarity index 70%
rename from tutorials/incompressible/simpleWindFoam/simpleWindFoam/pEqn.H
rename to applications/solvers/incompressible/simpleFoam/MRFSimpleFoam/pEqn.H
index 2f45b98012..81f5c20480 100644
--- a/tutorials/incompressible/simpleWindFoam/simpleWindFoam/pEqn.H
+++ b/applications/solvers/incompressible/simpleFoam/MRFSimpleFoam/pEqn.H
@@ -1,9 +1,12 @@
+{
p.boundaryField().updateCoeffs();
- volScalarField AU = UEqn().A();
- U = UEqn().H()/AU;
+ volScalarField rAU(1.0/UEqn().A());
+ U = rAU*UEqn().H();
UEqn.clear();
- phi = fvc::interpolate(U) & mesh.Sf();
+
+ phi = fvc::interpolate(U, "interpolate(HbyA)") & mesh.Sf();
+ mrfZones.relativeFlux(phi);
adjustPhi(phi, U, p);
// Non-orthogonal pressure corrector loop
@@ -11,7 +14,7 @@
{
fvScalarMatrix pEqn
(
- fvm::laplacian(1.0/AU, p) == fvc::div(phi)
+ fvm::laplacian(rAU, p) == fvc::div(phi)
);
pEqn.setReference(pRefCell, pRefValue);
@@ -29,5 +32,6 @@
p.relax();
// Momentum corrector
- U -= fvc::grad(p)/AU;
+ U -= rAU*fvc::grad(p);
U.correctBoundaryConditions();
+}
diff --git a/applications/solvers/incompressible/simpleFoam/SRFSimpleFoam/Make/files b/applications/solvers/incompressible/simpleFoam/SRFSimpleFoam/Make/files
new file mode 100644
index 0000000000..3250f4139d
--- /dev/null
+++ b/applications/solvers/incompressible/simpleFoam/SRFSimpleFoam/Make/files
@@ -0,0 +1,3 @@
+SRFSimpleFoam.C
+
+EXE = $(FOAM_APPBIN)/SRFSimpleFoam
diff --git a/tutorials/incompressible/simpleSRFFoam/simpleSRFFoam/Make/options b/applications/solvers/incompressible/simpleFoam/SRFSimpleFoam/Make/options
similarity index 97%
rename from tutorials/incompressible/simpleSRFFoam/simpleSRFFoam/Make/options
rename to applications/solvers/incompressible/simpleFoam/SRFSimpleFoam/Make/options
index cc3cd5e731..66a349da05 100644
--- a/tutorials/incompressible/simpleSRFFoam/simpleSRFFoam/Make/options
+++ b/applications/solvers/incompressible/simpleFoam/SRFSimpleFoam/Make/options
@@ -1,4 +1,5 @@
EXE_INC = \
+ -I.. \
-I$(LIB_SRC)/finiteVolume/lnInclude \
-I$(LIB_SRC)/turbulenceModels \
-I$(LIB_SRC)/turbulenceModels/incompressible/RAS/RASModel \
diff --git a/tutorials/incompressible/simpleSRFFoam/simpleSRFFoam/simpleSRFFoam.C b/applications/solvers/incompressible/simpleFoam/SRFSimpleFoam/SRFSimpleFoam.C
similarity index 90%
rename from tutorials/incompressible/simpleSRFFoam/simpleSRFFoam/simpleSRFFoam.C
rename to applications/solvers/incompressible/simpleFoam/SRFSimpleFoam/SRFSimpleFoam.C
index aac457a468..d3b5067c4f 100644
--- a/tutorials/incompressible/simpleSRFFoam/simpleSRFFoam/simpleSRFFoam.C
+++ b/applications/solvers/incompressible/simpleFoam/SRFSimpleFoam/SRFSimpleFoam.C
@@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
- \\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd.
+ \\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@@ -22,7 +22,7 @@ License
along with OpenFOAM. If not, see .
Application
- simpleSRFFoam
+ SRFSimpleFoam
Description
Steady-state solver for incompressible, turbulent flow of non-Newtonian
@@ -34,6 +34,7 @@ Description
#include "singlePhaseTransportModel.H"
#include "RASModel.H"
#include "SRFModel.H"
+#include "simpleControl.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
@@ -45,20 +46,19 @@ int main(int argc, char *argv[])
#include "createFields.H"
#include "initContinuityErrs.H"
+ simpleControl simple(mesh);
+
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
Info<< "\nStarting time loop\n" << endl;
- while (runTime.loop())
+ while (simple.loop())
{
Info<< "Time = " << runTime.timeName() << nl << endl;
- #include "readSIMPLEControls.H"
- #include "initConvergenceCheck.H"
-
p.storePrevIter();
- // Pressure-velocity SIMPLE corrector
+ // --- Pressure-velocity SIMPLE corrector
{
#include "UrelEqn.H"
#include "pEqn.H"
@@ -87,8 +87,6 @@ int main(int argc, char *argv[])
Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s"
<< " ClockTime = " << runTime.elapsedClockTime() << " s"
<< nl << endl;
-
- #include "convergenceCheck.H"
}
Info<< "End\n" << endl;
diff --git a/tutorials/incompressible/simpleSRFFoam/simpleSRFFoam/UrelEqn.H b/applications/solvers/incompressible/simpleFoam/SRFSimpleFoam/UrelEqn.H
similarity index 57%
rename from tutorials/incompressible/simpleSRFFoam/simpleSRFFoam/UrelEqn.H
rename to applications/solvers/incompressible/simpleFoam/SRFSimpleFoam/UrelEqn.H
index ac0bc044b7..38c64acb7b 100644
--- a/tutorials/incompressible/simpleSRFFoam/simpleSRFFoam/UrelEqn.H
+++ b/applications/solvers/incompressible/simpleFoam/SRFSimpleFoam/UrelEqn.H
@@ -1,4 +1,5 @@
// Relative momentum predictor
+
tmp UrelEqn
(
fvm::div(phi, Urel)
@@ -8,9 +9,4 @@
UrelEqn().relax();
- eqnResidual = solve
- (
- UrelEqn() == -fvc::grad(p)
- ).initialResidual();
-
- maxResidual = max(eqnResidual, maxResidual);
+ solve(UrelEqn() == -fvc::grad(p));
diff --git a/tutorials/incompressible/simpleSRFFoam/simpleSRFFoam/createFields.H b/applications/solvers/incompressible/simpleFoam/SRFSimpleFoam/createFields.H
similarity index 100%
rename from tutorials/incompressible/simpleSRFFoam/simpleSRFFoam/createFields.H
rename to applications/solvers/incompressible/simpleFoam/SRFSimpleFoam/createFields.H
diff --git a/tutorials/incompressible/simpleSRFFoam/simpleSRFFoam/pEqn.H b/applications/solvers/incompressible/simpleFoam/SRFSimpleFoam/pEqn.H
similarity index 53%
rename from tutorials/incompressible/simpleSRFFoam/simpleSRFFoam/pEqn.H
rename to applications/solvers/incompressible/simpleFoam/SRFSimpleFoam/pEqn.H
index b2bc37fd5d..beb73bd341 100644
--- a/tutorials/incompressible/simpleSRFFoam/simpleSRFFoam/pEqn.H
+++ b/applications/solvers/incompressible/simpleFoam/SRFSimpleFoam/pEqn.H
@@ -1,34 +1,37 @@
{
p.boundaryField().updateCoeffs();
- volScalarField AUrel = UrelEqn().A();
- Urel = UrelEqn().H()/AUrel;
+
+ volScalarField rAUrel(1.0/UrelEqn().A());
+ Urel = rAUrel*UrelEqn().H();
UrelEqn.clear();
- phi = fvc::interpolate(Urel) & mesh.Sf();
+
+ phi = fvc::interpolate(Urel, "interpolate(HbyA)") & mesh.Sf();
adjustPhi(phi, Urel, p);
// Non-orthogonal pressure corrector loop
- for (int nonOrth=0; nonOrth<=nNonOrthCorr; nonOrth++)
+ for (int nonOrth=0; nonOrth<=simple.nNonOrthCorr(); nonOrth++)
{
fvScalarMatrix pEqn
(
- fvm::laplacian(1.0/AUrel, p) == fvc::div(phi)
+ fvm::laplacian(rAUrel, p) == fvc::div(phi)
);
pEqn.setReference(pRefCell, pRefValue);
+
pEqn.solve();
- if (nonOrth == nNonOrthCorr)
+ if (nonOrth == simple.nNonOrthCorr())
{
phi -= pEqn.flux();
- }
+ }
}
-# include "continuityErrs.H"
+ #include "continuityErrs.H"
// Explicitly relax pressure for momentum corrector
p.relax();
// Momentum corrector
- Urel -= fvc::grad(p)/AUrel;
+ Urel -= rAUrel*fvc::grad(p);
Urel.correctBoundaryConditions();
}
diff --git a/applications/solvers/incompressible/simpleFoam/UEqn.H b/applications/solvers/incompressible/simpleFoam/UEqn.H
index e6fb6bf89e..0ee8abf0be 100644
--- a/applications/solvers/incompressible/simpleFoam/UEqn.H
+++ b/applications/solvers/incompressible/simpleFoam/UEqn.H
@@ -1,4 +1,4 @@
- // Solve the Momentum equation
+ // Momentum predictor
tmp UEqn
(
diff --git a/applications/solvers/incompressible/simpleFoam/pEqn.H b/applications/solvers/incompressible/simpleFoam/pEqn.H
index 4bd84f59c4..699cdcb3cf 100644
--- a/applications/solvers/incompressible/simpleFoam/pEqn.H
+++ b/applications/solvers/incompressible/simpleFoam/pEqn.H
@@ -1,9 +1,11 @@
+{
p.boundaryField().updateCoeffs();
- volScalarField AU(UEqn().A());
- U = UEqn().H()/AU;
+ volScalarField rAU(1.0/UEqn().A());
+ U = rAU*UEqn().H();
UEqn.clear();
- phi = fvc::interpolate(U) & mesh.Sf();
+
+ phi = fvc::interpolate(U, "interpolate(HbyA)") & mesh.Sf();
adjustPhi(phi, U, p);
// Non-orthogonal pressure corrector loop
@@ -11,7 +13,7 @@
{
fvScalarMatrix pEqn
(
- fvm::laplacian(1.0/AU, p) == fvc::div(phi)
+ fvm::laplacian(rAU, p) == fvc::div(phi)
);
pEqn.setReference(pRefCell, pRefValue);
@@ -30,5 +32,6 @@
p.relax();
// Momentum corrector
- U -= fvc::grad(p)/AU;
+ U -= rAU*fvc::grad(p);
U.correctBoundaryConditions();
+}
diff --git a/applications/solvers/incompressible/simpleFoam/simpleFoam.C b/applications/solvers/incompressible/simpleFoam/simpleFoam.C
index af2a913615..beb50f0f3f 100644
--- a/applications/solvers/incompressible/simpleFoam/simpleFoam.C
+++ b/applications/solvers/incompressible/simpleFoam/simpleFoam.C
@@ -56,7 +56,7 @@ int main(int argc, char *argv[])
p.storePrevIter();
- // Pressure-velocity SIMPLE corrector
+ // --- Pressure-velocity SIMPLE corrector
{
#include "UEqn.H"
#include "pEqn.H"
diff --git a/applications/solvers/incompressible/simpleFoam/windSimpleFoam/Make/files b/applications/solvers/incompressible/simpleFoam/windSimpleFoam/Make/files
new file mode 100644
index 0000000000..d7fe780806
--- /dev/null
+++ b/applications/solvers/incompressible/simpleFoam/windSimpleFoam/Make/files
@@ -0,0 +1,3 @@
+windSimpleFoam.C
+
+EXE = $(FOAM_APPBIN)/windSimpleFoam
diff --git a/tutorials/incompressible/simpleWindFoam/simpleWindFoam/Make/options b/applications/solvers/incompressible/simpleFoam/windSimpleFoam/Make/options
similarity index 97%
rename from tutorials/incompressible/simpleWindFoam/simpleWindFoam/Make/options
rename to applications/solvers/incompressible/simpleFoam/windSimpleFoam/Make/options
index 648de52f52..057788a483 100644
--- a/tutorials/incompressible/simpleWindFoam/simpleWindFoam/Make/options
+++ b/applications/solvers/incompressible/simpleFoam/windSimpleFoam/Make/options
@@ -1,4 +1,5 @@
EXE_INC = \
+ -I.. \
-I$(LIB_SRC)/turbulenceModels \
-I$(LIB_SRC)/turbulenceModels/incompressible/RAS/RASModel \
-I$(LIB_SRC)/transportModels \
diff --git a/tutorials/incompressible/simpleWindFoam/simpleWindFoam/UEqn.H b/applications/solvers/incompressible/simpleFoam/windSimpleFoam/UEqn.H
similarity index 100%
rename from tutorials/incompressible/simpleWindFoam/simpleWindFoam/UEqn.H
rename to applications/solvers/incompressible/simpleFoam/windSimpleFoam/UEqn.H
diff --git a/tutorials/incompressible/simpleWindFoam/simpleWindFoam/simpleWindFoam.C b/applications/solvers/incompressible/simpleFoam/windSimpleFoam/windSimpleFoam.C
similarity index 98%
rename from tutorials/incompressible/simpleWindFoam/simpleWindFoam/simpleWindFoam.C
rename to applications/solvers/incompressible/simpleFoam/windSimpleFoam/windSimpleFoam.C
index 3f97daa4d9..f2d095ae8f 100644
--- a/tutorials/incompressible/simpleWindFoam/simpleWindFoam/simpleWindFoam.C
+++ b/applications/solvers/incompressible/simpleFoam/windSimpleFoam/windSimpleFoam.C
@@ -46,6 +46,8 @@ int main(int argc, char *argv[])
#include "createFields.H"
#include "initContinuityErrs.H"
+ IObasicSourceList actuationDisks(mesh);
+
simpleControl simple(mesh);
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
diff --git a/applications/utilities/mesh/conversion/datToFoam/Make/files b/applications/utilities/mesh/conversion/datToFoam/Make/files
new file mode 100644
index 0000000000..93d1ed79c4
--- /dev/null
+++ b/applications/utilities/mesh/conversion/datToFoam/Make/files
@@ -0,0 +1,3 @@
+datToFoam.C
+
+EXE = $(FOAM_APPBIN)/datToFoam
diff --git a/tutorials/compressible/rhoCentralFoam/biconic25-55Run35/datToFoam/Make/options b/applications/utilities/mesh/conversion/datToFoam/Make/options
similarity index 100%
rename from tutorials/compressible/rhoCentralFoam/biconic25-55Run35/datToFoam/Make/options
rename to applications/utilities/mesh/conversion/datToFoam/Make/options
diff --git a/tutorials/compressible/rhoCentralFoam/biconic25-55Run35/datToFoam/datToFoam.C b/applications/utilities/mesh/conversion/datToFoam/datToFoam.C
similarity index 97%
rename from tutorials/compressible/rhoCentralFoam/biconic25-55Run35/datToFoam/datToFoam.C
rename to applications/utilities/mesh/conversion/datToFoam/datToFoam.C
index f234587a2d..8c14410f5b 100644
--- a/tutorials/compressible/rhoCentralFoam/biconic25-55Run35/datToFoam/datToFoam.C
+++ b/applications/utilities/mesh/conversion/datToFoam/datToFoam.C
@@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
- \\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd.
+ \\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@@ -54,7 +54,7 @@ int main(int argc, char *argv[])
FatalError.exit();
}
-# include "createTime.H"
+ #include "createTime.H"
std::ifstream plot3dFile(args.args()[1].c_str());
diff --git a/applications/utilities/postProcessing/miscellaneous/postChannel/collapse.H b/applications/utilities/postProcessing/miscellaneous/postChannel/collapse.H
index 4b042ab63f..885ebb4805 100644
--- a/applications/utilities/postProcessing/miscellaneous/postChannel/collapse.H
+++ b/applications/utilities/postProcessing/miscellaneous/postChannel/collapse.H
@@ -1,3 +1,6 @@
+ fileName path(UMean.rootPath()/UMean.caseName()/"graphs"/UMean.instance());
+ mkDir(path);
+
scalarField UMeanXvalues
(
channelIndexing.collapse(UMean.component(vector::X)())
@@ -42,19 +45,19 @@
const scalarField& y = channelIndexing.y();
- makeGraph(y, UMeanXvalues, "Uf", UMean.path(), gFormat);
- makeGraph(y, urmsValues, "u", UMean.path(), gFormat);
- makeGraph(y, vrmsValues, "v", UMean.path(), gFormat);
- makeGraph(y, wrmsValues, "w", UMean.path(), gFormat);
- makeGraph(y, RxyValues, "uv", UMean.path(), gFormat);
- makeGraph(y, kValues, "k", UMean.path(), gFormat);
+ makeGraph(y, UMeanXvalues, "Uf", path, gFormat);
+ makeGraph(y, urmsValues, "u", path, gFormat);
+ makeGraph(y, vrmsValues, "v", path, gFormat);
+ makeGraph(y, wrmsValues, "w", path, gFormat);
+ makeGraph(y, RxyValues, "uv", path, gFormat);
+ makeGraph(y, kValues, "k", path, gFormat);
- makeGraph(y, pPrime2MeanValues, "pPrime2Mean", UMean.path(), gFormat);
+ makeGraph(y, pPrime2MeanValues, "pPrime2Mean", path, gFormat);
/*
- makeGraph(y, epsilonValues, "epsilon", UMean.path(), gFormat);
- makeGraph(y, nuMeanValues, "nu", UMean.path(), gFormat);
- makeGraph(y, nuPrimeValues, "nuPrime", UMean.path(), gFormat);
- makeGraph(y, gammaDotMeanValues, "gammaDot", UMean.path(), gFormat);
- makeGraph(y, gammaDotPrimeValues, "gammaDotPrime", UMean.path(), gFormat);
+ makeGraph(y, epsilonValues, "epsilon", path, gFormat);
+ makeGraph(y, nuMeanValues, "nu", path, gFormat);
+ makeGraph(y, nuPrimeValues, "nuPrime", path, gFormat);
+ makeGraph(y, gammaDotMeanValues, "gammaDot", path, gFormat);
+ makeGraph(y, gammaDotPrimeValues, "gammaDotPrime", path, gFormat);
*/
diff --git a/bin/tools/CleanFunctions b/bin/tools/CleanFunctions
index 0a006348a5..e7f1ad40a6 100644
--- a/bin/tools/CleanFunctions
+++ b/bin/tools/CleanFunctions
@@ -76,7 +76,10 @@ cleanCase()
rm -rf processor* > /dev/null 2>&1
rm -rf probes* > /dev/null 2>&1
rm -rf forces* > /dev/null 2>&1
+ rm -rf graphs* > /dev/null 2>&1
rm -rf sets > /dev/null 2>&1
+ rm -rf surfaceSampling > /dev/null 2>&1
+ rm -rf cuttingPlane > /dev/null 2>&1
rm -rf system/machines > /dev/null 2>&1
if [ -d constant/polyMesh ]
diff --git a/src/OpenFOAM/db/Time/Time.C b/src/OpenFOAM/db/Time/Time.C
index c44b3393d5..d276de95ce 100644
--- a/src/OpenFOAM/db/Time/Time.C
+++ b/src/OpenFOAM/db/Time/Time.C
@@ -257,7 +257,7 @@ Foam::Time::Time
graphFormat_("raw"),
runTimeModifiable_(true),
- readLibs_(controlDict_, "libs"),
+ libs_(controlDict_, "libs"),
functionObjects_(*this)
{
// Explicitly set read flags on objectRegistry so anything constructed
@@ -343,7 +343,7 @@ Foam::Time::Time
graphFormat_("raw"),
runTimeModifiable_(true),
- readLibs_(controlDict_, "libs"),
+ libs_(controlDict_, "libs"),
functionObjects_(*this)
{
// Explicitly set read flags on objectRegistry so anything constructed
@@ -430,7 +430,7 @@ Foam::Time::Time
graphFormat_("raw"),
runTimeModifiable_(true),
- readLibs_(controlDict_, "libs"),
+ libs_(controlDict_, "libs"),
functionObjects_(*this)
{}
diff --git a/src/OpenFOAM/db/Time/Time.H b/src/OpenFOAM/db/Time/Time.H
index c1fe271a96..28ff775a68 100644
--- a/src/OpenFOAM/db/Time/Time.H
+++ b/src/OpenFOAM/db/Time/Time.H
@@ -166,8 +166,8 @@ private:
//- Is runtime modification of dictionaries allowed?
Switch runTimeModifiable_;
- //- Instantiate a dummy class to cause the reading of dynamic libraries
- dlLibraryTable::readDlLibrary readLibs_;
+ //- Any loaded dynamic libraries
+ dlLibraryTable libs_;
//- Function objects executed at start and on ++, +=
mutable functionObjectList functionObjects_;
@@ -375,6 +375,12 @@ public:
return functionObjects_;
}
+ //- External access to the loaded libraries
+ dlLibraryTable& libs()
+ {
+ return libs_;
+ }
+
//- Return true if time currently being sub-cycled, otherwise false
bool subCycling() const
{
diff --git a/src/OpenFOAM/db/dictionary/functionEntries/codeStream/codeStream.C b/src/OpenFOAM/db/dictionary/functionEntries/codeStream/codeStream.C
index e4cfbc88ed..e0a1bbbdd4 100644
--- a/src/OpenFOAM/db/dictionary/functionEntries/codeStream/codeStream.C
+++ b/src/OpenFOAM/db/dictionary/functionEntries/codeStream/codeStream.C
@@ -36,6 +36,7 @@ License
#include "Time.H"
#include "PstreamReduceOps.H"
+#include "long.H"
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
@@ -61,6 +62,36 @@ const Foam::word Foam::functionEntries::codeStream::codeTemplateC
= "codeStreamTemplate.C";
+// * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * //
+
+const Foam::dictionary& Foam::functionEntries::codeStream::topDict
+(
+ const dictionary& dict
+)
+{
+ const dictionary& p = dict.parent();
+
+ if (&p != &dict && !p.name().empty())
+ {
+ return topDict(p);
+ }
+ else
+ {
+ return dict;
+ }
+}
+
+
+Foam::dlLibraryTable& Foam::functionEntries::codeStream::libs
+(
+ const dictionary& dict
+)
+{
+ const IOdictionary& d = static_cast(topDict(dict));
+ return const_cast