diff --git a/applications/solvers/multiphase/interFoam/interDyMFoam/correctPhi.H b/applications/solvers/multiphase/interFoam/interDyMFoam/correctPhi.H index 8d3e60da4044ce89d0a23c54e8a532d26067f143..75560b6337fbeb5870e60a496bf1d798a40de7d9 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 3ccfa73fee62d91fb88baf889291d6c9af3950ac..0c22dd01b7527fa7fb4ba8e5a39d7e861e38d093 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 a19b6a3d9b5f61d9d5fd0028438cf6712f9cd468..0e3527cfae0bbd81c9de6691895d9943d9461a02 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 5e71a2eeebf3fc0aafefd77baa2ffe543d47b1c6..7b5b83784da166fb003cb9f965321d1503e18384 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 a1545657473523bdfea37a8c4ba3d5fe0aa7afff..7b1a0e027df758527fc2eafa9b629aec768d555d 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 411500e8c0c8c9ca531d6a5f7df683d27c75ec2d..0898ac44ada0abc34091b4d289d466ecd07d0b04 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::triSurfacePointScalarField> Foam::automatic::load() true ); - scalarField internalClosenessPointField = - patchInterpolate.faceToPointInterpolate(internalCloseness); + scalarField internalClosenessPointField + ( + patchInterpolate.faceToPointInterpolate(internalCloseness) + ); forAll(pointCellSize, pI) { @@ -254,8 +256,10 @@ Foam::tmp<Foam::triSurfacePointScalarField> 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 5d7818683465554b6b607b37fcba34c2ae29bf31..78149fac1669328e7406e5cdfe888cd92f6d3e9a 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<extendedFeatureEdgeMesh> features; - vectorField faceNormals(List<vector>(treeBoundBox::faceNormals)); + List<vector> 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 9c7d9078880b6f603f3bc48831faa0ba0eda25d6..27e7740a942115faa91ed234a4925ac90dd1d955 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 29707e303c585fad79c58c4e22faf047015fd62c..0e28f5c6c5b00a581556f4e0c14b546545de1553 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<treeDataTriSurface>& 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<treeDataTriSurface>& tree = querySurf.tree(); - surfaceIntersection inter(querySurf); + OBJstream intStream("selfInterPoints.obj"); - if (inter.cutEdges().empty() && inter.cutPoints().empty()) - { - Info<< "Surface is not self-intersecting" << endl; - } - else + label nInt = 0; + + forAll(surf.edges(), edgeI) { - Info<< "Surface is self-intersecting" << endl; - Info<< "Writing edges of intersection to selfInter.obj" << endl; + const edge& e = surf.edges()[edgeI]; - OFstream intStream("selfInter.obj"); - forAll(inter.cutPoints(), cutPointI) - { - const point& pt = inter.cutPoints()[cutPointI]; + pointIndexHit hitInfo + ( + tree.findLine + ( + surf.points()[surf.meshPoints()[e[0]]], + surf.points()[surf.meshPoints()[e[1]]], + treeDataTriSurface::findSelfIntersectOp + ( + tree, + edgeI + ) + ) + ); - intStream << "v " << pt.x() << ' ' << pt.y() << ' ' << pt.z() - << endl; - } - forAll(inter.cutEdges(), cutEdgeI) + if (hitInfo.hit()) { - const edge& e = inter.cutEdges()[cutEdgeI]; - - intStream << "l " << e.start()+1 << ' ' << e.end()+1 << endl; + intStream.write(hitInfo.hitPoint()); + nInt++; } } + + if (nInt == 0) + { + Info<< "Surface is not self-intersecting" << endl; + } + else + { + 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 7f4f667c30feddbe07d831ff7b65ab0bb34f6bfe..5b48463befa18f99aecf5859a2e67b5e4c2ad47d 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<label, vector>&); + //- 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<class T> bool contiguous(); +template<> +inline bool contiguous<pointConstraint>() {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 698e62a94460ff4b3b24a51ab7e9bcc787d8e3f3..0915a301d4db98a8d20e3a9193c22482e7f2149c 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<label, vector>& pc) +: + Tuple2<label, vector>(pc) +{} + + inline Foam::pointConstraint::pointConstraint(Istream& is) : Tuple2<label, vector>(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<label, vector>(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 7e3850891d248c4510607a386bd44f06ecf8bb5f..0013d193e302f3a839471f515eddf473be7234f5 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 4254348b18ae2d236309bc0bee77e4b9c1f2cf80..5c886900e82f6e172f7a4329d32c1e50e92eb674 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<GeometricField<GradType, fvPatchField, volMesh> > 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<GradType>::typeName ) ); diff --git a/src/thermophysicalModels/solidChemistryModel/solidChemistrySolver/makeSolidChemistrySolverType.H b/src/thermophysicalModels/solidChemistryModel/solidChemistrySolver/makeSolidChemistrySolverType.H index 3f24e11e4a9cb4f8622dfb687c1e6eee6a50d840..b1e33933f6a793aecc6a79d47675e95fe3cb7475 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 698ff247d3588ecf485750ed392cd0745e137d2c..6f1ace6a16236d72811a5f268fcaad2d93db66a8 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 a07beadefa25bb5a71c6f19e2e71ed406657ed71..7413e6a02ecff85d2e947660a36f84fb5a0ba914 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 f6e6726c6bc2912dada27f59fca03ea17e1b68d8..0000000000000000000000000000000000000000 --- 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 a81220d8aa87f22bf9cf0dadf700576cba0b6df9..00cbd4d30bf13b699f9ca66861bb5b18359742b0 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 ddb0f60d60f37746da6c73e25569c0f6f3d823e9..84f822890eac7bc4374cbdf8ed0ab2a82bb34152 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 efd2924775d02edef8c912c48bed1fab405616a0..c1aa352a73f5adee542f1cfcee7ed95e842872e8 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 efd2924775d02edef8c912c48bed1fab405616a0..c1aa352a73f5adee542f1cfcee7ed95e842872e8 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 efd2924775d02edef8c912c48bed1fab405616a0..c1aa352a73f5adee542f1cfcee7ed95e842872e8 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 efd2924775d02edef8c912c48bed1fab405616a0..c1aa352a73f5adee542f1cfcee7ed95e842872e8 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 efd2924775d02edef8c912c48bed1fab405616a0..c1aa352a73f5adee542f1cfcee7ed95e842872e8 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 7d940c54e8121d663fcee5eb723101d8d89a8e4f..76eaf8fd2a3d1ce01aa7564134a7737d9b5e6f28 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 190bdc4e1b9bbb5ab71a62d9a23cbc697358a63d..87856ee3ca139aff10b36730998d69bc6218bd33 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 19a9d9e0f3ecbf4de125c079b3b1d703b756ee2b..c4f3932da60c089c236da174316a0876d4d1a226 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 7577b94f2117c0747b8af59a35a1d46738d3b7ab..4e1aa83dc74d3db686ea7a3ae3c8ea442091cd1e 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 7577b94f2117c0747b8af59a35a1d46738d3b7ab..4e1aa83dc74d3db686ea7a3ae3c8ea442091cd1e 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 067ac927d023c4e5e173c4c1ed6b2cada94c6f4e..1689fc3519883a0af17454b6842bfb264a5690a3 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 97c8cb32d1a050b21c7c11eed1acef7e4320ec6a..5e6a4b0b21269cbbd6cbde062c090325a1bf1e5e 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 a4e2403cfbbd6c61c9646e7c9803020682d2f35f..63d54a7c3dbbdc49c061706b661442631467b6fc 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 c93b34506bf660eb43f6f13df73ecc48be3a00c9..1202013c58cab93c03b199125dc462a675f6acaa 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 ae85bdfaba79415bf8d80a6659b8136c483796ed..696ba9cc7988e7447b0d9ed7a1010f2f75f44098 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 ae85bdfaba79415bf8d80a6659b8136c483796ed..696ba9cc7988e7447b0d9ed7a1010f2f75f44098 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 ae85bdfaba79415bf8d80a6659b8136c483796ed..696ba9cc7988e7447b0d9ed7a1010f2f75f44098 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 ae85bdfaba79415bf8d80a6659b8136c483796ed..696ba9cc7988e7447b0d9ed7a1010f2f75f44098 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 ae85bdfaba79415bf8d80a6659b8136c483796ed..696ba9cc7988e7447b0d9ed7a1010f2f75f44098 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 d6ad27dc796fd3b5f2cee6bb3421f6bf19c95a13..54f20e5253f0b6a6fbd838c1014ab2c65a3755ce 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 2cc9d133e6d90f92b313821e2e5e8a4bd23de958..d7383123a6a4cd8b8924813ec9144cded6e2bf9c 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 21ae680f263d399a0dae1f57fc88666e08cc333f..a30ce4ddb8c0709187beec070c39ff9db7977595 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 97d24d6130ffd7e01954d2f82a1b8dc7b376b8d8..96c64a2a1c9145b0573c148c95d84c02bf34ad47 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 7a6ad628f6c69e159b6b4997898f85cf4de756c2..62774a76104c171e959156b9bbbea564a9a0b3ba 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 8b86c656c8faba7ef608611e75efa34a06d04365..e2db3124d4d72d0925b097bd652e638b8e6f6d60 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 b8d411303f41ffe1b2722fc28817c4470164f3b5..3693fa3dfe48cba3d696c111e4bc81c9c149c8d1 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 cf4ce79ecf23c40a9c8a6335556f98005881425d..73cb43356b88c947783befe2a0f62fc9cf4ad96d 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 296b0cd48839b3ce647e02a066bcaaa341e692f1..94423be84d3c0342998a107f1e9c221dcf442a66 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 296b0cd48839b3ce647e02a066bcaaa341e692f1..94423be84d3c0342998a107f1e9c221dcf442a66 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 89fe68c6fb32b4329a953f28dd32c0fb630710e6..4c352dce5f874c1c50aa6f1e2494cb94e9264a01 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 3c8c89ad22b85685f9a189472d90f0f180a438d2..d0c3c2764f316b6cc094b09c0f8b36efa416f3b9 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 34ad1289b35d559848fbd643fb9a3c5553f7151b..c2eac8b7750cf010c5ab62e968fea5af953fb7ed 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 962f2cdfd602b003125d7dcea347374b3442e273..af87b0880fb25609cc492b87363236bd3065e01e 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 3a47e5857c1307ec855eb02f64a67e250c467750..357d2a8442c2eeae0580244deb18b4149a419428 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 2e3cdfa4aaee926062296b0c2d40cb381f41ebcb..efd034ad8bf106537ea18fca8bcfbd9f2b90e3cb 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 76a95c8327cadc21206927893a86f255c8cd1c8c..381ca29a11e5a1a25302a4548358c17c9d9085ee 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 69208cbe950050e6f399b103952793cc7037bdf1..f281016b47a9a002bd4e6be554b74990eb7129e6 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 e5d939656567eb4459bb8830e7a3aad6096b4c54..0f8e2cc41f0266271448a807934ffd180e6033b7 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,8 +170,30 @@ then fi +#------------------------------------------------------------------------------ +# Recurse the application directories tree +#------------------------------------------------------------------------------ + +if [ "$makeType" = all ] +then + if [ -e Allwmake ] + then + ./Allwmake + exit $? + elif [ ! -d $MakeDir ] + then + # FOAM_APPS=$(find . -maxdepth 1 \( -type d -a ! -name "." -a ! -name Optional -a ! -name Make \) -printf "%f ") + # avoid 'find' with '-printf' ... not entirely portable + FOAM_APPS=$(for d in *; do [ -d "$d" -a "$d" != Optional -a "$d" != Make ] && echo "$d"; done | xargs) + $make -k -f $WM_DIR/MakefileApps FOAM_APPS="$FOAM_APPS" + exit $? + fi +fi + + #------------------------------------------------------------------------------ # Search up directories tree for the Make sub-directory and build there +# Also check the existance of the 'files' file #------------------------------------------------------------------------------ unset dir @@ -189,18 +212,22 @@ find_target() { expandpath $1 - if [ "$exPath" = "$WM_PROJECT_DIR" -o "$exPath" = "$HOME" -o "$exPath" = "/" ]; then + 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 + echo " Found target directory " $1 dir=$1 else find_target "$1/.." fi } -if [ "$makeType" = dwim ] +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= @@ -214,41 +241,16 @@ then fi -#------------------------------------------------------------------------------ -# Recurse the application directories tree -#------------------------------------------------------------------------------ - -if [ "$makeType" = all ] -then - if [ -e Allwmake ] - then - ./Allwmake - exit $? - elif [ ! -d $MakeDir ] - then - # FOAM_APPS=$(find . -maxdepth 1 \( -type d -a ! -name "." -a ! -name Optional -a ! -name Make \) -printf "%f ") - # avoid 'find' with '-printf' ... not entirely portable - FOAM_APPS=$(for d in *; do [ -d "$d" -a "$d" != Optional -a "$d" != Make ] && echo "$d"; done | xargs) - $make -k -f $WM_DIR/MakefileApps FOAM_APPS="$FOAM_APPS" - exit $? - fi -fi - - -#------------------------------------------------------------------------------ -# Require the existence of the 'Make' directory and 'files' file -#------------------------------------------------------------------------------ - -[ -d $MakeDir ] || { - echo "$Script error: '$MakeDir' directory does not exist in $PWD" 1>&2 - exit 1 -} - [ -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