TUT: use system/ location instead of constant/faMesh/ for faMeshDefinition

- adjust surfactantFoam/planeTransport tutorial to have partial
  coverage of the plate by the finiteArea mesh.

  Depending on the decomposition, the outflow boundary may coincide
  with a processor patch (good for testing purposes).

- additional Allrun-parallel versions for targetted future behaviour
This commit is contained in:
Mark Olesen
2021-05-05 13:29:00 +02:00
parent 5076e6a745
commit 830a217353
13 changed files with 149 additions and 27 deletions

View File

@ -14,7 +14,7 @@ FoamFile
} }
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
polyMeshPatches 1(window); polyMeshPatches ( window );
boundary boundary
{ {

View File

@ -0,0 +1,14 @@
#!/bin/sh
cd "${0%/*}" || exit # Run from this directory
. ${WM_PROJECT_DIR:?}/bin/tools/RunFunctions # Tutorial run functions
#------------------------------------------------------------------------------
runApplication blockMesh
runApplication decomposePar
runParallel makeFaMesh
runParallel $(getApplication)
#------------------------------------------------------------------------------

View File

@ -10,12 +10,11 @@ FoamFile
version 2.0; version 2.0;
format ascii; format ascii;
class dictionary; class dictionary;
location "constant/faMesh";
object faMeshDefinition; object faMeshDefinition;
} }
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
polyMeshPatches 1( film ); polyMeshPatches ( film );
boundary boundary
{ {
@ -56,4 +55,11 @@ boundary
} }
defaultPatch
{
name empty;
type empty;
}
// ************************************************************************** // // ************************************************************************** //

View File

@ -14,7 +14,7 @@ FoamFile
} }
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
polyMeshPatches 1( outer ); polyMeshPatches ( outer );
boundary boundary
{ {

View File

@ -0,0 +1,19 @@
#!/bin/sh
cd "${0%/*}" || exit # Run from this directory
. ${WM_PROJECT_DIR:?}/bin/tools/RunFunctions # Tutorial run functions
#------------------------------------------------------------------------------
runApplication blockMesh
decompDict="-decomposeParDict system/decomposeParDict-procBoundary8"
fileHandler="-fileHandler collated"
runApplication $decompDict decomposePar $fileHandler
runParallel $decompDict makeFaMesh $fileHandler
runParallel $decompDict $(getApplication) $fileHandler
runApplication reconstructPar $fileHandler
#------------------------------------------------------------------------------

View File

@ -14,27 +14,44 @@ FoamFile
} }
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
// A flat plate that is only partial covered by the finiteArea mesh.
// Depending on the decomposition, the outflow boundary may
// coincide with a processor patch.
scale 0.1; scale 0.1;
height 0.1;
width 1;
len 3;
out 1;
out #eval{ $out + $len };
nx 60;
ny 20;
nz 1;
nout 20;
vertices vertices
( (
(0 0 0) /* 0*/ (0 0 0)
(3 0 0) /* 1*/ ($len 0 0)
(3 1 0) /* 2*/ ($len $width 0)
(0 1 0) /* 3*/ (0 $width 0)
(0 0 0.1) /* 4*/ (0 0 $height)
(3 0 0.1) /* 5*/ ($len 0 $height)
(3 1 0.1) /* 6*/ ($len $width $height)
(0 1 0.1) /* 7*/ (0 $width $height)
/* 8*/ ($out 0 0)
/* 9*/ ($out 1 0)
/*10*/ ($out 0 $height)
/*11*/ ($out 1 $height)
); );
blocks blocks
( (
hex (0 1 2 3 4 5 6 7) (60 20 1) simpleGrading (1 1 1) hex (0 1 2 3 4 5 6 7) ($nx $ny $nz) grading (1 1 1)
); hex (1 8 9 2 5 10 11 6) ($nout $ny $nz) grading (1 1 1)
edges
(
); );
boundary boundary
@ -44,7 +61,7 @@ boundary
type patch; type patch;
faces faces
( (
(0 4 7 3) (0 4 7 3)
); );
} }
@ -53,8 +70,12 @@ boundary
type wall; type wall;
faces faces
( (
(3 7 6 2) (3 7 6 2)
(1 5 4 0) (1 5 4 0)
// outflow
(1 8 10 5)
(2 6 11 9)
); );
} }
@ -63,7 +84,7 @@ boundary
type patch; type patch;
faces faces
( (
(2 6 5 1) (8 9 10 11)
); );
} }
@ -73,6 +94,7 @@ boundary
faces faces
( (
(0 3 2 1) (0 3 2 1)
(1 8 9 2)
); );
} }
@ -84,10 +106,15 @@ boundary
(4 5 6 7) (4 5 6 7)
); );
} }
);
mergePatchPairs outflow
( {
type patch;
faces
(
(5 10 11 6)
);
}
); );

View File

@ -10,7 +10,6 @@ FoamFile
version 2.0; version 2.0;
format ascii; format ascii;
class dictionary; class dictionary;
location "system";
object decomposeParDict; object decomposeParDict;
} }
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

View File

@ -0,0 +1,28 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: v2012 |
| \\ / A nd | Website: www.openfoam.com |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object decomposeParDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
// With 4 divisions in x-direction (coincides with finiteArea boundary)
numberOfSubdomains 4;
method simple;
coeffs
{
n ( 4 1 1 );
}
// ************************************************************************* //

View File

@ -0,0 +1,28 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: v2012 |
| \\ / A nd | Website: www.openfoam.com |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object decomposeParDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
// With 4 divisions in x-direction (coincides with finiteArea boundary)
numberOfSubdomains 8;
method simple;
coeffs
{
n ( 4 2 1 );
}
// ************************************************************************* //

View File

@ -14,7 +14,7 @@ FoamFile
} }
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
polyMeshPatches 1( top ); polyMeshPatches ( top );
boundary boundary
{ {
@ -28,7 +28,8 @@ boundary
{ {
type patch; type patch;
ownerPolyPatch top; ownerPolyPatch top;
neighbourPolyPatch outlet; // neighbourPolyPatch outlet;
neighbourPolyPatch outflow;
} }
bound bound
{ {