From af095081b731c609ae39039eda9a05e9b459e9a1 Mon Sep 17 00:00:00 2001
From: mattijs <mattijs>
Date: Fri, 16 Apr 2010 13:16:26 +0100
Subject: [PATCH] ENH: Added baffles and fan cyclic

---
 .../incompressible/pimpleFoam/t-junction/0/U  | 19 +++++++++----
 .../pimpleFoam/t-junction/0/epsilon           | 16 ++++++++---
 .../incompressible/pimpleFoam/t-junction/0/k  | 15 +++++++++--
 .../pimpleFoam/t-junction/0/nuTilda           | 10 ++++++-
 .../pimpleFoam/t-junction/0/nut               | 11 +++++++-
 .../incompressible/pimpleFoam/t-junction/0/p  | 18 ++++++++++---
 .../pimpleFoam/t-junction/Allrun              | 27 +++++++++++++++++++
 .../pimpleFoam/t-junction/README.txt          |  3 ++-
 .../constant/polyMesh/blockMeshDict           | 10 +++++++
 .../t-junction/constant/polyMesh/boundary     | 17 ++++++++++--
 .../t-junction/selectBaffles.setSet           |  4 +++
 .../t-junction/selectCyclics.setSet           |  3 +++
 .../pimpleFoam/t-junction/system/controlDict  |  4 ++-
 13 files changed, 137 insertions(+), 20 deletions(-)
 create mode 100755 tutorials/incompressible/pimpleFoam/t-junction/Allrun
 create mode 100644 tutorials/incompressible/pimpleFoam/t-junction/selectBaffles.setSet
 create mode 100644 tutorials/incompressible/pimpleFoam/t-junction/selectCyclics.setSet

diff --git a/tutorials/incompressible/pimpleFoam/t-junction/0/U b/tutorials/incompressible/pimpleFoam/t-junction/0/U
index 937d3966b25..8b3863aff9e 100644
--- a/tutorials/incompressible/pimpleFoam/t-junction/0/U
+++ b/tutorials/incompressible/pimpleFoam/t-junction/0/U
@@ -20,27 +20,36 @@ internalField   uniform (0 0 0);
 
 boundaryField
 {
-    inlet      
+    inlet
     {
         type            pressureInletOutletVelocity;
         value           uniform (0 0 0);
     }
 
-    outlet1    
+    outlet1
     {
         type            inletOutlet;
         inletValue      uniform (0 0 0);
         value           uniform (0 0 0);
     }
 
-    outlet2   
+    outlet2
     {
         type            inletOutlet;
         inletValue      uniform (0 0 0);
         value           uniform (0 0 0);
     }
-
-    defaultFaces      
+    baffles
+    {
+        type            fixedValue;
+        value           uniform ( 0 0 0 );
+    }
+    fan
+    {
+        type            cyclic;
+        value           uniform ( 0 0 0 );
+    }
+    defaultFaces
     {
         type            fixedValue;
         value           uniform (0 0 0);
diff --git a/tutorials/incompressible/pimpleFoam/t-junction/0/epsilon b/tutorials/incompressible/pimpleFoam/t-junction/0/epsilon
index 98515b441d1..35ddfed6617 100644
--- a/tutorials/incompressible/pimpleFoam/t-junction/0/epsilon
+++ b/tutorials/incompressible/pimpleFoam/t-junction/0/epsilon
@@ -27,23 +27,33 @@ boundaryField
         mixingLength    0.01;       // 1cm - half channel height
         value           uniform 1;
     }
-
     outlet1
     {
         type            inletOutlet;
         inletValue      uniform 1;
+        value           uniform 1;
     }
 
     outlet2
     {
         type            inletOutlet;
         inletValue      uniform 1;
+        value           uniform 1;
+    }
+    baffles
+    {
+        type            epsilonWallFunction;
+        value           uniform 1;
+    }
+    fan
+    {
+        type            cyclic;
+        value           uniform 1;
     }
-
     defaultFaces
     {
         type            epsilonWallFunction;
-        value           uniform 0;
+        value           uniform 1;
     }
 }
 
diff --git a/tutorials/incompressible/pimpleFoam/t-junction/0/k b/tutorials/incompressible/pimpleFoam/t-junction/0/k
index 35f4e42f328..e87a5855d2c 100644
--- a/tutorials/incompressible/pimpleFoam/t-junction/0/k
+++ b/tutorials/incompressible/pimpleFoam/t-junction/0/k
@@ -27,23 +27,34 @@ boundaryField
         intensity       0.05;       // 5% turbulent intensity
         value           uniform 1;
     }
