Non-Conformal Coupled (NCC): Conversion of tutorials from AMI to NCC
The following examples in the tutorials ($FOAM_TUTORIALS) directory have been converted from using AMI to the new NCC system: + compressible/rhoPimpleFoam/RAS/annularThermalMixer + incompressible/pimpleFoam/RAS/propeller + lagrangian/particleFoam/mixerVessel2D (formerly mixerVesselAMI2D) + multiphase/interFoam/RAS/mixerVessel + multiphase/interFoam/RAS/propeller + multiphase/multiphaseEulerFoam/laminar/mixerVessel2D (formerly mixerVesselAMI2D) The following tutorial has been converted from using ACMI: + incompressible/pimpleFoam/RAS/oscillatingInlet The following tutorial has been converted from using Repeat AMI: + incompressible/pimpleFoam/RAS/impeller The following tutorial has been added to demonstrate NCC's ability to create a sufficiently conservative solution in a closed domain to maintain phase fraction boundedness: + multiphase/interFoam/laminar/mixerVessel2D The following tutorials have been added to demonstrate NCC's ability to simulate partially overlapping couples on curved surfaces: + incompressible/pimpleFoam/RAS/ballValve + multiphase/compressibleInterFoam/RAS/ballValve The following tutorial has been added to provide a simple comparison of the conservation behaviour of AMI and NCC: + incompressible/pimpleFoam/laminar/nonConformalChannel The following tutorial has been removed, as there were sufficiently many examples involving this geometry: + incompressible/pimpleFoam/laminar/mixerVesselAMI2D
This commit is contained in:
404
tutorials/resources/blockMesh/ballValve
Normal file
404
tutorials/resources/blockMesh/ballValve
Normal file
@ -0,0 +1,404 @@
|
||||
/*--------------------------------*- 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 blockMeshDict;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
convertToMeters 0.01;
|
||||
|
||||
rCore 6;
|
||||
rPipe 10;
|
||||
rBall 18;
|
||||
lPipe 50;
|
||||
|
||||
nCore 10;
|
||||
nPipe 7;
|
||||
nLength 20;
|
||||
|
||||
rBend #calc "sqrt(scalar($rBall*$rBall - $rPipe*$rPipe))";
|
||||
|
||||
geometry
|
||||
{
|
||||
sphere
|
||||
{
|
||||
type searchableSphere;
|
||||
centre (0 0 0);
|
||||
radius $rBall;
|
||||
}
|
||||
torus
|
||||
{
|
||||
type triSurfaceMesh;
|
||||
file "ballValve-torus.obj";
|
||||
}
|
||||
}
|
||||
|
||||
vertices
|
||||
(
|
||||
// X-pipe
|
||||
(#neg $lPipe #neg $rCore 0)
|
||||
(#neg $lPipe 0 #neg $rCore)
|
||||
(#neg $lPipe $rCore 0)
|
||||
(#neg $lPipe 0 $rCore)
|
||||
|
||||
(#neg $lPipe #neg $rPipe 0)
|
||||
(#neg $lPipe 0 #neg $rPipe)
|
||||
(#neg $lPipe $rPipe 0)
|
||||
(#neg $lPipe 0 $rPipe)
|
||||
|
||||
project (#neg $rBend #neg $rCore 0) (sphere)
|
||||
project (#neg $rBend 0 #neg $rCore) (sphere)
|
||||
project (#neg $rBend $rCore 0) (sphere)
|
||||
project (#neg $rBend 0 $rCore) (sphere)
|
||||
|
||||
(#neg $rBend #neg $rPipe 0)
|
||||
(#neg $rBend 0 #neg $rPipe)
|
||||
(#neg $rBend $rPipe 0)
|
||||
(#neg $rBend 0 $rPipe)
|
||||
|
||||
// Y-lower-pipe
|
||||
($rCore #neg $lPipe 0)
|
||||
(0 #neg $lPipe #neg $rCore)
|
||||
(#neg $rCore #neg $lPipe 0)
|
||||
(0 #neg $lPipe $rCore)
|
||||
|
||||
($rPipe #neg $lPipe 0)
|
||||
(0 #neg $lPipe #neg $rPipe)
|
||||
(#neg $rPipe #neg $lPipe 0)
|
||||
(0 #neg $lPipe $rPipe)
|
||||
|
||||
project ($rCore #neg $rBend 0) (sphere)
|
||||
project (0 #neg $rBend #neg $rCore) (sphere)
|
||||
project (#neg $rCore #neg $rBend 0) (sphere)
|
||||
project (0 #neg $rBend $rCore) (sphere)
|
||||
|
||||
($rPipe #neg $rBend 0)
|
||||
(0 #neg $rBend #neg $rPipe)
|
||||
(#neg $rPipe #neg $rBend 0)
|
||||
(0 #neg $rBend $rPipe)
|
||||
|
||||
// Y-upper-pipe
|
||||
(#neg $rCore $lPipe 0)
|
||||
(0 $lPipe #neg $rCore)
|
||||
($rCore $lPipe 0)
|
||||
(0 $lPipe $rCore)
|
||||
|
||||
(#neg $rPipe $lPipe 0)
|
||||
(0 $lPipe #neg $rPipe)
|
||||
($rPipe $lPipe 0)
|
||||
(0 $lPipe $rPipe)
|
||||
|
||||
project (#neg $rCore $rBend 0) (sphere)
|
||||
project (0 $rBend #neg $rCore) (sphere)
|
||||
project ($rCore $rBend 0) (sphere)
|
||||
project (0 $rBend $rCore) (sphere)
|
||||
|
||||
(#neg $rPipe $rBend 0)
|
||||
(0 $rBend #neg $rPipe)
|
||||
($rPipe $rBend 0)
|
||||
(0 $rBend $rPipe)
|
||||
|
||||
// Ball
|
||||
project (#neg $rBend #neg $rCore 0) (sphere)
|
||||
project (#neg $rBend 0 #neg $rCore) (sphere)
|
||||
project (#neg $rBend $rCore 0) (sphere)
|
||||
project (#neg $rBend 0 $rCore) (sphere)
|
||||
|
||||
(#neg $rBend #neg $rPipe 0)
|
||||
(#neg $rBend 0 #neg $rPipe)
|
||||
(#neg $rBend $rPipe 0)
|
||||
(#neg $rBend 0 $rPipe)
|
||||
|
||||
project (#neg $rCore #neg $rBend 0) (sphere)
|
||||
project (0 #neg $rBend #neg $rCore) (sphere)
|
||||
project ($rCore #neg $rBend 0) (sphere)
|
||||
project (0 #neg $rBend $rCore) (sphere)
|
||||
|
||||
(#neg $rPipe #neg $rBend 0)
|
||||
(0 #neg $rBend #neg $rPipe)
|
||||
($rPipe #neg $rBend 0)
|
||||
(0 #neg $rBend $rPipe)
|
||||
);
|
||||
|
||||
blocks
|
||||
(
|
||||
// X-pipe
|
||||
hex (0 1 2 3 8 9 10 11) pipes ($nCore $nCore $nLength) simpleGrading (1 1 1)
|
||||
hex (1 0 4 5 9 8 12 13) pipes ($nCore $nPipe $nLength) simpleGrading (1 1 1)
|
||||
hex (2 1 5 6 10 9 13 14) pipes ($nCore $nPipe $nLength) simpleGrading (1 1 1)
|
||||
hex (3 2 6 7 11 10 14 15) pipes ($nCore $nPipe $nLength) simpleGrading (1 1 1)
|
||||
hex (0 3 7 4 8 11 15 12) pipes ($nCore $nPipe $nLength) simpleGrading (1 1 1)
|
||||
|
||||
// Y-lower-pipe
|
||||
hex (16 17 18 19 24 25 26 27) pipes ($nCore $nCore $nLength) simpleGrading (1 1 1)
|
||||
hex (17 16 20 21 25 24 28 29) pipes ($nCore $nPipe $nLength) simpleGrading (1 1 1)
|
||||
hex (18 17 21 22 26 25 29 30) pipes ($nCore $nPipe $nLength) simpleGrading (1 1 1)
|
||||
hex (19 18 22 23 27 26 30 31) pipes ($nCore $nPipe $nLength) simpleGrading (1 1 1)
|
||||
hex (16 19 23 20 24 27 31 28) pipes ($nCore $nPipe $nLength) simpleGrading (1 1 1)
|
||||
|
||||
// Y-upper-pipe
|
||||
hex (32 33 34 35 40 41 42 43) pipes ($nCore $nCore $nLength) simpleGrading (1 1 1)
|
||||
hex (33 32 36 37 41 40 44 45) pipes ($nCore $nPipe $nLength) simpleGrading (1 1 1)
|
||||
hex (34 33 37 38 42 41 45 46) pipes ($nCore $nPipe $nLength) simpleGrading (1 1 1)
|
||||
hex (35 34 38 39 43 42 46 47) pipes ($nCore $nPipe $nLength) simpleGrading (1 1 1)
|
||||
hex (32 35 39 36 40 43 47 44) pipes ($nCore $nPipe $nLength) simpleGrading (1 1 1)
|
||||
|
||||
// Ball
|
||||
hex (48 49 50 51 56 57 58 59) ball ($nCore $nCore $nLength) simpleGrading (1 1 1)
|
||||
hex (49 48 52 53 57 56 60 61) ball ($nCore $nPipe $nLength) simpleGrading (1 1 1)
|
||||
hex (50 49 53 54 58 57 61 62) ball ($nCore $nPipe $nLength) simpleGrading (1 1 1)
|
||||
hex (51 50 54 55 59 58 62 63) ball ($nCore $nPipe $nLength) simpleGrading (1 1 1)
|
||||
hex (48 51 55 52 56 59 63 60) ball ($nCore $nPipe $nLength) simpleGrading (1 1 1)
|
||||
);
|
||||
|
||||
edges
|
||||
(
|
||||
// X-pipe
|
||||
arc 4 5 90 (1 0 0)
|
||||
arc 5 6 90 (1 0 0)
|
||||
arc 6 7 90 (1 0 0)
|
||||
arc 7 4 90 (1 0 0)
|
||||
arc 12 13 90 (1 0 0)
|
||||
arc 13 14 90 (1 0 0)
|
||||
arc 14 15 90 (1 0 0)
|
||||
arc 15 12 90 (1 0 0)
|
||||
|
||||
project 8 9 (sphere)
|
||||
project 9 10 (sphere)
|
||||
project 10 11 (sphere)
|
||||
project 11 8 (sphere)
|
||||
project 8 12 (sphere)
|
||||
project 9 13 (sphere)
|
||||
project 10 14 (sphere)
|
||||
project 11 15 (sphere)
|
||||
|
||||
// Y-lower-pipe
|
||||
arc 20 21 90 (0 1 0)
|
||||
arc 21 22 90 (0 1 0)
|
||||
arc 22 23 90 (0 1 0)
|
||||
arc 23 20 90 (0 1 0)
|
||||
arc 28 29 90 (0 1 0)
|
||||
arc 29 30 90 (0 1 0)
|
||||
arc 30 31 90 (0 1 0)
|
||||
arc 31 28 90 (0 1 0)
|
||||
|
||||
project 24 25 (sphere)
|
||||
project 25 26 (sphere)
|
||||
project 26 27 (sphere)
|
||||
project 27 24 (sphere)
|
||||
project 24 28 (sphere)
|
||||
project 25 29 (sphere)
|
||||
project 26 30 (sphere)
|
||||
project 27 31 (sphere)
|
||||
|
||||
// Y-upper-pipe
|
||||
arc 36 37 90 (0 -1 0)
|
||||
arc 37 38 90 (0 -1 0)
|
||||
arc 38 39 90 (0 -1 0)
|
||||
arc 39 36 90 (0 -1 0)
|
||||
arc 44 45 90 (0 -1 0)
|
||||
arc 45 46 90 (0 -1 0)
|
||||
arc 46 47 90 (0 -1 0)
|
||||
arc 47 44 90 (0 -1 0)
|
||||
|
||||
project 40 41 (sphere)
|
||||
project 41 42 (sphere)
|
||||
project 42 43 (sphere)
|
||||
project 43 40 (sphere)
|
||||
project 40 44 (sphere)
|
||||
project 41 45 (sphere)
|
||||
project 42 46 (sphere)
|
||||
project 43 47 (sphere)
|
||||
|
||||
// Ball
|
||||
arc 52 53 90 (1 0 0)
|
||||
arc 53 54 90 (1 0 0)
|
||||
arc 54 55 90 (1 0 0)
|
||||
arc 55 52 90 (1 0 0)
|
||||
arc 60 61 90 (0 -1 0)
|
||||
arc 61 62 90 (0 -1 0)
|
||||
arc 62 63 90 (0 -1 0)
|
||||
arc 63 60 90 (0 -1 0)
|
||||
|
||||
arc 48 56 105 (0 0 -1)
|
||||
arc 49 57 100 (0 0 -1)
|
||||
arc 50 58 95 (0 0 -1)
|
||||
arc 51 59 100 (0 0 -1)
|
||||
arc 52 60 90 (0 0 -1)
|
||||
arc 53 61 90 (0 0 -1)
|
||||
arc 54 62 90 (0 0 -1)
|
||||
arc 55 63 90 (0 0 -1)
|
||||
|
||||
project 48 49 (sphere)
|
||||
project 49 50 (sphere)
|
||||
project 50 51 (sphere)
|
||||
project 51 48 (sphere)
|
||||
project 48 52 (sphere)
|
||||
project 49 53 (sphere)
|
||||
project 50 54 (sphere)
|
||||
project 51 55 (sphere)
|
||||
|
||||
project 56 57 (sphere)
|
||||
project 57 58 (sphere)
|
||||
project 58 59 (sphere)
|
||||
project 59 56 (sphere)
|
||||
project 56 60 (sphere)
|
||||
project 57 61 (sphere)
|
||||
project 58 62 (sphere)
|
||||
project 59 63 (sphere)
|
||||
);
|
||||
|
||||
faces
|
||||
(
|
||||
// X-pipe
|
||||
project (8 9 10 11) sphere
|
||||
project (9 8 12 13) sphere
|
||||
project (10 9 13 14) sphere
|
||||
project (11 10 14 15) sphere
|
||||
project (8 11 15 12) sphere
|
||||
|
||||
// Y-lower-pipe
|
||||
project (24 25 26 27) sphere
|
||||
project (25 24 28 29) sphere
|
||||
project (26 25 29 30) sphere
|
||||
project (27 26 30 31) sphere
|
||||
project (24 27 31 28) sphere
|
||||
|
||||
// Y-upper-pipe
|
||||
project (40 41 42 43) sphere
|
||||
project (41 40 44 45) sphere
|
||||
project (42 41 45 46) sphere
|
||||
project (43 42 46 47) sphere
|
||||
project (40 43 47 44) sphere
|
||||
|
||||
// Ball
|
||||
project (48 49 50 51) sphere
|
||||
project (49 48 52 53) sphere
|
||||
project (50 49 53 54) sphere
|
||||
project (51 50 54 55) sphere
|
||||
project (48 51 55 52) sphere
|
||||
|
||||
project (56 57 58 59) sphere
|
||||
project (57 56 60 61) sphere
|
||||
project (58 57 61 62) sphere
|
||||
project (59 58 62 63) sphere
|
||||
project (56 59 63 60) sphere
|
||||
|
||||
project (52 53 61 60) torus
|
||||
project (53 54 62 61) torus
|
||||
project (54 55 63 62) torus
|
||||
project (55 52 60 63) torus
|
||||
);
|
||||
|
||||
defaultPatch
|
||||
{
|
||||
name pipeWalls;
|
||||
type wall;
|
||||
}
|
||||
|
||||
boundary
|
||||
(
|
||||
inlet
|
||||
{
|
||||
type patch;
|
||||
faces
|
||||
(
|
||||
(0 1 2 3)
|
||||
(1 0 4 5)
|
||||
(2 1 5 6)
|
||||
(3 2 6 7)
|
||||
(0 3 7 4)
|
||||
);
|
||||
}
|
||||
lowerOutlet
|
||||
{
|
||||
type patch;
|
||||
faces
|
||||
(
|
||||
(16 17 18 19)
|
||||
(17 16 20 21)
|
||||
(18 17 21 22)
|
||||
(19 18 22 23)
|
||||
(16 19 23 20)
|
||||
);
|
||||
}
|
||||
upperOutlet
|
||||
{
|
||||
type patch;
|
||||
faces
|
||||
(
|
||||
(32 33 34 35)
|
||||
(33 32 36 37)
|
||||
(34 33 37 38)
|
||||
(35 34 38 39)
|
||||
(32 35 39 36)
|
||||
);
|
||||
}
|
||||
pipeNonCouple
|
||||
{
|
||||
type wall;
|
||||
faces
|
||||
(
|
||||
(8 9 10 11)
|
||||
(9 8 12 13)
|
||||
(10 9 13 14)
|
||||
(11 10 14 15)
|
||||
(8 11 15 12)
|
||||
|
||||
(24 25 26 27)
|
||||
(25 24 28 29)
|
||||
(26 25 29 30)
|
||||
(27 26 30 31)
|
||||
(24 27 31 28)
|
||||
|
||||
(40 41 42 43)
|
||||
(41 40 44 45)
|
||||
(42 41 45 46)
|
||||
(43 42 46 47)
|
||||
(40 43 47 44)
|
||||
);
|
||||
}
|
||||
ballWalls
|
||||
{
|
||||
type wall;
|
||||
faces
|
||||
(
|
||||
(52 53 61 60)
|
||||
(53 54 62 61)
|
||||
(54 55 63 62)
|
||||
(55 52 60 63)
|
||||
);
|
||||
}
|
||||
ballNonCouple
|
||||
{
|
||||
type wall;
|
||||
faces
|
||||
(
|
||||
(48 49 50 51)
|
||||
(49 48 52 53)
|
||||
(50 49 53 54)
|
||||
(51 50 54 55)
|
||||
(48 51 55 52)
|
||||
|
||||
(56 57 58 59)
|
||||
(57 56 60 61)
|
||||
(58 57 61 62)
|
||||
(59 58 62 63)
|
||||
(56 59 63 60)
|
||||
);
|
||||
}
|
||||
);
|
||||
|
||||
mergePatchPairs
|
||||
(
|
||||
);
|
||||
|
||||
// ************************************************************************* //
|
||||
BIN
tutorials/resources/geometry/ballValve-torus.obj.gz
Normal file
BIN
tutorials/resources/geometry/ballValve-torus.obj.gz
Normal file
Binary file not shown.
Reference in New Issue
Block a user