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