diff --git a/src/regionModels/surfaceFilmModels/submodels/thermo/phaseChangeModel/noPhaseChange/noPhaseChange.C b/src/regionModels/surfaceFilmModels/submodels/thermo/phaseChangeModel/noPhaseChange/noPhaseChange.C index bf585579f6..bb9e5b9ccd 100644 --- a/src/regionModels/surfaceFilmModels/submodels/thermo/phaseChangeModel/noPhaseChange/noPhaseChange.C +++ b/src/regionModels/surfaceFilmModels/submodels/thermo/phaseChangeModel/noPhaseChange/noPhaseChange.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -60,6 +60,12 @@ noPhaseChange::~noPhaseChange() // * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * * // +bool noPhaseChange::active() const +{ + return false; +} + + void noPhaseChange::correctModel ( const scalar, diff --git a/src/regionModels/surfaceFilmModels/submodels/thermo/phaseChangeModel/noPhaseChange/noPhaseChange.H b/src/regionModels/surfaceFilmModels/submodels/thermo/phaseChangeModel/noPhaseChange/noPhaseChange.H index 8403ca9d7f..65a3a56636 100644 --- a/src/regionModels/surfaceFilmModels/submodels/thermo/phaseChangeModel/noPhaseChange/noPhaseChange.H +++ b/src/regionModels/surfaceFilmModels/submodels/thermo/phaseChangeModel/noPhaseChange/noPhaseChange.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -85,6 +85,9 @@ public: // Evolution + //- Return the model 'active' status - default active = true + virtual bool active() const; + //- Correct virtual void correctModel ( diff --git a/src/regionModels/surfaceFilmModels/submodels/thermo/phaseChangeModel/phaseChangeModel/phaseChangeModel.C b/src/regionModels/surfaceFilmModels/submodels/thermo/phaseChangeModel/phaseChangeModel/phaseChangeModel.C index ffc66761be..aae14e76ec 100644 --- a/src/regionModels/surfaceFilmModels/submodels/thermo/phaseChangeModel/phaseChangeModel/phaseChangeModel.C +++ b/src/regionModels/surfaceFilmModels/submodels/thermo/phaseChangeModel/phaseChangeModel/phaseChangeModel.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -81,6 +81,11 @@ void phaseChangeModel::correct volScalarField& dEnergy ) { + if (!active()) + { + return; + } + correctModel ( dt, diff --git a/tutorials/incompressible/SRFSimpleFoam/mixer/system/fvSolution b/tutorials/incompressible/SRFSimpleFoam/mixer/system/fvSolution index d3b6f9d65b..99306fab01 100644 --- a/tutorials/incompressible/SRFSimpleFoam/mixer/system/fvSolution +++ b/tutorials/incompressible/SRFSimpleFoam/mixer/system/fvSolution @@ -25,50 +25,10 @@ solvers relTol 0.01; } - Urel + "(Urel|k|epsilon|omega|R|nuTilda)" { - solver PBiCG; - preconditioner DILU; - tolerance 1e-05; - relTol 0.1; - } - - k - { - solver PBiCG; - preconditioner DILU; - tolerance 1e-05; - relTol 0.1; - } - - epsilon - { - solver PBiCG; - preconditioner DILU; - tolerance 1e-05; - relTol 0.1; - } - - omega - { - solver PBiCG; - preconditioner DILU; - tolerance 1e-05; - relTol 0.1; - } - - R - { - solver PBiCG; - preconditioner DILU; - tolerance 1e-05; - relTol 0.1; - } - - nuTilda - { - solver PBiCG; - preconditioner DILU; + solver smoothSolver; + smoother symGaussSeidel; tolerance 1e-05; relTol 0.1; } diff --git a/tutorials/incompressible/boundaryFoam/boundaryLaunderSharma/system/fvSchemes b/tutorials/incompressible/boundaryFoam/boundaryLaunderSharma/system/fvSchemes index 893d5e28e7..815e258200 100644 --- a/tutorials/incompressible/boundaryFoam/boundaryLaunderSharma/system/fvSchemes +++ b/tutorials/incompressible/boundaryFoam/boundaryLaunderSharma/system/fvSchemes @@ -28,10 +28,10 @@ gradSchemes divSchemes { default none; - div(phi,k) Gauss linear; - div(phi,epsilon) Gauss linear; - div(phi,R) Gauss linear; - div(phi,nuTilda) Gauss linear; + div(phi,k) bounded Gauss linear; + div(phi,epsilon) bounded Gauss linear; + div(phi,R) bounded Gauss linear; + div(phi,nuTilda) bounded Gauss linear; div((nuEff*dev(T(grad(U))))) Gauss linear; } diff --git a/tutorials/incompressible/boundaryFoam/boundaryLaunderSharma/system/fvSolution b/tutorials/incompressible/boundaryFoam/boundaryLaunderSharma/system/fvSolution index 8ffa1bc5ff..ae4d2879b3 100644 --- a/tutorials/incompressible/boundaryFoam/boundaryLaunderSharma/system/fvSolution +++ b/tutorials/incompressible/boundaryFoam/boundaryLaunderSharma/system/fvSolution @@ -25,34 +25,10 @@ solvers relTol 0; } - k + "(k|epsilon|R|nuTilda)" { - solver PBiCG; - preconditioner DILU; - tolerance 1e-06; - relTol 0; - } - - epsilon - { - solver PBiCG; - preconditioner DILU; - tolerance 1e-06; - relTol 0; - } - - R - { - solver PBiCG; - preconditioner DILU; - tolerance 1e-06; - relTol 0; - } - - nuTilda - { - solver PBiCG; - preconditioner DILU; + solver smoothSolver; + smoother symGaussSeidel; tolerance 1e-06; relTol 0; } diff --git a/tutorials/incompressible/boundaryFoam/boundaryWallFunctions/system/fvSchemes b/tutorials/incompressible/boundaryFoam/boundaryWallFunctions/system/fvSchemes index 893d5e28e7..815e258200 100644 --- a/tutorials/incompressible/boundaryFoam/boundaryWallFunctions/system/fvSchemes +++ b/tutorials/incompressible/boundaryFoam/boundaryWallFunctions/system/fvSchemes @@ -28,10 +28,10 @@ gradSchemes divSchemes { default none; - div(phi,k) Gauss linear; - div(phi,epsilon) Gauss linear; - div(phi,R) Gauss linear; - div(phi,nuTilda) Gauss linear; + div(phi,k) bounded Gauss linear; + div(phi,epsilon) bounded Gauss linear; + div(phi,R) bounded Gauss linear; + div(phi,nuTilda) bounded Gauss linear; div((nuEff*dev(T(grad(U))))) Gauss linear; } diff --git a/tutorials/incompressible/boundaryFoam/boundaryWallFunctions/system/fvSolution b/tutorials/incompressible/boundaryFoam/boundaryWallFunctions/system/fvSolution index 16b9956a58..671565adb9 100644 --- a/tutorials/incompressible/boundaryFoam/boundaryWallFunctions/system/fvSolution +++ b/tutorials/incompressible/boundaryFoam/boundaryWallFunctions/system/fvSolution @@ -25,34 +25,10 @@ solvers relTol 0; } - k + "(k|epsilon|R|nuTilda)" { - solver PBiCG; - preconditioner DILU; - tolerance 1e-06; - relTol 0; - } - - epsilon - { - solver PBiCG; - preconditioner DILU; - tolerance 1e-06; - relTol 0; - } - - R - { - solver PBiCG; - preconditioner DILU; - tolerance 1e-06; - relTol 0; - } - - nuTilda - { - solver PBiCG; - preconditioner DILU; + solver smoothSolver; + smoother symGaussSeidel; tolerance 1e-06; relTol 0; } diff --git a/tutorials/incompressible/boundaryFoam/boundaryWallFunctionsProfile/system/fvSchemes b/tutorials/incompressible/boundaryFoam/boundaryWallFunctionsProfile/system/fvSchemes index 83e4172fbb..1d00381423 100644 --- a/tutorials/incompressible/boundaryFoam/boundaryWallFunctionsProfile/system/fvSchemes +++ b/tutorials/incompressible/boundaryFoam/boundaryWallFunctionsProfile/system/fvSchemes @@ -28,11 +28,11 @@ gradSchemes divSchemes { default none; - div(phi,k) Gauss linear; - div(phi,epsilon) Gauss linear; - div(phi,omega) Gauss linear; - div(phi,R) Gauss linear; - div(phi,nuTilda) Gauss linear; + div(phi,k) bounded Gauss linear; + div(phi,epsilon) bounded Gauss linear; + div(phi,omega) bounded Gauss linear; + div(phi,R) bounded Gauss linear; + div(phi,nuTilda) bounded Gauss linear; div((nuEff*dev(T(grad(U))))) Gauss linear; } diff --git a/tutorials/incompressible/boundaryFoam/boundaryWallFunctionsProfile/system/fvSolution b/tutorials/incompressible/boundaryFoam/boundaryWallFunctionsProfile/system/fvSolution index 050b262898..58ede59f1e 100644 --- a/tutorials/incompressible/boundaryFoam/boundaryWallFunctionsProfile/system/fvSolution +++ b/tutorials/incompressible/boundaryFoam/boundaryWallFunctionsProfile/system/fvSolution @@ -25,42 +25,10 @@ solvers relTol 0; } - k + "(k|epsilon|omega|R|nuTilda)" { - solver PBiCG; - preconditioner DILU; - tolerance 1e-06; - relTol 0; - } - - epsilon - { - solver PBiCG; - preconditioner DILU; - tolerance 1e-06; - relTol 0; - } - - omega - { - solver PBiCG; - preconditioner DILU; - tolerance 1e-06; - relTol 0; - } - - R - { - solver PBiCG; - preconditioner DILU; - tolerance 1e-06; - relTol 0; - } - - nuTilda - { - solver PBiCG; - preconditioner DILU; + solver smoothSolver; + smoother symGaussSeidel; tolerance 1e-06; relTol 0; } diff --git a/tutorials/incompressible/icoFoam/cavity/system/fvSolution b/tutorials/incompressible/icoFoam/cavity/system/fvSolution index cc4750f16c..f9e556f155 100644 --- a/tutorials/incompressible/icoFoam/cavity/system/fvSolution +++ b/tutorials/incompressible/icoFoam/cavity/system/fvSolution @@ -27,8 +27,8 @@ solvers U { - solver PBiCG; - preconditioner DILU; + solver smoothSolver; + smoother symGaussSeidel; tolerance 1e-05; relTol 0; } diff --git a/tutorials/incompressible/icoFoam/cavityClipped/system/fvSolution b/tutorials/incompressible/icoFoam/cavityClipped/system/fvSolution index cc4750f16c..f9e556f155 100644 --- a/tutorials/incompressible/icoFoam/cavityClipped/system/fvSolution +++ b/tutorials/incompressible/icoFoam/cavityClipped/system/fvSolution @@ -27,8 +27,8 @@ solvers U { - solver PBiCG; - preconditioner DILU; + solver smoothSolver; + smoother symGaussSeidel; tolerance 1e-05; relTol 0; } diff --git a/tutorials/incompressible/icoFoam/cavityGrade/system/fvSolution b/tutorials/incompressible/icoFoam/cavityGrade/system/fvSolution index cc4750f16c..f9e556f155 100644 --- a/tutorials/incompressible/icoFoam/cavityGrade/system/fvSolution +++ b/tutorials/incompressible/icoFoam/cavityGrade/system/fvSolution @@ -27,8 +27,8 @@ solvers U { - solver PBiCG; - preconditioner DILU; + solver smoothSolver; + smoother symGaussSeidel; tolerance 1e-05; relTol 0; } diff --git a/tutorials/incompressible/icoFoam/elbow/system/fvSolution b/tutorials/incompressible/icoFoam/elbow/system/fvSolution index b843da009f..009414f72c 100644 --- a/tutorials/incompressible/icoFoam/elbow/system/fvSolution +++ b/tutorials/incompressible/icoFoam/elbow/system/fvSolution @@ -27,8 +27,8 @@ solvers U { - solver PBiCG; - preconditioner DILU; + solver smoothSolver; + smoother symGaussSeidel; tolerance 1e-05; relTol 0; } diff --git a/tutorials/incompressible/nonNewtonianIcoFoam/offsetCylinder/system/fvSolution b/tutorials/incompressible/nonNewtonianIcoFoam/offsetCylinder/system/fvSolution index 49c4c17faa..0d3d3d41f3 100644 --- a/tutorials/incompressible/nonNewtonianIcoFoam/offsetCylinder/system/fvSolution +++ b/tutorials/incompressible/nonNewtonianIcoFoam/offsetCylinder/system/fvSolution @@ -19,16 +19,22 @@ solvers { p { - solver PCG; - preconditioner DIC; - tolerance 1e-06; - relTol 0; + solver GAMG; + tolerance 0; + relTol 0.1; + smoother GaussSeidel; + nPreSweeps 0; + nPostSweeps 2; + cacheAgglomeration true; + nCellsInCoarsestLevel 10; + agglomerator faceAreaPair; + mergeLevels 1; } U { - solver PBiCG; - preconditioner DILU; + solver smoothSolver; + smoother symGaussSeidel; tolerance 1e-05; relTol 0; } diff --git a/tutorials/incompressible/pimpleDyMFoam/movingCone/system/fvSolution b/tutorials/incompressible/pimpleDyMFoam/movingCone/system/fvSolution index 6c9287ac8c..1002548e26 100644 --- a/tutorials/incompressible/pimpleDyMFoam/movingCone/system/fvSolution +++ b/tutorials/incompressible/pimpleDyMFoam/movingCone/system/fvSolution @@ -19,18 +19,30 @@ solvers { pcorr { - solver PCG; - preconditioner DIC; + solver GAMG; tolerance 0.02; relTol 0; + smoother GaussSeidel; + nPreSweeps 0; + nPostSweeps 2; + cacheAgglomeration no; + nCellsInCoarsestLevel 10; + agglomerator faceAreaPair; + mergeLevels 1; } p { - solver PCG; - preconditioner DIC; - tolerance 1e-06; + solver GAMG; + tolerance 0; relTol 0.01; + smoother GaussSeidel; + nPreSweeps 0; + nPostSweeps 2; + cacheAgglomeration no; + nCellsInCoarsestLevel 10; + agglomerator faceAreaPair; + mergeLevels 1; } pFinal @@ -42,8 +54,8 @@ solvers U { - solver PBiCG; - preconditioner DILU; + solver smoothSolver; + smoother symGaussSeidel; tolerance 1e-05; relTol 0.1; } diff --git a/tutorials/incompressible/pimpleDyMFoam/wingMotion/wingMotion2D_pimpleDyMFoam/system/fvSolution b/tutorials/incompressible/pimpleDyMFoam/wingMotion/wingMotion2D_pimpleDyMFoam/system/fvSolution index 0340484469..60cc53cf31 100644 --- a/tutorials/incompressible/pimpleDyMFoam/wingMotion/wingMotion2D_pimpleDyMFoam/system/fvSolution +++ b/tutorials/incompressible/pimpleDyMFoam/wingMotion/wingMotion2D_pimpleDyMFoam/system/fvSolution @@ -24,7 +24,7 @@ solvers smoother GaussSeidel; nPreSweeps 0; nPostSweeps 2; - cacheAgglomeration on; + cacheAgglomeration true; agglomerator faceAreaPair; nCellsInCoarsestLevel 10; mergeLevels 1; @@ -46,8 +46,8 @@ solvers "(U|k|omega)" { - solver PBiCG; - preconditioner DILU; + solver smoothSolver; + smoother symGaussSeidel; tolerance 1e-06; relTol 0.1; } diff --git a/tutorials/incompressible/pimpleDyMFoam/wingMotion/wingMotion_snappyHexMesh/system/fvSolution b/tutorials/incompressible/pimpleDyMFoam/wingMotion/wingMotion_snappyHexMesh/system/fvSolution index 7c31faeadb..850c27e7cd 100644 --- a/tutorials/incompressible/pimpleDyMFoam/wingMotion/wingMotion_snappyHexMesh/system/fvSolution +++ b/tutorials/incompressible/pimpleDyMFoam/wingMotion/wingMotion_snappyHexMesh/system/fvSolution @@ -19,8 +19,8 @@ solvers { p { - solver PBiCG; - preconditioner DILU; + solver smoothSolver; + smoother symGaussSeidel; tolerance 1e-12; relTol 0; } diff --git a/tutorials/incompressible/pimpleFoam/TJunction/system/fvSolution b/tutorials/incompressible/pimpleFoam/TJunction/system/fvSolution index 8e0f165060..7812980b34 100644 --- a/tutorials/incompressible/pimpleFoam/TJunction/system/fvSolution +++ b/tutorials/incompressible/pimpleFoam/TJunction/system/fvSolution @@ -43,8 +43,8 @@ solvers "(U|k|epsilon)" { - solver PBiCG; - preconditioner DILU; + solver smoothSolver; + smoother symGaussSeidel; tolerance 1e-05; relTol 0.1; } diff --git a/tutorials/incompressible/pimpleFoam/TJunctionFan/system/fvSolution b/tutorials/incompressible/pimpleFoam/TJunctionFan/system/fvSolution index 8e0f165060..7812980b34 100644 --- a/tutorials/incompressible/pimpleFoam/TJunctionFan/system/fvSolution +++ b/tutorials/incompressible/pimpleFoam/TJunctionFan/system/fvSolution @@ -43,8 +43,8 @@ solvers "(U|k|epsilon)" { - solver PBiCG; - preconditioner DILU; + solver smoothSolver; + smoother symGaussSeidel; tolerance 1e-05; relTol 0.1; } diff --git a/tutorials/incompressible/pimpleFoam/channel395/system/fvSolution b/tutorials/incompressible/pimpleFoam/channel395/system/fvSolution index cc56bcbe20..3beda0be2d 100644 --- a/tutorials/incompressible/pimpleFoam/channel395/system/fvSolution +++ b/tutorials/incompressible/pimpleFoam/channel395/system/fvSolution @@ -19,24 +19,30 @@ solvers { p { - solver PCG; - preconditioner DIC; - tolerance 1e-06; - relTol 0.05; + solver GAMG; + tolerance 0; + relTol 0.1; + smoother GaussSeidel; + nPreSweeps 0; + nPostSweeps 2; + cacheAgglomeration true; + nCellsInCoarsestLevel 10; + agglomerator faceAreaPair; + mergeLevels 1; } pFinal { - solver PCG; - preconditioner DIC; + $p; + smoother DICGaussSeidel; tolerance 1e-06; relTol 0; } "(U|k)" { - solver PBiCG; - preconditioner DILU; + solver smoothSolver; + smoother symGaussSeidel; tolerance 1e-05; relTol 0.1; } diff --git a/tutorials/incompressible/pimpleFoam/elipsekkLOmega/system/fvSolution b/tutorials/incompressible/pimpleFoam/elipsekkLOmega/system/fvSolution index b7fb9bc5f9..395e3f2cf2 100644 --- a/tutorials/incompressible/pimpleFoam/elipsekkLOmega/system/fvSolution +++ b/tutorials/incompressible/pimpleFoam/elipsekkLOmega/system/fvSolution @@ -21,8 +21,8 @@ solvers { solver GAMG; tolerance 1e-06; - relTol 0.01; - smoother GaussSeidel; + relTol 0.1; + smoother DICGaussSeidel; cacheAgglomeration true; nCellsInCoarsestLevel 10; agglomerator faceAreaPair; @@ -31,20 +31,15 @@ solvers pFinal { - solver GAMG; + $p; tolerance 1e-06; relTol 0; - smoother GaussSeidel; - cacheAgglomeration true; - nCellsInCoarsestLevel 10; - agglomerator faceAreaPair; - mergeLevels 1; } "(U|kl|kt|omega)" { - solver PBiCG; - preconditioner DILU; + solver smoothSolver; + smoother symGaussSeidel; tolerance 1e-06; relTol 0.01; } diff --git a/tutorials/incompressible/pimpleFoam/pitzDaily/system/fvSolution b/tutorials/incompressible/pimpleFoam/pitzDaily/system/fvSolution index 880d7bef7b..9de4397498 100644 --- a/tutorials/incompressible/pimpleFoam/pitzDaily/system/fvSolution +++ b/tutorials/incompressible/pimpleFoam/pitzDaily/system/fvSolution @@ -23,7 +23,7 @@ solvers tolerance 1e-7; relTol 0.01; - smoother GaussSeidel; + smoother DICGaussSeidel; cacheAgglomeration true; nCellsInCoarsestLevel 10; @@ -39,8 +39,8 @@ solvers "(U|k|epsilon)" { - solver PBiCG; - preconditioner DILU; + solver smoothSolver; + smoother symGaussSeidel; tolerance 1e-05; relTol 0.1; } diff --git a/tutorials/incompressible/pisoFoam/les/motorBike/lesFiles/fvSolution b/tutorials/incompressible/pisoFoam/les/motorBike/lesFiles/fvSolution index c8105e447d..19904d0a37 100644 --- a/tutorials/incompressible/pisoFoam/les/motorBike/lesFiles/fvSolution +++ b/tutorials/incompressible/pisoFoam/les/motorBike/lesFiles/fvSolution @@ -18,76 +18,34 @@ solvers { p { - solver GAMG; - tolerance 1e-6; - relTol 0.1; + solver GAMG; + tolerance 1e-6; + relTol 0.1; - smoother GaussSeidel; - nPreSweeps 0; - nPostSweeps 2; + smoother GaussSeidel; + nPreSweeps 0; + nPostSweeps 2; cacheAgglomeration true; nCellsInCoarsestLevel 50;//10; - agglomerator faceAreaPair; - mergeLevels 1; + agglomerator faceAreaPair; + mergeLevels 1; }; pFinal { - solver GAMG; - tolerance 1e-6; - relTol 0; - - smoother GaussSeidel; - nPreSweeps 0; - nPostSweeps 2; - - cacheAgglomeration true; - - nCellsInCoarsestLevel 50;//10; - agglomerator faceAreaPair; - mergeLevels 1; + $p; + tolerance 1e-6; + relTol 0; }; - U + "(U|k|B|nuTilda)" { - solver PBiCG; - preconditioner DILU; - tolerance 1e-08; - relTol 0; - }; - - UFinal - { - solver PBiCG; - preconditioner DILU; - tolerance 1e-08; - relTol 0; - }; - - k - { - solver PBiCG; - preconditioner DILU; - tolerance 1e-07; - relTol 0; - }; - - B - { - solver PBiCG; - preconditioner DILU; - tolerance 1e-07; - relTol 0; - }; - - nuTilda - { - solver PBiCG; - preconditioner DILU; - tolerance 1e-07; - relTol 0; + solver smoothSolver; + smoother GaussSeidel; + tolerance 1e-07; + relTol 0; }; } @@ -97,12 +55,6 @@ PISO nNonOrthogonalCorrectors 1; } -PIMPLE -{ - nCorrectors 2; - nNonOrthogonalCorrectors 1; -} - relaxationFactors { "U.*" 1; diff --git a/tutorials/incompressible/pisoFoam/les/motorBike/motorBike/system/fvSolution b/tutorials/incompressible/pisoFoam/les/motorBike/motorBike/system/fvSolution index de3282b0fe..de4bd756b9 100644 --- a/tutorials/incompressible/pisoFoam/les/motorBike/motorBike/system/fvSolution +++ b/tutorials/incompressible/pisoFoam/les/motorBike/motorBike/system/fvSolution @@ -30,37 +30,20 @@ solvers nCellsInCoarsestLevel 10; mergeLevels 1; } - U + + pFinal + { + $p; + tolerance 1e-6; + relTol 0; + }; + + "(U|nuTilda)" { solver smoothSolver; smoother GaussSeidel; tolerance 1e-08; relTol 0.1; - nSweeps 1; - } - k - { - solver smoothSolver; - smoother GaussSeidel; - tolerance 1e-08; - relTol 0.1; - nSweeps 1; - } - omega - { - solver smoothSolver; - smoother GaussSeidel; - tolerance 1e-08; - relTol 0.1; - nSweeps 1; - } - nuTilda - { - solver smoothSolver; - smoother GaussSeidel; - nSweeps 2; - tolerance 1e-08; - relT 0.1; } } @@ -78,8 +61,6 @@ relaxationFactors { p 0.3; U 0.5; - k 0.7; - omega 0.7; nuTilda 0.5; } diff --git a/tutorials/incompressible/pisoFoam/les/pitzDaily/system/fvSolution b/tutorials/incompressible/pisoFoam/les/pitzDaily/system/fvSolution index c25efa4212..1ae8d1c803 100644 --- a/tutorials/incompressible/pisoFoam/les/pitzDaily/system/fvSolution +++ b/tutorials/incompressible/pisoFoam/les/pitzDaily/system/fvSolution @@ -19,48 +19,30 @@ solvers { p { - solver PCG; - preconditioner DIC; + solver GAMG; tolerance 1e-06; - relTol 0.05; + relTol 0.1; + smoother GaussSeidel; + nPreSweeps 0; + nPostSweeps 2; + cacheAgglomeration on; + agglomerator faceAreaPair; + nCellsInCoarsestLevel 10; + mergeLevels 1; } pFinal { - solver PCG; - preconditioner DIC; + $p; + smoother DICGaussSeidel; tolerance 1e-06; relTol 0; } - U + "(U|k|B|nuTilda)" { - solver PBiCG; - preconditioner DILU; - tolerance 1e-05; - relTol 0; - } - - k - { - solver PBiCG; - preconditioner DILU; - tolerance 1e-05; - relTol 0; - } - - B - { - solver PBiCG; - preconditioner DILU; - tolerance 1e-05; - relTol 0; - } - - nuTilda - { - solver PBiCG; - preconditioner DILU; + solver smoothSolver; + smoother GaussSeidel; tolerance 1e-05; relTol 0; } diff --git a/tutorials/incompressible/pisoFoam/les/pitzDailyMapped/system/fvSolution b/tutorials/incompressible/pisoFoam/les/pitzDailyMapped/system/fvSolution index c25efa4212..3c6eb61dd2 100644 --- a/tutorials/incompressible/pisoFoam/les/pitzDailyMapped/system/fvSolution +++ b/tutorials/incompressible/pisoFoam/les/pitzDailyMapped/system/fvSolution @@ -19,48 +19,30 @@ solvers { p { - solver PCG; - preconditioner DIC; - tolerance 1e-06; - relTol 0.05; + solver GAMG; + tolerance 1e-07; + relTol 0.1; + smoother GaussSeidel; + nPreSweeps 0; + nPostSweeps 2; + cacheAgglomeration on; + agglomerator faceAreaPair; + nCellsInCoarsestLevel 10; + mergeLevels 1; } pFinal { - solver PCG; - preconditioner DIC; - tolerance 1e-06; + $p; + smoother DICGaussSeidel; + tolerance 1e-6; relTol 0; - } + }; - U + "(U|k|B|nuTilda)" { - solver PBiCG; - preconditioner DILU; - tolerance 1e-05; - relTol 0; - } - - k - { - solver PBiCG; - preconditioner DILU; - tolerance 1e-05; - relTol 0; - } - - B - { - solver PBiCG; - preconditioner DILU; - tolerance 1e-05; - relTol 0; - } - - nuTilda - { - solver PBiCG; - preconditioner DILU; + solver smoothSolver; + smoother GaussSeidel; tolerance 1e-05; relTol 0; } diff --git a/tutorials/incompressible/pisoFoam/ras/cavity/system/fvSolution b/tutorials/incompressible/pisoFoam/ras/cavity/system/fvSolution index a067dc6fab..983e6dd804 100644 --- a/tutorials/incompressible/pisoFoam/ras/cavity/system/fvSolution +++ b/tutorials/incompressible/pisoFoam/ras/cavity/system/fvSolution @@ -19,56 +19,29 @@ solvers { p { - solver PCG; - preconditioner DIC; + solver GAMG; tolerance 1e-06; relTol 0.1; + smoother GaussSeidel; + nPreSweeps 0; + nPostSweeps 2; + cacheAgglomeration on; + agglomerator faceAreaPair; + nCellsInCoarsestLevel 10; + mergeLevels 1; } pFinal { - solver PCG; - preconditioner DIC; + $p; tolerance 1e-06; relTol 0; } - U + "(U|k|epsilon|R|nuTilda)" { - solver PBiCG; - preconditioner DILU; - tolerance 1e-05; - relTol 0; - } - - k - { - solver PBiCG; - preconditioner DILU; - tolerance 1e-05; - relTol 0; - } - - epsilon - { - solver PBiCG; - preconditioner DILU; - tolerance 1e-05; - relTol 0; - } - - R - { - solver PBiCG; - preconditioner DILU; - tolerance 1e-05; - relTol 0; - } - - nuTilda - { - solver PBiCG; - preconditioner DILU; + solver smoothSolver; + smoother GaussSeidel; tolerance 1e-05; relTol 0; } diff --git a/tutorials/incompressible/pisoFoam/ras/cavityCoupledU/system/fvSolution b/tutorials/incompressible/pisoFoam/ras/cavityCoupledU/system/fvSolution index a115a11a44..f54b30c2e8 100644 --- a/tutorials/incompressible/pisoFoam/ras/cavityCoupledU/system/fvSolution +++ b/tutorials/incompressible/pisoFoam/ras/cavityCoupledU/system/fvSolution @@ -19,16 +19,21 @@ solvers { p { - solver PCG; - preconditioner DIC; + solver GAMG; tolerance 1e-06; relTol 0.1; + smoother GaussSeidel; + nPreSweeps 0; + nPostSweeps 2; + cacheAgglomeration on; + agglomerator faceAreaPair; + nCellsInCoarsestLevel 10; + mergeLevels 1; } pFinal { - solver PCG; - preconditioner DIC; + $p; tolerance 1e-06; relTol 0; } @@ -42,34 +47,10 @@ solvers relTol (0 0 0); } - k + "(k|epsilon|R|nuTilda)" { - solver PBiCG; - preconditioner DILU; - tolerance 1e-05; - relTol 0; - } - - epsilon - { - solver PBiCG; - preconditioner DILU; - tolerance 1e-05; - relTol 0; - } - - R - { - solver PBiCG; - preconditioner DILU; - tolerance 1e-05; - relTol 0; - } - - nuTilda - { - solver PBiCG; - preconditioner DILU; + solver smoothSolver; + smoother GaussSeidel; tolerance 1e-05; relTol 0; } diff --git a/tutorials/incompressible/shallowWaterFoam/squareBump/system/fvSolution b/tutorials/incompressible/shallowWaterFoam/squareBump/system/fvSolution index 76309729fe..aa5358894e 100644 --- a/tutorials/incompressible/shallowWaterFoam/squareBump/system/fvSolution +++ b/tutorials/incompressible/shallowWaterFoam/squareBump/system/fvSolution @@ -33,8 +33,8 @@ solvers hU { - solver PBiCG; - preconditioner DILU; + solver smoothSolver; + smoother GaussSeidel; tolerance 1e-10; relTol 0.1; } diff --git a/tutorials/incompressible/simpleFoam/pipeCyclic/system/fvSolution b/tutorials/incompressible/simpleFoam/pipeCyclic/system/fvSolution index 5d305469b4..155643b2f4 100644 --- a/tutorials/incompressible/simpleFoam/pipeCyclic/system/fvSolution +++ b/tutorials/incompressible/simpleFoam/pipeCyclic/system/fvSolution @@ -32,13 +32,7 @@ solvers pFinal { - solver GAMG; - smoother GaussSeidel; - cacheAgglomeration true; - nCellsInCoarsestLevel 10; - agglomerator faceAreaPair; - mergeLevels 1; - + $p; tolerance 1e-06; relTol 0; } @@ -46,16 +40,14 @@ solvers "(U|k|epsilon)" { solver smoothSolver; - smoother GaussSeidel; + smoother symGaussSeidel; tolerance 1e-05; relTol 0.1; } "(U|k|epsilon)Final" { - solver PBiCG; - preconditioner DILU; - + $U; tolerance 1e-05; relTol 0; } diff --git a/tutorials/incompressible/simpleFoam/pitzDaily/system/fvSolution b/tutorials/incompressible/simpleFoam/pitzDaily/system/fvSolution index 55696bd510..ed2f5b2fe9 100644 --- a/tutorials/incompressible/simpleFoam/pitzDaily/system/fvSolution +++ b/tutorials/incompressible/simpleFoam/pitzDaily/system/fvSolution @@ -19,48 +19,22 @@ solvers { p { - solver PCG; - preconditioner DIC; + solver GAMG; tolerance 1e-06; - relTol 0.01; - } - - U - { - solver PBiCG; - preconditioner DILU; - tolerance 1e-05; relTol 0.1; + smoother GaussSeidel; + nPreSweeps 0; + nPostSweeps 2; + cacheAgglomeration on; + agglomerator faceAreaPair; + nCellsInCoarsestLevel 10; + mergeLevels 1; } - k + "(U|k|epsilon|R|nuTilda)" { - solver PBiCG; - preconditioner DILU; - tolerance 1e-05; - relTol 0.1; - } - - epsilon - { - solver PBiCG; - preconditioner DILU; - tolerance 1e-05; - relTol 0.1; - } - - R - { - solver PBiCG; - preconditioner DILU; - tolerance 1e-05; - relTol 0.1; - } - - nuTilda - { - solver PBiCG; - preconditioner DILU; + solver smoothSolver; + smoother symGaussSeidel; tolerance 1e-05; relTol 0.1; } diff --git a/tutorials/incompressible/simpleFoam/pitzDailyExptInlet/system/fvSolution b/tutorials/incompressible/simpleFoam/pitzDailyExptInlet/system/fvSolution index 55696bd510..ed2f5b2fe9 100644 --- a/tutorials/incompressible/simpleFoam/pitzDailyExptInlet/system/fvSolution +++ b/tutorials/incompressible/simpleFoam/pitzDailyExptInlet/system/fvSolution @@ -19,48 +19,22 @@ solvers { p { - solver PCG; - preconditioner DIC; + solver GAMG; tolerance 1e-06; - relTol 0.01; - } - - U - { - solver PBiCG; - preconditioner DILU; - tolerance 1e-05; relTol 0.1; + smoother GaussSeidel; + nPreSweeps 0; + nPostSweeps 2; + cacheAgglomeration on; + agglomerator faceAreaPair; + nCellsInCoarsestLevel 10; + mergeLevels 1; } - k + "(U|k|epsilon|R|nuTilda)" { - solver PBiCG; - preconditioner DILU; - tolerance 1e-05; - relTol 0.1; - } - - epsilon - { - solver PBiCG; - preconditioner DILU; - tolerance 1e-05; - relTol 0.1; - } - - R - { - solver PBiCG; - preconditioner DILU; - tolerance 1e-05; - relTol 0.1; - } - - nuTilda - { - solver PBiCG; - preconditioner DILU; + solver smoothSolver; + smoother symGaussSeidel; tolerance 1e-05; relTol 0.1; } diff --git a/tutorials/lagrangian/LTSReactingParcelFoam/counterFlowFlame2D/system/fvSolution b/tutorials/lagrangian/LTSReactingParcelFoam/counterFlowFlame2D/system/fvSolution index 205e4f6276..615fe1fe28 100644 --- a/tutorials/lagrangian/LTSReactingParcelFoam/counterFlowFlame2D/system/fvSolution +++ b/tutorials/lagrangian/LTSReactingParcelFoam/counterFlowFlame2D/system/fvSolution @@ -25,7 +25,7 @@ solvers p { solver GAMG; - tolerance 0; + tolerance 1e-6; relTol 0.1; smoother GaussSeidel; nPreSweeps 0; diff --git a/tutorials/lagrangian/MPPICFoam/column/system/fvSolution b/tutorials/lagrangian/MPPICFoam/column/system/fvSolution index 3603be1ce2..3d4ac58294 100644 --- a/tutorials/lagrangian/MPPICFoam/column/system/fvSolution +++ b/tutorials/lagrangian/MPPICFoam/column/system/fvSolution @@ -20,7 +20,7 @@ solvers p { solver GAMG; - tolerance 0; + tolerance 1e-6; relTol 0.01; smoother GaussSeidel; nPreSweeps 0; diff --git a/tutorials/lagrangian/MPPICFoam/cyclone/0/U.air b/tutorials/lagrangian/MPPICFoam/cyclone/0/U.air new file mode 100644 index 0000000000..ec35c05a70 --- /dev/null +++ b/tutorials/lagrangian/MPPICFoam/cyclone/0/U.air @@ -0,0 +1,46 @@ +/*--------------------------------*- 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 binary; + class volVectorField; + location "0"; + object U.air; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 1 -1 0 0 0 0]; + +internalField uniform (0 0 0); + +boundaryField +{ + inlet + { + type fixedValue; + value uniform (-10 0 0); + } + + outlet + { + type pressureInletOutletVelocity; + phi phi.air; + inletValue uniform (0 0 0); + value uniform (0 0 0); + } + + walls + { + type fixedValue; + value uniform (0 0 0); + } +} + + +// ************************************************************************* // diff --git a/tutorials/lagrangian/MPPICFoam/cyclone/0/k.air b/tutorials/lagrangian/MPPICFoam/cyclone/0/k.air new file mode 100644 index 0000000000..28fbdabab5 --- /dev/null +++ b/tutorials/lagrangian/MPPICFoam/cyclone/0/k.air @@ -0,0 +1,44 @@ +/*--------------------------------*- 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 volScalarField; + object k.air; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -2 0 0 0 0]; + +internalField uniform 1; + +boundaryField +{ + inlet + { + type fixedValue; + value $internalField; + } + + outlet + { + type inletOutlet; + phi phi.air; + inletValue $internalField; + value $internalField; + } + + walls + { + type kqRWallFunction; + value $internalField; + } +} + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/tutorials/lagrangian/MPPICFoam/cyclone/0/nut.air b/tutorials/lagrangian/MPPICFoam/cyclone/0/nut.air new file mode 100644 index 0000000000..ce5e04cb5e --- /dev/null +++ b/tutorials/lagrangian/MPPICFoam/cyclone/0/nut.air @@ -0,0 +1,42 @@ +/*--------------------------------*- 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 volScalarField; + object nut.air; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -1 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + inlet + { + type calculated; + value $internalField; + } + + outlet + { + type calculated; + value $internalField; + } + + walls + { + type nutkWallFunction; + value $internalField; + } +} + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/tutorials/lagrangian/MPPICFoam/cyclone/0/p b/tutorials/lagrangian/MPPICFoam/cyclone/0/p new file mode 100644 index 0000000000..bd1652aef9 --- /dev/null +++ b/tutorials/lagrangian/MPPICFoam/cyclone/0/p @@ -0,0 +1,46 @@ +/*--------------------------------*- 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 volScalarField; + object p; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -2 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + inlet + { + type fixedFluxPressure; + phi phi.air; + value $internalField; + } + + outlet + { + type fixedValue; + phi phi.air; + value uniform 0; + } + + walls + { + type fixedFluxPressure; + phi phi.air; + value $internalField; + } +} + + +// ************************************************************************* // diff --git a/tutorials/lagrangian/MPPICFoam/cyclone/Allclean b/tutorials/lagrangian/MPPICFoam/cyclone/Allclean new file mode 100755 index 0000000000..2f40581670 --- /dev/null +++ b/tutorials/lagrangian/MPPICFoam/cyclone/Allclean @@ -0,0 +1,7 @@ +#!/bin/sh + +. $WM_PROJECT_DIR/bin/tools/CleanFunctions + +# rm -f constant/triSurface/cyclone.stl.gz > /dev/null 2>&1 + +cleanCase diff --git a/tutorials/lagrangian/MPPICFoam/cyclone/Allrun b/tutorials/lagrangian/MPPICFoam/cyclone/Allrun new file mode 100755 index 0000000000..0ee008964e --- /dev/null +++ b/tutorials/lagrangian/MPPICFoam/cyclone/Allrun @@ -0,0 +1,15 @@ +#!/bin/bash + +cd ${0%/*} || exit 1 + +. $WM_PROJECT_DIR/bin/tools/RunFunctions + +cp $FOAM_TUTORIALS/resources/geometry/cyclone.stl.gz constant/triSurface + +runApplication blockMesh + +runApplication snappyHexMesh -overwrite + +runApplication decomposePar + +runParallel MPPICFoam $(echo processor* | wc -w) diff --git a/tutorials/lagrangian/MPPICFoam/cyclone/constant/g b/tutorials/lagrangian/MPPICFoam/cyclone/constant/g new file mode 100644 index 0000000000..c80141a8bd --- /dev/null +++ b/tutorials/lagrangian/MPPICFoam/cyclone/constant/g @@ -0,0 +1,21 @@ +/*--------------------------------*- 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 uniformDimensionedVectorField; + location "constant"; + object g; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 1 -2 0 0 0 0]; +value ( 0 0 -9.81 ); + +// ************************************************************************* // diff --git a/tutorials/lagrangian/MPPICFoam/cyclone/constant/kinematicCloudProperties b/tutorials/lagrangian/MPPICFoam/cyclone/constant/kinematicCloudProperties new file mode 100644 index 0000000000..ddf2bd4747 --- /dev/null +++ b/tutorials/lagrangian/MPPICFoam/cyclone/constant/kinematicCloudProperties @@ -0,0 +1,184 @@ +/*--------------------------------*- 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 dictionary; + location "constant"; + object particleProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +solution +{ + active true; + coupled true; + transient yes; + cellValueSourceCorrection on; + + maxCo 1.0; + + interpolationSchemes + { + rho.air cell; + U.air cellPoint; + mu.air cell; + } + + averagingMethod dual; + + integrationSchemes + { + U Euler; + } + + sourceTerms + { + schemes + { + U semiImplicit 1; + } + } +} + +constantProperties +{ + rho0 1000; + alphaMax 0.9; +} + +subModels +{ + particleForces + { + ErgunWenYuDrag + { + alphac alpha.air; + } + gravity; + } + + injectionModels + { + model1 + { + type patchInjection; + parcelBasisType fixed; + patchName inlet; + U0 (-10 0 0); + nParticle 500000; + parcelsPerSecond 244462; + sizeDistribution + { + type normal; + normalDistribution + { + expectation 50e-6; + variance 20e-6; + minValue 10e-6; + maxValue 90e-6; + } + } + flowRateProfile constant 1; + massTotal 0; + SOI 1; + duration 4; + } + } + + dispersionModel none; + + patchInteractionModel localInteraction; + + localInteractionCoeffs + { + patches + ( + walls + { + type rebound; + e 0.97; + mu 0.09; + } + inlet + { + type rebound; + e 0.97; + mu 0.09; + } + outlet + { + type escape; + } + ); + } + + heatTransferModel none; + + surfaceFilmModel none; + + packingModel implicit; + + explicitCoeffs + { + particleStressModel + { + type HarrisCrighton; + alphaPacked 0.6; + pSolid 10.0; + beta 2.0; + eps 1.0e-7; + } + correctionLimitingMethod + { + type absolute; + e 0.9; + } + } + + implicitCoeffs + { + alphaMin 0.0001; + rhoMin 1.0; + applyGravity false; + particleStressModel + { + type HarrisCrighton; + alphaPacked 0.6; + pSolid 5.0; + beta 2.0; + eps 1.0e-2; + } + } + + dampingModel none; + + isotropyModel stochastic; + + stochasticCoeffs + { + timeScaleModel + { + type isotropic; + alphaPacked 0.6; + e 0.9; + } + } + + stochasticCollisionModel none; + + radiation off; +} + + +cloudFunctions +{} + + +// ************************************************************************* // diff --git a/tutorials/lagrangian/MPPICFoam/cyclone/constant/polyMesh/blockMeshDict b/tutorials/lagrangian/MPPICFoam/cyclone/constant/polyMesh/blockMeshDict new file mode 100644 index 0000000000..869d237672 --- /dev/null +++ b/tutorials/lagrangian/MPPICFoam/cyclone/constant/polyMesh/blockMeshDict @@ -0,0 +1,63 @@ +/*--------------------------------*- 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 dictionary; + object blockMeshDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +convertToMeters 1; + +vertices +( + + (-0.55 -0.55 -1 ) + ( 0.55 -0.55 -1 ) + ( 0.55 0.55 -1 ) + (-0.55 0.55 -1 ) + + (-0.55 -0.55 1.1) + ( 0.55 -0.55 1.1) + ( 0.55 0.55 1.1) + (-0.55 0.55 1.1) +); + +blocks +( + hex (0 1 2 3 4 5 6 7) (33 33 63) simpleGrading (1 1 1) +); + +edges +( +); + +boundary +( + inlet + { + type patch; + faces + ( + (1 2 6 5) + ); + } + + outlet + { + type patch; + faces + ( + (4 5 6 7) + ); + } +); + +// ************************************************************************* // diff --git a/tutorials/lagrangian/MPPICFoam/cyclone/constant/transportProperties b/tutorials/lagrangian/MPPICFoam/cyclone/constant/transportProperties new file mode 100644 index 0000000000..4a765004b6 --- /dev/null +++ b/tutorials/lagrangian/MPPICFoam/cyclone/constant/transportProperties @@ -0,0 +1,25 @@ +/*--------------------------------*- 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 dictionary; + location "constant"; + object transportProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +contiuousPhaseName air; + +rho.air 1.2; + +transportModel Newtonian; +nu 1.568e-05; + +// ************************************************************************* // diff --git a/tutorials/lagrangian/MPPICFoam/cyclone/constant/triSurface/README b/tutorials/lagrangian/MPPICFoam/cyclone/constant/triSurface/README new file mode 100644 index 0000000000..dbf3b73d5f --- /dev/null +++ b/tutorials/lagrangian/MPPICFoam/cyclone/constant/triSurface/README @@ -0,0 +1,4 @@ +Folder to house tri-surfaces + +The Allrun script copies the surface from the $FOAM_TUTORIALS/resources/geometry +folder diff --git a/tutorials/lagrangian/MPPICFoam/cyclone/constant/turbulenceProperties.air b/tutorials/lagrangian/MPPICFoam/cyclone/constant/turbulenceProperties.air new file mode 100644 index 0000000000..e9b36c8dc4 --- /dev/null +++ b/tutorials/lagrangian/MPPICFoam/cyclone/constant/turbulenceProperties.air @@ -0,0 +1,35 @@ +/*--------------------------------*- 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 dictionary; + location "constant"; + object turbulenceProperties.air; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +simulationType LES; + +LES +{ + LESModel kEqn; + + turbulence on; + printCoeffs on; + + delta cubeRootVol; + + cubeRootVolCoeffs + { + } +} + + +// ************************************************************************* // diff --git a/tutorials/lagrangian/MPPICFoam/cyclone/system/controlDict b/tutorials/lagrangian/MPPICFoam/cyclone/system/controlDict new file mode 100644 index 0000000000..33bfb938f0 --- /dev/null +++ b/tutorials/lagrangian/MPPICFoam/cyclone/system/controlDict @@ -0,0 +1,48 @@ +/*--------------------------------*- 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 dictionary; + location "system"; + object controlDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +application MPPICFoam; + +startFrom latestTime; + +startTime 0; + +stopAt endTime; + +endTime 7; + +deltaT 2e-4; + +writeControl runTime; + +writeInterval 0.1; + +purgeWrite 0; + +writeFormat binary; + +writePrecision 6; + +writeCompression uncompressed; + +timeFormat general; + +timePrecision 6; + +runTimeModifiable yes; + +// ************************************************************************* // diff --git a/tutorials/lagrangian/MPPICFoam/cyclone/system/decomposeParDict b/tutorials/lagrangian/MPPICFoam/cyclone/system/decomposeParDict new file mode 100644 index 0000000000..999e461500 --- /dev/null +++ b/tutorials/lagrangian/MPPICFoam/cyclone/system/decomposeParDict @@ -0,0 +1,28 @@ +/*--------------------------------*- 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 dictionary; + location "system"; + object decomposeParDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +numberOfSubdomains 12; + +method simple; + +simpleCoeffs +{ + n ( 2 2 3 ); + delta 0.001; +} + +// ************************************************************************* // diff --git a/tutorials/lagrangian/MPPICFoam/cyclone/system/fvSchemes b/tutorials/lagrangian/MPPICFoam/cyclone/system/fvSchemes new file mode 100644 index 0000000000..85e5e37b62 --- /dev/null +++ b/tutorials/lagrangian/MPPICFoam/cyclone/system/fvSchemes @@ -0,0 +1,60 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object fvSchemes; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +ddtSchemes +{ + default Euler; +} + +gradSchemes +{ + default Gauss linear; +} + +divSchemes +{ + default none; + div(alphaPhic,U.air) Gauss linearUpwindV unlimited; + div(((alpha.air*nuEff)*dev2(T(grad(U.air))))) Gauss linear; + div(phiGByA,kinematicCloud:alpha) Gauss linear; + div(((alpha.air*nuEff.air)*dev2(T(grad(U.air))))) Gauss linear; + div(alphaPhic,epsilon.air) Gauss limitedLinear 1; + div(alphaPhic,k.air) Gauss limitedLinear 1; +} + +laplacianSchemes +{ + default Gauss linear corrected; +} + +interpolationSchemes +{ + default linear; +} + +snGradSchemes +{ + default corrected; +} + +fluxRequired +{ + default no; + p; + kinematicCloud:alpha; +} + +// ************************************************************************* // diff --git a/tutorials/lagrangian/MPPICFoam/cyclone/system/fvSolution b/tutorials/lagrangian/MPPICFoam/cyclone/system/fvSolution new file mode 100644 index 0000000000..570323a4bb --- /dev/null +++ b/tutorials/lagrangian/MPPICFoam/cyclone/system/fvSolution @@ -0,0 +1,88 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "system"; + object fvSolution; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +solvers +{ + p + { + solver GAMG; + tolerance 1e-06; + relTol 0.01; + smoother GaussSeidel; + cacheAgglomeration true; + nCellsInCoarsestLevel 10; + agglomerator faceAreaPair; + mergeLevels 1; + } + + pFinal + { + solver GAMG; + tolerance 1e-06; + relTol 0; + smoother GaussSeidel; + cacheAgglomeration true; + nCellsInCoarsestLevel 10; + agglomerator faceAreaPair; + mergeLevels 1; + } + + "(U|k|epsilon|omega).air" + { + solver smoothSolver; + smoother symGaussSeidel; + tolerance 1e-05; + relTol 0.1; + } + + "(U|k|epsilon|omega).airFinal" + { + solver smoothSolver; + smoother symGaussSeidel; + tolerance 1e-05; + relTol 0.1; + } + + kinematicCloud:alpha + { + solver GAMG; + tolerance 1e-06; + relTol 0.1; + smoother GaussSeidel; + cacheAgglomeration true; + nCellsInCoarsestLevel 10; + agglomerator faceAreaPair; + mergeLevels 1; + } +} + +PIMPLE +{ + nOuterCorrectors 1; + nCorrectors 2; + momentumPredictor yes; + nNonOrthogonalCorrectors 0; + pRefCell 0; + pRefValue 0; +} + +relaxationFactors +{ +} + + +// ************************************************************************* // diff --git a/tutorials/lagrangian/MPPICFoam/cyclone/system/snappyHexMeshDict b/tutorials/lagrangian/MPPICFoam/cyclone/system/snappyHexMeshDict new file mode 100644 index 0000000000..2497646405 --- /dev/null +++ b/tutorials/lagrangian/MPPICFoam/cyclone/system/snappyHexMeshDict @@ -0,0 +1,305 @@ +/*--------------------------------*- 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 dictionary; + object snappyHexMeshDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +// Which of the steps to run +castellatedMesh true; +snap true; +addLayers false; + + + +// Geometry. Definition of all surfaces. All surfaces are of class +// searchableSurface. +// Surfaces are used +// - to specify refinement for any mesh cell intersecting it +// - to specify refinement for any mesh cell inside/outside/near +// - to 'snap' the mesh boundary to the surface +geometry +{ + cyclone.stl + { + type triSurfaceMesh; + name walls; + regions + { + solid + { + name walls; + } + } + } +}; + + + +// Settings for the castellatedMesh generation. +castellatedMeshControls +{ + // Refinement parameters + // ~~~~~~~~~~~~~~~~~~~~~ + + // If local number of cells is >= maxLocalCells on any processor + // switches from from refinement followed by balancing + // (current method) to (weighted) balancing before refinement. + maxLocalCells 100000; + + // Overall cell limit (approximately). Refinement will stop immediately + // upon reaching this number so a refinement level might not complete. + // Note that this is the number of cells before removing the part which + // is not 'visible' from the keepPoint. The final number of cells might + // actually be a lot less. + maxGlobalCells 2000000; + + // The surface refinement loop might spend lots of iterations refining just a + // few cells. This setting will cause refinement to stop if <= minimumRefine + // are selected for refinement. Note: it will at least do one iteration + // (unless the number of cells to refine is 0) + minRefinementCells 0; + + // Allow a certain level of imbalance during refining + // (since balancing is quite expensive) + // Expressed as fraction of perfect balance (= overall number of cells / + // nProcs). 0=balance always. + maxLoadUnbalance 0.10; + + // Number of buffer layers between different levels. + // 1 means normal 2:1 refinement restriction, larger means slower + // refinement. + nCellsBetweenLevels 2; + + + // Explicit feature edge refinement + // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + // Specifies a level for any cell intersected by its edges. + // This is a featureEdgeMesh, read from constant/triSurface for now. + features + ( + ); + + + // Surface based refinement + // ~~~~~~~~~~~~~~~~~~~~~~~~ + + // Specifies two levels for every surface. The first is the minimum level, + // every cell intersecting a surface gets refined up to the minimum level. + // The second level is the maximum level. Cells that 'see' multiple + // intersections where the intersections make an + // angle > resolveFeatureAngle get refined up to the maximum level. + + refinementSurfaces + { + walls + { + level (0 0); + patchInfo + { + type wall; + } + } + } + + // Resolve sharp angles + resolveFeatureAngle 30; + + + // Region-wise refinement + // ~~~~~~~~~~~~~~~~~~~~~~ + + // Specifies refinement level for cells in relation to a surface. One of + // three modes + // - distance. 'levels' specifies per distance to the surface the + // wanted refinement level. The distances need to be specified in + // descending order. + // - inside. 'levels' is only one entry and only the level is used. All + // cells inside the surface get refined up to the level. The surface + // needs to be closed for this to be possible. + // - outside. Same but cells outside. + + refinementRegions + { + } + + + // Mesh selection + // ~~~~~~~~~~~~~~ + + // After refinement patches get added for all refinementSurfaces and + // all cells intersecting the surfaces get put into these patches. The + // section reachable from the locationInMesh is kept. + // NOTE: This point should never be on a face, always inside a cell, even + // after refinement. + locationInMesh (0.001 0.001 0.001); + + + // Whether any faceZones (as specified in the refinementSurfaces) + // are only on the boundary of corresponding cellZones or also allow + // free-standing zone faces. Not used if there are no faceZones. + allowFreeStandingZoneFaces true; +} + + + +// Settings for the snapping. +snapControls +{ + //- Number of patch smoothing iterations before finding correspondence + // to surface + nSmoothPatch 3; + + //- Relative distance for points to be attracted by surface feature point + // or edge. True distance is this factor times local + // maximum edge length. + tolerance 2.0; + + //- Number of mesh displacement relaxation iterations. + nSolveIter 300; + + //- Maximum number of snapping relaxation iterations. Should stop + // before upon reaching a correct mesh. + nRelaxIter 5; + + // Feature snapping + + //- Number of feature edge snapping iterations. + // Leave out altogether to disable. + nFeatureSnapIter 10; + + //- Detect (geometric only) features by sampling the surface + // (default=false). + implicitFeatureSnap true; + + //- Use castellatedMeshControls::features (default = true) + explicitFeatureSnap false; + + //- Detect points on multiple surfaces (only for explicitFeatureSnap) + multiRegionFeatureSnap false; +} + + + +// Settings for the layer addition. +addLayersControls +{ + // Are the thickness parameters below relative to the undistorted + // size of the refined cell outside layer (true) or absolute sizes (false). + relativeSizes true; + + // Per final patch (so not geometry!) the layer information + layers + { + } + + // Expansion factor for layer mesh + expansionRatio 1.0; + + // Wanted thickness of final added cell layer. If multiple layers + // is the + // thickness of the layer furthest away from the wall. + // Relative to undistorted size of cell outside layer. + // is the thickness of the layer furthest away from the wall. + // See relativeSizes parameter. + finalLayerThickness 0.5; + + // Minimum thickness of cell layer. If for any reason layer + // cannot be above minThickness do not add layer. + // Relative to undistorted size of cell outside layer. + minThickness 0.2; + + // If points get not extruded do nGrow layers of connected faces that are + // also not grown. This helps convergence of the layer addition process + // close to features. + // Note: changed(corrected) w.r.t 17x! (didn't do anything in 17x) + nGrow 0; + + // Advanced settings + + // When not to extrude surface. 0 is flat surface, 90 is when two faces + // are perpendicular + featureAngle 60; + + // At non-patched sides allow mesh to slip if extrusion direction makes + // angle larger than slipFeatureAngle. + slipFeatureAngle 30; + + // Maximum number of snapping relaxation iterations. Should stop + // before upon reaching a correct mesh. + nRelaxIter 5; + + // Number of smoothing iterations of surface normals + nSmoothSurfaceNormals 1; + + // Number of smoothing iterations of interior mesh movement direction + nSmoothNormals 3; + + // Smooth layer thickness over surface patches + nSmoothThickness 10; + + // Stop layer growth on highly warped cells + maxFaceThicknessRatio 0.5; + + // Reduce layer growth where ratio thickness to medial + // distance is large + maxThicknessToMedialRatio 0.3; + + // Angle used to pick up medial axis points + // Note: changed(corrected) w.r.t 17x! 90 degrees corresponds to 130 in 17x. + minMedianAxisAngle 90; + + + // Create buffer region for new layer terminations + nBufferCellsNoExtrude 0; + + + // Overall max number of layer addition iterations. The mesher will exit + // if it reaches this number of iterations; possibly with an illegal + // mesh. + nLayerIter 50; +} + + + +// Generic mesh quality settings. At any undoable phase these determine +// where to undo. +meshQualityControls +{ + #include "$WM_PROJECT_DIR/etc/caseDicts/meshQualityDict" + + + // Advanced + + //- Number of error distribution iterations + nSmoothScale 4; + //- amount to scale back displacement at error points + errorReduction 0.75; +} + + + +// Advanced + +// Write flags +writeFlags +( + layerSets +); + +// Merge tolerance. Is fraction of overall bounding box of initial mesh. +// Note: the write tolerance needs to be higher than this. +mergeTolerance 1e-6; + + +// ************************************************************************* // diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/cylinder/system/fvSolution b/tutorials/lagrangian/reactingParcelFilmFoam/cylinder/system/fvSolution index b2d6387581..0891259e10 100644 --- a/tutorials/lagrangian/reactingParcelFilmFoam/cylinder/system/fvSolution +++ b/tutorials/lagrangian/reactingParcelFilmFoam/cylinder/system/fvSolution @@ -32,15 +32,16 @@ solvers relTol 0; } - "(U|h)" + U { solver smoothSolver; smoother symGaussSeidel; tolerance 0; relTol 0.1; + maxIter 50; } - "(U|h)Final" + UFinal { $U; relTol 0; @@ -73,9 +74,19 @@ solvers relTol 0; } - "(Yi|O2|N2|H2O)" + "(h|Yi|O2|N2|H2O)" { - $hFinal; + solver PBiCG; + preconditioner DILU; + tolerance 1e-6; + relTol 0; + } + hFinal + { + solver PBiCG; + preconditioner DILU; + tolerance 1e-6; + relTol 0; } } diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/constant/reactingCloud1Properties b/tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/constant/reactingCloud1Properties index c9d32f4468..e2ea29a4f8 100644 --- a/tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/constant/reactingCloud1Properties +++ b/tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/constant/reactingCloud1Properties @@ -83,12 +83,12 @@ subModels ((0.6 0.35 1.45) (0 0 -1)) ); - massTotal 10; + massTotal 5; parcelsPerInjector 20000; parcelsPerSecond 500; parcelBasisType mass; - flowRateProfile constant 0.1; - Umag constant 3.0; + flowRateProfile constant 1; + Umag constant 1; thetaInner constant 0; thetaOuter constant 45; diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/system/fvSolution b/tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/system/fvSolution index 331f1752d7..94c21573c2 100644 --- a/tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/system/fvSolution +++ b/tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/system/fvSolution @@ -34,9 +34,9 @@ solvers "(U|h|k|epsilon)" { - solver smoothSolver; - smoother symGaussSeidel; - tolerance 0; + solver PBiCG; + preconditioner DILU; + tolerance 1e-5; relTol 0.1; } diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/splashPanel/0.org/H2O b/tutorials/lagrangian/reactingParcelFilmFoam/splashPanel/0.org/H2O index 7c3d6d0044..cb57caaa92 100644 --- a/tutorials/lagrangian/reactingParcelFilmFoam/splashPanel/0.org/H2O +++ b/tutorials/lagrangian/reactingParcelFilmFoam/splashPanel/0.org/H2O @@ -24,7 +24,9 @@ boundaryField { sides { - type zeroGradient; + type inletOutlet; + inletValue $internalField; + value $internalField; } region0_to_wallFilmRegion_wallFilmFaces { diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/splashPanel/0.org/N2 b/tutorials/lagrangian/reactingParcelFilmFoam/splashPanel/0.org/N2 index 501241274a..ef7ff824ab 100644 --- a/tutorials/lagrangian/reactingParcelFilmFoam/splashPanel/0.org/N2 +++ b/tutorials/lagrangian/reactingParcelFilmFoam/splashPanel/0.org/N2 @@ -24,7 +24,9 @@ boundaryField { sides { - type zeroGradient; + type inletOutlet; + inletValue $internalField; + value $internalField; } region0_to_wallFilmRegion_wallFilmFaces { diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/splashPanel/0.org/O2 b/tutorials/lagrangian/reactingParcelFilmFoam/splashPanel/0.org/O2 index e581261f29..a9c3ccf847 100644 --- a/tutorials/lagrangian/reactingParcelFilmFoam/splashPanel/0.org/O2 +++ b/tutorials/lagrangian/reactingParcelFilmFoam/splashPanel/0.org/O2 @@ -24,7 +24,9 @@ boundaryField { sides { - type zeroGradient; + type inletOutlet; + inletValue $internalField; + value $internalField; } region0_to_wallFilmRegion_wallFilmFaces { diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/splashPanel/0.org/T b/tutorials/lagrangian/reactingParcelFilmFoam/splashPanel/0.org/T index 26121abcf9..52d3650d61 100644 --- a/tutorials/lagrangian/reactingParcelFilmFoam/splashPanel/0.org/T +++ b/tutorials/lagrangian/reactingParcelFilmFoam/splashPanel/0.org/T @@ -23,8 +23,9 @@ boundaryField { sides { - type fixedValue; - value uniform 300; + type inletOutlet; + inletValue $internalField; + value $internalField; } region0_to_wallFilmRegion_wallFilmFaces { diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/splashPanel/system/fvSolution b/tutorials/lagrangian/reactingParcelFilmFoam/splashPanel/system/fvSolution index be992a7810..1933c385ed 100644 --- a/tutorials/lagrangian/reactingParcelFilmFoam/splashPanel/system/fvSolution +++ b/tutorials/lagrangian/reactingParcelFilmFoam/splashPanel/system/fvSolution @@ -32,31 +32,27 @@ solvers relTol 0; } - "(U|h)" + U { solver smoothSolver; smoother symGaussSeidel; tolerance 0; relTol 0.1; + maxIter 50; } - "(U|h)Final" + UFinal { $U; relTol 0; tolerance 1e-05; } - "(k|epsilon)" - { - $UFinal; - } - p_rgh { solver GAMG; tolerance 0; - relTol 0.1; + relTol 0.01; smoother GaussSeidel; nPreSweeps 0; nPostSweeps 2; @@ -64,18 +60,29 @@ solvers nCellsInCoarsestLevel 10; agglomerator faceAreaPair; mergeLevels 1; + maxIter 50; } p_rghFinal { $p_rgh; - tolerance 1e-06; + tolerance 1e-05; relTol 0; } - "(Yi|O2|N2|H2O)" + "(h|Yi|O2|N2|H2O)" { - $hFinal; + solver PBiCG; + preconditioner DILU; + tolerance 1e-6; + relTol 0; + } + hFinal + { + solver PBiCG; + preconditioner DILU; + tolerance 1e-6; + relTol 0; } } @@ -90,11 +97,11 @@ relaxationFactors { fields { - ".*Final" 1; + ".*" 1; } equations { - ".*Final" 1; + ".*" 1; } } diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/splashPanel/system/wallFilmRegion/fvSolution b/tutorials/lagrangian/reactingParcelFilmFoam/splashPanel/system/wallFilmRegion/fvSolution index e52ac35a05..91c65c4206 100644 --- a/tutorials/lagrangian/reactingParcelFilmFoam/splashPanel/system/wallFilmRegion/fvSolution +++ b/tutorials/lagrangian/reactingParcelFilmFoam/splashPanel/system/wallFilmRegion/fvSolution @@ -19,15 +19,15 @@ solvers { "(Uf|hf|deltaf\*rhof)" { - solver smoothSolver; - smoother symGaussSeidel; + solver PBiCG; + preconditioner DILU; tolerance 1e-10; relTol 0; } deltaf { - solver smoothSolver; - smoother symGaussSeidel; + solver PBiCG; + preconditioner DILU; tolerance 1e-10; relTol 0; } @@ -46,9 +46,11 @@ relaxationFactors { fields { + ".*" 1; } equations { + ".*" 1; } } diff --git a/tutorials/lagrangian/reactingParcelFoam/filter/system/fvSolution b/tutorials/lagrangian/reactingParcelFoam/filter/system/fvSolution index 85d0e7b998..1ec56c204c 100644 --- a/tutorials/lagrangian/reactingParcelFoam/filter/system/fvSolution +++ b/tutorials/lagrangian/reactingParcelFoam/filter/system/fvSolution @@ -32,7 +32,7 @@ solvers relTol 0; } - "(U|h|k|epsilon)" + "(U|k|epsilon)" { solver smoothSolver; smoother symGaussSeidel; @@ -40,7 +40,7 @@ solvers relTol 0.1; } - "(U|h|k|epsilon)Final" + "(U|k|epsilon)Final" { $U; tolerance 1e-06; @@ -70,7 +70,21 @@ solvers "(Yi|O2|N2|H2O)" { - $hFinal; + solver PBiCG; + preconditioner DILU; + tolerance 1e-6; + relTol 0; + } + + h + { + $Yi; + relTol 0.1; + } + + hFinal + { + $Yi; } } diff --git a/tutorials/lagrangian/reactingParcelFoam/parcelInBox/system/fvSolution b/tutorials/lagrangian/reactingParcelFoam/parcelInBox/system/fvSolution index a42e10c1b5..806319cad3 100644 --- a/tutorials/lagrangian/reactingParcelFoam/parcelInBox/system/fvSolution +++ b/tutorials/lagrangian/reactingParcelFoam/parcelInBox/system/fvSolution @@ -32,7 +32,7 @@ solvers relTol 0; } - "(U|h|k|epsilon)" + "(U|k|epsilon)" { solver smoothSolver; smoother symGaussSeidel; @@ -40,7 +40,7 @@ solvers relTol 0.1; } - "(U|h|k|epsilon)Final" + "(U|k|epsilon)Final" { $U; tolerance 1e-05; @@ -71,7 +71,19 @@ solvers "(Yi|O2|N2|H2O)" { - $hFinal; + solver PBiCG; + preconditioner DILU; + tolerance 1e-6; + relTol 0; + } + h + { + $Yi; + relTol 0.1; + } + hFinal + { + $Yi; } } diff --git a/tutorials/lagrangian/reactingParcelFoam/verticalChannel/system/fvSolution b/tutorials/lagrangian/reactingParcelFoam/verticalChannel/system/fvSolution index d77e5f75e9..f75a11b10c 100644 --- a/tutorials/lagrangian/reactingParcelFoam/verticalChannel/system/fvSolution +++ b/tutorials/lagrangian/reactingParcelFoam/verticalChannel/system/fvSolution @@ -32,7 +32,7 @@ solvers relTol 0; } - "(U|h|k|omega)" + "(U|k|omega)" { solver smoothSolver; smoother symGaussSeidel; @@ -40,7 +40,7 @@ solvers relTol 0.1; } - "(U|h|k|omega)Final" + "(U|k|omega)Final" { $U; tolerance 1e-06; @@ -59,7 +59,6 @@ solvers nCellsInCoarsestLevel 10; agglomerator faceAreaPair; mergeLevels 1; - maxIter 50; } pFinal @@ -71,23 +70,31 @@ solvers "(Yi|O2|N2|H2O)" { - $hFinal; + solver PBiCG; + preconditioner DILU; + tolerance 1e-6; + relTol 0; + } + h + { + $Yi; + relTol 0.1; + } + hFinal + { + $Yi; } } PIMPLE { - nCorrectors 3; + transonic no; + nOuterCorrectors 1; + nCorrectors 2; nNonOrthogonalCorrectors 0; momentumPredictor yes; } -potentialFlow -{ - // used for potentialFoam initialisation - nNonOrthogonalCorrectors 5; -} - relaxationFactors { fields @@ -95,8 +102,9 @@ relaxationFactors } equations { - ".*" 1; + ".*Final" 1; } } + // ************************************************************************* // diff --git a/tutorials/lagrangian/sprayFoam/aachenBomb/system/fvSolution b/tutorials/lagrangian/sprayFoam/aachenBomb/system/fvSolution index b9bb909f5b..51cbc83c22 100644 --- a/tutorials/lagrangian/sprayFoam/aachenBomb/system/fvSolution +++ b/tutorials/lagrangian/sprayFoam/aachenBomb/system/fvSolution @@ -32,11 +32,11 @@ solvers relTol 0; } - "(U|h)" + "(U|k|epsilon)" { solver smoothSolver; smoother symGaussSeidel; - tolerance 1e-05; + tolerance 1e-06; relTol 0.1; } @@ -61,26 +61,30 @@ solvers relTol 0; } - "(U|h)Final" + "(U|k|epsilon)Final" { $U; - tolerance 1e-05; + tolerance 1e-06; relTol 0; } - "(k|epsilon)" - { - $U; - } - - "(k|epsilon)Final" - { - $UFinal; - } - "(Yi|O2|N2|H2O)" { - $UFinal; + solver PBiCG; + preconditioner DILU; + tolerance 1e-6; + relTol 0; + } + + h + { + $Yi; + relTol 0.1; + } + + hFinal + { + $Yi; } } diff --git a/tutorials/resources/geometry/cyclone.stl.gz b/tutorials/resources/geometry/cyclone.stl.gz new file mode 100644 index 0000000000..b8a99ab573 Binary files /dev/null and b/tutorials/resources/geometry/cyclone.stl.gz differ