-
     outlet1
     {
         type            inletOutlet;
         inletValue      uniform 1;
+        value           uniform 1;
     }
 
     outlet2
     {
         type            inletOutlet;
         inletValue      uniform 1;
+        value           uniform 1;
+    }
+    baffles
+    {
+        type            kqRWallFunction;
+        value           uniform 1;
+    }
+    fan
+    {
+        type            cyclic;
+        value           uniform 1;
     }
 
     defaultFaces
     {
         type            kqRWallFunction;
-        value           uniform 0;
+        value           uniform 1;
     }
 }
 
diff --git a/tutorials/incompressible/pimpleFoam/t-junction/0/nuTilda b/tutorials/incompressible/pimpleFoam/t-junction/0/nuTilda
index fe8744b3989..ff51eab08cf 100644
--- a/tutorials/incompressible/pimpleFoam/t-junction/0/nuTilda
+++ b/tutorials/incompressible/pimpleFoam/t-junction/0/nuTilda
@@ -34,7 +34,15 @@ boundaryField
     {
         type            zeroGradient;
     }
-
+    baffles
+    {
+        type            zeroGradient;
+    }
+    fan
+    {
+        type            cyclic;
+        value           uniform 0;
+    }
     defaultFaces
     {
         type            zeroGradient;
diff --git a/tutorials/incompressible/pimpleFoam/t-junction/0/nut b/tutorials/incompressible/pimpleFoam/t-junction/0/nut
index b4a42336aae..570f1f90ac5 100644
--- a/tutorials/incompressible/pimpleFoam/t-junction/0/nut
+++ b/tutorials/incompressible/pimpleFoam/t-junction/0/nut
@@ -38,7 +38,16 @@ boundaryField
         type            calculated;
         value           uniform 0;
     }
