tutorials: coolingCylinder2D: Move zone creation into blockMeshDict

This prevents the need for a topoSet configuration. It also avoids a
potential error associated with duplicate specification of the geometry
of the solid region.

Also, the unnecessary ./Allclean has been removed, and some minor
re-naming has been done for clarity.
This commit is contained in:
Will Bainbridge
2022-08-11 09:07:51 +01:00
parent d3ec1c09f1
commit 9068d5cc9b
4 changed files with 64 additions and 125 deletions

View File

@ -1,9 +0,0 @@
#!/bin/sh
cd "${0%/*}" || exit 1 # run from this directory
# Source tutorial clean functions
. $WM_PROJECT_DIR/bin/tools/CleanFunctions
cleanCase
#------------------------------------------------------------------------------

View File

@ -6,9 +6,7 @@ cd ${0%/*} || exit 1 # Run from this directory
runApplication blockMesh
runApplication topoSet
runApplication splitMeshRegions -cellZones -defaultRegionName fluid -overwrite
runApplication splitMeshRegions -cellZones -overwrite
paraFoam -region fluid -touch
paraFoam -region solid -touch

View File

@ -13,26 +13,20 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
convertToMeters 1;
convertToMeters 1;
cylinderRadius 0.005; // Radius of the cylinder
halfWidth 0.04; // Half the width of the domain
halfThickness 0.0025; // Half of domain thickness
xMax 0.1; // Maximum size of outer box in streamwise direction
cylinderBox 0.002; // Half width of box projected outwards onto the
// cylinder
cylinderRadius 0.005; // Radius of the cylinder
cylinderCore 0.002; // Radius of the core block inside the cylinder
halfWidth 0.04; // Half the channel width
halfThickness 0.0025; // Half the domain thickness
xDownstream 0.1; // X-coordinate of the downstream outlet
cylinderBoxCells 15; // Cells across cylinder
cylinderRadialCells 12; // Cells cylinder radially
upstreamCells 30; // Cells across width of outer box
downstreamCells 20; // Cells downstream of the cylinder
radialGrading 20; // Expansion ratio in outer region, radial direction
negHalfWidth #neg $halfWidth;
negHalfThickness #neg $halfThickness;
negSphereBox #neg $cylinderBox;
cylinderRadialCells 12; // Cells across the radius of the non-core part of the cylinder
cylinderCoreCells 15; // Cells across the core block inside the cylinder
widthCells 30; // Cells across the domain width
downstreamCells 20; // Cells across the downstream region
radialGrading 20; // Expansion ratio outside the cylinder in a radial direction
geometry
{
@ -47,77 +41,74 @@ geometry
vertices
(
project ($negSphereBox $negSphereBox $negHalfThickness) (cylinder) // 0
project ($cylinderBox $negSphereBox $negHalfThickness) (cylinder) // 1
project ($negSphereBox $negSphereBox $halfThickness ) (cylinder) // 2
project ($cylinderBox $negSphereBox $halfThickness ) (cylinder) // 3
project (#neg $cylinderCore #neg $cylinderCore #neg $halfThickness) (cylinder)
project ( $cylinderCore #neg $cylinderCore #neg $halfThickness) (cylinder)
project (#neg $cylinderCore #neg $cylinderCore $halfThickness) (cylinder)
project ( $cylinderCore #neg $cylinderCore $halfThickness) (cylinder)
project ($negSphereBox $cylinderBox $negHalfThickness) (cylinder) // 4
project ($cylinderBox $cylinderBox $negHalfThickness) (cylinder) // 5
project ($negSphereBox $cylinderBox $halfThickness ) (cylinder) // 6
project ($cylinderBox $cylinderBox $halfThickness ) (cylinder) // 7
project (#neg $cylinderCore $cylinderCore #neg $halfThickness) (cylinder)
project ( $cylinderCore $cylinderCore #neg $halfThickness) (cylinder)
project (#neg $cylinderCore $cylinderCore $halfThickness) (cylinder)
project ( $cylinderCore $cylinderCore $halfThickness) (cylinder)
($negHalfWidth $negHalfWidth $negHalfThickness) // 8
($halfWidth $negHalfWidth $negHalfThickness) // 9
($negHalfWidth $negHalfWidth $halfThickness ) // 10
($halfWidth $negHalfWidth $halfThickness ) // 11
(#neg $halfWidth #neg $halfWidth #neg $halfThickness)
( $halfWidth #neg $halfWidth #neg $halfThickness)
(#neg $halfWidth #neg $halfWidth $halfThickness)
( $halfWidth #neg $halfWidth $halfThickness)
($negHalfWidth $halfWidth $negHalfThickness) // 12
($halfWidth $halfWidth $negHalfThickness) // 13
($negHalfWidth $halfWidth $halfThickness ) // 14
($halfWidth $halfWidth $halfThickness ) // 15
(#neg $halfWidth $halfWidth #neg $halfThickness)
( $halfWidth $halfWidth #neg $halfThickness)
(#neg $halfWidth $halfWidth $halfThickness)
( $halfWidth $halfWidth $halfThickness)
($xMax $negHalfWidth $negHalfThickness) // 16
($xMax $negHalfWidth $halfThickness ) // 17
($xMax $halfWidth $negHalfThickness) // 18
($xMax $halfWidth $halfThickness ) // 19
($xDownstream #neg $halfWidth #neg $halfThickness)
($xDownstream #neg $halfWidth $halfThickness)
($xDownstream $halfWidth #neg $halfThickness)
($xDownstream $halfWidth $halfThickness)
($negSphereBox $negSphereBox $negHalfThickness) // 20
($cylinderBox $negSphereBox $negHalfThickness) // 21
($cylinderBox $negSphereBox $halfThickness ) // 22
($negSphereBox $negSphereBox $halfThickness ) // 23
(#neg $cylinderCore #neg $cylinderCore #neg $halfThickness)
( $cylinderCore #neg $cylinderCore #neg $halfThickness)
( $cylinderCore #neg $cylinderCore $halfThickness)
(#neg $cylinderCore #neg $cylinderCore $halfThickness)
($negSphereBox $cylinderBox $negHalfThickness) // 24
($cylinderBox $cylinderBox $negHalfThickness) // 25
($cylinderBox $cylinderBox $halfThickness ) // 26
($negSphereBox $cylinderBox $halfThickness ) // 27
(#neg $cylinderCore $cylinderCore #neg $halfThickness)
( $cylinderCore $cylinderCore #neg $halfThickness)
( $cylinderCore $cylinderCore $halfThickness)
(#neg $cylinderCore $cylinderCore $halfThickness)
);
expandBlock simpleGrading (1 $radialGrading 1);
reg simpleGrading (1 1 1);
graded simpleGrading (1 $radialGrading 1);
uniform simpleGrading (1 1 1);
blocks
(
// Fluid region
hex (4 6 14 12 0 2 10 8) (1 $upstreamCells $cylinderBoxCells) $expandBlock
hex (7 5 13 15 3 1 9 11) (1 $upstreamCells $cylinderBoxCells) $expandBlock
hex (2 3 11 10 0 1 9 8) ($cylinderBoxCells $upstreamCells 1) $expandBlock
hex (7 6 14 15 5 4 12 13) ($cylinderBoxCells $upstreamCells 1) $expandBlock
hex (13 18 19 15 9 16 17 11) ($downstreamCells 1 $cylinderBoxCells) $reg
// Solid region
hex (24 25 26 27 20 21 22 23) ($cylinderBoxCells 1 $cylinderBoxCells) $reg
hex (0 2 23 20 4 6 27 24) (1 $cylinderRadialCells $cylinderBoxCells) $reg
hex (21 22 3 1 25 26 7 5) (1 $cylinderRadialCells $cylinderBoxCells) $reg
hex (0 2 3 1 20 23 22 21) (1 $cylinderBoxCells $cylinderRadialCells) $reg
hex (4 5 7 6 24 25 26 27) ($cylinderBoxCells 1 $cylinderRadialCells) $reg
hex (4 6 14 12 0 2 10 8) fluid (1 $widthCells $cylinderCoreCells) $graded
hex (7 5 13 15 3 1 9 11) fluid (1 $widthCells $cylinderCoreCells) $graded
hex (2 3 11 10 0 1 9 8) fluid ($cylinderCoreCells $widthCells 1) $graded
hex (7 6 14 15 5 4 12 13) fluid ($cylinderCoreCells $widthCells 1) $graded
hex (13 18 19 15 9 16 17 11) fluid ($downstreamCells 1 $cylinderCoreCells) $uniform
hex (24 25 26 27 20 21 22 23) solid ($cylinderCoreCells 1 $cylinderCoreCells) $uniform
hex (0 2 23 20 4 6 27 24) solid (1 $cylinderRadialCells $cylinderCoreCells) $uniform
hex (21 22 3 1 25 26 7 5) solid (1 $cylinderRadialCells $cylinderCoreCells) $uniform
hex (0 2 3 1 20 23 22 21) solid (1 $cylinderCoreCells $cylinderRadialCells) $uniform
hex (4 5 7 6 24 25 26 27) solid ($cylinderCoreCells 1 $cylinderRadialCells) $uniform
);
edges
(
project 0 2 (cylinder)
project 2 3 (cylinder)
project 3 1 (cylinder)
project 1 0 (cylinder)
project 4 6 (cylinder)
project 6 7 (cylinder)
project 7 5 (cylinder)
project 5 4 (cylinder)
project 0 4 (cylinder)
project 2 6 (cylinder)
project 3 7 (cylinder)
project 1 5 (cylinder)
project 0 2 (cylinder)
project 2 3 (cylinder)
project 3 1 (cylinder)
project 1 0 (cylinder)
project 4 6 (cylinder)
project 6 7 (cylinder)
project 7 5 (cylinder)
project 5 4 (cylinder)
project 0 4 (cylinder)
project 2 6 (cylinder)
project 3 7 (cylinder)
project 1 5 (cylinder)
);
faces
@ -164,5 +155,4 @@ boundary
);
// ************************************************************************* //

View File

@ -1,40 +0,0 @@
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: dev
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
format ascii;
class dictionary;
object topoSetDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#include "$FOAM_CASE/system/blockMeshDict"
actions
(
{
name cs;
type cellSet;
action new;
source cylinderToCell;
point1 (0 0 -100);
point2 (0 0 100);
centre (0 0 0);
radius $cylinderRadius;
}
{
name solid;
type cellZoneSet;
action new;
source setToCellZone;
set cs;
}
);
// ************************************************************************* //