From 5f246c45e697a7354cb10d4dfe6049cb3e3d0465 Mon Sep 17 00:00:00 2001 From: henry Date: Fri, 10 Jul 2009 11:55:50 +0100 Subject: [PATCH 01/15] Improved the basic tutorial clean functions. --- bin/tools/CleanFunctions | 16 +++++++--------- .../dsmcFoam/supersonicCorner/Allclean | 2 -- .../dsmcFoam/wedge15Ma5/Allclean | 3 --- .../multiRegionHeater/Allclean | 10 ---------- .../pisoFoam/les/pitzDaily/system/controlDict | 6 +++--- .../ras/damBreakWithObstacle/VTK/c0/c0_1.vtk | Bin 230571 -> 0 bytes 6 files changed, 10 insertions(+), 27 deletions(-) delete mode 100755 tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/Allclean delete mode 100644 tutorials/multiphase/interDyMFoam/ras/damBreakWithObstacle/VTK/c0/c0_1.vtk diff --git a/bin/tools/CleanFunctions b/bin/tools/CleanFunctions index e7a5da0753..4a2015febf 100644 --- a/bin/tools/CleanFunctions +++ b/bin/tools/CleanFunctions @@ -61,12 +61,17 @@ cleanTimeDirectories () cleanCase () { cleanTimeDirectories + rm -rf processor* > /dev/null 2>&1 + rm -rf probes* > /dev/null 2>&1 + rm -rf forces* > /dev/null 2>&1 - rm -rf constant/polyMesh/{allOwner*,cell*,face*,meshModifiers*} \ + rm -rf system/machines \ + constant/polyMesh/{allOwner*,cell*,face*,meshModifiers*} \ constant/polyMesh/{owner*,neighbour*,point*,edge*} \ constant/polyMesh/{cellLevel*,pointLevel*,refinementHistory*,surfaceIndex*} \ - constant/{cellLevel*,pointLevel*} \ + constant/{cellToRegion,cellLevel*,pointLevel*} \ constant/polyMesh/sets/ \ + VTK \ > /dev/null 2>&1 for f in `find . -name "*Dict"` @@ -76,13 +81,6 @@ cleanCase () done } -cleanParallelCase () -{ - cleanCase - - rm -rf processor* > /dev/null 2>&1 -} - removeCase () { echo "Removing $case case" diff --git a/tutorials/discreteMethods/dsmcFoam/supersonicCorner/Allclean b/tutorials/discreteMethods/dsmcFoam/supersonicCorner/Allclean index 5622060c8e..1cc972be26 100755 --- a/tutorials/discreteMethods/dsmcFoam/supersonicCorner/Allclean +++ b/tutorials/discreteMethods/dsmcFoam/supersonicCorner/Allclean @@ -5,5 +5,3 @@ cleanCase rm -rf 0/lagrangian 0/dsmcSigmaTcRMax -rm -rf processor* -rm -f system/machines \ No newline at end of file diff --git a/tutorials/discreteMethods/dsmcFoam/wedge15Ma5/Allclean b/tutorials/discreteMethods/dsmcFoam/wedge15Ma5/Allclean index a81bd94599..1cc972be26 100755 --- a/tutorials/discreteMethods/dsmcFoam/wedge15Ma5/Allclean +++ b/tutorials/discreteMethods/dsmcFoam/wedge15Ma5/Allclean @@ -5,6 +5,3 @@ cleanCase rm -rf 0/lagrangian 0/dsmcSigmaTcRMax -rm -rf processor* -rm -rf forces1 -rm -f system/machines \ No newline at end of file diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/Allclean b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/Allclean deleted file mode 100755 index 2954f18bad..0000000000 --- a/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/Allclean +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/sh - -# Source tutorial clean functions -. $WM_PROJECT_DIR/bin/tools/CleanFunctions - -cleanCase -rm -rf VTK -rm -rf constant/cellToRegion constant/polyMesh/sets - -# ----------------------------------------------------------------------------- diff --git a/tutorials/incompressible/pisoFoam/les/pitzDaily/system/controlDict b/tutorials/incompressible/pisoFoam/les/pitzDaily/system/controlDict index 03fbddb7a8..98d278dccc 100644 --- a/tutorials/incompressible/pisoFoam/les/pitzDaily/system/controlDict +++ b/tutorials/incompressible/pisoFoam/les/pitzDaily/system/controlDict @@ -47,10 +47,10 @@ runTimeModifiable yes; functions { - probes1 + probes { type probes; - functionObjectLibs ( "libsampling.so" ); + functionObjectLibs ("libsampling.so"); enabled true; outputControl timeStep; outputInterval 1; @@ -74,7 +74,7 @@ functions fieldAverage1 { type fieldAverage; - functionObjectLibs ( "libfieldFunctionObjects.so" ); + functionObjectLibs ("libfieldFunctionObjects.so"); enabled true; outputControl outputTime; fields diff --git a/tutorials/multiphase/interDyMFoam/ras/damBreakWithObstacle/VTK/c0/c0_1.vtk b/tutorials/multiphase/interDyMFoam/ras/damBreakWithObstacle/VTK/c0/c0_1.vtk deleted file mode 100644 index af03eba46538789965e6f8ab0137eb890e833a2b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 230571 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⁡r%lAa88M^>+# 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 cv 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 wqd2nmju4R{M}ZO*YBak39|Vi9z5oCK From 3d4f910bc3b35266299291a35e3967dfa0082712 Mon Sep 17 00:00:00 2001 From: andy Date: Fri, 10 Jul 2009 11:58:51 +0100 Subject: [PATCH 02/15] moving correctMassFractions() to multiComponentMixture --- .../basicMultiComponentMixture.C | 21 ++--------------- .../basicMultiComponentMixture.H | 6 ----- .../multiComponentMixture.C | 23 ++++++++++++++++++- 3 files changed, 24 insertions(+), 26 deletions(-) diff --git a/src/thermophysicalModels/reactionThermo/mixtures/basicMultiComponentMixture/basicMultiComponentMixture.C b/src/thermophysicalModels/reactionThermo/mixtures/basicMultiComponentMixture/basicMultiComponentMixture.C index 1016a33a97..984c06bdf2 100644 --- a/src/thermophysicalModels/reactionThermo/mixtures/basicMultiComponentMixture/basicMultiComponentMixture.C +++ b/src/thermophysicalModels/reactionThermo/mixtures/basicMultiComponentMixture/basicMultiComponentMixture.C @@ -26,24 +26,6 @@ License #include "basicMultiComponentMixture.H" -// * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * // - -void Foam::basicMultiComponentMixture::correctMassFractions() -{ - volScalarField Yt = Y_[0]; - - for(label n=1; n Y_; - // Protected member functions - - //- Correct the mass fractions to sum to 1 - void correctMassFractions(); - - public: // Constructors diff --git a/src/thermophysicalModels/reactionThermo/mixtures/multiComponentMixture/multiComponentMixture.C b/src/thermophysicalModels/reactionThermo/mixtures/multiComponentMixture/multiComponentMixture.C index 521959a2e9..62458df464 100644 --- a/src/thermophysicalModels/reactionThermo/mixtures/multiComponentMixture/multiComponentMixture.C +++ b/src/thermophysicalModels/reactionThermo/mixtures/multiComponentMixture/multiComponentMixture.C @@ -47,6 +47,23 @@ const ThermoType& Foam::multiComponentMixture::constructSpeciesData } +template +void Foam::multiComponentMixture::correctMassFractions() +{ + volScalarField Yt = Y_[0]; + + for (label n=1; n @@ -70,6 +87,8 @@ Foam::multiComponentMixture::multiComponentMixture new ThermoType(*specieThermoData[species_[i]]) ); } + + correctMassFractions(); } @@ -83,7 +102,9 @@ Foam::multiComponentMixture::multiComponentMixture basicMultiComponentMixture(thermoDict, thermoDict.lookup("species"), mesh), speciesData_(species_.size()), mixture_("mixture", constructSpeciesData(thermoDict)) -{} +{ + correctMassFractions(); +} // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // From e461ef53e9d379fd90be1b4136c1fdcd6e078afa Mon Sep 17 00:00:00 2001 From: henry Date: Fri, 10 Jul 2009 12:04:42 +0100 Subject: [PATCH 03/15] Removed support for LAM. --- bin/tools/RunFunctions | 10 ---------- .../discreteMethods/dsmcFoam/supersonicCorner/Allrun | 5 ++--- tutorials/discreteMethods/dsmcFoam/wedge15Ma5/Allrun | 5 ++--- .../molecularDynamics/mdFoam/nanoNozzle/Allrun | 5 ++--- .../chtMultiRegionFoam/multiRegionHeater/Allrun | 3 +-- tutorials/mesh/snappyHexMesh/multiRegionMesh/Allrun | 3 +-- tutorials/multiphase/cavitatingFoam/les/Allrun | 3 +-- .../compressibleInterFoam/les/depthCharge3D/Allrun | 3 +-- tutorials/multiphase/interFoam/laminar/Allrun | 3 +-- tutorials/multiphase/interFoam/ras/Allrun | 3 +-- 10 files changed, 12 insertions(+), 31 deletions(-) diff --git a/bin/tools/RunFunctions b/bin/tools/RunFunctions index 6907b291ef..62ce3e27ef 100644 --- a/bin/tools/RunFunctions +++ b/bin/tools/RunFunctions @@ -53,18 +53,8 @@ runParallel () if [ -f $log.$APP_RUN ] ; then echo "$APP_RUN already run on $PWD: remove log file to run" else - if [ "$WM_MPLIB" = LAM ] - then - echo "Starting LAM using $2 machines file" - lamboot -v $2 - fi echo "Running $APP_RUN in parallel on $PWD using $1 processes" ( mpirun -np $1 $APP_RUN -parallel < /dev/null > log.$APP_RUN 2>&1 ) - if [ "$WM_MPLIB" = LAM ] - then - echo "Stopping LAM" - lamclean - fi fi } diff --git a/tutorials/discreteMethods/dsmcFoam/supersonicCorner/Allrun b/tutorials/discreteMethods/dsmcFoam/supersonicCorner/Allrun index 402135df74..b369081128 100755 --- a/tutorials/discreteMethods/dsmcFoam/supersonicCorner/Allrun +++ b/tutorials/discreteMethods/dsmcFoam/supersonicCorner/Allrun @@ -4,8 +4,7 @@ runApplication blockMesh runApplication decomposePar -runParallel dsmcInitialise 4 system/machines -hostname > system/machines -runParallel dsmcFoam 4 system/machines +runParallel dsmcInitialise 4 +runParallel dsmcFoam 4 runApplication reconstructPar -noLagrangian diff --git a/tutorials/discreteMethods/dsmcFoam/wedge15Ma5/Allrun b/tutorials/discreteMethods/dsmcFoam/wedge15Ma5/Allrun index 402135df74..b369081128 100755 --- a/tutorials/discreteMethods/dsmcFoam/wedge15Ma5/Allrun +++ b/tutorials/discreteMethods/dsmcFoam/wedge15Ma5/Allrun @@ -4,8 +4,7 @@ runApplication blockMesh runApplication decomposePar -runParallel dsmcInitialise 4 system/machines -hostname > system/machines -runParallel dsmcFoam 4 system/machines +runParallel dsmcInitialise 4 +runParallel dsmcFoam 4 runApplication reconstructPar -noLagrangian diff --git a/tutorials/discreteMethods/molecularDynamics/mdFoam/nanoNozzle/Allrun b/tutorials/discreteMethods/molecularDynamics/mdFoam/nanoNozzle/Allrun index defa2cb875..0e158046d9 100755 --- a/tutorials/discreteMethods/molecularDynamics/mdFoam/nanoNozzle/Allrun +++ b/tutorials/discreteMethods/molecularDynamics/mdFoam/nanoNozzle/Allrun @@ -8,9 +8,8 @@ application=`getApplication` runApplication blockMesh runApplication decomposePar -hostname > system/machines -runParallel mdInitialise 4 system/machines -runParallel $application 4 system/machines +runParallel mdInitialise 4 +runParallel $application 4 runApplication reconstructPar diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/Allrun b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/Allrun index c3c4b5e504..9acc76c443 100755 --- a/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/Allrun +++ b/tutorials/heatTransfer/chtMultiRegionFoam/multiRegionHeater/Allrun @@ -41,8 +41,7 @@ do done # Run -hostname > system/machines -runParallel chtMultiRegionFoam 4 system/machines +runParallel chtMultiRegionFoam 4 # Reconstruct for i in bottomAir topAir heater leftSolid rightSolid diff --git a/tutorials/mesh/snappyHexMesh/multiRegionMesh/Allrun b/tutorials/mesh/snappyHexMesh/multiRegionMesh/Allrun index 28b6133b28..5b96ab937d 100755 --- a/tutorials/mesh/snappyHexMesh/multiRegionMesh/Allrun +++ b/tutorials/mesh/snappyHexMesh/multiRegionMesh/Allrun @@ -38,8 +38,7 @@ runApplication chtMultiRegionFoam #done # ## Run -#hostname > system/machines -#runParallel chtMultiRegionFoam 4 system/machines +#runParallel chtMultiRegionFoam 4 # ## Reconstruct #for i in bottomAir topAir heater leftSolid rightSolid diff --git a/tutorials/multiphase/cavitatingFoam/les/Allrun b/tutorials/multiphase/cavitatingFoam/les/Allrun index ba35093d07..c6b98bda75 100755 --- a/tutorials/multiphase/cavitatingFoam/les/Allrun +++ b/tutorials/multiphase/cavitatingFoam/les/Allrun @@ -36,8 +36,7 @@ cd throttle3D mapFields ../throttle -sourceTime latestTime >& log.mapFields runApplication decomposePar - hostname > system/machines - runParallel $application 4 system/machines + runParallel $application 4 runApplication reconstructPar cd .. diff --git a/tutorials/multiphase/compressibleInterFoam/les/depthCharge3D/Allrun b/tutorials/multiphase/compressibleInterFoam/les/depthCharge3D/Allrun index 0f09de5ddc..695ef4d671 100755 --- a/tutorials/multiphase/compressibleInterFoam/les/depthCharge3D/Allrun +++ b/tutorials/multiphase/compressibleInterFoam/les/depthCharge3D/Allrun @@ -10,6 +10,5 @@ cp 0/alpha1.org 0/alpha1 cp 0/p.org 0/p runApplication setFields runApplication decomposePar -hostname > system/machines -runParallel $application 4 system/machines +runParallel $application 4 runApplication reconstructPar diff --git a/tutorials/multiphase/interFoam/laminar/Allrun b/tutorials/multiphase/interFoam/laminar/Allrun index 22d86c6b68..03ffbeecde 100755 --- a/tutorials/multiphase/interFoam/laminar/Allrun +++ b/tutorials/multiphase/interFoam/laminar/Allrun @@ -42,7 +42,6 @@ cd damBreakFine runApplication blockMesh runApplication setFields runApplication decomposePar - hostname > system/machines - runParallel $application 4 system/machines + runParallel $application 4 runApplication reconstructPar cd .. diff --git a/tutorials/multiphase/interFoam/ras/Allrun b/tutorials/multiphase/interFoam/ras/Allrun index 45bd89d849..c01559fc77 100755 --- a/tutorials/multiphase/interFoam/ras/Allrun +++ b/tutorials/multiphase/interFoam/ras/Allrun @@ -38,7 +38,6 @@ cd damBreakFine runApplication blockMesh runApplication setFields runApplication decomposePar - hostname > system/machines - runParallel $application 4 system/machines + runParallel $application 4 runApplication reconstructPar cd .. From 439af63d58fbe1742912e4195f7cdd7b99da2875 Mon Sep 17 00:00:00 2001 From: andy Date: Fri, 10 Jul 2009 12:49:23 +0100 Subject: [PATCH 04/15] moved g initialisation above sub-model creation to avoid sigsev --- src/lagrangian/dieselSpray/spray/spray.C | 2 +- src/lagrangian/dieselSpray/spray/spray.H | 13 ++++++------- 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/src/lagrangian/dieselSpray/spray/spray.C b/src/lagrangian/dieselSpray/spray/spray.C index b6ab574d1d..3280fefdc9 100644 --- a/src/lagrangian/dieselSpray/spray/spray.C +++ b/src/lagrangian/dieselSpray/spray/spray.C @@ -67,6 +67,7 @@ Foam::spray::spray time0_(runTime_.value()), mesh_(U.mesh()), rndGen_(label(0)), + g_(g.value()), U_(U), rho_(rho), @@ -181,7 +182,6 @@ Foam::spray::spray ), subCycles_(readLabel(sprayProperties_.lookup("subCycles"))), - g_(g.value()), gasProperties_(gasProperties), composition_(composition), diff --git a/src/lagrangian/dieselSpray/spray/spray.H b/src/lagrangian/dieselSpray/spray/spray.H index 27ec6a43ec..60127656e7 100644 --- a/src/lagrangian/dieselSpray/spray/spray.H +++ b/src/lagrangian/dieselSpray/spray/spray.H @@ -79,6 +79,9 @@ class spray //- Random number generator Random rndGen_; + //- Acceleration due to gravity + const vector& g_; + // References to the physical fields @@ -93,14 +96,14 @@ class spray //- Ambient Pressure - scalar ambientPressure_; + scalar ambientPressure_; //- Ambient Temperature - scalar ambientTemperature_; + scalar ambientTemperature_; //- The injectors - IOPtrList injectors_; + IOPtrList injectors_; // References to the spray sub-models @@ -121,10 +124,6 @@ class spray const label subCycles_; - //- Acceleration due to gravity - const vector& g_; - - // Composition properties const PtrList& gasProperties_; From 90298600e07ddcdda745ced8e9528abfddf80e76 Mon Sep 17 00:00:00 2001 From: henry Date: Fri, 10 Jul 2009 12:59:51 +0100 Subject: [PATCH 05/15] Corrected buoyancy BCs for p. --- bin/tools/RunFunctions | 7 +- .../XiFoam/les/pitzDaily/constant/g | 3 +- .../XiFoam/les/pitzDaily3D/constant/g | 3 +- .../combustion/dieselFoam/aachenBomb/0/p | 10 +-- .../engineFoam/kivaTest/-180/epsilon | 6 +- .../combustion/engineFoam/kivaTest/-180/k | 6 +- .../multiRegionMesh/constant/topAir/g | 1 + .../bubbleFoam/bubbleColumn/0.org/p | 11 +-- .../multiphase/bubbleFoam/bubbleColumn/0/p | 13 +-- .../MRFInterFoam/mixerVessel2D/Allrun | 2 +- .../multiphase/interFoam/laminar/damBreak/0/p | 9 ++- .../multiphase/interFoam/ras/damBreak/0/p | 9 ++- .../laminar/damBreak4phase/0/p | 9 ++- .../laminar/damBreak4phaseFine/0/p | 9 ++- .../multiphase/settlingFoam/ras/dahl/0/p | 18 +++-- .../multiphase/settlingFoam/ras/tank3D/0/p | 79 +++++++++++-------- .../multiphase/twoPhaseEulerFoam/bed/0/p | 6 +- .../twoPhaseEulerFoam/bubbleColumn/0/p | 13 +-- 18 files changed, 123 insertions(+), 91 deletions(-) mode change 100644 => 120000 tutorials/mesh/snappyHexMesh/multiRegionMesh/constant/topAir/g diff --git a/bin/tools/RunFunctions b/bin/tools/RunFunctions index 62ce3e27ef..e2c335b05b 100644 --- a/bin/tools/RunFunctions +++ b/bin/tools/RunFunctions @@ -37,12 +37,13 @@ getApplication () runApplication () { APP_RUN=$1; shift + APP_NAME=${APP_RUN##*/} - if [ -f log.$APP_RUN ] ; then - echo "$APP_RUN already run on $PWD: remove log file to run" + if [ -f log.$APP_NAME ] ; then + echo "$APP_NAME already run on $PWD: remove log file to run" else echo "Running $APP_RUN on $PWD" - $APP_RUN $* > log.$APP_RUN 2>&1 + $APP_RUN $* > log.$APP_NAME 2>&1 fi } diff --git a/tutorials/combustion/XiFoam/les/pitzDaily/constant/g b/tutorials/combustion/XiFoam/les/pitzDaily/constant/g index 2b77c937a2..7b4411955d 100644 --- a/tutorials/combustion/XiFoam/les/pitzDaily/constant/g +++ b/tutorials/combustion/XiFoam/les/pitzDaily/constant/g @@ -16,7 +16,6 @@ FoamFile // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // dimensions [0 1 -2 0 0 0 0]; -value ( 0 -9.81 0 ); - +value (0 0 0); // ************************************************************************* // diff --git a/tutorials/combustion/XiFoam/les/pitzDaily3D/constant/g b/tutorials/combustion/XiFoam/les/pitzDaily3D/constant/g index 057403310a..d182180d95 100644 --- a/tutorials/combustion/XiFoam/les/pitzDaily3D/constant/g +++ b/tutorials/combustion/XiFoam/les/pitzDaily3D/constant/g @@ -16,7 +16,6 @@ FoamFile // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // dimensions [0 1 -2 0 0 0 0]; -value ( 0 0 0 ); - +value (0 0 0); // ************************************************************************* // diff --git a/tutorials/combustion/dieselFoam/aachenBomb/0/p b/tutorials/combustion/dieselFoam/aachenBomb/0/p index bc33200d5e..b5ab5ef15b 100644 --- a/tutorials/combustion/dieselFoam/aachenBomb/0/p +++ b/tutorials/combustion/dieselFoam/aachenBomb/0/p @@ -22,19 +22,19 @@ boundaryField { walls { - type zeroGradient; + type buoyantPressure; + value uniform 5e+06; } - + front { - type wedge; + type wedge; } back { - type wedge; + type wedge; } - } // ************************************************************************* // diff --git a/tutorials/combustion/engineFoam/kivaTest/-180/epsilon b/tutorials/combustion/engineFoam/kivaTest/-180/epsilon index a686c35955..f52dbcdfbf 100644 --- a/tutorials/combustion/engineFoam/kivaTest/-180/epsilon +++ b/tutorials/combustion/engineFoam/kivaTest/-180/epsilon @@ -23,17 +23,17 @@ boundaryField { piston { - type epsilonWallFunction; + type compressible::epsilonWallFunction; value uniform 450; } liner { - type epsilonWallFunction; + type compressible::epsilonWallFunction; value uniform 450; } cylinderHead { - type epsilonWallFunction; + type compressible::epsilonWallFunction; value uniform 450; } } diff --git a/tutorials/combustion/engineFoam/kivaTest/-180/k b/tutorials/combustion/engineFoam/kivaTest/-180/k index e643a368e6..b97d4da7fd 100644 --- a/tutorials/combustion/engineFoam/kivaTest/-180/k +++ b/tutorials/combustion/engineFoam/kivaTest/-180/k @@ -23,17 +23,17 @@ boundaryField { piston { - type kQRWallFunction; + type compressible::kQRWallFunction; value uniform 4; } liner { - type kQRWallFunction; + type compressible::kQRWallFunction; value uniform 4; } cylinderHead { - type kQRWallFunction; + type compressible::kQRWallFunction; value uniform 4; } } diff --git a/tutorials/mesh/snappyHexMesh/multiRegionMesh/constant/topAir/g b/tutorials/mesh/snappyHexMesh/multiRegionMesh/constant/topAir/g deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/tutorials/mesh/snappyHexMesh/multiRegionMesh/constant/topAir/g b/tutorials/mesh/snappyHexMesh/multiRegionMesh/constant/topAir/g new file mode 120000 index 0000000000..fe0384ff08 --- /dev/null +++ b/tutorials/mesh/snappyHexMesh/multiRegionMesh/constant/topAir/g @@ -0,0 +1 @@ +../bottomAir/g \ No newline at end of file diff --git a/tutorials/multiphase/bubbleFoam/bubbleColumn/0.org/p b/tutorials/multiphase/bubbleFoam/bubbleColumn/0.org/p index ced7047d43..841cfca2e6 100644 --- a/tutorials/multiphase/bubbleFoam/bubbleColumn/0.org/p +++ b/tutorials/multiphase/bubbleFoam/bubbleColumn/0.org/p @@ -20,23 +20,24 @@ internalField uniform 0; boundaryField { - inlet + inlet { type zeroGradient; } - outlet + outlet { type fixedValue; value uniform 0; } - walls + walls { - type zeroGradient; + type buoyantPressure; + value uniform 0; } - defaultFaces + defaultFaces { type empty; } diff --git a/tutorials/multiphase/bubbleFoam/bubbleColumn/0/p b/tutorials/multiphase/bubbleFoam/bubbleColumn/0/p index 339131c645..e247f867f5 100644 --- a/tutorials/multiphase/bubbleFoam/bubbleColumn/0/p +++ b/tutorials/multiphase/bubbleFoam/bubbleColumn/0/p @@ -16,7 +16,7 @@ FoamFile dimensions [1 -1 -2 0 0 0 0]; -internalField nonuniform List +internalField nonuniform List 1875 ( 6296.13 @@ -1899,23 +1899,24 @@ internalField nonuniform List boundaryField { - inlet + inlet { type zeroGradient; } - outlet + outlet { type fixedValue; value uniform 0; } - walls + walls { - type zeroGradient; + type buoyantPressure; + value uniform 0; } - defaultFaces + defaultFaces { type empty; } diff --git a/tutorials/multiphase/interFoam/MRFInterFoam/mixerVessel2D/Allrun b/tutorials/multiphase/interFoam/MRFInterFoam/mixerVessel2D/Allrun index 836276fe9c..99a20900eb 100755 --- a/tutorials/multiphase/interFoam/MRFInterFoam/mixerVessel2D/Allrun +++ b/tutorials/multiphase/interFoam/MRFInterFoam/mixerVessel2D/Allrun @@ -5,5 +5,5 @@ application=`getApplication` -./makeMesh +runApplication ./makeMesh runApplication $application diff --git a/tutorials/multiphase/interFoam/laminar/damBreak/0/p b/tutorials/multiphase/interFoam/laminar/damBreak/0/p index 15ab9897a8..f8cc9e9f25 100644 --- a/tutorials/multiphase/interFoam/laminar/damBreak/0/p +++ b/tutorials/multiphase/interFoam/laminar/damBreak/0/p @@ -22,17 +22,20 @@ boundaryField { leftWall { - type zeroGradient; + type buoyantPressure; + value uniform 0; } rightWall { - type zeroGradient; + type buoyantPressure; + value uniform 0; } lowerWall { - type zeroGradient; + type buoyantPressure; + value uniform 0; } atmosphere diff --git a/tutorials/multiphase/interFoam/ras/damBreak/0/p b/tutorials/multiphase/interFoam/ras/damBreak/0/p index 15ab9897a8..f8cc9e9f25 100644 --- a/tutorials/multiphase/interFoam/ras/damBreak/0/p +++ b/tutorials/multiphase/interFoam/ras/damBreak/0/p @@ -22,17 +22,20 @@ boundaryField { leftWall { - type zeroGradient; + type buoyantPressure; + value uniform 0; } rightWall { - type zeroGradient; + type buoyantPressure; + value uniform 0; } lowerWall { - type zeroGradient; + type buoyantPressure; + value uniform 0; } atmosphere diff --git a/tutorials/multiphase/multiphaseInterFoam/laminar/damBreak4phase/0/p b/tutorials/multiphase/multiphaseInterFoam/laminar/damBreak4phase/0/p index 15ab9897a8..f8cc9e9f25 100644 --- a/tutorials/multiphase/multiphaseInterFoam/laminar/damBreak4phase/0/p +++ b/tutorials/multiphase/multiphaseInterFoam/laminar/damBreak4phase/0/p @@ -22,17 +22,20 @@ boundaryField { leftWall { - type zeroGradient; + type buoyantPressure; + value uniform 0; } rightWall { - type zeroGradient; + type buoyantPressure; + value uniform 0; } lowerWall { - type zeroGradient; + type buoyantPressure; + value uniform 0; } atmosphere diff --git a/tutorials/multiphase/multiphaseInterFoam/laminar/damBreak4phaseFine/0/p b/tutorials/multiphase/multiphaseInterFoam/laminar/damBreak4phaseFine/0/p index 15ab9897a8..f8cc9e9f25 100644 --- a/tutorials/multiphase/multiphaseInterFoam/laminar/damBreak4phaseFine/0/p +++ b/tutorials/multiphase/multiphaseInterFoam/laminar/damBreak4phaseFine/0/p @@ -22,17 +22,20 @@ boundaryField { leftWall { - type zeroGradient; + type buoyantPressure; + value uniform 0; } rightWall { - type zeroGradient; + type buoyantPressure; + value uniform 0; } lowerWall { - type zeroGradient; + type buoyantPressure; + value uniform 0; } atmosphere diff --git a/tutorials/multiphase/settlingFoam/ras/dahl/0/p b/tutorials/multiphase/settlingFoam/ras/dahl/0/p index 2f9b3db7ac..a19f18a1fd 100644 --- a/tutorials/multiphase/settlingFoam/ras/dahl/0/p +++ b/tutorials/multiphase/settlingFoam/ras/dahl/0/p @@ -20,33 +20,35 @@ internalField uniform 0; boundaryField { - inlet + inlet { type zeroGradient; } - outlet + outlet { type fixedValue; value uniform 0; } - bottomWall + bottomWall { - type zeroGradient; + type buoyantPressure; + value uniform 0; } - endWall + endWall { - type zeroGradient; + type buoyantPressure; + value uniform 0; } - top + top { type symmetryPlane; } - frontAndBack + frontAndBack { type empty; } diff --git a/tutorials/multiphase/settlingFoam/ras/tank3D/0/p b/tutorials/multiphase/settlingFoam/ras/tank3D/0/p index d12a701172..02b3ad272c 100644 --- a/tutorials/multiphase/settlingFoam/ras/tank3D/0/p +++ b/tutorials/multiphase/settlingFoam/ras/tank3D/0/p @@ -20,102 +20,115 @@ internalField uniform 0; boundaryField { - SYMP3 + SYMP3 { type symmetryPlane; } - INLE1 + INLE1 { type zeroGradient; } - OUTL9 + OUTL9 { type zeroGradient; } - OUTL10 + OUTL10 { type zeroGradient; } - OUTL11 + OUTL11 { type zeroGradient; } - OUTL12 + OUTL12 { type zeroGradient; } - WALL6 + WALL6 { - type zeroGradient; + type buoyantPressure; + value uniform 0; } - WALL8 + WALL8 { - type zeroGradient; + type buoyantPressure; + value uniform 0; } - WALL61 + WALL61 { - type zeroGradient; + type buoyantPressure; + value uniform 0; } - WALL62 + WALL62 { - type zeroGradient; + type buoyantPressure; + value uniform 0; } - WALL63 + WALL63 { - type zeroGradient; + type buoyantPressure; + value uniform 0; } - WALL64 + WALL64 { - type zeroGradient; + type buoyantPressure; + value uniform 0; } - WALL65 + WALL65 { - type zeroGradient; + type buoyantPressure; + value uniform 0; } - WALL66 + WALL66 { - type zeroGradient; + type buoyantPressure; + value uniform 0; } - WALL67 + WALL67 { - type zeroGradient; + type buoyantPressure; + value uniform 0; } - WALL68 + WALL68 { - type zeroGradient; + type buoyantPressure; + value uniform 0; } - WALL69 + WALL69 { - type zeroGradient; + type buoyantPressure; + value uniform 0; } - WALL7 + WALL7 { - type zeroGradient; + type buoyantPressure; + value uniform 0; } - WALL70 + WALL70 { - type zeroGradient; + type buoyantPressure; + value uniform 0; } - OUTL15 + OUTL15 { type fixedValue; value uniform 0; diff --git a/tutorials/multiphase/twoPhaseEulerFoam/bed/0/p b/tutorials/multiphase/twoPhaseEulerFoam/bed/0/p index 6dc161ca6f..9c8370323f 100644 --- a/tutorials/multiphase/twoPhaseEulerFoam/bed/0/p +++ b/tutorials/multiphase/twoPhaseEulerFoam/bed/0/p @@ -22,7 +22,8 @@ boundaryField { bottom { - type zeroGradient; + type buoyantPressure; + value uniform 0; } top @@ -33,7 +34,8 @@ boundaryField walls { - type zeroGradient; + type buoyantPressure; + value uniform 0; } frontBack diff --git a/tutorials/multiphase/twoPhaseEulerFoam/bubbleColumn/0/p b/tutorials/multiphase/twoPhaseEulerFoam/bubbleColumn/0/p index 339131c645..e247f867f5 100644 --- a/tutorials/multiphase/twoPhaseEulerFoam/bubbleColumn/0/p +++ b/tutorials/multiphase/twoPhaseEulerFoam/bubbleColumn/0/p @@ -16,7 +16,7 @@ FoamFile dimensions [1 -1 -2 0 0 0 0]; -internalField nonuniform List +internalField nonuniform List 1875 ( 6296.13 @@ -1899,23 +1899,24 @@ internalField nonuniform List boundaryField { - inlet + inlet { type zeroGradient; } - outlet + outlet { type fixedValue; value uniform 0; } - walls + walls { - type zeroGradient; + type buoyantPressure; + value uniform 0; } - defaultFaces + defaultFaces { type empty; } From 44e5bf5fac8cbfd321fd5e1e78f671bd0b2af7d5 Mon Sep 17 00:00:00 2001 From: andy Date: Fri, 10 Jul 2009 13:32:37 +0100 Subject: [PATCH 06/15] cosmetics - output message --- .../clouds/Templates/KinematicCloud/KinematicCloud.C | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/lagrangian/intermediate/clouds/Templates/KinematicCloud/KinematicCloud.C b/src/lagrangian/intermediate/clouds/Templates/KinematicCloud/KinematicCloud.C index e473102c1a..650cb7ddcb 100644 --- a/src/lagrangian/intermediate/clouds/Templates/KinematicCloud/KinematicCloud.C +++ b/src/lagrangian/intermediate/clouds/Templates/KinematicCloud/KinematicCloud.C @@ -249,10 +249,10 @@ template void Foam::KinematicCloud::info() const { Info<< "Cloud: " << this->name() << nl - << " Parcels added during this run = " + << " Total number of parcels added = " << returnReduce(this->injection().parcelsAddedTotal(), sumOp