diff --git a/applications/solvers/compressible/rhoSimplecFoam/UEqn.H b/applications/solvers/compressible/rhoSimplecFoam/UEqn.H deleted file mode 100644 index 21ec2646be..0000000000 --- a/applications/solvers/compressible/rhoSimplecFoam/UEqn.H +++ /dev/null @@ -1,11 +0,0 @@ - // Solve the Momentum equation - - tmp UEqn - ( - fvm::div(phi, U) - + turbulence->divDevRhoReff(U) - ); - - UEqn().relax(); - - solve(UEqn() == -fvc::grad(p)); diff --git a/applications/solvers/compressible/rhoSimplecFoam/hEqn.H b/applications/solvers/compressible/rhoSimplecFoam/hEqn.H deleted file mode 100644 index bec9ed3ae0..0000000000 --- a/applications/solvers/compressible/rhoSimplecFoam/hEqn.H +++ /dev/null @@ -1,28 +0,0 @@ -{ - fvScalarMatrix hEqn - ( - fvm::div(phi, h) - - fvm::Sp(fvc::div(phi), h) - - fvm::laplacian(turbulence->alphaEff(), h) - == - fvc::div(phi/fvc::interpolate(rho)*fvc::interpolate(p, "div(U,p)")) - - p*fvc::div(phi/fvc::interpolate(rho)) - ); - - hEqn.relax(); - - hEqn.solve(); - - thermo.correct(); - - rho = thermo.rho(); - - if (!transonic) - { - rho.relax(); - } - - Info<< "rho max/min : " - << max(rho).value() << " " - << min(rho).value() << endl; -} diff --git a/applications/solvers/compressible/rhoSimplecFoam/pEqn.H b/applications/solvers/compressible/rhoSimplecFoam/pEqn.H index 43443a507b..2e370cc447 100644 --- a/applications/solvers/compressible/rhoSimplecFoam/pEqn.H +++ b/applications/solvers/compressible/rhoSimplecFoam/pEqn.H @@ -1,3 +1,8 @@ +rho = thermo.rho(); +rho = max(rho, rhoMin); +rho = min(rho, rhoMax); +rho.relax(); + volScalarField p0 = p; volScalarField AU = UEqn().A(); @@ -24,8 +29,8 @@ if (transonic) + phid*(fvc::interpolate(p) - fvc::interpolate(p, "UD")) ); - refCast(p.boundaryField()[1]).refValue() - = p.boundaryField()[1]; + //refCast(p.boundaryField()[1]).refValue() + // = p.boundaryField()[1]; fvScalarMatrix pEqn ( @@ -35,6 +40,7 @@ if (transonic) + fvc::div(phid)*p - fvm::laplacian(rho/AtU, p) ); + //pEqn.relax(); pEqn.setReference(pRefCell, pRefValue); diff --git a/applications/solvers/compressible/rhoSimplecFoam/rhoSimplecFoam.C b/applications/solvers/compressible/rhoSimplecFoam/rhoSimplecFoam.C index 541e7b388f..c959cfdd3e 100644 --- a/applications/solvers/compressible/rhoSimplecFoam/rhoSimplecFoam.C +++ b/applications/solvers/compressible/rhoSimplecFoam/rhoSimplecFoam.C @@ -57,6 +57,7 @@ int main(int argc, char *argv[]) #include "readSIMPLEControls.H" p.storePrevIter(); + rho.storePrevIter(); if (!transonic) { diff --git a/applications/test/memInfo/Make/files b/applications/test/memInfo/Make/files new file mode 100644 index 0000000000..c42564e8fc --- /dev/null +++ b/applications/test/memInfo/Make/files @@ -0,0 +1,3 @@ +memInfo.C + +EXE = $(FOAM_USER_APPBIN)/memInfo diff --git a/applications/test/memInfo/Make/options b/applications/test/memInfo/Make/options new file mode 100644 index 0000000000..e69de29bb2 diff --git a/applications/test/memInfo/memInfo.C b/applications/test/memInfo/memInfo.C new file mode 100644 index 0000000000..fb20be6d8d --- /dev/null +++ b/applications/test/memInfo/memInfo.C @@ -0,0 +1,19 @@ +#include "memInfo.H" +#include "IOstreams.H" +#include "List.H" +#include "vector.H" + +using namespace Foam; + +int main() +{ + memInfo m; + + Info<< m << endl; + + List l(10000000, vector::one); + + Info<< m.update() << endl; + + return 0; +} diff --git a/applications/utilities/parallelProcessing/reconstructPar/reconstructPar.C b/applications/utilities/parallelProcessing/reconstructPar/reconstructPar.C index 559bb4a715..8d0867f0ed 100644 --- a/applications/utilities/parallelProcessing/reconstructPar/reconstructPar.C +++ b/applications/utilities/parallelProcessing/reconstructPar/reconstructPar.C @@ -56,6 +56,14 @@ int main(int argc, char *argv[]) "specify a list of fields to be reconstructed. Eg, '(U T p)' - " "regular expressions not currently supported" ); + argList::addOption + ( + "lagrangianFields", + "list", + "specify a list of lagrangian fields to be reconstructed. Eg, '(U d)' -" + "regular expressions not currently supported, " + "positions always included." + ); argList::addBoolOption ( "noLagrangian", @@ -73,6 +81,20 @@ int main(int argc, char *argv[]) const bool noLagrangian = args.optionFound("noLagrangian"); + HashSet selectedLagrangianFields; + if (args.optionFound("lagrangianFields")) + { + if (noLagrangian) + { + FatalErrorIn(args.executable()) + << "Cannot specify noLagrangian and lagrangianFields " + << "options together." + << exit(FatalError); + } + + args.optionLookup("lagrangianFields")() >> selectedLagrangianFields; + } + // determine the processor count directly label nProcs = 0; while (isDir(args.path()/(word("processor") + name(nProcs)))) @@ -403,84 +425,96 @@ int main(int argc, char *argv[]) cloudName, mesh, procMeshes.meshes(), - sprayObjs + sprayObjs, + selectedLagrangianFields ); reconstructLagrangianFieldFields