testHarness: replacing symlinks to constant directory with actual copies of the
directory and files. The symlinks will cause spurious failures of the testHarness when run in parallel. We are basically eliminating a race condition.
This commit is contained in:
parent
55eec259f0
commit
479ef8ad2a
12 changed files with 835 additions and 2 deletions
|
@ -1 +0,0 @@
|
||||||
../angledDuctImplicit/constant
|
|
|
@ -0,0 +1,24 @@
|
||||||
|
/*--------------------------------*- C++ -*----------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | foam-extend: Open Source CFD |
|
||||||
|
| \\ / O peration | Version: 3.2 |
|
||||||
|
| \\ / A nd | Web: http://www.foam-extend.org |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format binary;
|
||||||
|
class dictionary;
|
||||||
|
location "constant";
|
||||||
|
object RASProperties;
|
||||||
|
}
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
RASModel kEpsilon;
|
||||||
|
|
||||||
|
turbulence on;
|
||||||
|
|
||||||
|
printCoeffs on;
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
|
@ -0,0 +1,147 @@
|
||||||
|
/*--------------------------------*- C++ -*----------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | foam-extend: Open Source CFD |
|
||||||
|
| \\ / O peration | Version: 3.2 |
|
||||||
|
| \\ / A nd | Web: http://www.foam-extend.org |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ;
|
||||||
|
class dictionary;
|
||||||
|
object blockMeshDict;
|
||||||
|
}
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
// block definition for a porosity with an angled inlet/outlet
|
||||||
|
// the porosity is not aligned with the main axes
|
||||||
|
//
|
||||||
|
|
||||||
|
convertToMeters 0.001;
|
||||||
|
|
||||||
|
vertices
|
||||||
|
(
|
||||||
|
// inlet region
|
||||||
|
( -150 0 -25 ) // pt 0 (in1b)
|
||||||
|
( -150 35.35533906 -25 ) // pt 1 (in2b)
|
||||||
|
( -150 0 25 ) // pt 2 (in1f)
|
||||||
|
( -150 35.35533906 25 ) // pt 3 (in2f)
|
||||||
|
|
||||||
|
// join inlet->outlet
|
||||||
|
( 0 0 -25 ) // pt 4 (join1b)
|
||||||
|
( -35.35533906 35.35533906 -25 ) // pt 5 (join2b)
|
||||||
|
( 0 0 25 ) // pt 6 (join1f)
|
||||||
|
( -35.35533906 35.35533906 25 ) // pt 7 (join2f)
|
||||||
|
|
||||||
|
// porosity ends ->outlet
|
||||||
|
( 70.71067812 70.71067812 -25 ) // pt 8 (poro1b)
|
||||||
|
( 35.35533906 106.06601718 -25 ) // pt 9 (poro2b)
|
||||||
|
( 70.71067812 70.71067812 25 ) // pt 10 (poro1f)
|
||||||
|
( 35.35533906 106.06601718 25 ) // pt 11 (poro2f)
|
||||||
|
|
||||||
|
// outlet
|
||||||
|
( 141.42135624 141.42135624 -25 ) // pt 12 (out1b)
|
||||||
|
( 106.06601718 176.7766953 -25 ) // pt 13 (out2b)
|
||||||
|
( 141.42135624 141.42135624 25 ) // pt 14 (out1f)
|
||||||
|
( 106.06601718 176.7766953 25 ) // pt 15 (out2f)
|
||||||
|
);
|
||||||
|
|
||||||
|
blocks
|
||||||
|
(
|
||||||
|
// inlet block
|
||||||
|
hex (0 4 5 1 2 6 7 3)
|
||||||
|
inlet ( 15 20 20 ) simpleGrading (1 1 1)
|
||||||
|
|
||||||
|
// porosity block
|
||||||
|
hex (4 8 9 5 6 10 11 7)
|
||||||
|
porosity ( 20 20 20 ) simpleGrading (1 1 1)
|
||||||
|
|
||||||
|
// outlet block
|
||||||
|
hex (8 12 13 9 10 14 15 11)
|
||||||
|
outlet ( 20 20 20 ) simpleGrading (1 1 1)
|
||||||
|
);
|
||||||
|
|
||||||
|
edges
|
||||||
|
(
|
||||||
|
);
|
||||||
|
|
||||||
|
boundary
|
||||||
|
(
|
||||||
|
// is there no way of defining all my 'defaultFaces' to be 'wall'?
|
||||||
|
front
|
||||||
|
{
|
||||||
|
type wall;
|
||||||
|
faces
|
||||||
|
(
|
||||||
|
// inlet block
|
||||||
|
(2 6 7 3)
|
||||||
|
// outlet block
|
||||||
|
(10 14 15 11)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
back
|
||||||
|
{
|
||||||
|
type wall;
|
||||||
|
faces
|
||||||
|
(
|
||||||
|
// inlet block
|
||||||
|
(1 5 4 0)
|
||||||
|
// outlet block
|
||||||
|
(9 13 12 8)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
wall
|
||||||
|
{
|
||||||
|
type wall;
|
||||||
|
faces
|
||||||
|
(
|
||||||
|
// inlet block
|
||||||
|
(2 0 4 6)
|
||||||
|
(7 5 1 3)
|
||||||
|
// outlet block
|
||||||
|
(10 8 12 14)
|
||||||
|
(15 13 9 11)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
porosityWall
|
||||||
|
{
|
||||||
|
type wall;
|
||||||
|
faces
|
||||||
|
(
|
||||||
|
// porosity block
|
||||||
|
(6 10 11 7)
|
||||||
|
// porosity block
|
||||||
|
(5 9 8 4)
|
||||||
|
// porosity block
|
||||||
|
(6 4 8 10)
|
||||||
|
(11 9 5 7)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
inlet
|
||||||
|
{
|
||||||
|
type patch;
|
||||||
|
faces
|
||||||
|
(
|
||||||
|
(3 1 0 2)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
outlet
|
||||||
|
{
|
||||||
|
type patch;
|
||||||
|
faces
|
||||||
|
(
|
||||||
|
(15 13 12 14)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
mergePatchPairs
|
||||||
|
(
|
||||||
|
);
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
|
@ -0,0 +1,189 @@
|
||||||
|
/*--------------------------------*- C++ -*----------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | foam-extend: Open Source CFD |
|
||||||
|
| \\ / O peration | Version: 3.2 |
|
||||||
|
| \\ / A nd | Web: http://www.foam-extend.org |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ;
|
||||||
|
class dictionary;
|
||||||
|
object blockMeshDict;
|
||||||
|
}
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
// block definition for a porosity with an angled inlet/outlet
|
||||||
|
// the porosity is not aligned with the main axes
|
||||||
|
//
|
||||||
|
dnl> -----------------------------------------------------------------
|
||||||
|
dnl> <STANDARD DEFINTIONS>
|
||||||
|
dnl>
|
||||||
|
changecom(//)changequote([,]) dnl>
|
||||||
|
define(calc, [esyscmd(perl -e 'print ($1)')]) dnl>
|
||||||
|
define(VCOUNT, 0) dnl>
|
||||||
|
define(vlabel, [[// ]pt VCOUNT ($1) define($1, VCOUNT)define([VCOUNT], incr(VCOUNT))]) dnl>
|
||||||
|
dnl>
|
||||||
|
define(hex2D, hex ($1b $2b $3b $4b $1f $2f $3f $4f)) dnl>
|
||||||
|
define(quad2D, ($1f $1b $2b $2f)) dnl>
|
||||||
|
define(frontQuad, ($1f $2f $3f $4f)) dnl>
|
||||||
|
define(backQuad, ($4b $3b $2b $1b)) dnl>
|
||||||
|
dnl>
|
||||||
|
dnl> </STANDARD DEFINTIONS>
|
||||||
|
dnl> -----------------------------------------------------------------
|
||||||
|
dnl>
|
||||||
|
define(ncells, 20) dnl>
|
||||||
|
define(ninlet, 15) dnl>
|
||||||
|
define(nporo, 20) dnl>
|
||||||
|
define(noutlet, 20) dnl>
|
||||||
|
dnl>
|
||||||
|
define(x0,0) dnl>
|
||||||
|
define(y0,0) dnl>
|
||||||
|
define(y0,0) dnl>
|
||||||
|
define(Cos,0.7071067812) dnl> == cos(45)
|
||||||
|
define(Sin,0.7071067812) dnl> == sin(45)
|
||||||
|
dnl>
|
||||||
|
define(width,50) dnl>
|
||||||
|
define(zBack,calc(-width/2)) dnl>
|
||||||
|
define(zFront,calc(width/2)) dnl>
|
||||||
|
define(leninlet,150)dnl>
|
||||||
|
define(lenporo,100)dnl>
|
||||||
|
define(lenoutlet,100)dnl>
|
||||||
|
dnl>
|
||||||
|
define(xhyp,calc(Sin*width)) dnl>
|
||||||
|
define(yhyp,calc(Cos*width)) dnl>
|
||||||
|
define(xinlet,leninlet)dnl>
|
||||||
|
define(xporo,calc(Cos*lenporo)) dnl>
|
||||||
|
define(yporo,calc(Sin*lenporo)) dnl>
|
||||||
|
define(xoutlet,calc(xporo + Cos*lenoutlet)) dnl>
|
||||||
|
define(youtlet,calc(yporo + Sin*lenoutlet)) dnl>
|
||||||
|
dnl>
|
||||||
|
|
||||||
|
convertToMeters 0.001;
|
||||||
|
|
||||||
|
vertices
|
||||||
|
(
|
||||||
|
// inlet region
|
||||||
|
( -xinlet y0 zBack ) vlabel(in1b)
|
||||||
|
( -xinlet yhyp zBack ) vlabel(in2b)
|
||||||
|
( -xinlet y0 zFront ) vlabel(in1f)
|
||||||
|
( -xinlet yhyp zFront ) vlabel(in2f)
|
||||||
|
|
||||||
|
// join inlet->outlet
|
||||||
|
( x0 y0 zBack ) vlabel(join1b)
|
||||||
|
( -xhyp yhyp zBack ) vlabel(join2b)
|
||||||
|
( x0 y0 zFront ) vlabel(join1f)
|
||||||
|
( -xhyp yhyp zFront ) vlabel(join2f)
|
||||||
|
|
||||||
|
// porosity ends ->outlet
|
||||||
|
( xporo yporo zBack ) vlabel(poro1b)
|
||||||
|
( calc(xporo - xhyp) calc(yporo + yhyp) zBack ) vlabel(poro2b)
|
||||||
|
( xporo yporo zFront ) vlabel(poro1f)
|
||||||
|
( calc(xporo - xhyp) calc(yporo + yhyp) zFront ) vlabel(poro2f)
|
||||||
|
|
||||||
|
// outlet
|
||||||
|
( xoutlet youtlet zBack ) vlabel(out1b)
|
||||||
|
( calc(xoutlet - xhyp) calc(youtlet + yhyp) zBack ) vlabel(out2b)
|
||||||
|
( xoutlet youtlet zFront ) vlabel(out1f)
|
||||||
|
( calc(xoutlet - xhyp) calc(youtlet + yhyp) zFront ) vlabel(out2f)
|
||||||
|
);
|
||||||
|
|
||||||
|
blocks
|
||||||
|
(
|
||||||
|
// inlet block
|
||||||
|
hex2D(in1, join1, join2, in2)
|
||||||
|
inlet ( ninlet ncells ncells ) simpleGrading (1 1 1)
|
||||||
|
|
||||||
|
// porosity block
|
||||||
|
hex2D(join1, poro1, poro2, join2)
|
||||||
|
porosity ( nporo ncells ncells ) simpleGrading (1 1 1)
|
||||||
|
|
||||||
|
// outlet block
|
||||||
|
hex2D(poro1, out1, out2, poro2)
|
||||||
|
outlet ( noutlet ncells ncells ) simpleGrading (1 1 1)
|
||||||
|
);
|
||||||
|
|
||||||
|
edges
|
||||||
|
(
|
||||||
|
);
|
||||||
|
|
||||||
|
boundary
|
||||||
|
(
|
||||||
|
// is there no way of defining all my 'defaultFaces' to be 'wall'?
|
||||||
|
front
|
||||||
|
{
|
||||||
|
type wall;
|
||||||
|
faces
|
||||||
|
(
|
||||||
|
// inlet block
|
||||||
|
frontQuad(in1, join1, join2, in2)
|
||||||
|
// outlet block
|
||||||
|
frontQuad(poro1, out1, out2, poro2)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
back
|
||||||
|
{
|
||||||
|
type wall;
|
||||||
|
faces
|
||||||
|
(
|
||||||
|
// inlet block
|
||||||
|
backQuad(in1, join1, join2, in2)
|
||||||
|
// outlet block
|
||||||
|
backQuad(poro1, out1, out2, poro2)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
wall
|
||||||
|
{
|
||||||
|
type wall;
|
||||||
|
faces
|
||||||
|
(
|
||||||
|
// inlet block
|
||||||
|
quad2D(in1, join1)
|
||||||
|
quad2D(join2, in2)
|
||||||
|
// outlet block
|
||||||
|
quad2D(poro1, out1)
|
||||||
|
quad2D(out2, poro2)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
porosityWall
|
||||||
|
{
|
||||||
|
type wall;
|
||||||
|
faces
|
||||||
|
(
|
||||||
|
// porosity block
|
||||||
|
frontQuad(join1, poro1, poro2, join2)
|
||||||
|
// porosity block
|
||||||
|
backQuad(join1, poro1, poro2, join2)
|
||||||
|
// porosity block
|
||||||
|
quad2D(join1, poro1)
|
||||||
|
quad2D(poro2, join2)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
inlet
|
||||||
|
{
|
||||||
|
type patch;
|
||||||
|
faces
|
||||||
|
(
|
||||||
|
quad2D(in2, in1)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
outlet
|
||||||
|
{
|
||||||
|
type patch;
|
||||||
|
faces
|
||||||
|
(
|
||||||
|
quad2D(out2, out1)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
mergePatchPairs
|
||||||
|
(
|
||||||
|
);
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
|
@ -0,0 +1,36 @@
|
||||||
|
/*--------------------------------*- C++ -*----------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | foam-extend: Open Source CFD |
|
||||||
|
| \\ / O peration | Version: 3.2 |
|
||||||
|
| \\ / A nd | Web: http://www.foam-extend.org |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
class dictionary;
|
||||||
|
location "constant";
|
||||||
|
object porousZones;
|
||||||
|
}
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
1
|
||||||
|
(
|
||||||
|
porosity
|
||||||
|
{
|
||||||
|
coordinateSystem
|
||||||
|
{
|
||||||
|
e1 (0.70710678 0.70710678 0);
|
||||||
|
e2 (0 0 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
Darcy
|
||||||
|
{
|
||||||
|
d d [0 -2 0 0 0 0 0] (5e7 -1000 -1000);
|
||||||
|
f f [0 -1 0 0 0 0 0] (0 0 0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
|
@ -0,0 +1,22 @@
|
||||||
|
/*--------------------------------*- C++ -*----------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | foam-extend: Open Source CFD |
|
||||||
|
| \\ / O peration | Version: 3.2 |
|
||||||
|
| \\ / A nd | Web: http://www.foam-extend.org |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format binary;
|
||||||
|
class dictionary;
|
||||||
|
location "constant";
|
||||||
|
object thermophysicalProperties;
|
||||||
|
}
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
thermoType hPsiThermo<pureMixture<sutherlandTransport<specieThermo<hConstThermo<perfectGas>>>>>;
|
||||||
|
|
||||||
|
mixture air 1 28.9 1007 0 1.4792e-06 116;
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
|
@ -1 +0,0 @@
|
||||||
../angledDuctImplicit/constant
|
|
|
@ -0,0 +1,24 @@
|
||||||
|
/*--------------------------------*- C++ -*----------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | foam-extend: Open Source CFD |
|
||||||
|
| \\ / O peration | Version: 3.2 |
|
||||||
|
| \\ / A nd | Web: http://www.foam-extend.org |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format binary;
|
||||||
|
class dictionary;
|
||||||
|
location "constant";
|
||||||
|
object RASProperties;
|
||||||
|
}
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
RASModel kEpsilon;
|
||||||
|
|
||||||
|
turbulence on;
|
||||||
|
|
||||||
|
printCoeffs on;
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
|
@ -0,0 +1,147 @@
|
||||||
|
/*--------------------------------*- C++ -*----------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | foam-extend: Open Source CFD |
|
||||||
|
| \\ / O peration | Version: 3.2 |
|
||||||
|
| \\ / A nd | Web: http://www.foam-extend.org |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
class dictionary;
|
||||||
|
object blockMeshDict;
|
||||||
|
}
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
// block definition for a porosity with an angled inlet/outlet
|
||||||
|
// the porosity is not aligned with the main axes
|
||||||
|
//
|
||||||
|
|
||||||
|
convertToMeters 0.001;
|
||||||
|
|
||||||
|
vertices
|
||||||
|
(
|
||||||
|
// inlet region
|
||||||
|
( -150 0 -25 ) // pt 0 (in1b)
|
||||||
|
( -150 35.35533906 -25 ) // pt 1 (in2b)
|
||||||
|
( -150 0 25 ) // pt 2 (in1f)
|
||||||
|
( -150 35.35533906 25 ) // pt 3 (in2f)
|
||||||
|
|
||||||
|
// join inlet->outlet
|
||||||
|
( 0 0 -25 ) // pt 4 (join1b)
|
||||||
|
( -35.35533906 35.35533906 -25 ) // pt 5 (join2b)
|
||||||
|
( 0 0 25 ) // pt 6 (join1f)
|
||||||
|
( -35.35533906 35.35533906 25 ) // pt 7 (join2f)
|
||||||
|
|
||||||
|
// porosity ends ->outlet
|
||||||
|
( 70.71067812 70.71067812 -25 ) // pt 8 (poro1b)
|
||||||
|
( 35.35533906 106.06601718 -25 ) // pt 9 (poro2b)
|
||||||
|
( 70.71067812 70.71067812 25 ) // pt 10 (poro1f)
|
||||||
|
( 35.35533906 106.06601718 25 ) // pt 11 (poro2f)
|
||||||
|
|
||||||
|
// outlet
|
||||||
|
( 141.42135624 141.42135624 -25 ) // pt 12 (out1b)
|
||||||
|
( 106.06601718 176.7766953 -25 ) // pt 13 (out2b)
|
||||||
|
( 141.42135624 141.42135624 25 ) // pt 14 (out1f)
|
||||||
|
( 106.06601718 176.7766953 25 ) // pt 15 (out2f)
|
||||||
|
);
|
||||||
|
|
||||||
|
blocks
|
||||||
|
(
|
||||||
|
// inlet block
|
||||||
|
hex (0 4 5 1 2 6 7 3)
|
||||||
|
inlet ( 15 20 20 ) simpleGrading (1 1 1)
|
||||||
|
|
||||||
|
// porosity block
|
||||||
|
hex (4 8 9 5 6 10 11 7)
|
||||||
|
porosity ( 20 20 20 ) simpleGrading (1 1 1)
|
||||||
|
|
||||||
|
// outlet block
|
||||||
|
hex (8 12 13 9 10 14 15 11)
|
||||||
|
outlet ( 20 20 20 ) simpleGrading (1 1 1)
|
||||||
|
);
|
||||||
|
|
||||||
|
edges
|
||||||
|
(
|
||||||
|
);
|
||||||
|
|
||||||
|
boundary
|
||||||
|
(
|
||||||
|
// is there no way of defining all my 'defaultFaces' to be 'wall'?
|
||||||
|
front
|
||||||
|
{
|
||||||
|
type wall;
|
||||||
|
faces
|
||||||
|
(
|
||||||
|
// inlet block
|
||||||
|
(2 6 7 3)
|
||||||
|
// outlet block
|
||||||
|
(10 14 15 11)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
back
|
||||||
|
{
|
||||||
|
type wall;
|
||||||
|
faces
|
||||||
|
(
|
||||||
|
// inlet block
|
||||||
|
(1 5 4 0)
|
||||||
|
// outlet block
|
||||||
|
(9 13 12 8)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
wall
|
||||||
|
{
|
||||||
|
type wall;
|
||||||
|
faces
|
||||||
|
(
|
||||||
|
// inlet block
|
||||||
|
(2 0 4 6)
|
||||||
|
(7 5 1 3)
|
||||||
|
// outlet block
|
||||||
|
(10 8 12 14)
|
||||||
|
(15 13 9 11)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
porosityWall
|
||||||
|
{
|
||||||
|
type wall;
|
||||||
|
faces
|
||||||
|
(
|
||||||
|
// porosity block
|
||||||
|
(6 10 11 7)
|
||||||
|
// porosity block
|
||||||
|
(5 9 8 4)
|
||||||
|
// porosity block
|
||||||
|
(6 4 8 10)
|
||||||
|
(11 9 5 7)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
inlet
|
||||||
|
{
|
||||||
|
type patch;
|
||||||
|
faces
|
||||||
|
(
|
||||||
|
(3 1 0 2)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
outlet
|
||||||
|
{
|
||||||
|
type patch;
|
||||||
|
faces
|
||||||
|
(
|
||||||
|
(15 13 12 14)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
mergePatchPairs
|
||||||
|
(
|
||||||
|
);
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
|
@ -0,0 +1,189 @@
|
||||||
|
/*--------------------------------*- C++ -*----------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | foam-extend: Open Source CFD |
|
||||||
|
| \\ / O peration | Version: 3.2 |
|
||||||
|
| \\ / A nd | Web: http://www.foam-extend.org |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ;
|
||||||
|
class dictionary;
|
||||||
|
object blockMeshDict;
|
||||||
|
}
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
// block definition for a porosity with an angled inlet/outlet
|
||||||
|
// the porosity is not aligned with the main axes
|
||||||
|
//
|
||||||
|
dnl> -----------------------------------------------------------------
|
||||||
|
dnl> <STANDARD DEFINTIONS>
|
||||||
|
dnl>
|
||||||
|
changecom(//)changequote([,]) dnl>
|
||||||
|
define(calc, [esyscmd(perl -e 'print ($1)')]) dnl>
|
||||||
|
define(VCOUNT, 0) dnl>
|
||||||
|
define(vlabel, [[// ]pt VCOUNT ($1) define($1, VCOUNT)define([VCOUNT], incr(VCOUNT))]) dnl>
|
||||||
|
dnl>
|
||||||
|
define(hex2D, hex ($1b $2b $3b $4b $1f $2f $3f $4f)) dnl>
|
||||||
|
define(quad2D, ($1f $1b $2b $2f)) dnl>
|
||||||
|
define(frontQuad, ($1f $2f $3f $4f)) dnl>
|
||||||
|
define(backQuad, ($4b $3b $2b $1b)) dnl>
|
||||||
|
dnl>
|
||||||
|
dnl> </STANDARD DEFINTIONS>
|
||||||
|
dnl> -----------------------------------------------------------------
|
||||||
|
dnl>
|
||||||
|
define(ncells, 20) dnl>
|
||||||
|
define(ninlet, 15) dnl>
|
||||||
|
define(nporo, 20) dnl>
|
||||||
|
define(noutlet, 20) dnl>
|
||||||
|
dnl>
|
||||||
|
define(x0,0) dnl>
|
||||||
|
define(y0,0) dnl>
|
||||||
|
define(y0,0) dnl>
|
||||||
|
define(Cos,0.7071067812) dnl> == cos(45)
|
||||||
|
define(Sin,0.7071067812) dnl> == sin(45)
|
||||||
|
dnl>
|
||||||
|
define(width,50) dnl>
|
||||||
|
define(zBack,calc(-width/2)) dnl>
|
||||||
|
define(zFront,calc(width/2)) dnl>
|
||||||
|
define(leninlet,150)dnl>
|
||||||
|
define(lenporo,100)dnl>
|
||||||
|
define(lenoutlet,100)dnl>
|
||||||
|
dnl>
|
||||||
|
define(xhyp,calc(Sin*width)) dnl>
|
||||||
|
define(yhyp,calc(Cos*width)) dnl>
|
||||||
|
define(xinlet,leninlet)dnl>
|
||||||
|
define(xporo,calc(Cos*lenporo)) dnl>
|
||||||
|
define(yporo,calc(Sin*lenporo)) dnl>
|
||||||
|
define(xoutlet,calc(xporo + Cos*lenoutlet)) dnl>
|
||||||
|
define(youtlet,calc(yporo + Sin*lenoutlet)) dnl>
|
||||||
|
dnl>
|
||||||
|
|
||||||
|
convertToMeters 0.001;
|
||||||
|
|
||||||
|
vertices
|
||||||
|
(
|
||||||
|
// inlet region
|
||||||
|
( -xinlet y0 zBack ) vlabel(in1b)
|
||||||
|
( -xinlet yhyp zBack ) vlabel(in2b)
|
||||||
|
( -xinlet y0 zFront ) vlabel(in1f)
|
||||||
|
( -xinlet yhyp zFront ) vlabel(in2f)
|
||||||
|
|
||||||
|
// join inlet->outlet
|
||||||
|
( x0 y0 zBack ) vlabel(join1b)
|
||||||
|
( -xhyp yhyp zBack ) vlabel(join2b)
|
||||||
|
( x0 y0 zFront ) vlabel(join1f)
|
||||||
|
( -xhyp yhyp zFront ) vlabel(join2f)
|
||||||
|
|
||||||
|
// porosity ends ->outlet
|
||||||
|
( xporo yporo zBack ) vlabel(poro1b)
|
||||||
|
( calc(xporo - xhyp) calc(yporo + yhyp) zBack ) vlabel(poro2b)
|
||||||
|
( xporo yporo zFront ) vlabel(poro1f)
|
||||||
|
( calc(xporo - xhyp) calc(yporo + yhyp) zFront ) vlabel(poro2f)
|
||||||
|
|
||||||
|
// outlet
|
||||||
|
( xoutlet youtlet zBack ) vlabel(out1b)
|
||||||
|
( calc(xoutlet - xhyp) calc(youtlet + yhyp) zBack ) vlabel(out2b)
|
||||||
|
( xoutlet youtlet zFront ) vlabel(out1f)
|
||||||
|
( calc(xoutlet - xhyp) calc(youtlet + yhyp) zFront ) vlabel(out2f)
|
||||||
|
);
|
||||||
|
|
||||||
|
blocks
|
||||||
|
(
|
||||||
|
// inlet block
|
||||||
|
hex2D(in1, join1, join2, in2)
|
||||||
|
inlet ( ninlet ncells ncells ) simpleGrading (1 1 1)
|
||||||
|
|
||||||
|
// porosity block
|
||||||
|
hex2D(join1, poro1, poro2, join2)
|
||||||
|
porosity ( nporo ncells ncells ) simpleGrading (1 1 1)
|
||||||
|
|
||||||
|
// outlet block
|
||||||
|
hex2D(poro1, out1, out2, poro2)
|
||||||
|
outlet ( noutlet ncells ncells ) simpleGrading (1 1 1)
|
||||||
|
);
|
||||||
|
|
||||||
|
edges
|
||||||
|
(
|
||||||
|
);
|
||||||
|
|
||||||
|
boundary
|
||||||
|
(
|
||||||
|
// is there no way of defining all my 'defaultFaces' to be 'wall'?
|
||||||
|
front
|
||||||
|
{
|
||||||
|
type wall;
|
||||||
|
faces
|
||||||
|
(
|
||||||
|
// inlet block
|
||||||
|
frontQuad(in1, join1, join2, in2)
|
||||||
|
// outlet block
|
||||||
|
frontQuad(poro1, out1, out2, poro2)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
back
|
||||||
|
{
|
||||||
|
type wall;
|
||||||
|
faces
|
||||||
|
(
|
||||||
|
// inlet block
|
||||||
|
backQuad(in1, join1, join2, in2)
|
||||||
|
// outlet block
|
||||||
|
backQuad(poro1, out1, out2, poro2)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
wall
|
||||||
|
{
|
||||||
|
type wall;
|
||||||
|
faces
|
||||||
|
(
|
||||||
|
// inlet block
|
||||||
|
quad2D(in1, join1)
|
||||||
|
quad2D(join2, in2)
|
||||||
|
// outlet block
|
||||||
|
quad2D(poro1, out1)
|
||||||
|
quad2D(out2, poro2)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
porosityWall
|
||||||
|
{
|
||||||
|
type wall;
|
||||||
|
faces
|
||||||
|
(
|
||||||
|
// porosity block
|
||||||
|
frontQuad(join1, poro1, poro2, join2)
|
||||||
|
// porosity block
|
||||||
|
backQuad(join1, poro1, poro2, join2)
|
||||||
|
// porosity block
|
||||||
|
quad2D(join1, poro1)
|
||||||
|
quad2D(poro2, join2)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
inlet
|
||||||
|
{
|
||||||
|
type patch;
|
||||||
|
faces
|
||||||
|
(
|
||||||
|
quad2D(in2, in1)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
outlet
|
||||||
|
{
|
||||||
|
type patch;
|
||||||
|
faces
|
||||||
|
(
|
||||||
|
quad2D(out2, out1)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
mergePatchPairs
|
||||||
|
(
|
||||||
|
);
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
|
@ -0,0 +1,36 @@
|
||||||
|
/*--------------------------------*- C++ -*----------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | foam-extend: Open Source CFD |
|
||||||
|
| \\ / O peration | Version: 3.2 |
|
||||||
|
| \\ / A nd | Web: http://www.foam-extend.org |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
class dictionary;
|
||||||
|
location "constant";
|
||||||
|
object porousZones;
|
||||||
|
}
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
1
|
||||||
|
(
|
||||||
|
porosity
|
||||||
|
{
|
||||||
|
coordinateSystem
|
||||||
|
{
|
||||||
|
e1 (0.70710678 0.70710678 0);
|
||||||
|
e2 (0 0 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
Darcy
|
||||||
|
{
|
||||||
|
d d [0 -2 0 0 0 0 0] (5e7 -1000 -1000);
|
||||||
|
f f [0 -1 0 0 0 0 0] (0 0 0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
|
@ -0,0 +1,21 @@
|
||||||
|
/*--------------------------------*- C++ -*----------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | foam-extend: Open Source CFD |
|
||||||
|
| \\ / O peration | Version: 3.2 |
|
||||||
|
| \\ / A nd | Web: http://www.foam-extend.org |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
class dictionary;
|
||||||
|
object transportProperties;
|
||||||
|
}
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
transportModel Newtonian;
|
||||||
|
|
||||||
|
nu nu [0 2 -1 0 0 0 0] 1.5e-05;
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
Reference in a new issue