diff --git a/Allwmake b/Allwmake index 16edfd1f6f..9187532553 100755 --- a/Allwmake +++ b/Allwmake @@ -26,12 +26,12 @@ else fi # build OpenFOAM libraries and applications -src/Allwmake -applications/Allwmake +src/Allwmake $* +applications/Allwmake $* if [ "$1" = doc ] then - doc/Allwmake + doc/Allwmake $* fi # ----------------------------------------------------------------- end-of-file diff --git a/applications/Allwmake b/applications/Allwmake index 00bc326641..7f7ac6718d 100755 --- a/applications/Allwmake +++ b/applications/Allwmake @@ -16,7 +16,7 @@ wmakeCheckPwd "$WM_PROJECT_DIR/applications" || { set -x -wmake all utilities -wmake all solvers +wmake all utilities $* +wmake all solvers $* # ----------------------------------------------------------------- end-of-file diff --git a/applications/solvers/combustion/PDRFoam/PDRModels/XiGModels/basicXiSubG/basicXiSubG.H b/applications/solvers/combustion/PDRFoam/PDRModels/XiGModels/basicXiSubG/basicXiSubG.H index 109354319e..aaf4620e3c 100644 --- a/applications/solvers/combustion/PDRFoam/PDRModels/XiGModels/basicXiSubG/basicXiSubG.H +++ b/applications/solvers/combustion/PDRFoam/PDRModels/XiGModels/basicXiSubG/basicXiSubG.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -22,8 +22,7 @@ License along with OpenFOAM. If not, see . Class - Foam::XiGModel::basicSubGrid - + Foam::XiGModels::basicSubGrid Description @@ -39,13 +38,14 @@ Description and the removal: - \f[ - k_{1} /frac{\vert \dwea{\vec{U}} \vert}{L_{sub}} - \frac{\Xi_{sub}-1}{\Xi_{sub}} \f] + \f[ + - k_{1} /frac{\vert \dwea{\vec{U}} \vert}{L_{sub}} + \frac{\Xi_{sub}-1}{\Xi_{sub}} + \f] Finally, \f$ G_{sub} \f$ is added to generation rate \f$ G_{in} \f$ due to the turbulence. - SourceFiles basicSubGrid.C @@ -64,7 +64,7 @@ namespace XiGModels { /*---------------------------------------------------------------------------*\ - Class basicSubGrid Declaration + Class basicSubGrid Declaration \*---------------------------------------------------------------------------*/ class basicSubGrid diff --git a/applications/solvers/combustion/PDRFoam/XiModels/XiEqModels/SCOPEXiEq/SCOPEXiEq.H b/applications/solvers/combustion/PDRFoam/XiModels/XiEqModels/SCOPEXiEq/SCOPEXiEq.H index 4c7095a6ed..1a4bb1ec0b 100644 --- a/applications/solvers/combustion/PDRFoam/XiModels/XiEqModels/SCOPEXiEq/SCOPEXiEq.H +++ b/applications/solvers/combustion/PDRFoam/XiModels/XiEqModels/SCOPEXiEq/SCOPEXiEq.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -22,7 +22,7 @@ License along with OpenFOAM. If not, see . Class - Foam::XiEqModel::SCOPEXiEq + Foam::XiEqModels::SCOPEXiEq Description Simple SCOPEXiEq model for XiEq based on SCOPEXiEqs correlation @@ -120,7 +120,6 @@ public: //- Update properties from given dictionary virtual bool read(const dictionary& XiEqProperties); - }; diff --git a/applications/solvers/combustion/chemFoam/readInitialConditions.H b/applications/solvers/combustion/chemFoam/readInitialConditions.H index b25fd944c5..8e340a7e16 100644 --- a/applications/solvers/combustion/chemFoam/readInitialConditions.H +++ b/applications/solvers/combustion/chemFoam/readInitialConditions.H @@ -87,7 +87,7 @@ forAll(Y, i) { Y[i] = Y0[i]; - h0 += Y0[i]*specieData[i].Hs(p[i], T0); + h0 += Y0[i]*specieData[i].Hs(p[0], T0); } thermo.he() = dimensionedScalar("h", dimEnergy/dimMass, h0); diff --git a/applications/solvers/heatTransfer/buoyantBoussinesqPimpleFoam/Make/options b/applications/solvers/heatTransfer/buoyantBoussinesqPimpleFoam/Make/options index 365e64d1b1..ca2936633a 100644 --- a/applications/solvers/heatTransfer/buoyantBoussinesqPimpleFoam/Make/options +++ b/applications/solvers/heatTransfer/buoyantBoussinesqPimpleFoam/Make/options @@ -1,5 +1,8 @@ EXE_INC = \ -I../buoyantBoussinesqSimpleFoam \ + -I$(LIB_SRC)/sampling/lnInclude \ + -I$(LIB_SRC)/meshTools/lnInclude \ + -I$(LIB_SRC)/fvOptions/lnInclude \ -I$(LIB_SRC)/finiteVolume/lnInclude \ -I$(LIB_SRC)/turbulenceModels \ -I$(LIB_SRC)/turbulenceModels/incompressible/RAS/lnInclude \ @@ -9,6 +12,8 @@ EXE_INC = \ EXE_LIBS = \ -lfiniteVolume \ + -lfvOptions \ + -lsampling \ -lmeshTools \ -lincompressibleTurbulenceModel \ -lincompressibleRASModels \ diff --git a/applications/solvers/heatTransfer/buoyantBoussinesqPimpleFoam/TEqn.H b/applications/solvers/heatTransfer/buoyantBoussinesqPimpleFoam/TEqn.H index 65c92dab51..76b0ef0168 100644 --- a/applications/solvers/heatTransfer/buoyantBoussinesqPimpleFoam/TEqn.H +++ b/applications/solvers/heatTransfer/buoyantBoussinesqPimpleFoam/TEqn.H @@ -11,12 +11,18 @@ - fvm::laplacian(alphaEff, T) == radiation->ST(rhoCpRef, T) + + fvOptions(T) ); TEqn.relax(); + + fvOptions.constrain(TEqn); + TEqn.solve(); radiation->correct(); + fvOptions.correct(T); + rhok = 1.0 - beta*(T - TRef); } diff --git a/applications/solvers/heatTransfer/buoyantBoussinesqPimpleFoam/UEqn.H b/applications/solvers/heatTransfer/buoyantBoussinesqPimpleFoam/UEqn.H index 07f46ec998..92768088b9 100644 --- a/applications/solvers/heatTransfer/buoyantBoussinesqPimpleFoam/UEqn.H +++ b/applications/solvers/heatTransfer/buoyantBoussinesqPimpleFoam/UEqn.H @@ -5,10 +5,14 @@ fvm::ddt(U) + fvm::div(phi, U) + turbulence->divDevReff(U) + == + fvOptions(U) ); UEqn.relax(); + fvOptions.constrain(UEqn); + if (pimple.momentumPredictor()) { solve @@ -23,4 +27,6 @@ )*mesh.magSf() ) ); + + fvOptions.correct(U); } diff --git a/applications/solvers/heatTransfer/buoyantBoussinesqPimpleFoam/buoyantBoussinesqPimpleFoam.C b/applications/solvers/heatTransfer/buoyantBoussinesqPimpleFoam/buoyantBoussinesqPimpleFoam.C index 65dda0653e..6168082e1d 100644 --- a/applications/solvers/heatTransfer/buoyantBoussinesqPimpleFoam/buoyantBoussinesqPimpleFoam.C +++ b/applications/solvers/heatTransfer/buoyantBoussinesqPimpleFoam/buoyantBoussinesqPimpleFoam.C @@ -48,8 +48,9 @@ Description #include "fvCFD.H" #include "singlePhaseTransportModel.H" #include "RASModel.H" -#include "pimpleControl.H" #include "radiationModel.H" +#include "fvIOoptionList.H" +#include "pimpleControl.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -61,6 +62,7 @@ int main(int argc, char *argv[]) #include "readGravitationalAcceleration.H" #include "createFields.H" #include "createIncompressibleRadiationModel.H" + #include "createFvOptions.H" #include "initContinuityErrs.H" #include "readTimeControls.H" #include "CourantNo.H" diff --git a/applications/solvers/heatTransfer/buoyantBoussinesqSimpleFoam/Make/options b/applications/solvers/heatTransfer/buoyantBoussinesqSimpleFoam/Make/options index 6905967f04..6a6311e47c 100644 --- a/applications/solvers/heatTransfer/buoyantBoussinesqSimpleFoam/Make/options +++ b/applications/solvers/heatTransfer/buoyantBoussinesqSimpleFoam/Make/options @@ -1,5 +1,8 @@ EXE_INC = \ -I$(LIB_SRC)/finiteVolume/lnInclude \ + -I$(LIB_SRC)/sampling/lnInclude \ + -I$(LIB_SRC)/meshTools/lnInclude \ + -I$(LIB_SRC)/fvOptions/lnInclude \ -I$(LIB_SRC)/turbulenceModels \ -I$(LIB_SRC)/turbulenceModels/incompressible/RAS/lnInclude \ -I$(LIB_SRC)/transportModels \ @@ -7,7 +10,9 @@ EXE_INC = \ EXE_LIBS = \ -lfiniteVolume \ + -lsampling \ -lmeshTools \ + -lfvOptions \ -lincompressibleTurbulenceModel \ -lincompressibleRASModels \ -lincompressibleTransportModels diff --git a/applications/solvers/heatTransfer/buoyantBoussinesqSimpleFoam/TEqn.H b/applications/solvers/heatTransfer/buoyantBoussinesqSimpleFoam/TEqn.H index a0c5d24b2b..c495e58285 100644 --- a/applications/solvers/heatTransfer/buoyantBoussinesqSimpleFoam/TEqn.H +++ b/applications/solvers/heatTransfer/buoyantBoussinesqSimpleFoam/TEqn.H @@ -8,10 +8,17 @@ ( fvm::div(phi, T) - fvm::laplacian(alphaEff, T) + == + fvOptions(T) ); TEqn.relax(); + + fvOptions.constrain(TEqn); + TEqn.solve(); + fvOptions.correct(T); + rhok = 1.0 - beta*(T - TRef); } diff --git a/applications/solvers/heatTransfer/buoyantBoussinesqSimpleFoam/UEqn.H b/applications/solvers/heatTransfer/buoyantBoussinesqSimpleFoam/UEqn.H index cbe464fc02..dd516edf2f 100644 --- a/applications/solvers/heatTransfer/buoyantBoussinesqSimpleFoam/UEqn.H +++ b/applications/solvers/heatTransfer/buoyantBoussinesqSimpleFoam/UEqn.H @@ -4,16 +4,20 @@ ( fvm::div(phi, U) + turbulence->divDevReff(U) + == + fvOptions(U) ); UEqn().relax(); + fvOptions.constrain(UEqn()); + if (simple.momentumPredictor()) { solve ( UEqn() - == + == fvc::reconstruct ( ( @@ -22,4 +26,6 @@ )*mesh.magSf() ) ); + + fvOptions.correct(U); } diff --git a/applications/solvers/heatTransfer/buoyantBoussinesqSimpleFoam/buoyantBoussinesqSimpleFoam.C b/applications/solvers/heatTransfer/buoyantBoussinesqSimpleFoam/buoyantBoussinesqSimpleFoam.C index 4fc37efd28..b0d2f98aeb 100644 --- a/applications/solvers/heatTransfer/buoyantBoussinesqSimpleFoam/buoyantBoussinesqSimpleFoam.C +++ b/applications/solvers/heatTransfer/buoyantBoussinesqSimpleFoam/buoyantBoussinesqSimpleFoam.C @@ -48,6 +48,7 @@ Description #include "fvCFD.H" #include "singlePhaseTransportModel.H" #include "RASModel.H" +#include "fvIOoptionList.H" #include "simpleControl.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -59,6 +60,7 @@ int main(int argc, char *argv[]) #include "createMesh.H" #include "readGravitationalAcceleration.H" #include "createFields.H" + #include "createFvOptions.H" #include "initContinuityErrs.H" simpleControl simple(mesh); diff --git a/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionFoam.C b/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionFoam.C index 5297be327f..b2cd9ac54e 100644 --- a/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionFoam.C +++ b/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionFoam.C @@ -26,21 +26,18 @@ Application Description Combination of heatConductionFoam and buoyantFoam for conjugate heat - transfer between a solid region and fluid region. It includes - porous media in the primary fluid region treated explicitly. + transfer between solid regions and fluid regions. Both regions include + the fvOptions framework. It handles secondary fluid or solid circuits which can be coupled thermally with the main fluid region. i.e radiators, etc. - The secondary fluid region is - \*---------------------------------------------------------------------------*/ #include "fvCFD.H" #include "rhoThermo.H" #include "turbulenceModel.H" #include "fixedGradientFvPatchFields.H" -#include "zeroGradientFvPatchFields.H" #include "regionProperties.H" #include "compressibleCourantNo.H" #include "solidRegionDiffNo.H" diff --git a/applications/solvers/incompressible/pimpleFoam/pimpleFoam.C b/applications/solvers/incompressible/pimpleFoam/pimpleFoam.C index 000948514e..de963fe3b2 100644 --- a/applications/solvers/incompressible/pimpleFoam/pimpleFoam.C +++ b/applications/solvers/incompressible/pimpleFoam/pimpleFoam.C @@ -30,7 +30,7 @@ Description Sub-models include: - turbulence modelling, i.e. laminar, RAS or LES - - run-time selectable finitie volume options, e.g. MRF, explicit porosity + - run-time selectable finite volume options, e.g. MRF, explicit porosity \*---------------------------------------------------------------------------*/ diff --git a/applications/solvers/incompressible/potentialFreeSurfaceFoam/resetPhiPatches.H b/applications/solvers/incompressible/potentialFreeSurfaceFoam/resetPhiPatches.H deleted file mode 100644 index fe428b6e3b..0000000000 --- a/applications/solvers/incompressible/potentialFreeSurfaceFoam/resetPhiPatches.H +++ /dev/null @@ -1,8 +0,0 @@ -FieldField& phibf = phi.boundaryField(); -const FieldField& Ubf = U.boundaryField(); -const FieldField& Sfbf = mesh.Sf().boundaryField(); - -forAll(phibf, patchI) -{ - phibf[patchI] = (Ubf[patchI] & Sfbf[patchI]); -} diff --git a/applications/solvers/incompressible/potentialFreeSurfaceFoam/Make/files b/applications/solvers/multiphase/potentialFreeSurfaceFoam/Make/files similarity index 100% rename from applications/solvers/incompressible/potentialFreeSurfaceFoam/Make/files rename to applications/solvers/multiphase/potentialFreeSurfaceFoam/Make/files diff --git a/applications/solvers/incompressible/potentialFreeSurfaceFoam/Make/options b/applications/solvers/multiphase/potentialFreeSurfaceFoam/Make/options similarity index 100% rename from applications/solvers/incompressible/potentialFreeSurfaceFoam/Make/options rename to applications/solvers/multiphase/potentialFreeSurfaceFoam/Make/options diff --git a/applications/solvers/incompressible/potentialFreeSurfaceFoam/UEqn.H b/applications/solvers/multiphase/potentialFreeSurfaceFoam/UEqn.H similarity index 100% rename from applications/solvers/incompressible/potentialFreeSurfaceFoam/UEqn.H rename to applications/solvers/multiphase/potentialFreeSurfaceFoam/UEqn.H diff --git a/applications/solvers/incompressible/potentialFreeSurfaceFoam/createFields.H b/applications/solvers/multiphase/potentialFreeSurfaceFoam/createFields.H similarity index 100% rename from applications/solvers/incompressible/potentialFreeSurfaceFoam/createFields.H rename to applications/solvers/multiphase/potentialFreeSurfaceFoam/createFields.H diff --git a/applications/solvers/incompressible/potentialFreeSurfaceFoam/pEqn.H b/applications/solvers/multiphase/potentialFreeSurfaceFoam/pEqn.H similarity index 88% rename from applications/solvers/incompressible/potentialFreeSurfaceFoam/pEqn.H rename to applications/solvers/multiphase/potentialFreeSurfaceFoam/pEqn.H index 888d06a889..11dfa8a520 100644 --- a/applications/solvers/incompressible/potentialFreeSurfaceFoam/pEqn.H +++ b/applications/solvers/multiphase/potentialFreeSurfaceFoam/pEqn.H @@ -1,5 +1,3 @@ -#include "resetPhiPatches.H" - volScalarField rAU(1.0/UEqn().A()); surfaceScalarField rAUf("Dp", fvc::interpolate(rAU)); @@ -22,6 +20,9 @@ adjustPhi(phiHbyA, U, p_gh); fvOptions.relativeFlux(phiHbyA); +// Update the phi BCs from U before p BCs are updated +phi.boundaryField() = mesh.Sf().boundaryField() & U.boundaryField(); + // Non-orthogonal pressure corrector loop while (pimple.correctNonOrthogonal()) { diff --git a/applications/solvers/incompressible/potentialFreeSurfaceFoam/potentialFreeSurfaceFoam.C b/applications/solvers/multiphase/potentialFreeSurfaceFoam/potentialFreeSurfaceFoam.C similarity index 100% rename from applications/solvers/incompressible/potentialFreeSurfaceFoam/potentialFreeSurfaceFoam.C rename to applications/solvers/multiphase/potentialFreeSurfaceFoam/potentialFreeSurfaceFoam.C diff --git a/applications/test/GAMGAgglomeration/Test-GAMGAgglomeration.C b/applications/test/GAMGAgglomeration/Test-GAMGAgglomeration.C index a11b78772e..2dd7905294 100644 --- a/applications/test/GAMGAgglomeration/Test-GAMGAgglomeration.C +++ b/applications/test/GAMGAgglomeration/Test-GAMGAgglomeration.C @@ -35,116 +35,6 @@ Description #include "meshTools.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -void checkConnectedAgglomeration -( - const lduMesh& mesh, - const labelUList& restrict, - const label nCoarse -) -{ - if (mesh.lduAddr().size() != restrict.size()) - { - FatalErrorIn - ( - "checkConnectedAgglomeration(const lduMesh&, const labelList&)" - ) << "nCells:" << mesh.lduAddr().size() - << " agglom:" << restrict.size() - << abort(FatalError); - } - - // Seed (master) for every region - labelList regionToMaster(nCoarse, -1); - labelList master(mesh.lduAddr().size(), -1); - forAll(restrict, cellI) - { - label region = restrict[cellI]; - if (regionToMaster[region] == -1) - { - // Set cell to be master for region - //Pout<< "For region " << region - // << " allocating local master " << cellI - // << endl; - regionToMaster[region] = cellI; - master[cellI] = cellI; - } - } - - // Now loop and transport master through region - const labelUList& lower = mesh.lduAddr().lowerAddr(); - const labelUList& upper = mesh.lduAddr().upperAddr(); - - while (true) - { - label nChanged = 0; - - forAll(lower, faceI) - { - label own = lower[faceI]; - label nei = upper[faceI]; - - if (restrict[own] == restrict[nei]) - { - // Region-internal face - - if (master[own] != -1) - { - if (master[nei] == -1) - { - master[nei] = master[own]; - nChanged++; - } - else if (master[nei] != master[own]) - { - FatalErrorIn("checkConnectedAgglomeration(..)") - << "problem" << abort(FatalError); - } - } - else if (master[nei] != -1) - { - master[own] = master[nei]; - nChanged++; - } - } - } - - reduce(nChanged, sumOp