diff --git a/applications/solvers/DNS/dnsFoam/Make/options b/applications/solvers/DNS/dnsFoam/Make/options index 34c3503a51..e0e7a30d72 100644 --- a/applications/solvers/DNS/dnsFoam/Make/options +++ b/applications/solvers/DNS/dnsFoam/Make/options @@ -1,10 +1,7 @@ EXE_INC = \ -I$(LIB_SRC)/finiteVolume/lnInclude \ - -I$(LIB_SRC)/randomProcesses/lnInclude \ - -I$(LIB_SRC)/sampling/lnInclude + -I$(LIB_SRC)/randomProcesses/lnInclude EXE_LIBS = \ -lfiniteVolume \ - -lrandomProcesses \ - -lsampling \ - -lmeshTools + -lrandomProcesses diff --git a/applications/solvers/combustion/PDRFoam/Make/options b/applications/solvers/combustion/PDRFoam/Make/options index 135659c276..b6c6398fde 100644 --- a/applications/solvers/combustion/PDRFoam/Make/options +++ b/applications/solvers/combustion/PDRFoam/Make/options @@ -5,7 +5,6 @@ EXE_INC = \ -IPDRModels/dragModels/PDRDragModel \ -IlaminarFlameSpeed/SCOPE \ -I$(LIB_SRC)/engine/lnInclude \ - -I$(LIB_SRC)/sampling/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/specie/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/reactionThermo/lnInclude \ diff --git a/applications/solvers/combustion/PDRFoam/PDRModels/turbulence/PDRkEpsilon/PDRkEpsilon.C b/applications/solvers/combustion/PDRFoam/PDRModels/turbulence/PDRkEpsilon/PDRkEpsilon.C index 44c4f6052f..fb61460fac 100644 --- a/applications/solvers/combustion/PDRFoam/PDRModels/turbulence/PDRkEpsilon/PDRkEpsilon.C +++ b/applications/solvers/combustion/PDRFoam/PDRModels/turbulence/PDRkEpsilon/PDRkEpsilon.C @@ -116,7 +116,7 @@ void PDRkEpsilon::correct() } tmp tgradU = fvc::grad(U_); - volScalarField G("RASModel.G", mut_*(tgradU() && dev(twoSymm(tgradU())))); + volScalarField G(type() + ".G", mut_*(tgradU() && dev(twoSymm(tgradU())))); tgradU.clear(); // Update espsilon and G at the wall diff --git a/applications/solvers/combustion/XiFoam/Make/options b/applications/solvers/combustion/XiFoam/Make/options index 0812df5e3b..3a07a7de58 100644 --- a/applications/solvers/combustion/XiFoam/Make/options +++ b/applications/solvers/combustion/XiFoam/Make/options @@ -5,7 +5,7 @@ EXE_INC = \ -I$(LIB_SRC)/thermophysicalModels/reactionThermo/lnInclude \ -I$(LIB_SRC)/turbulenceModels/compressible/turbulenceModel \ -I$(LIB_SRC)/thermophysicalModels/laminarFlameSpeed/lnInclude \ - -I$(LIB_SRC)/sampling/lnInclude \ + -I$(LIB_SRC)/meshTools/lnInclude \ -I$(LIB_SRC)/finiteVolume/lnInclude EXE_LIBS = \ @@ -17,5 +17,5 @@ EXE_LIBS = \ -lreactionThermophysicalModels \ -lspecie \ -llaminarFlameSpeedModels \ - -lfiniteVolume \ - -lmeshTools + -lmeshTools \ + -lfiniteVolume diff --git a/applications/solvers/combustion/coldEngineFoam/Make/options b/applications/solvers/combustion/coldEngineFoam/Make/options index 25217ab23f..2eaea744b0 100644 --- a/applications/solvers/combustion/coldEngineFoam/Make/options +++ b/applications/solvers/combustion/coldEngineFoam/Make/options @@ -20,6 +20,5 @@ EXE_LIBS = \ -lfluidThermophysicalModels \ -lspecie \ -lfiniteVolume \ - -lsampling \ -lmeshTools \ -lfieldSources diff --git a/applications/solvers/combustion/fireFoam/fireFoam.C b/applications/solvers/combustion/fireFoam/fireFoam.C index 9f97843a96..021ed3c6f0 100644 --- a/applications/solvers/combustion/fireFoam/fireFoam.C +++ b/applications/solvers/combustion/fireFoam/fireFoam.C @@ -30,7 +30,6 @@ Description \*---------------------------------------------------------------------------*/ -#include "mapDistribute.H" #include "fvCFD.H" #include "turbulenceModel.H" #include "basicReactingCloud.H" diff --git a/applications/solvers/incompressible/icoFoam/Make/options b/applications/solvers/incompressible/icoFoam/Make/options index fa15f12452..d38cd8b180 100644 --- a/applications/solvers/incompressible/icoFoam/Make/options +++ b/applications/solvers/incompressible/icoFoam/Make/options @@ -1,5 +1,7 @@ EXE_INC = \ - -I$(LIB_SRC)/finiteVolume/lnInclude + -I$(LIB_SRC)/finiteVolume/lnInclude \ + -I$(LIB_SRC)/sampling/lnInclude EXE_LIBS = \ - -lfiniteVolume + -lfiniteVolume \ + -lsampling diff --git a/applications/solvers/incompressible/pimpleFoam/UEqn.H b/applications/solvers/incompressible/pimpleFoam/UEqn.H index a6aef51daf..c274f6a2e8 100644 --- a/applications/solvers/incompressible/pimpleFoam/UEqn.H +++ b/applications/solvers/incompressible/pimpleFoam/UEqn.H @@ -7,6 +7,10 @@ tmp UEqn + turbulence->divDevReff(U) ); +mrfZones.addCoriolis(UEqn()); + +pZones.addResistance(UEqn()); + UEqn().relax(); sources.constrain(UEqn()); diff --git a/applications/solvers/incompressible/pimpleFoam/createZones.H b/applications/solvers/incompressible/pimpleFoam/createZones.H new file mode 100644 index 0000000000..fcd02024d5 --- /dev/null +++ b/applications/solvers/incompressible/pimpleFoam/createZones.H @@ -0,0 +1,4 @@ + IOMRFZoneList mrfZones(mesh); + mrfZones.correctBoundaryVelocity(U); + + IOporosityModelList pZones(mesh); diff --git a/applications/solvers/incompressible/pimpleFoam/pEqn.H b/applications/solvers/incompressible/pimpleFoam/pEqn.H index 444ad44503..1eb8590552 100644 --- a/applications/solvers/incompressible/pimpleFoam/pEqn.H +++ b/applications/solvers/incompressible/pimpleFoam/pEqn.H @@ -15,6 +15,8 @@ surfaceScalarField phiHbyA adjustPhi(phiHbyA, U, p); +mrfZones.relativeFlux(phiHbyA); + // Non-orthogonal pressure corrector loop while (pimple.correctNonOrthogonal()) { diff --git a/applications/solvers/incompressible/pimpleFoam/pimpleFoam.C b/applications/solvers/incompressible/pimpleFoam/pimpleFoam.C index 8d581934fb..d55af57e34 100644 --- a/applications/solvers/incompressible/pimpleFoam/pimpleFoam.C +++ b/applications/solvers/incompressible/pimpleFoam/pimpleFoam.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -28,7 +28,10 @@ Description Large time-step transient solver for incompressible, flow using the PIMPLE (merged PISO-SIMPLE) algorithm. - Turbulence modelling is generic, i.e. laminar, RAS or LES may be selected. + Sub-models include: + - turbulence modelling, i.e. laminar, RAS or LES + - porosity (explicit treatment) + - Multiple Reference Frame (MRF) \*---------------------------------------------------------------------------*/ @@ -37,6 +40,8 @@ Description #include "turbulenceModel.H" #include "pimpleControl.H" #include "IObasicSourceList.H" +#include "IOporosityModelList.H" +#include "IOMRFZoneList.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -46,6 +51,7 @@ int main(int argc, char *argv[]) #include "createTime.H" #include "createMesh.H" #include "createFields.H" + #include "createZones.H" #include "initContinuityErrs.H" pimpleControl pimple(mesh); diff --git a/applications/solvers/incompressible/simpleFoam/MRFSimpleFoam/UEqn.H b/applications/solvers/incompressible/simpleFoam/MRFSimpleFoam/UEqn.H index 8c39a839f7..d595a64c8f 100644 --- a/applications/solvers/incompressible/simpleFoam/MRFSimpleFoam/UEqn.H +++ b/applications/solvers/incompressible/simpleFoam/MRFSimpleFoam/UEqn.H @@ -10,8 +10,8 @@ mrfZones.addCoriolis(UEqn()); - sources.constrain(UEqn()); - UEqn().relax(); + sources.constrain(UEqn()); + solve(UEqn() == -fvc::grad(p)); diff --git a/applications/test/reconstruct/Make/files b/applications/test/reconstruct/Make/files new file mode 100644 index 0000000000..5dd557e6f8 --- /dev/null +++ b/applications/test/reconstruct/Make/files @@ -0,0 +1,3 @@ +Test-reconstruct.C + +EXE = $(FOAM_USER_APPBIN)/Test-reconstruct diff --git a/applications/test/reconstruct/Make/options b/applications/test/reconstruct/Make/options new file mode 100644 index 0000000000..1a8bb54992 --- /dev/null +++ b/applications/test/reconstruct/Make/options @@ -0,0 +1,4 @@ +EXE_INC = -g \ + -I$(LIB_SRC)/finiteVolume/lnInclude + +EXE_LIBS = -lfiniteVolume diff --git a/applications/test/reconstruct/Test-reconstruct.C b/applications/test/reconstruct/Test-reconstruct.C new file mode 100644 index 0000000000..59e9a03bb6 --- /dev/null +++ b/applications/test/reconstruct/Test-reconstruct.C @@ -0,0 +1,61 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | Copyright (C) 2012 OpenFOAM Foundation + \\/ M anipulation | +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + OpenFOAM is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License + along with OpenFOAM. If not, see . + +Application + Test-reconstruct + +\*---------------------------------------------------------------------------*/ + +#include "fvCFD.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +int main(int argc, char *argv[]) +{ + #include "setRootCase.H" + + #include "createTime.H" + #include "createMesh.H" + + surfaceScalarField phi(vector(1, 0, 0) & mesh.Sf()); + + volVectorField Uphi + ( + IOobject + ( + "Uphi", + runTime.timeName(), + mesh, + IOobject::NO_READ, + IOobject::AUTO_WRITE + ), + fvc::reconstruct(phi) + ); + + Uphi.write(); + + return 0; +} + + +// ************************************************************************* // diff --git a/applications/utilities/mesh/generation/cvMesh/Make/options b/applications/utilities/mesh/generation/cvMesh/Make/options index 2228fc2b12..27241b2965 100644 --- a/applications/utilities/mesh/generation/cvMesh/Make/options +++ b/applications/utilities/mesh/generation/cvMesh/Make/options @@ -17,7 +17,7 @@ EXE_INC = \ -I$(LIB_SRC)/meshTools/lnInclude \ -I$(LIB_SRC)/parallel/decompose/decompositionMethods/lnInclude \ -I$(LIB_SRC)/edgeMesh/lnInclude \ - -I$(LIB_SRC)/sampling/lnInclude \ + -I$(LIB_SRC)/fileFormats/lnInclude \ -I$(LIB_SRC)/dynamicMesh/lnInclude \ -I$(LIB_SRC)/triSurface/lnInclude @@ -30,6 +30,6 @@ EXE_LIBS = \ -ldecompositionMethods \ -L$(FOAM_LIBBIN)/dummy -lptscotchDecomp \ -ledgeMesh \ - -lsampling \ + -lfileFormats \ -ltriSurface \ -ldynamicMesh diff --git a/applications/utilities/mesh/generation/cvMesh/conformalVoronoiMesh/Make/options b/applications/utilities/mesh/generation/cvMesh/conformalVoronoiMesh/Make/options index 62649cf232..2082f88ff0 100644 --- a/applications/utilities/mesh/generation/cvMesh/conformalVoronoiMesh/Make/options +++ b/applications/utilities/mesh/generation/cvMesh/conformalVoronoiMesh/Make/options @@ -17,7 +17,7 @@ EXE_INC = \ -I$(LIB_SRC)/meshTools/lnInclude \ -I$(LIB_SRC)/parallel/decompose/decompositionMethods/lnInclude \ -I$(LIB_SRC)/edgeMesh/lnInclude \ - -I$(LIB_SRC)/sampling/lnInclude \ + -I$(LIB_SRC)/fileFormats/lnInclude \ -I$(LIB_SRC)/dynamicMesh/lnInclude \ -I$(LIB_SRC)/triSurface/lnInclude \ -I../vectorTools @@ -25,5 +25,6 @@ EXE_INC = \ EXE_LIBS = \ -lmeshTools \ -ledgeMesh \ + -lfileFormats \ -ltriSurface \ -ldynamicMesh diff --git a/applications/utilities/mesh/generation/cvMesh/cvMeshBackgroundMesh/Make/options b/applications/utilities/mesh/generation/cvMesh/cvMeshBackgroundMesh/Make/options index 2d1ad7bfda..ed71a80029 100644 --- a/applications/utilities/mesh/generation/cvMesh/cvMeshBackgroundMesh/Make/options +++ b/applications/utilities/mesh/generation/cvMesh/cvMeshBackgroundMesh/Make/options @@ -11,10 +11,11 @@ EXE_INC = \ -I../conformalVoronoiMesh/lnInclude \ -I$(LIB_SRC)/parallel/decompose/decompositionMethods/lnInclude \ -I$(LIB_SRC)/edgeMesh/lnInclude \ - -I$(LIB_SRC)/sampling/lnInclude \ -I$(LIB_SRC)/triSurface/lnInclude \ -I$(LIB_SRC)/finiteVolume/lnInclude \ -I$(LIB_SRC)/meshTools/lnInclude \ + -I$(LIB_SRC)/fileFormats/lnInclude \ + -I$(LIB_SRC)/sampling/lnInclude \ -I$(LIB_SRC)/dynamicMesh/lnInclude EXE_LIBS = \ @@ -24,8 +25,9 @@ EXE_LIBS = \ -lconformalVoronoiMesh \ -ldecompositionMethods /* -L$(FOAM_LIBBIN)/dummy -lscotchDecomp */ \ -ledgeMesh \ - -lsampling \ -ltriSurface \ -lmeshTools \ + -lfileFormats \ + -lsampling \ -ldynamicMesh \ -lfiniteVolume diff --git a/applications/utilities/mesh/generation/cvMesh/cvMeshSurfaceSimplify/Make/options b/applications/utilities/mesh/generation/cvMesh/cvMeshSurfaceSimplify/Make/options index 35c90b1f48..7bd92a24ab 100644 --- a/applications/utilities/mesh/generation/cvMesh/cvMeshSurfaceSimplify/Make/options +++ b/applications/utilities/mesh/generation/cvMesh/cvMeshSurfaceSimplify/Make/options @@ -9,7 +9,7 @@ EXE_INC = \ -I$(FASTDUALOCTREE_SRC_PATH) \ -I../conformalVoronoiMesh/lnInclude \ -I$(LIB_SRC)/edgeMesh/lnInclude \ - -I$(LIB_SRC)/sampling/lnInclude \ + -I$(LIB_SRC)/fileFormats/lnInclude \ -I$(LIB_SRC)/triSurface/lnInclude \ -I$(LIB_SRC)/meshTools/lnInclude @@ -22,7 +22,7 @@ EXE_LIBS = \ -lconformalVoronoiMesh \ -ldecompositionMethods -L$(FOAM_LIBBIN)/dummy -lscotchDecomp \ -ledgeMesh \ - -lsampling \ + -lfileFormats \ -ltriSurface \ -lmeshTools \ -ldynamicMesh diff --git a/applications/utilities/mesh/generation/snappyHexMesh/Make/options b/applications/utilities/mesh/generation/snappyHexMesh/Make/options index 94ff17ee99..af056ec7cb 100644 --- a/applications/utilities/mesh/generation/snappyHexMesh/Make/options +++ b/applications/utilities/mesh/generation/snappyHexMesh/Make/options @@ -3,7 +3,7 @@ EXE_INC = \ -I$(LIB_SRC)/parallel/decompose/decompositionMethods/lnInclude \ -I$(LIB_SRC)/mesh/autoMesh/lnInclude \ -I$(LIB_SRC)/meshTools/lnInclude \ - -I$(LIB_SRC)/sampling/lnInclude \ + -I$(LIB_SRC)/fileFormats/lnInclude \ -I$(LIB_SRC)/triSurface/lnInclude \ -I$(LIB_SRC)/dynamicMesh/lnInclude \ -I$(LIB_SRC)/edgeMesh/lnInclude \ @@ -14,6 +14,6 @@ EXE_LIBS = \ -ldecompositionMethods \ -L$(FOAM_LIBBIN)/dummy -lptscotchDecomp \ -lmeshTools \ - -lsampling \ + -lfileFormats \ -ldynamicMesh \ -lautoMesh diff --git a/applications/utilities/mesh/generation/snappyHexMesh/snappyHexMeshDict b/applications/utilities/mesh/generation/snappyHexMesh/snappyHexMeshDict index 050204d8a8..78cdb47ad0 100644 --- a/applications/utilities/mesh/generation/snappyHexMesh/snappyHexMeshDict +++ b/applications/utilities/mesh/generation/snappyHexMesh/snappyHexMeshDict @@ -337,7 +337,7 @@ addLayersControls // Advanced settings // When not to extrude surface. 0 is flat surface, 90 is when two faces - // make straight angle. + // are perpendicular featureAngle 60; // At non-patched sides allow mesh to slip if extrusion direction makes diff --git a/applications/utilities/mesh/manipulation/renumberMesh/renumberMesh.C b/applications/utilities/mesh/manipulation/renumberMesh/renumberMesh.C index e64f6cb78f..7eede94626 100644 --- a/applications/utilities/mesh/manipulation/renumberMesh/renumberMesh.C +++ b/applications/utilities/mesh/manipulation/renumberMesh/renumberMesh.C @@ -471,6 +471,47 @@ autoPtr reorderMesh true ); + + // Re-do the faceZones + { + faceZoneMesh& faceZones = mesh.faceZones(); + faceZones.clearAddressing(); + forAll(faceZones, zoneI) + { + faceZone& fZone = faceZones[zoneI]; + labelList newAddressing(fZone.size()); + boolList newFlipMap(fZone.size()); + forAll(fZone, i) + { + label oldFaceI = fZone[i]; + newAddressing[i] = reverseFaceOrder[oldFaceI]; + if (flipFaceFlux.found(newAddressing[i])) + { + newFlipMap[i] = !fZone.flipMap()[i]; + } + else + { + newFlipMap[i] = fZone.flipMap()[i]; + } + } + fZone.resetAddressing(newAddressing, newFlipMap); + } + } + // Re-do the cellZones + { + cellZoneMesh& cellZones = mesh.cellZones(); + cellZones.clearAddressing(); + forAll(cellZones, zoneI) + { + cellZones[zoneI] = UIndirectList