-
+    baffles
+    {
+        type            nutkWallFunction;
+        value           uniform 0;
+    }
+    fan
+    {
+        type            cyclic;
+        value           uniform 0;
+    }
     defaultFaces
     {
         type            nutkWallFunction;
diff --git a/tutorials/incompressible/pimpleFoam/t-junction/0/p b/tutorials/incompressible/pimpleFoam/t-junction/0/p
index 93170d7a0cb..d9873e5b7a0 100644
--- a/tutorials/incompressible/pimpleFoam/t-junction/0/p
+++ b/tutorials/incompressible/pimpleFoam/t-junction/0/p
@@ -20,7 +20,7 @@ internalField   uniform 100000;
 
 boundaryField
 {
-    inlet      
+    inlet
     {
         //type            totalPressure;
         //p0              uniform 100040;
@@ -38,18 +38,28 @@ boundaryField
         value           uniform 100040;
     }
 
-    outlet1     
+    outlet1
     {
         type            fixedValue;
         value           uniform 100010;
     }
 
-    outlet2    
+    outlet2
     {
         type            fixedValue;
         value           uniform 100000;
     }
-
+    baffles
+    {
+        type            zeroGradient;
+    }
+    fan
+    {
+        type            fan;
+        patchType       cyclic;
+        f               2 ( 50 -0.1 );
+        value           uniform 100000;
+    }
     defaultFaces
     {
         type            zeroGradient;
diff --git a/tutorials/incompressible/pimpleFoam/t-junction/Allrun b/tutorials/incompressible/pimpleFoam/t-junction/Allrun
new file mode 100755
index 00000000000..54e4a04eddd
--- /dev/null
+++ b/tutorials/incompressible/pimpleFoam/t-junction/Allrun
@@ -0,0 +1,27 @@
+#!/bin/sh
+
+# Source tutorial run functions
+. $WM_PROJECT_DIR/bin/tools/RunFunctions
+
+# Get application name
+application=`getApplication`
+
+runApplication blockMesh
+
+
+# Creating patches 'out of nothing' so willl get undefined value which
+# might cause floating point error
+unset FOAM_SIGFPE
+unset FOAM_SETNAN
+
+# Add cyclic baffles for fan
+runApplication setSet -batch selectCyclics.setSet
+runApplication createBaffles cyclicFaces fan -overwrite
+
+# Add wall baffles
+rm log.setSet
+runApplication setSet -batch selectBaffles.setSet
+rm log.createBaffles
+runApplication createBaffles baffleFaces baffles -overwrite
+
+runApplication $application
diff --git a/tutorials/incompressible/pimpleFoam/t-junction/README.txt b/tutorials/incompressible/pimpleFoam/t-junction/README.txt
index 0905f8784d3..fd3f970be58 100644
--- a/tutorials/incompressible/pimpleFoam/t-junction/README.txt
+++ b/tutorials/incompressible/pimpleFoam/t-junction/README.txt
@@ -1,2 +1,3 @@
-15/8/8 Simple T-junction. Inlet on left, one outlet at bottom, one at top.
+300-04-16 T-junction with baffles and fan.
+Inlet on left, one outlet at bottom, one at top.
 To test multiple outlets.
diff --git a/tutorials/incompressible/pimpleFoam/t-junction/constant/polyMesh/blockMeshDict b/tutorials/incompressible/pimpleFoam/t-junction/constant/polyMesh/blockMeshDict
index e0f53580218..5e97f00deb0 100644
--- a/tutorials/incompressible/pimpleFoam/t-junction/constant/polyMesh/blockMeshDict
+++ b/tutorials/incompressible/pimpleFoam/t-junction/constant/polyMesh/blockMeshDict
@@ -100,6 +100,16 @@ patches
     (
         (8 18 19 9)
     )
+
+    wall baffles
+    ()
+
+    cyclic fan
+    ()
+
+    wall defaultFaces
+    ()
+
 );
 
 mergePatchPairs
diff --git a/tutorials/incompressible/pimpleFoam/t-junction/constant/polyMesh/boundary b/tutorials/incompressible/pimpleFoam/t-junction/constant/polyMesh/boundary
index 85c7a932373..24c53efd55c 100644
--- a/tutorials/incompressible/pimpleFoam/t-junction/constant/polyMesh/boundary
+++ b/tutorials/incompressible/pimpleFoam/t-junction/constant/polyMesh/boundary
@@ -1,7 +1,7 @@
 /*--------------------------------*- C++ -*----------------------------------*\
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
-|  \\    /   O peration     | Version:  1.6                                   |
+|  \\    /   O peration     | Version:  dev                                   |
 |   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
@@ -15,7 +15,7 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-4
+6
 (
     inlet
     {
@@ -35,6 +35,19 @@ FoamFile
         nFaces          25;
         startFace       10100;
     }
+    baffles
+    {
+        type            wall;
+        nFaces          0;
+        startFace       10125;
+    }
+    fan
+    {
+        type            cyclic;
+        nFaces          0;
+        startFace       10125;
+        featureCos      0.9;
+    }
     defaultFaces
     {
         type            wall;
diff --git a/tutorials/incompressible/pimpleFoam/t-junction/selectBaffles.setSet b/tutorials/incompressible/pimpleFoam/t-junction/selectBaffles.setSet
new file mode 100644
index 00000000000..b3e31fc713c
--- /dev/null
+++ b/tutorials/incompressible/pimpleFoam/t-junction/selectBaffles.setSet
@@ -0,0 +1,4 @@
+faceSet baffleFaces new boxToFace (0.099 -10 -10)(0.101 10 10)
+# Remove the centre faces that become fan
+faceSet baffleFaces delete boxToFace (0.099 -0.006 0.004)(0.101 0.006 0.016)
+faceZoneSet baffleFaces new setToFaceZone baffleFaces
diff --git a/tutorials/incompressible/pimpleFoam/t-junction/selectCyclics.setSet b/tutorials/incompressible/pimpleFoam/t-junction/selectCyclics.setSet
new file mode 100644
index 00000000000..4dc1033bd2d
--- /dev/null
+++ b/tutorials/incompressible/pimpleFoam/t-junction/selectCyclics.setSet
@@ -0,0 +1,3 @@
+faceSet cyclicFaces new boxToFace (0.099 -0.006 0.004)(0.101 0.006 0.016)
+cellSet cyclicFacesSlaveCells new boxToCell (-10 -10 -10)(0.1 10 10)
+faceZoneSet cyclicFaces new setsToFaceZone cyclicFaces cyclicFacesSlaveCells
diff --git a/tutorials/incompressible/pimpleFoam/t-junction/system/controlDict b/tutorials/incompressible/pimpleFoam/t-junction/system/controlDict
index 14ca5f30912..a966fe894ba 100644
--- a/tutorials/incompressible/pimpleFoam/t-junction/system/controlDict
+++ b/tutorials/incompressible/pimpleFoam/t-junction/system/controlDict
@@ -15,6 +15,8 @@ FoamFile
 }
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
+libs            ("libOpenFOAM.so" "libincompressibleTurbulenceModel.so" "libincompressibleRASModels.so");
+
 application     pimpleFoam;
 
 startFrom       startTime;
@@ -37,7 +39,7 @@ writeFormat     ascii;
 
 writePrecision  6;
 
-writeCompression off;
+writeCompression uncompressed;
 
 timeFormat      general;
 
-- 
GitLab