diff --git a/applications/solvers/multiphase/interFoam/interDyMFoam/correctPhi.H b/applications/solvers/multiphase/interFoam/interDyMFoam/correctPhi.H index 8d3e60da40..75560b6337 100644 --- a/applications/solvers/multiphase/interFoam/interDyMFoam/correctPhi.H +++ b/applications/solvers/multiphase/interFoam/interDyMFoam/correctPhi.H @@ -52,7 +52,6 @@ phiAbs = phi; phiAbs.oldTime() = phi; fvc::makeRelative(phi, U); - phi.oldTime() = phi; } } } diff --git a/applications/solvers/multiphase/interFoam/interDyMFoam/interDyMFoam.C b/applications/solvers/multiphase/interFoam/interDyMFoam/interDyMFoam.C index 3ccfa73fee..0c22dd01b7 100644 --- a/applications/solvers/multiphase/interFoam/interDyMFoam/interDyMFoam.C +++ b/applications/solvers/multiphase/interFoam/interDyMFoam/interDyMFoam.C @@ -81,6 +81,9 @@ int main(int argc, char *argv[]) scalar timeBeforeMeshUpdate = runTime.elapsedCpuTime(); { + // Ensure old-time U exists for mapping + U.oldTime(); + // Calculate the relative velocity used to map the relative flux phi volVectorField Urel("Urel", U); diff --git a/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseSystem/multiphaseSystem.C b/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseSystem/multiphaseSystem.C index a19b6a3d9b..0e3527cfae 100644 --- a/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseSystem/multiphaseSystem.C +++ b/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseSystem/multiphaseSystem.C @@ -812,7 +812,7 @@ void Foam::multiphaseSystem::solve() const Time& runTime = mesh_.time(); - const dictionary& alphaControls = mesh_.solverDict(phases_.first().name()); + const dictionary& alphaControls = mesh_.solverDict("alpha"); label nAlphaSubCycles(readLabel(alphaControls.lookup("nAlphaSubCycles"))); if (nAlphaSubCycles > 1) diff --git a/applications/solvers/multiphase/multiphaseEulerFoam/pEqn.H b/applications/solvers/multiphase/multiphaseEulerFoam/pEqn.H index 5e71a2eeeb..7b5b83784d 100644 --- a/applications/solvers/multiphase/multiphaseEulerFoam/pEqn.H +++ b/applications/solvers/multiphase/multiphaseEulerFoam/pEqn.H @@ -166,6 +166,9 @@ { phaseModel& phase = iter(); + phase.phi().boundaryField() == + (mesh.Sf().boundaryField() & phase.U().boundaryField()); + mrfZones.relativeFlux(phase.phi().oldTime()); mrfZones.relativeFlux(phase.phi()); diff --git a/applications/solvers/multiphase/multiphaseInterFoam/multiphaseMixture/multiphaseMixture.C b/applications/solvers/multiphase/multiphaseInterFoam/multiphaseMixture/multiphaseMixture.C index a154565747..7b1a0e027d 100644 --- a/applications/solvers/multiphase/multiphaseInterFoam/multiphaseMixture/multiphaseMixture.C +++ b/applications/solvers/multiphase/multiphaseInterFoam/multiphaseMixture/multiphaseMixture.C @@ -246,7 +246,7 @@ void Foam::multiphaseMixture::solve() volScalarField& alpha = phases_.first(); - const dictionary& alphaControls = mesh_.solverDict(alpha.name()); + const dictionary& alphaControls = mesh_.solverDict("alpha"); label nAlphaSubCycles(readLabel(alphaControls.lookup("nAlphaSubCycles"))); scalar cAlpha(readScalar(alphaControls.lookup("cAlpha"))); diff --git a/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/cellSizeControlSurfaces/surfaceCellSizeFunction/cellSizeCalculationType/automatic/automatic.C b/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/cellSizeControlSurfaces/surfaceCellSizeFunction/cellSizeCalculationType/automatic/automatic.C index 411500e8c0..0898ac44ad 100644 --- a/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/cellSizeControlSurfaces/surfaceCellSizeFunction/cellSizeCalculationType/automatic/automatic.C +++ b/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/cellSizeControlSurfaces/surfaceCellSizeFunction/cellSizeCalculationType/automatic/automatic.C @@ -219,8 +219,10 @@ Foam::tmp Foam::automatic::load() true ); - scalarField internalClosenessPointField = - patchInterpolate.faceToPointInterpolate(internalCloseness); + scalarField internalClosenessPointField + ( + patchInterpolate.faceToPointInterpolate(internalCloseness) + ); forAll(pointCellSize, pI) { @@ -254,8 +256,10 @@ Foam::tmp Foam::automatic::load() true ); - scalarField featureProximityPointField = - patchInterpolate.faceToPointInterpolate(featureProximity); + scalarField featureProximityPointField + ( + patchInterpolate.faceToPointInterpolate(featureProximity) + ); forAll(pointCellSize, pI) { diff --git a/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/searchableSurfaceFeatures/searchableBoxFeatures.C b/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/searchableSurfaceFeatures/searchableBoxFeatures.C index 5d78186834..78149fac16 100644 --- a/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/searchableSurfaceFeatures/searchableBoxFeatures.C +++ b/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/searchableSurfaceFeatures/searchableBoxFeatures.C @@ -80,7 +80,8 @@ Foam::searchableBoxFeatures::features() const { autoPtr features; - vectorField faceNormals(List(treeBoundBox::faceNormals)); + List faceNormalsList(treeBoundBox::faceNormals); + vectorField faceNormals(faceNormalsList); vectorField edgeDirections(12); labelListList normalDirections(12); diff --git a/applications/utilities/surface/surfaceCheck/Make/options b/applications/utilities/surface/surfaceCheck/Make/options index 9c7d907888..27e7740a94 100644 --- a/applications/utilities/surface/surfaceCheck/Make/options +++ b/applications/utilities/surface/surfaceCheck/Make/options @@ -1,7 +1,9 @@ EXE_INC = \ -I$(LIB_SRC)/meshTools/lnInclude \ + -I$(LIB_SRC)/surfMesh/lnInclude \ -I$(LIB_SRC)/triSurface/lnInclude EXE_LIBS = \ -ltriSurface \ + -lsurfMesh \ -lmeshTools diff --git a/applications/utilities/surface/surfaceCheck/surfaceCheck.C b/applications/utilities/surface/surfaceCheck/surfaceCheck.C index 29707e303c..0e28f5c6c5 100644 --- a/applications/utilities/surface/surfaceCheck/surfaceCheck.C +++ b/applications/utilities/surface/surfaceCheck/surfaceCheck.C @@ -35,6 +35,7 @@ Description #include "triSurfaceSearch.H" #include "argList.H" #include "OFstream.H" +#include "OBJstream.H" #include "surfaceIntersection.H" #include "SortableList.H" #include "PatchTools.H" @@ -615,8 +616,6 @@ int main(int argc, char *argv[]) subSurf.write(subFileName); } - - return 0; } @@ -654,61 +653,75 @@ int main(int argc, char *argv[]) triSurfaceSearch querySurf(surf); - //{ - // OBJstream intStream("selfInter2.obj"); - // const indexedOctree& tree = querySurf.tree(); - // forAll(surf.edges(), edgeI) - // { - // const edge& e = surf.edges()[edgeI]; - // - // pointIndexHit hitInfo - // ( - // tree.findLine - // ( - // surf.points()[surf.meshPoints()[e[0]]], - // surf.points()[surf.meshPoints()[e[1]]], - // treeDataTriSurface::findSelfIntersectOp - // ( - // tree, - // edgeI - // ) - // ) - // ); - // - // if (hitInfo.hit()) - // { - // Pout<< "Found hit:" << hitInfo.hitPoint() << endl; - // intStream.write(hitInfo.hitPoint()); - // } - // } - //} + const indexedOctree& tree = querySurf.tree(); - surfaceIntersection inter(querySurf); + OBJstream intStream("selfInterPoints.obj"); - if (inter.cutEdges().empty() && inter.cutPoints().empty()) + label nInt = 0; + + forAll(surf.edges(), edgeI) + { + const edge& e = surf.edges()[edgeI]; + + pointIndexHit hitInfo + ( + tree.findLine + ( + surf.points()[surf.meshPoints()[e[0]]], + surf.points()[surf.meshPoints()[e[1]]], + treeDataTriSurface::findSelfIntersectOp + ( + tree, + edgeI + ) + ) + ); + + if (hitInfo.hit()) + { + intStream.write(hitInfo.hitPoint()); + nInt++; + } + } + + if (nInt == 0) { Info<< "Surface is not self-intersecting" << endl; } else { - Info<< "Surface is self-intersecting" << endl; - Info<< "Writing edges of intersection to selfInter.obj" << endl; - - OFstream intStream("selfInter.obj"); - forAll(inter.cutPoints(), cutPointI) - { - const point& pt = inter.cutPoints()[cutPointI]; - - intStream << "v " << pt.x() << ' ' << pt.y() << ' ' << pt.z() - << endl; - } - forAll(inter.cutEdges(), cutEdgeI) - { - const edge& e = inter.cutEdges()[cutEdgeI]; - - intStream << "l " << e.start()+1 << ' ' << e.end()+1 << endl; - } + Info<< "Surface is self-intersecting at " << nInt + << " locations." << endl; + Info<< "Writing intersection points to " << intStream.name() + << endl; } + + //surfaceIntersection inter(querySurf); + // + //if (inter.cutEdges().empty() && inter.cutPoints().empty()) + //{ + // Info<< "Surface is not self-intersecting" << endl; + //} + //else + //{ + // Info<< "Surface is self-intersecting" << endl; + // Info<< "Writing edges of intersection to selfInter.obj" << endl; + // + // OFstream intStream("selfInter.obj"); + // forAll(inter.cutPoints(), cutPointI) + // { + // const point& pt = inter.cutPoints()[cutPointI]; + // + // intStream << "v " << pt.x() << ' ' << pt.y() << ' ' << pt.z() + // << endl; + // } + // forAll(inter.cutEdges(), cutEdgeI) + // { + // const edge& e = inter.cutEdges()[cutEdgeI]; + // + // intStream << "l " << e.start()+1 << ' ' << e.end()+1 << endl; + // } + //} Info<< endl; } diff --git a/src/OpenFOAM/fields/pointPatchFields/pointPatchField/pointConstraint/pointConstraint.H b/src/OpenFOAM/fields/pointPatchFields/pointPatchField/pointConstraint/pointConstraint.H index 7f4f667c30..5b48463bef 100644 --- a/src/OpenFOAM/fields/pointPatchFields/pointPatchField/pointConstraint/pointConstraint.H +++ b/src/OpenFOAM/fields/pointPatchFields/pointPatchField/pointConstraint/pointConstraint.H @@ -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-2013 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -41,10 +41,9 @@ SourceFiles #define pointConstraint_H #include "label.H" -#include "uLabel.H" #include "vector.H" -#include "tensor.H" #include "Tuple2.H" +#include "transform.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -67,6 +66,9 @@ public: //- Construct null inline pointConstraint(); + //- Construct from components + inline pointConstraint(const Tuple2&); + //- Construct from Istream inline pointConstraint(Istream&); @@ -84,6 +86,23 @@ public: }; +//- reduce operator +class combineConstraintsEqOp +{ +public: + inline void operator()(pointConstraint&, const pointConstraint&) const; +}; + +//- transformation function +inline pointConstraint transform(const tensor& tt, const pointConstraint& v); + +//- contiguous +template bool contiguous(); +template<> +inline bool contiguous() {return true;} + + + // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // } // End namespace Foam diff --git a/src/OpenFOAM/fields/pointPatchFields/pointPatchField/pointConstraint/pointConstraintI.H b/src/OpenFOAM/fields/pointPatchFields/pointPatchField/pointConstraint/pointConstraintI.H index 698e62a944..0915a301d4 100644 --- a/src/OpenFOAM/fields/pointPatchFields/pointPatchField/pointConstraint/pointConstraintI.H +++ b/src/OpenFOAM/fields/pointPatchFields/pointPatchField/pointConstraint/pointConstraintI.H @@ -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-2013 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -31,6 +31,12 @@ inline Foam::pointConstraint::pointConstraint() {} +inline Foam::pointConstraint::pointConstraint(const Tuple2& pc) +: + Tuple2(pc) +{} + + inline Foam::pointConstraint::pointConstraint(Istream& is) : Tuple2(is) @@ -130,4 +136,27 @@ Foam::tensor Foam::pointConstraint::constraintTransformation() const } +void Foam::combineConstraintsEqOp::operator() +( + pointConstraint& x, + const pointConstraint& y +) const +{ + x.combine(y); +} + + +Foam::pointConstraint Foam::transform +( + const tensor& tt, + const pointConstraint& v +) +{ + return pointConstraint + ( + Tuple2(v.first(), transform(tt, v.second())) + ); +} + + // ************************************************************************* // diff --git a/src/OpenFOAM/meshes/polyMesh/zones/faceZone/faceZone.C b/src/OpenFOAM/meshes/polyMesh/zones/faceZone/faceZone.C index 7e3850891d..0013d193e3 100644 --- a/src/OpenFOAM/meshes/polyMesh/zones/faceZone/faceZone.C +++ b/src/OpenFOAM/meshes/polyMesh/zones/faceZone/faceZone.C @@ -174,14 +174,17 @@ void Foam::faceZone::checkAddressing() const const labelList& mf = *this; + // Note: nFaces, nCells might not be set yet on mesh so use owner size + const label nFaces = zoneMesh().mesh().faceOwner().size(); + bool hasWarned = false; forAll(mf, i) { - if (!hasWarned && (mf[i] < 0 || mf[i] >= zoneMesh().mesh().nFaces())) + if (!hasWarned && (mf[i] < 0 || mf[i] >= nFaces)) { WarningIn("void Foam::faceZone::checkAddressing() const") << "Illegal face index " << mf[i] << " outside range 0.." - << zoneMesh().mesh().nFaces()-1 << endl; + << nFaces-1 << endl; hasWarned = true; } } diff --git a/src/finiteVolume/finiteVolume/fvc/fvcReconstruct.C b/src/finiteVolume/finiteVolume/fvc/fvcReconstruct.C index 4254348b18..5c886900e8 100644 --- a/src/finiteVolume/finiteVolume/fvc/fvcReconstruct.C +++ b/src/finiteVolume/finiteVolume/fvc/fvcReconstruct.C @@ -56,20 +56,7 @@ reconstruct const fvMesh& mesh = ssf.mesh(); - surfaceVectorField faceVols - ( - mesh.Sf()/(mesh.magSf()*mesh.nonOrthDeltaCoeffs()) - ); - - faceVols.internalField() *= (1.0 - mesh.weights().internalField()); - forAll(faceVols.boundaryField(), patchi) - { - if (faceVols.boundaryField()[patchi].coupled()) - { - faceVols.boundaryField()[patchi] *= - (1.0 - mesh.weights().boundaryField()[patchi]); - } - } + surfaceVectorField SfHat(mesh.Sf()/mesh.magSf()); tmp > treconField ( @@ -83,7 +70,7 @@ reconstruct IOobject::NO_READ, IOobject::NO_WRITE ), - inv(surfaceSum(mesh.Sf()*faceVols))&surfaceSum(faceVols*ssf), + inv(surfaceSum(SfHat*mesh.Sf()))&surfaceSum(SfHat*ssf), zeroGradientFvPatchField::typeName ) ); diff --git a/src/thermophysicalModels/solidChemistryModel/solidChemistrySolver/makeSolidChemistrySolverType.H b/src/thermophysicalModels/solidChemistryModel/solidChemistrySolver/makeSolidChemistrySolverType.H index 3f24e11e4a..b1e33933f6 100644 --- a/src/thermophysicalModels/solidChemistryModel/solidChemistrySolver/makeSolidChemistrySolverType.H +++ b/src/thermophysicalModels/solidChemistryModel/solidChemistrySolver/makeSolidChemistrySolverType.H @@ -47,8 +47,8 @@ namespace Foam defineTemplateTypeNameAndDebugWithName \ ( \ SS##Schem##Comp##SThermo##GThermo, \ - (#SS"<"#Schem"<"#Comp"," + SThermo::typeName() + "," \ - + GThermo::typeName() + ">>").c_str(), \ + (#SS"<" + word(Schem::typeName_()) + "<"#Comp"," + SThermo::typeName()\ + + "," + GThermo::typeName() + ">>").c_str(), \ 0 \ ); \ \ diff --git a/tutorials/compressible/rhoPimpleFoam/ras/cavity/0/epsilon b/tutorials/compressible/rhoPimpleFoam/ras/cavity/0/epsilon index 698ff247d3..6f1ace6a16 100644 --- a/tutorials/compressible/rhoPimpleFoam/ras/cavity/0/epsilon +++ b/tutorials/compressible/rhoPimpleFoam/ras/cavity/0/epsilon @@ -24,13 +24,13 @@ boundaryField movingWall { type compressible::epsilonWallFunction; - value uniform 0; + value $internalField; } fixedWalls { type compressible::epsilonWallFunction; - value uniform 0; + value $internalField; } frontAndBack diff --git a/tutorials/incompressible/pimpleDyMFoam/mixerVesselAMI2D/0/epsilon b/tutorials/incompressible/pimpleDyMFoam/mixerVesselAMI2D/0/epsilon index a07beadefa..7413e6a02e 100644 --- a/tutorials/incompressible/pimpleDyMFoam/mixerVesselAMI2D/0/epsilon +++ b/tutorials/incompressible/pimpleDyMFoam/mixerVesselAMI2D/0/epsilon @@ -24,13 +24,13 @@ boundaryField rotor { type epsilonWallFunction; - value uniform 0; + value $internalField; } stator { type epsilonWallFunction; - value uniform 0; + value $internalField; } front diff --git a/tutorials/incompressible/pimpleDyMFoam/oscillatingInletACMI2D/constant/polyMesh/boundary b/tutorials/incompressible/pimpleDyMFoam/oscillatingInletACMI2D/constant/polyMesh/boundary deleted file mode 100644 index f6e6726c6b..0000000000 --- a/tutorials/incompressible/pimpleDyMFoam/oscillatingInletACMI2D/constant/polyMesh/boundary +++ /dev/null @@ -1,81 +0,0 @@ -/*--------------------------------*- C++ -*----------------------------------*\ -| ========= | | -| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | -| \\ / O peration | Version: dev | -| \\ / A nd | Web: www.OpenFOAM.org | -| \\/ M anipulation | | -\*---------------------------------------------------------------------------*/ -FoamFile -{ - version 2.0; - format ascii; - class polyBoundaryMesh; - location "constant/polyMesh"; - object boundary; -} -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -8 -( - inlet - { - type patch; - nFaces 40; - startFace 21464; - } - outlet - { - type patch; - nFaces 96; - startFace 21504; - } - walls - { - type wall; - nFaces 320; - startFace 21600; - } - defaultFaces - { - type empty; - inGroups 1(empty); - nFaces 21760; - startFace 21920; - } - ACMI1_blockage - { - type wall; - nFaces 40; - startFace 43680; - } - ACMI1_couple - { - type cyclicACMI; - inGroups 1(cyclicACMI); - nFaces 40; - startFace 43720; - matchTolerance 0.0001; - transform noOrdering; - neighbourPatch ACMI2_couple; - nonOverlapPatch ACMI1_blockage; - } - ACMI2_blockage - { - type wall; - nFaces 96; - startFace 43760; - } - ACMI2_couple - { - type cyclicACMI; - inGroups 1(cyclicACMI); - nFaces 96; - startFace 43856; - matchTolerance 0.0001; - transform noOrdering; - neighbourPatch ACMI1_couple; - nonOverlapPatch ACMI2_blockage; - } -) - -// ************************************************************************* // diff --git a/tutorials/incompressible/pimpleFoam/TJunction/0/epsilon b/tutorials/incompressible/pimpleFoam/TJunction/0/epsilon index a81220d8aa..00cbd4d30b 100644 --- a/tutorials/incompressible/pimpleFoam/TJunction/0/epsilon +++ b/tutorials/incompressible/pimpleFoam/TJunction/0/epsilon @@ -43,7 +43,7 @@ boundaryField defaultFaces { type epsilonWallFunction; - value uniform 0; + value $internalField; } } diff --git a/tutorials/incompressible/simpleFoam/mixerVessel2D/0/epsilon b/tutorials/incompressible/simpleFoam/mixerVessel2D/0/epsilon index ddb0f60d60..84f822890e 100644 --- a/tutorials/incompressible/simpleFoam/mixerVessel2D/0/epsilon +++ b/tutorials/incompressible/simpleFoam/mixerVessel2D/0/epsilon @@ -24,13 +24,13 @@ boundaryField rotor { type epsilonWallFunction; - value uniform 0; + value $internalField; } stator { type epsilonWallFunction; - value uniform 0; + value $internalField; } front diff --git a/tutorials/lagrangian/LTSReactingParcelFoam/verticalChannel/0.org/omega b/tutorials/lagrangian/LTSReactingParcelFoam/verticalChannel/0.org/omega index efd2924775..c1aa352a73 100644 --- a/tutorials/lagrangian/LTSReactingParcelFoam/verticalChannel/0.org/omega +++ b/tutorials/lagrangian/LTSReactingParcelFoam/verticalChannel/0.org/omega @@ -54,7 +54,7 @@ boundaryField Cmu 0.09; kappa 0.41; E 9.8; - value uniform 0; + value $internalField; } } diff --git a/tutorials/lagrangian/LTSReactingParcelFoam/verticalChannel/0/omega b/tutorials/lagrangian/LTSReactingParcelFoam/verticalChannel/0/omega index efd2924775..c1aa352a73 100644 --- a/tutorials/lagrangian/LTSReactingParcelFoam/verticalChannel/0/omega +++ b/tutorials/lagrangian/LTSReactingParcelFoam/verticalChannel/0/omega @@ -54,7 +54,7 @@ boundaryField Cmu 0.09; kappa 0.41; E 9.8; - value uniform 0; + value $internalField; } } diff --git a/tutorials/lagrangian/reactingParcelFoam/verticalChannel/0.org/omega b/tutorials/lagrangian/reactingParcelFoam/verticalChannel/0.org/omega index efd2924775..c1aa352a73 100644 --- a/tutorials/lagrangian/reactingParcelFoam/verticalChannel/0.org/omega +++ b/tutorials/lagrangian/reactingParcelFoam/verticalChannel/0.org/omega @@ -54,7 +54,7 @@ boundaryField Cmu 0.09; kappa 0.41; E 9.8; - value uniform 0; + value $internalField; } } diff --git a/tutorials/lagrangian/simpleReactingParcelFoam/verticalChannel/0.org/omega b/tutorials/lagrangian/simpleReactingParcelFoam/verticalChannel/0.org/omega index efd2924775..c1aa352a73 100644 --- a/tutorials/lagrangian/simpleReactingParcelFoam/verticalChannel/0.org/omega +++ b/tutorials/lagrangian/simpleReactingParcelFoam/verticalChannel/0.org/omega @@ -54,7 +54,7 @@ boundaryField Cmu 0.09; kappa 0.41; E 9.8; - value uniform 0; + value $internalField; } } diff --git a/tutorials/lagrangian/simpleReactingParcelFoam/verticalChannel/0/omega b/tutorials/lagrangian/simpleReactingParcelFoam/verticalChannel/0/omega index efd2924775..c1aa352a73 100644 --- a/tutorials/lagrangian/simpleReactingParcelFoam/verticalChannel/0/omega +++ b/tutorials/lagrangian/simpleReactingParcelFoam/verticalChannel/0/omega @@ -54,7 +54,7 @@ boundaryField Cmu 0.09; kappa 0.41; E 9.8; - value uniform 0; + value $internalField; } } diff --git a/tutorials/multiphase/LTSInterFoam/wigleyHull/system/fvSolution b/tutorials/multiphase/LTSInterFoam/wigleyHull/system/fvSolution index 7d940c54e8..76eaf8fd2a 100644 --- a/tutorials/multiphase/LTSInterFoam/wigleyHull/system/fvSolution +++ b/tutorials/multiphase/LTSInterFoam/wigleyHull/system/fvSolution @@ -17,6 +17,13 @@ FoamFile solvers { + alpha1 + { + nAlphaCorr 1; + nAlphaSubCycles 1; + cAlpha 1; + } + pcorr { solver PCG; @@ -79,10 +86,6 @@ PIMPLE nCorrectors 1; nNonOrthogonalCorrectors 0; - nAlphaCorr 1; - nAlphaSubCycles 1; - cAlpha 1; - maxCo 0.9; maxAlphaCo 0.2; nAlphaSweepIter 1; diff --git a/tutorials/multiphase/MRFInterFoam/mixerVessel2D/system/fvSolution b/tutorials/multiphase/MRFInterFoam/mixerVessel2D/system/fvSolution index 190bdc4e1b..87856ee3ca 100644 --- a/tutorials/multiphase/MRFInterFoam/mixerVessel2D/system/fvSolution +++ b/tutorials/multiphase/MRFInterFoam/mixerVessel2D/system/fvSolution @@ -17,6 +17,13 @@ FoamFile solvers { + alpha1 + { + nAlphaCorr 1; + nAlphaSubCycles 2; + cAlpha 1; + } + pcorr { solver PCG; @@ -55,9 +62,7 @@ PIMPLE momentumPredictor no; nCorrectors 3; nNonOrthogonalCorrectors 0; - nAlphaCorr 1; - nAlphaSubCycles 2; - cAlpha 1; + pRefCell 0; pRefValue 0; } diff --git a/tutorials/multiphase/MRFMultiphaseInterFoam/mixerVessel2D/system/fvSolution b/tutorials/multiphase/MRFMultiphaseInterFoam/mixerVessel2D/system/fvSolution index 19a9d9e0f3..c4f3932da6 100644 --- a/tutorials/multiphase/MRFMultiphaseInterFoam/mixerVessel2D/system/fvSolution +++ b/tutorials/multiphase/MRFMultiphaseInterFoam/mixerVessel2D/system/fvSolution @@ -17,6 +17,13 @@ FoamFile solvers { + alpha + { + nAlphaCorr 4; + nAlphaSubCycles 4; + cAlpha 2; + } + pcorr { solver PCG; @@ -55,10 +62,7 @@ PIMPLE momentumPredictor no; nCorrectors 4; nNonOrthogonalCorrectors 0; - nAlphaCorr 4; - nAlphaSubCycles 4; - cycleAlpha yes; - cAlpha 2; + pRefCell 0; pRefValue 0; } diff --git a/tutorials/multiphase/compressibleInterFoam/laminar/depthCharge2D/system/fvSolution b/tutorials/multiphase/compressibleInterFoam/laminar/depthCharge2D/system/fvSolution index 7577b94f21..4e1aa83dc7 100644 --- a/tutorials/multiphase/compressibleInterFoam/laminar/depthCharge2D/system/fvSolution +++ b/tutorials/multiphase/compressibleInterFoam/laminar/depthCharge2D/system/fvSolution @@ -17,6 +17,13 @@ FoamFile solvers { + alphawater + { + nAlphaCorr 1; + nAlphaSubCycles 1; + cAlpha 1; + } + pcorr { solver PCG; @@ -107,9 +114,6 @@ PIMPLE nOuterCorrectors 1; nCorrectors 2; nNonOrthogonalCorrectors 0; - nAlphaCorr 1; - nAlphaSubCycles 1; - cAlpha 1; } diff --git a/tutorials/multiphase/compressibleInterFoam/laminar/depthCharge3D/system/fvSolution b/tutorials/multiphase/compressibleInterFoam/laminar/depthCharge3D/system/fvSolution index 7577b94f21..4e1aa83dc7 100644 --- a/tutorials/multiphase/compressibleInterFoam/laminar/depthCharge3D/system/fvSolution +++ b/tutorials/multiphase/compressibleInterFoam/laminar/depthCharge3D/system/fvSolution @@ -17,6 +17,13 @@ FoamFile solvers { + alphawater + { + nAlphaCorr 1; + nAlphaSubCycles 1; + cAlpha 1; + } + pcorr { solver PCG; @@ -107,9 +114,6 @@ PIMPLE nOuterCorrectors 1; nCorrectors 2; nNonOrthogonalCorrectors 0; - nAlphaCorr 1; - nAlphaSubCycles 1; - cAlpha 1; } diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/bubbleColumn/system/fvSolution b/tutorials/multiphase/compressibleTwoPhaseEulerFoam/bubbleColumn/system/fvSolution index 067ac927d0..1689fc3519 100644 --- a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/bubbleColumn/system/fvSolution +++ b/tutorials/multiphase/compressibleTwoPhaseEulerFoam/bubbleColumn/system/fvSolution @@ -17,6 +17,12 @@ FoamFile solvers { + alphaair + { + nAlphaCorr 1; + nAlphaSubCycles 2; + } + p { solver GAMG; @@ -55,14 +61,6 @@ solvers relTol 0; } - "alpha.*" - { - solver PBiCG; - preconditioner DILU; - tolerance 1e-10; - relTol 0; - } - "(k|epsilon|Theta).*" { solver PBiCG; @@ -77,8 +75,6 @@ PIMPLE nOuterCorrectors 1; nCorrectors 2; nNonOrthogonalCorrectors 0; - nAlphaCorr 1; - nAlphaSubCycles 2; } relaxationFactors diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/mixerVessel2D/system/fvSolution b/tutorials/multiphase/compressibleTwoPhaseEulerFoam/mixerVessel2D/system/fvSolution index 97c8cb32d1..5e6a4b0b21 100644 --- a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/mixerVessel2D/system/fvSolution +++ b/tutorials/multiphase/compressibleTwoPhaseEulerFoam/mixerVessel2D/system/fvSolution @@ -17,6 +17,12 @@ FoamFile solvers { + alpha1 + { + nAlphaCorr 1; + nAlphaSubCycles 2; + } + p { solver GAMG; @@ -67,8 +73,7 @@ PIMPLE nOuterCorrectors 1; nCorrectors 3; nNonOrthogonalCorrectors 0; - nAlphaCorr 1; - nAlphaSubCycles 2; + pRefCell 0; pRefValue 0; } diff --git a/tutorials/multiphase/interDyMFoam/ras/damBreakWithObstacle/system/fvSolution b/tutorials/multiphase/interDyMFoam/ras/damBreakWithObstacle/system/fvSolution index a4e2403cfb..63d54a7c3d 100644 --- a/tutorials/multiphase/interDyMFoam/ras/damBreakWithObstacle/system/fvSolution +++ b/tutorials/multiphase/interDyMFoam/ras/damBreakWithObstacle/system/fvSolution @@ -17,6 +17,13 @@ FoamFile solvers { + alpha1 + { + nAlphaCorr 1; + nAlphaSubCycles 3; + cAlpha 1; + } + pcorr { solver PCG; @@ -102,9 +109,6 @@ PIMPLE momentumPredictor no; nCorrectors 3; nNonOrthogonalCorrectors 0; - nAlphaCorr 1; - nAlphaSubCycles 3; - cAlpha 1; pRefPoint (0.51 0.51 0.51); pRefValue 0; diff --git a/tutorials/multiphase/interDyMFoam/ras/floatingObject/system/fvSolution b/tutorials/multiphase/interDyMFoam/ras/floatingObject/system/fvSolution index c93b34506b..1202013c58 100644 --- a/tutorials/multiphase/interDyMFoam/ras/floatingObject/system/fvSolution +++ b/tutorials/multiphase/interDyMFoam/ras/floatingObject/system/fvSolution @@ -29,6 +29,13 @@ solvers mergeLevels 1; } + alpha1 + { + nAlphaCorr 1; + nAlphaSubCycles 3; + cAlpha 1; + } + pcorr { solver PCG; @@ -115,9 +122,6 @@ PIMPLE momentumPredictor no; nCorrectors 2; nNonOrthogonalCorrectors 0; - nAlphaCorr 1; - nAlphaSubCycles 3; - cAlpha 1; correctPhi yes; } diff --git a/tutorials/multiphase/interDyMFoam/ras/sloshingTank2D/system/fvSolution b/tutorials/multiphase/interDyMFoam/ras/sloshingTank2D/system/fvSolution index ae85bdfaba..696ba9cc79 100644 --- a/tutorials/multiphase/interDyMFoam/ras/sloshingTank2D/system/fvSolution +++ b/tutorials/multiphase/interDyMFoam/ras/sloshingTank2D/system/fvSolution @@ -17,6 +17,13 @@ FoamFile solvers { + alpha1 + { + nAlphaCorr 1; + nAlphaSubCycles 3; + cAlpha 1.5; + } + pcorr { solver PCG; @@ -94,9 +101,6 @@ PIMPLE momentumPredictor no; nCorrectors 2; nNonOrthogonalCorrectors 0; - nAlphaCorr 1; - nAlphaSubCycles 3; - cAlpha 1.5; correctPhi no; pRefPoint (0 0 0.15); diff --git a/tutorials/multiphase/interDyMFoam/ras/sloshingTank2D3DoF/system/fvSolution b/tutorials/multiphase/interDyMFoam/ras/sloshingTank2D3DoF/system/fvSolution index ae85bdfaba..696ba9cc79 100644 --- a/tutorials/multiphase/interDyMFoam/ras/sloshingTank2D3DoF/system/fvSolution +++ b/tutorials/multiphase/interDyMFoam/ras/sloshingTank2D3DoF/system/fvSolution @@ -17,6 +17,13 @@ FoamFile solvers { + alpha1 + { + nAlphaCorr 1; + nAlphaSubCycles 3; + cAlpha 1.5; + } + pcorr { solver PCG; @@ -94,9 +101,6 @@ PIMPLE momentumPredictor no; nCorrectors 2; nNonOrthogonalCorrectors 0; - nAlphaCorr 1; - nAlphaSubCycles 3; - cAlpha 1.5; correctPhi no; pRefPoint (0 0 0.15); diff --git a/tutorials/multiphase/interDyMFoam/ras/sloshingTank3D/system/fvSolution b/tutorials/multiphase/interDyMFoam/ras/sloshingTank3D/system/fvSolution index ae85bdfaba..696ba9cc79 100644 --- a/tutorials/multiphase/interDyMFoam/ras/sloshingTank3D/system/fvSolution +++ b/tutorials/multiphase/interDyMFoam/ras/sloshingTank3D/system/fvSolution @@ -17,6 +17,13 @@ FoamFile solvers { + alpha1 + { + nAlphaCorr 1; + nAlphaSubCycles 3; + cAlpha 1.5; + } + pcorr { solver PCG; @@ -94,9 +101,6 @@ PIMPLE momentumPredictor no; nCorrectors 2; nNonOrthogonalCorrectors 0; - nAlphaCorr 1; - nAlphaSubCycles 3; - cAlpha 1.5; correctPhi no; pRefPoint (0 0 0.15); diff --git a/tutorials/multiphase/interDyMFoam/ras/sloshingTank3D3DoF/system/fvSolution b/tutorials/multiphase/interDyMFoam/ras/sloshingTank3D3DoF/system/fvSolution index ae85bdfaba..696ba9cc79 100644 --- a/tutorials/multiphase/interDyMFoam/ras/sloshingTank3D3DoF/system/fvSolution +++ b/tutorials/multiphase/interDyMFoam/ras/sloshingTank3D3DoF/system/fvSolution @@ -17,6 +17,13 @@ FoamFile solvers { + alpha1 + { + nAlphaCorr 1; + nAlphaSubCycles 3; + cAlpha 1.5; + } + pcorr { solver PCG; @@ -94,9 +101,6 @@ PIMPLE momentumPredictor no; nCorrectors 2; nNonOrthogonalCorrectors 0; - nAlphaCorr 1; - nAlphaSubCycles 3; - cAlpha 1.5; correctPhi no; pRefPoint (0 0 0.15); diff --git a/tutorials/multiphase/interDyMFoam/ras/sloshingTank3D6DoF/system/fvSolution b/tutorials/multiphase/interDyMFoam/ras/sloshingTank3D6DoF/system/fvSolution index ae85bdfaba..696ba9cc79 100644 --- a/tutorials/multiphase/interDyMFoam/ras/sloshingTank3D6DoF/system/fvSolution +++ b/tutorials/multiphase/interDyMFoam/ras/sloshingTank3D6DoF/system/fvSolution @@ -17,6 +17,13 @@ FoamFile solvers { + alpha1 + { + nAlphaCorr 1; + nAlphaSubCycles 3; + cAlpha 1.5; + } + pcorr { solver PCG; @@ -94,9 +101,6 @@ PIMPLE momentumPredictor no; nCorrectors 2; nNonOrthogonalCorrectors 0; - nAlphaCorr 1; - nAlphaSubCycles 3; - cAlpha 1.5; correctPhi no; pRefPoint (0 0 0.15); diff --git a/tutorials/multiphase/interDyMFoam/ras/testTubeMixer/system/fvSolution b/tutorials/multiphase/interDyMFoam/ras/testTubeMixer/system/fvSolution index d6ad27dc79..54f20e5253 100644 --- a/tutorials/multiphase/interDyMFoam/ras/testTubeMixer/system/fvSolution +++ b/tutorials/multiphase/interDyMFoam/ras/testTubeMixer/system/fvSolution @@ -17,6 +17,13 @@ FoamFile solvers { + alpha1 + { + nAlphaCorr 1; + nAlphaSubCycles 3; + cAlpha 1.5; + } + pcorr { solver PCG; @@ -94,9 +101,6 @@ PIMPLE momentumPredictor no; nCorrectors 2; nNonOrthogonalCorrectors 0; - nAlphaCorr 1; - nAlphaSubCycles 3; - cAlpha 1.5; correctPhi no; pRefPoint (0.0013 0.0017 0.0017); diff --git a/tutorials/multiphase/interFoam/les/nozzleFlow2D/system/fvSolution b/tutorials/multiphase/interFoam/les/nozzleFlow2D/system/fvSolution index 2cc9d133e6..d7383123a6 100644 --- a/tutorials/multiphase/interFoam/les/nozzleFlow2D/system/fvSolution +++ b/tutorials/multiphase/interFoam/les/nozzleFlow2D/system/fvSolution @@ -17,6 +17,13 @@ FoamFile solvers { + alpha1 + { + nAlphaCorr 1; + nAlphaSubCycles 4; + cAlpha 2; + } + pcorr { solver PCG; @@ -100,9 +107,6 @@ PIMPLE momentumPredictor no; nCorrectors 2; nNonOrthogonalCorrectors 1; - nAlphaCorr 1; - nAlphaSubCycles 4; - cAlpha 2; } diff --git a/tutorials/multiphase/interFoam/ras/damBreak/system/fvSolution b/tutorials/multiphase/interFoam/ras/damBreak/system/fvSolution index 21ae680f26..a30ce4ddb8 100644 --- a/tutorials/multiphase/interFoam/ras/damBreak/system/fvSolution +++ b/tutorials/multiphase/interFoam/ras/damBreak/system/fvSolution @@ -17,6 +17,13 @@ FoamFile solvers { + alpha1 + { + nAlphaCorr 1; + nAlphaSubCycles 4; + cAlpha 2; + } + pcorr { solver PCG; @@ -63,9 +70,6 @@ PIMPLE momentumPredictor no; nCorrectors 3; nNonOrthogonalCorrectors 0; - nAlphaCorr 1; - nAlphaSubCycles 4; - cAlpha 2; } diff --git a/tutorials/multiphase/interFoam/ras/damBreakPorousBaffle/system/fvSolution b/tutorials/multiphase/interFoam/ras/damBreakPorousBaffle/system/fvSolution index 97d24d6130..96c64a2a1c 100644 --- a/tutorials/multiphase/interFoam/ras/damBreakPorousBaffle/system/fvSolution +++ b/tutorials/multiphase/interFoam/ras/damBreakPorousBaffle/system/fvSolution @@ -17,6 +17,13 @@ FoamFile solvers { + alpha1 + { + nAlphaCorr 1; + nAlphaSubCycles 4; + cAlpha 2; + } + pcorr { solver PCG; @@ -63,9 +70,6 @@ PIMPLE momentumPredictor yes; nCorrectors 3; nNonOrthogonalCorrectors 0; - nAlphaCorr 1; - nAlphaSubCycles 4; - cAlpha 2; } relaxationFactors diff --git a/tutorials/multiphase/interFoam/ras/waterChannel/LTSInterFoam/system/fvSolution b/tutorials/multiphase/interFoam/ras/waterChannel/LTSInterFoam/system/fvSolution index 7a6ad628f6..62774a7610 100644 --- a/tutorials/multiphase/interFoam/ras/waterChannel/LTSInterFoam/system/fvSolution +++ b/tutorials/multiphase/interFoam/ras/waterChannel/LTSInterFoam/system/fvSolution @@ -17,6 +17,13 @@ FoamFile solvers { + alpha1 + { + nAlphaCorr 1; + nAlphaSubCycles 3; + cAlpha 1; + } + pcorr { solver PCG; @@ -39,14 +46,6 @@ solvers maxIter 100; } -/* pcorr - { - solver PCG; - preconditioner DIC; - tolerance 1e-10; - relTol 0; - }; -*/ p_rgh { $pcorr; @@ -79,10 +78,6 @@ PIMPLE nCorrectors 2; nNonOrthogonalCorrectors 0; - nAlphaCorr 1; - nAlphaSubCycles 3; - cAlpha 1; - maxCo 0.5; maxAlphaCo 0.2; nAlphaSweepIter 1; diff --git a/tutorials/multiphase/interFoam/ras/waterChannel/system/fvSolution b/tutorials/multiphase/interFoam/ras/waterChannel/system/fvSolution index 8b86c656c8..e2db3124d4 100644 --- a/tutorials/multiphase/interFoam/ras/waterChannel/system/fvSolution +++ b/tutorials/multiphase/interFoam/ras/waterChannel/system/fvSolution @@ -17,6 +17,13 @@ FoamFile solvers { + alpha1 + { + nAlphaCorr 1; + nAlphaSubCycles 3; + cAlpha 1; + } + pcorr { solver PCG; @@ -68,10 +75,6 @@ PIMPLE momentumPredictor no; nCorrectors 2; nNonOrthogonalCorrectors 0; - - nAlphaCorr 1; - nAlphaSubCycles 3; - cAlpha 1; } relaxationFactors diff --git a/tutorials/multiphase/interFoam/ras/weirOverflow/system/fvSolution b/tutorials/multiphase/interFoam/ras/weirOverflow/system/fvSolution index b8d411303f..3693fa3dfe 100644 --- a/tutorials/multiphase/interFoam/ras/weirOverflow/system/fvSolution +++ b/tutorials/multiphase/interFoam/ras/weirOverflow/system/fvSolution @@ -16,6 +16,13 @@ FoamFile solvers { + alpha1 + { + nAlphaCorr 1; + nAlphaSubCycles 2; + cAlpha 1; + } + pcorr { solver PCG; @@ -58,9 +65,6 @@ PIMPLE momentumPredictor no; nCorrectors 3; nNonOrthogonalCorrectors 0; - nAlphaCorr 1; - nAlphaSubCycles 2; - cAlpha 1; } diff --git a/tutorials/multiphase/multiphaseEulerFoam/bubbleColumn/system/fvSolution b/tutorials/multiphase/multiphaseEulerFoam/bubbleColumn/system/fvSolution index cf4ce79ecf..73cb43356b 100644 --- a/tutorials/multiphase/multiphaseEulerFoam/bubbleColumn/system/fvSolution +++ b/tutorials/multiphase/multiphaseEulerFoam/bubbleColumn/system/fvSolution @@ -17,6 +17,11 @@ FoamFile solvers { + alpha + { + nAlphaSubCycles 2; + } + p { solver GAMG; @@ -92,7 +97,6 @@ PIMPLE nOuterCorrectors 1; nCorrectors 2; nNonOrthogonalCorrectors 0; - nAlphaSubCycles 2; } relaxationFactors diff --git a/tutorials/multiphase/multiphaseEulerFoam/damBreak4phase/system/fvSolution b/tutorials/multiphase/multiphaseEulerFoam/damBreak4phase/system/fvSolution index 296b0cd488..94423be84d 100644 --- a/tutorials/multiphase/multiphaseEulerFoam/damBreak4phase/system/fvSolution +++ b/tutorials/multiphase/multiphaseEulerFoam/damBreak4phase/system/fvSolution @@ -17,6 +17,11 @@ FoamFile solvers { + alpha + { + nAlphaSubCycles 3; + } + p { solver GAMG; @@ -83,7 +88,6 @@ PIMPLE { nCorrectors 3; nNonOrthogonalCorrectors 0; - nAlphaSubCycles 3; } relaxationFactors diff --git a/tutorials/multiphase/multiphaseEulerFoam/damBreak4phaseFine/system/fvSolution b/tutorials/multiphase/multiphaseEulerFoam/damBreak4phaseFine/system/fvSolution index 296b0cd488..94423be84d 100644 --- a/tutorials/multiphase/multiphaseEulerFoam/damBreak4phaseFine/system/fvSolution +++ b/tutorials/multiphase/multiphaseEulerFoam/damBreak4phaseFine/system/fvSolution @@ -17,6 +17,11 @@ FoamFile solvers { + alpha + { + nAlphaSubCycles 3; + } + p { solver GAMG; @@ -83,7 +88,6 @@ PIMPLE { nCorrectors 3; nNonOrthogonalCorrectors 0; - nAlphaSubCycles 3; } relaxationFactors diff --git a/tutorials/multiphase/multiphaseEulerFoam/mixerVessel2D/system/fvSolution b/tutorials/multiphase/multiphaseEulerFoam/mixerVessel2D/system/fvSolution index 89fe68c6fb..4c352dce5f 100644 --- a/tutorials/multiphase/multiphaseEulerFoam/mixerVessel2D/system/fvSolution +++ b/tutorials/multiphase/multiphaseEulerFoam/mixerVessel2D/system/fvSolution @@ -17,6 +17,11 @@ FoamFile solvers { + alpha + { + nAlphaSubCycles 2; + } + p { solver GAMG; @@ -84,7 +89,7 @@ PIMPLE nOuterCorrectors 1; nCorrectors 3; nNonOrthogonalCorrectors 0; - nAlphaSubCycles 2; + pRefCell 0; pRefValue 0; } diff --git a/tutorials/multiphase/multiphaseInterFoam/laminar/damBreak4phase/system/fvSolution b/tutorials/multiphase/multiphaseInterFoam/laminar/damBreak4phase/system/fvSolution index 3c8c89ad22..d0c3c2764f 100644 --- a/tutorials/multiphase/multiphaseInterFoam/laminar/damBreak4phase/system/fvSolution +++ b/tutorials/multiphase/multiphaseInterFoam/laminar/damBreak4phase/system/fvSolution @@ -17,6 +17,12 @@ FoamFile solvers { + alpha + { + nAlphaSubCycles 4; + cAlpha 2; + } + pcorr { solver PCG; @@ -98,8 +104,6 @@ PIMPLE { nCorrectors 2; nNonOrthogonalCorrectors 0; - nAlphaSubCycles 4; - cAlpha 2; } relaxationFactors diff --git a/tutorials/multiphase/multiphaseInterFoam/laminar/damBreak4phaseFine/system/fvSolution b/tutorials/multiphase/multiphaseInterFoam/laminar/damBreak4phaseFine/system/fvSolution index 34ad1289b3..c2eac8b775 100644 --- a/tutorials/multiphase/multiphaseInterFoam/laminar/damBreak4phaseFine/system/fvSolution +++ b/tutorials/multiphase/multiphaseInterFoam/laminar/damBreak4phaseFine/system/fvSolution @@ -17,6 +17,12 @@ FoamFile solvers { + alpha + { + nAlphaSubCycles 4; + cAlpha 2; + } + pcorr { solver PCG; @@ -92,8 +98,6 @@ PIMPLE momentumPredictor no; nCorrectors 2; nNonOrthogonalCorrectors 0; - nAlphaSubCycles 4; - cAlpha 2; } relaxationFactors diff --git a/tutorials/multiphase/twoLiquidMixingFoam/lockExchange/system/fvSolution b/tutorials/multiphase/twoLiquidMixingFoam/lockExchange/system/fvSolution index 962f2cdfd6..af87b0880f 100644 --- a/tutorials/multiphase/twoLiquidMixingFoam/lockExchange/system/fvSolution +++ b/tutorials/multiphase/twoLiquidMixingFoam/lockExchange/system/fvSolution @@ -19,6 +19,9 @@ solvers { "alpha1.*" { + nAlphaSubCycles 2; + nAlphaCorr 1; + solver smoothSolver; smoother GaussSeidel; tolerance 1e-9; @@ -66,8 +69,7 @@ PIMPLE nOuterCorrectors 1; nCorrectors 2; nNonOrthogonalCorrectors 0; - nAlphaSubCycles 2; - nAlphaCorr 1; + pRefValue 0; pRefPoint (0.1 0.1 1); } diff --git a/tutorials/multiphase/twoPhaseEulerFoam/bed/system/fvSolution b/tutorials/multiphase/twoPhaseEulerFoam/bed/system/fvSolution index 3a47e5857c..357d2a8442 100644 --- a/tutorials/multiphase/twoPhaseEulerFoam/bed/system/fvSolution +++ b/tutorials/multiphase/twoPhaseEulerFoam/bed/system/fvSolution @@ -17,6 +17,17 @@ FoamFile solvers { + "alpha1.*" + { + nAlphaCorr 1; + nAlphaSubCycles 3; + + solver PCG; + preconditioner DIC; + tolerance 1e-10; + relTol 0.1; + } + p { solver GAMG; @@ -52,26 +63,6 @@ solvers $k; relTol 0; } - - alpha1 - { - nAlphaCorr 2; - nAlphaSubCycles 3; - } - - alpha - { - solver PCG; - preconditioner DIC; - tolerance 1e-10; - relTol 0.1; - } - - alpha1Final - { - $alpha; - relTol 0; - } } PIMPLE @@ -79,6 +70,7 @@ PIMPLE nCorrectors 2; nNonOrthogonalCorrectors 0; correctAlpha yes; + pRefCell 0; pRefValue 0; } diff --git a/tutorials/multiphase/twoPhaseEulerFoam/bed2/system/fvSolution b/tutorials/multiphase/twoPhaseEulerFoam/bed2/system/fvSolution index 2e3cdfa4aa..efd034ad8b 100644 --- a/tutorials/multiphase/twoPhaseEulerFoam/bed2/system/fvSolution +++ b/tutorials/multiphase/twoPhaseEulerFoam/bed2/system/fvSolution @@ -17,6 +17,12 @@ FoamFile solvers { + alpha1 + { + nAlphaCorr 1; + nAlphaSubCycles 3; + } + p { solver GAMG; @@ -54,31 +60,14 @@ solvers tolerance 1e-05; relTol 0; } - - alpha - { - solver PBiCG; - preconditioner DILU; - tolerance 1e-10; - relTol 0.1; - } - - alpha1Final - { - solver PBiCG; - preconditioner DILU; - tolerance 1e-10; - relTol 0; - } } PIMPLE { nCorrectors 2; nNonOrthogonalCorrectors 0; - nAlphaCorr 1; - nAlphaSubCycles 3; correctAlpha yes; + pRefCell 0; pRefValue 0; } diff --git a/tutorials/multiphase/twoPhaseEulerFoam/bubbleColumn/system/fvSolution b/tutorials/multiphase/twoPhaseEulerFoam/bubbleColumn/system/fvSolution index 76a95c8327..381ca29a11 100644 --- a/tutorials/multiphase/twoPhaseEulerFoam/bubbleColumn/system/fvSolution +++ b/tutorials/multiphase/twoPhaseEulerFoam/bubbleColumn/system/fvSolution @@ -17,6 +17,12 @@ FoamFile solvers { + alpha1 + { + nAlphaCorr 1; + nAlphaSubCycles 2; + } + p { solver GAMG; @@ -54,31 +60,14 @@ solvers tolerance 1e-05; relTol 0; } - - alpha - { - solver PBiCG; - preconditioner DILU; - tolerance 1e-10; - relTol 0.1; - } - - alpha1Final - { - solver PBiCG; - preconditioner DILU; - tolerance 1e-10; - relTol 0; - } } PIMPLE { nCorrectors 2; nNonOrthogonalCorrectors 0; - nAlphaCorr 1; - nAlphaSubCycles 2; correctAlpha yes; + pRefCell 0; pRefValue 0; } diff --git a/tutorials/multiphase/twoPhaseEulerFoam/mixerVessel2D/system/fvSolution b/tutorials/multiphase/twoPhaseEulerFoam/mixerVessel2D/system/fvSolution index 69208cbe95..f281016b47 100644 --- a/tutorials/multiphase/twoPhaseEulerFoam/mixerVessel2D/system/fvSolution +++ b/tutorials/multiphase/twoPhaseEulerFoam/mixerVessel2D/system/fvSolution @@ -17,6 +17,12 @@ FoamFile solvers { + alpha1 + { + nAlphaCorr 1; + nAlphaSubCycles 3; + } + p { solver GAMG; @@ -53,14 +59,6 @@ solvers relTol 0; } - "alpha.*" - { - solver PBiCG; - preconditioner DILU; - tolerance 1e-10; - relTol 0; - } - "(k|epsilon|Theta|T).*" { solver PBiCG; @@ -75,9 +73,8 @@ PIMPLE nOuterCorrectors 1; nCorrectors 3; nNonOrthogonalCorrectors 0; - nAlphaCorr 1; - nAlphaSubCycles 3; correctAlpha yes; + pRefCell 0; pRefValue 0; } diff --git a/wmake/wmake b/wmake/wmake index e5d9396565..0f8e2cc41f 100755 --- a/wmake/wmake +++ b/wmake/wmake @@ -50,7 +50,6 @@ The 'target' is a Makefile target: e.g., Make/linux64GccDPOpt/fvMesh.o or a special target: - dwim search up directories tree for Make sub-directory and build all all subdirectories, uses any Allwmake files if they exist exe build statically linked executable lib build statically linked archive lib (.a) @@ -86,9 +85,11 @@ do esac done -# -# check environment variables -# + +#------------------------------------------------------------------------------ +# Check environment variables +#------------------------------------------------------------------------------ + for check in WM_OPTIONS WM_LINK_LANGUAGE WM_DIR do eval test "\$$check" || { @@ -103,13 +104,13 @@ done [ "$1" = exe -o \( "$WM_PROJECT" -a "$WM_PROJECT_DIR" \) ] || { echo "$Script error:" 1>&2 echo " environment variable \$WM_PROJECT or \$WM_PROJECT_DIR not set" 1>&2 - echo " while building project library" 1>&2 + echo " while building project library" 1>&2 exit 1 } #------------------------------------------------------------------------------ -# Select the version of make to be used +# Select the version of make use #------------------------------------------------------------------------------ # set WM_NCOMPPROCS automatically when both WM_HOSTS and WM_SCHEDULER are set @@ -169,51 +170,6 @@ then fi -#------------------------------------------------------------------------------ -# Search up directories tree for the Make sub-directory and build there -#------------------------------------------------------------------------------ - -unset dir -MakeDir=Make - -expandpath() -{ - dir=`dirname $1` - cwd=$PWD - cd $dir - exPath=$PWD - cd $cwd -} - -find_target() -{ - expandpath $1 - - if [ "$exPath" = "$WM_PROJECT_DIR" -o "$exPath" = "$HOME" -o "$exPath" = "/" ]; then - echo "$Script error: could not find Make directory" - elif [ -d "$1/Make" ]; then - echo Target $1 - dir=$1 - else - find_target "$1/.." - fi -} - -if [ "$makeType" = dwim ] -then - find_target . - makeType= - - if [ "$dir" ] - then - cd $dir 2>/dev/null || { - echo "$Script error: could not change to directory '$dir'" 1>&2 - exit 1 - } - fi -fi - - #------------------------------------------------------------------------------ # Recurse the application directories tree #------------------------------------------------------------------------------ @@ -236,19 +192,65 @@ fi #------------------------------------------------------------------------------ -# Require the existence of the 'Make' directory and 'files' file +# Search up directories tree for the Make sub-directory and build there +# Also check the existance of the 'files' file #------------------------------------------------------------------------------ -[ -d $MakeDir ] || { - echo "$Script error: '$MakeDir' directory does not exist in $PWD" 1>&2 - exit 1 +unset dir +MakeDir=Make + +expandpath() +{ + dir=`dirname $1` + cwd=$PWD + cd $dir + exPath=$PWD + cd $cwd } +find_target() +{ + expandpath $1 + + if [ "$exPath" = "$WM_PROJECT_DIR" -o "$exPath" = "$HOME" -o "$exPath" = "/" ] + then + echo "$Script error: could not find Make directory" + elif [ -d "$1/Make" ]; then + echo " Found target directory " $1 + dir=$1 + else + find_target "$1/.." + fi +} + +if [ ! -d $MakeDir ] +then + echo "$Script: '$MakeDir' directory does not exist in $PWD" 1>&2 + echo " Searching up directories tree for Make directory" + + find_target . + makeType= + + if [ "$dir" ] + then + cd $dir 2>/dev/null || { + echo "$Script error: could not change to directory '$dir'" 1>&2 + exit 1 + } + fi +fi + + [ -r $MakeDir/files ] || { echo "$Script error: file '$MakeDir/files' does not exist in $PWD" 1>&2 exit 1 } + +#------------------------------------------------------------------------------ +# Transform options +#------------------------------------------------------------------------------ + # transform "all" or no option to "libso" if that looks appropriate or remove it # so that the call to make builds the application if [ "$makeType" = all -o "$makeType" = "" ] @@ -261,8 +263,11 @@ then fi +#------------------------------------------------------------------------------ # Spawn a sub-shell and unset MAKEFLAGS in that sub-shell to avoid # files and options being built in parallel +#------------------------------------------------------------------------------ + ( cd $MakeDir unset MAKEFLAGS