extrudeToRegionMesh: Rationalisation

An extruded region is now contiguous even when specified with multiple
face zones. Edges that border faces in different zones now extrude into
internal faces, rather than a pair of boundary faces. Different zones
now result only in different mapped patches in the extruded and primary
meshes. This means a mesh can be created for a single contiguous
extruded region spanning multiple patches. This might be necessary if,
for example, a film region is needed across multiple walls with
differing thermal boundary conditions.

Disconnected extruded regions can still be constructed by running the
extrudeToRegionMesh utility muiliple times.

The mapped patches created to couple the extruded regions now have
symmetric names similar to those created by splitMeshRegions. For
example, if the mapped patch in the primary region is called
"region0_to_extrudedRegion_f0", then the corresponding patch in the
extruded region is called "extrudedRegion_to_region0_f0" (f0, in this
example is the face zone from which the region was extruded).

Offsetting of the top patch is now handled automatically by a new
mappedExtrudedWallPolyPatch. This refers to the bottom patch and
automatically calculates the sampling offsets by doing a wave across the
extruded mesh layers. This prevents the need to store the offsets in the
patch itself, and makes it possible for the patch to undergo mesh
changes without adding additional functions to the polyPatch (mapping
constructors, autoMap and rmap methods, etc ...).
This commit is contained in:
Will Bainbridge
2022-08-25 11:37:42 +01:00
parent 63892b01f4
commit 381e0921f8
130 changed files with 1803 additions and 1779 deletions

View File

@ -14,18 +14,27 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 0 0 0 0 0 0];
internalField uniform 0.0;
internalField uniform 0;
boundaryField
{
#includeEtc "caseDicts/setConstraintTypes"
"(sides|frontAndBack)"
{
type zeroGradient;
}
region0_to_wallFilmRegion_wallFilmFaces
top
{
type inletOutlet;
inletValue $internalField;
value $internalField;
}
"region0_to_wallFilm_.*"
{
type zeroGradient;
}

View File

@ -14,18 +14,27 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 0 0 0 0 0 0];
internalField uniform 0.77;
boundaryField
{
#includeEtc "caseDicts/setConstraintTypes"
"(sides|frontAndBack)"
{
type zeroGradient;
}
region0_to_wallFilmRegion_wallFilmFaces
top
{
type inletOutlet;
inletValue $internalField;
value $internalField;
}
"region0_to_wallFilm_.*"
{
type zeroGradient;
}

View File

@ -12,7 +12,6 @@ FoamFile
location "0";
object O2;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 0 0 0 0 0 0];
@ -21,11 +20,21 @@ internalField uniform 0.23;
boundaryField
{
#includeEtc "caseDicts/setConstraintTypes"
"(sides|frontAndBack)"
{
type zeroGradient;
}
region0_to_wallFilmRegion_wallFilmFaces
top
{
type inletOutlet;
inletValue $internalField;
value $internalField;
}
"region0_to_wallFilm_.*"
{
type zeroGradient;
}

View File

@ -8,8 +8,8 @@
FoamFile
{
format ascii;
location "0";
class volScalarField;
location "0";
object T;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
@ -20,15 +20,25 @@ internalField uniform 300;
boundaryField
{
#includeEtc "caseDicts/setConstraintTypes"
"(sides|frontAndBack)"
{
type fixedValue;
value uniform 300;
value $internalField;
}
region0_to_wallFilmRegion_wallFilmFaces
top
{
type inletOutlet;
inletValue $internalField;
value $internalField;
}
"region0_to_wallFilm_.*"
{
type fixedValue;
value uniform 300;
value $internalField;
}
}

View File

@ -20,11 +20,20 @@ internalField uniform (0 0 0);
boundaryField
{
#includeEtc "caseDicts/setConstraintTypes"
"(sides|frontAndBack)"
{
type noSlip;
}
region0_to_wallFilmRegion_wallFilmFaces
top
{
type pressureInletOutletVelocity;
value $internalField;
}
"region0_to_wallFilm_.*"
{
type noSlip;
}

View File

@ -16,16 +16,25 @@ FoamFile
dimensions [1 -1 -2 0 0 0 0];
internalField uniform 100000;
internalField uniform 1e5;
boundaryField
{
#includeEtc "caseDicts/setConstraintTypes"
"(sides|frontAndBack)"
{
type calculated;
value $internalField;
}
region0_to_wallFilmRegion_wallFilmFaces
top
{
type calculated;
value $internalField;
}
"region0_to_wallFilm_.*"
{
type calculated;
value $internalField;

View File

@ -16,15 +16,24 @@ FoamFile
dimensions [1 -1 -2 0 0 0 0];
internalField uniform 100000;
internalField uniform 1e5;
boundaryField
{
#includeEtc "caseDicts/setConstraintTypes"
"(sides|frontAndBack)"
{
type fixedFluxPressure;
}
region0_to_wallFilmRegion_wallFilmFaces
top
{
type prghTotalPressure;
p0 $internalField;
}
"region0_to_wallFilm_.*"
{
type fixedFluxPressure;
}

View File

@ -9,33 +9,25 @@ FoamFile
{
format ascii;
class volScalarField;
location "0/wallFilmRegion";
location "0/wallFilm";
object T;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 0 0 1 0 0 0];
internalField uniform 300;
internalField uniform 300;
boundaryField
{
wallFilmFaces_top
#includeEtc "caseDicts/setConstraintTypes"
"(sides|frontAndBack|wallFilmFaces_top|cylinderFilmFaces_top)"
{
type zeroGradient;
}
region0_to_wallFilmRegion_wallFilmFaces
{
type zeroGradient;
}
sides
{
type zeroGradient;
}
frontAndBack
"wallFilm_to_region0_.*"
{
type zeroGradient;
}

View File

@ -9,7 +9,7 @@ FoamFile
{
format ascii;
class volVectorField;
location "0/wallFilmRegion";
location "0/wallFilm";
object U;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
@ -20,16 +20,13 @@ internalField uniform (0 0 0);
boundaryField
{
wallFilmFaces_top
#includeEtc "caseDicts/setConstraintTypes"
"(wallFilmFaces_top|cylinderFilmFaces_top)"
{
type slip;
}
region0_to_wallFilmRegion_wallFilmFaces
{
type noSlip;
}
sides
{
type noSlip;
@ -39,6 +36,11 @@ boundaryField
{
type slip;
}
"wallFilm_to_region0_.*"
{
type noSlip;
}
}

View File

@ -9,7 +9,7 @@ FoamFile
{
format ascii;
class volScalarField;
location "0/wallFilmRegion";
location "0/wallFilm";
object delta;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
@ -20,22 +20,14 @@ internalField uniform 0;
boundaryField
{
wallFilmFaces_top
#includeEtc "caseDicts/setConstraintTypes"
"(sides|frontAndBack|wallFilmFaces_top|cylinderFilmFaces_top)"
{
type zeroGradient;
}
region0_to_wallFilmRegion_wallFilmFaces
{
type zeroGradient;
}
sides
{
type zeroGradient;
}
frontAndBack
"wallFilm_to_region0_.*"
{
type zeroGradient;
}

View File

@ -6,6 +6,6 @@ cd ${0%/*} || exit 1 # Run from this directory
cleanCase
rm -rf constant/wallFilmRegion/polyMesh
rm -rf constant/wallFilm/polyMesh
#------------------------------------------------------------------------------

View File

@ -1,11 +0,0 @@
#!/bin/sh
. $WM_PROJECT_DIR/bin/tools/RunFunctions
runApplication blockMesh
runApplication topoSet
runApplication extrudeToRegionMesh -overwrite
paraFoam -touch
paraFoam -touch -region wallFilmRegion
#------------------------------------------------------------------------------

View File

@ -3,10 +3,13 @@ cd ${0%/*} || exit 1 # Run from this directory
. $WM_PROJECT_DIR/bin/tools/RunFunctions
./Allmesh
runApplication blockMesh
runApplication topoSet
runApplication extrudeToRegionMesh -overwrite
application=$(getApplication)
runApplication $(getApplication)
runApplication $application
paraFoam -touch
paraFoam -touch -region wallFilm
#------------------------------------------------------------------------------

View File

@ -0,0 +1,21 @@
#!/bin/sh
cd ${0%/*} || exit 1 # Run from this directory
. $WM_PROJECT_DIR/bin/tools/RunFunctions
runApplication blockMesh
runApplication decomposePar -noFields
runParallel topoSet
runParallel extrudeToRegionMesh -overwrite
runApplication -s fields decomposePar -fields -copyZero
runParallel $(getApplication)
runApplication reconstructPar
runApplication -s wallFilm reconstructPar -region wallFilm
paraFoam -touch
paraFoam -touch -region wallFilm
#------------------------------------------------------------------------------

View File

@ -14,7 +14,7 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
regionName wallFilmRegion;
regionName wallFilm;
viscosity
{

View File

@ -99,7 +99,7 @@ defaultPatch
boundary
(
filmWalls
walls
{
type wall;
faces
@ -108,8 +108,15 @@ boundary
(1 2 21 20)
(12 11 30 31)
(13 12 31 32)
(10 5 24 29)
);
}
cylinder
{
type wall;
faces
(
(5 0 19 24)
(10 5 24 29)
(16 10 29 35)
(11 16 35 30)
);
@ -121,14 +128,21 @@ boundary
(
(2 3 22 21)
(3 6 25 22)
(7 8 27 26)
(6 7 26 25)
(8 18 37 27)
(18 17 36 37)
(14 13 32 33)
(17 14 33 36)
);
}
top
{
type patch;
faces
(
(6 7 26 25)
(7 8 27 26)
(8 18 37 27)
(18 17 36 37)
);
}
);

View File

@ -16,32 +16,7 @@ FoamFile
numberOfSubdomains 4;
method metis;
simpleCoeffs
{
n (2 2 1);
}
hierarchicalCoeffs
{
n (1 1 1);
order xyz;
}
metisCoeffs
{
processorWeights ( 1 1 1 1 );
}
manualCoeffs
{
dataFile "";
}
distributed no;
roots ( );
method scotch;
// ************************************************************************* //

View File

@ -13,13 +13,9 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
region wallFilmRegion;
region wallFilm;
faceZones (wallFilmFaces);
sampleMode nearestPatchFace;
oneD false;
faceZones (wallFilmFaces cylinderFilmFaces);
extrudeModel linearNormal;

View File

@ -21,7 +21,7 @@ actions
type faceSet;
action new;
source patchToFace;
patch filmWalls;
patch walls;
}
{
name wallFilmFaces;
@ -30,6 +30,20 @@ actions
source setToFaceZone;
faceSet wallFilmFaceSet;
}
{
name cylinderFilmFaceSet;
type faceSet;
action new;
source patchToFace;
patch cylinder;
}
{
name cylinderFilmFaces;
type faceZoneSet;
action new;
source setToFaceZone;
faceSet cylinderFilmFaceSet;
}
);
// ************************************************************************* //

View File

@ -9,7 +9,7 @@ FoamFile
{
format ascii;
class dictionary;
location "system/wallFilmRegion";
location "system/wallFilm";
object fvSchemes;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

View File

@ -9,7 +9,7 @@ FoamFile
{
format ascii;
class dictionary;
location "system/wallFilmRegion";
location "system/wallFilm";
object fvSolution;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

View File

@ -20,12 +20,14 @@ internalField uniform 0;
boundaryField
{
#includeEtc "caseDicts/setConstraintTypes"
walls
{
type zeroGradient;
}
"(region0_to.*)"
"region0_to_wallFilm_.*"
{
type zeroGradient;
}

View File

@ -20,12 +20,14 @@ internalField uniform 0.77;
boundaryField
{
#includeEtc "caseDicts/setConstraintTypes"
walls
{
type zeroGradient;
}
"(region0_to.*)"
"region0_to_wallFilm_.*"
{
type zeroGradient;
}

View File

@ -20,12 +20,14 @@ internalField uniform 0.23;
boundaryField
{
#includeEtc "caseDicts/setConstraintTypes"
walls
{
type zeroGradient;
}
"(region0_to.*)"
"region0_to_wallFilm_.*"
{
type zeroGradient;
}

View File

@ -20,19 +20,21 @@ internalField uniform 300;
boundaryField
{
#includeEtc "caseDicts/setConstraintTypes"
walls
{
type fixedValue;
value uniform 300;
value $internalField;
}
"(region0_to.*)"
"region0_to_wallFilm_.*"
{
type mapped;
field T;
average 300;
setAverage no;
value uniform 300;
average 300;
value $internalField;
}
}

View File

@ -20,20 +20,21 @@ internalField uniform (0 0 0);
boundaryField
{
#includeEtc "caseDicts/setConstraintTypes"
walls
{
type uniformFixedValue;
uniformValue (0 0 0);
}
"(region0_to.*)"
"region0_to_wallFilm_.*"
{
type mapped;
uniformValue constant (0 0 0);
value uniform (0 0 0);
field U;
average (0 0 0);
setAverage no;
average (0 0 0);
value uniform (0 0 0);
}
}

View File

@ -20,6 +20,8 @@ internalField uniform 1e-7;
boundaryField
{
#includeEtc "caseDicts/setConstraintTypes"
walls
{
type compressible::alphatWallFunction;
@ -27,7 +29,7 @@ boundaryField
value uniform 0;
}
"(region0_to.*)"
"region0_to_wallFilm_.*"
{
type alphatFilmWallFunction;
B 5.5;

View File

@ -20,16 +20,18 @@ internalField uniform 1e-7;
boundaryField
{
#includeEtc "caseDicts/setConstraintTypes"
walls
{
type epsilonWallFunction;
value uniform 1e-7;
}
"(region0_to.*)"
"region0_to_wallFilm_.*"
{
type epsilonWallFunction;
value uniform 1e-07;
value uniform 1e-7;
}
}

View File

@ -20,13 +20,15 @@ internalField uniform 0;
boundaryField
{
#includeEtc "caseDicts/setConstraintTypes"
walls
{
type calculated;
value uniform 0;
}
"(region0_to.*)"
"region0_to_wallFilm_.*"
{
type convectiveHeatTransfer;
L 1;

View File

@ -20,16 +20,18 @@ internalField uniform 1e-5;
boundaryField
{
#includeEtc "caseDicts/setConstraintTypes"
walls
{
type kqRWallFunction;
value uniform 1e-5;
}
"(region0_to.*)"
"region0_to_wallFilm_.*"
{
type kqRWallFunction;
value uniform 1e-05;
value uniform 1e-5;
}
}

View File

@ -20,13 +20,15 @@ internalField uniform 1e-7;
boundaryField
{
#includeEtc "caseDicts/setConstraintTypes"
walls
{
type nutkWallFunction;
value uniform 0;
}
"(region0_to.*)"
"region0_to_wallFilm_.*"
{
type nutkFilmWallFunction;
B 5.5;

View File

@ -20,16 +20,18 @@ internalField uniform 100000;
boundaryField
{
#includeEtc "caseDicts/setConstraintTypes"
walls
{
type calculated;
value $internalField;
}
"(region0_to.*)"
"region0_to_wallFilm_.*"
{
type calculated;
value uniform 100000;
value $internalField;
}
}

View File

@ -20,17 +20,18 @@ internalField uniform 100000;
boundaryField
{
#includeEtc "caseDicts/setConstraintTypes"
walls
{
type fixedFluxPressure;
value uniform 100000;
value $internalField;
}
"(region0_to.*)"
"region0_to_wallFilm_.*"
{
type fixedFluxPressure;
gradient uniform 0;
value uniform 100000;
value $internalField;
}
}

View File

@ -9,7 +9,7 @@ FoamFile
{
format ascii;
class volScalarField;
location "0/wallFilmRegion";
location "0/wallFilm";
object T;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
@ -20,22 +20,20 @@ internalField uniform 300;
boundaryField
{
// top film surface
"(.*top)"
#includeEtc "caseDicts/setConstraintTypes"
walls
{
type zeroGradient;
}
// mapped boundaries
"(region0_to.*)"
"wallFilm_to_region0_.*"
{
// type zeroGradient;
type fixedValue;
value uniform 350.0;
}
// floor sides
walls
".*_top"
{
type zeroGradient;
}

View File

@ -9,7 +9,7 @@ FoamFile
{
format ascii;
class volVectorField;
location "0/wallFilmRegion";
location "0/wallFilm";
object U;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
@ -20,23 +20,22 @@ internalField uniform (0 0 0);
boundaryField
{
// top film surface
"(.*top)"
{
type slip;
}
#includeEtc "caseDicts/setConstraintTypes"
// mapped boundaries
"(region0_to.*)"
{
type slip;
}
// floor sides
walls
{
type noSlip;
}
"wallFilm_to_region0_.*"
{
type slip;
}
".*_top"
{
type slip;
}
}
// ************************************************************************* //

View File

@ -9,7 +9,7 @@ FoamFile
{
format ascii;
class volScalarField;
location "0/wallFilmRegion";
location "0/wallFilm";
object delta;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
@ -20,23 +20,22 @@ internalField uniform 0.0;
boundaryField
{
// top film surface
"(.*top)"
{
type zeroGradient;
}
#includeEtc "caseDicts/setConstraintTypes"
// mapped boundaries
"(region0_to.*)"
{
type zeroGradient;
}
// floor sides
walls
{
type zeroGradient;
}
"wallFilm_to_region0_.*"
{
type zeroGradient;
}
".*_top"
{
type zeroGradient;
}
}
// ************************************************************************* //

View File

@ -4,8 +4,6 @@ cd ${0%/*} || exit 1 # Run from this directory
# Source tutorial clean functions
. $WM_PROJECT_DIR/bin/tools/CleanFunctions
cleanCase
rm -rf constant/wallFilmRegion/polyMesh
cleanCase && rm -rf constant/wallFilm/polyMesh
#------------------------------------------------------------------------------

View File

@ -1,25 +0,0 @@
#!/bin/sh
cd ${0%/*} || exit 1 # Run from this directory
# Source tutorial run functions
. $WM_PROJECT_DIR/bin/tools/RunFunctions
# Create the underlying block mesh
runApplication blockMesh
# Create the set for the obstacles
runApplication topoSet
# Create the obstacles - add obstacle patches to wallFilm patch
runApplication subsetMesh c0 -patch wallFilm -overwrite -noFields
# Create a wallFilmRegion faceZone from the obstacles and floor
runApplication -s wallFilmRegion topoSet -dict topoSetDict.wallFilmRegion
# Create the wall film region from the wallFilmRegion faceZone via extrusion
runApplication extrudeToRegionMesh -overwrite
paraFoam -touch
paraFoam -touch -region wallFilmRegion
#------------------------------------------------------------------------------

View File

@ -4,9 +4,30 @@ cd ${0%/*} || exit 1 # Run from this directory
# Source tutorial run functions
. $WM_PROJECT_DIR/bin/tools/RunFunctions
application=$(getApplication)
runApplication blockMesh
./Allmesh
runApplication $application
runApplication decomposePar -noFields
# Create a set for the bits of the mesh that are not boxes
runParallel topoSet
# Create the boxes and add their surfaces to the boxes patch
runParallel subsetMesh notBoxes -patch boxes -overwrite -noFields
# Create zones from the floor and the boxes
runParallel -s wallFilm topoSet -dict topoSetDict.wallFilm
# Create the film mesh
runParallel extrudeToRegionMesh -overwrite
runApplication -s fields decomposePar -fields -copyZero
runParallel $(getApplication);
runApplication reconstructPar
runApplication -s wallFilm reconstructPar -region wallFilm
paraFoam -touch
paraFoam -touch -region wallFilm
#------------------------------------------------------------------------------

View File

@ -1,21 +0,0 @@
#!/bin/sh
cd ${0%/*} || exit 1 # Run from this directory
# Source tutorial run functions
. $WM_PROJECT_DIR/bin/tools/RunFunctions
./Allmesh
cp -Rf 0.orig 0
application=$(getApplication)
runApplication -s primaryRegion decomposePar
runApplication -s wallFilmRegion decomposePar -region wallFilmRegion
runParallel $application
runApplication -s primaryRegion reconstructPar
runApplication -s wallFilmRegion reconstructPar -region wallFilmRegion
#------------------------------------------------------------------------------

View File

@ -14,7 +14,7 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
regionName wallFilmRegion;
regionName wallFilm;
viscosity
{

View File

@ -46,7 +46,7 @@ boundary
(1 5 4 0)
);
}
wallFilm
floor
{
type wall;
faces
@ -54,6 +54,12 @@ boundary
(0 3 2 1)
);
}
boxes
{
type wall;
faces
();
}
);

View File

@ -14,13 +14,15 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
numberOfSubdomains 4;
numberOfSubdomains 12;
method scotch;
method hierarchical;
distributed no;
roots ( );
hierarchicalCoeffs
{
n (2 2 3);
order xyz;
}
// ************************************************************************* //

View File

@ -13,13 +13,9 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
region wallFilmRegion;
region wallFilm;
faceZones (wallFilmFaces);
oneD false;
sampleMode nearestPatchFace;
faceZones (floorFilmFaces boxesFilmFaces);
extrudeModel linearNormal;

View File

@ -17,38 +17,38 @@ FoamFile
actions
(
{
name c0;
name notBoxes;
type cellSet;
action clear;
}
{
name c0;
name notBoxes;
type cellSet;
action invert;
}
{
name c0;
name notBoxes;
type cellSet;
action delete;
source boxToCell;
box (0.4 0.1 0.1) (0.6 0.3 0.3);
}
{
name c0;
name notBoxes;
type cellSet;
action delete;
source boxToCell;
box (0.4 0.1 0.4) (0.6 0.3 0.6);
}
{
name c0;
name notBoxes;
type cellSet;
action delete;
source boxToCell;
box (0.4 0.4 0.1) (0.6 0.6 0.3);
}
{
name c0;
name notBoxes;
type cellSet;
action delete;
source boxToCell;

View File

@ -17,18 +17,32 @@ FoamFile
actions
(
{
name wallFilmFaceSet;
name floorFilmFaceSet;
type faceSet;
action new;
source patchToFace;
patch wallFilm;
patch floor;
}
{
name wallFilmFaces;
name floorFilmFaces;
type faceZoneSet;
action new;
source setToFaceZone;
faceSet wallFilmFaceSet;
faceSet floorFilmFaceSet;
}
{
name boxesFilmFaceSet;
type faceSet;
action new;
source patchToFace;
patch boxes;
}
{
name boxesFilmFaces;
type faceZoneSet;
action new;
source setToFaceZone;
faceSet boxesFilmFaceSet;
}
);

View File

@ -9,7 +9,7 @@ FoamFile
{
format ascii;
class dictionary;
location "system/wallFilmRegion";
location "system/wallFilm";
object fvSchemes;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

View File

@ -9,7 +9,7 @@ FoamFile
{
format ascii;
class dictionary;
location "system/wallFilmRegion";
location "system/wallFilm";
object fvSolution;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

View File

@ -14,7 +14,6 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 0 0 0 0 0 0];
internalField uniform 0.0;
@ -23,17 +22,24 @@ boundaryField
{
inlet
{
type zeroGradient;
type inletOutlet;
inletValue $internalField;
value $internalField;
}
outlet
{
type zeroGradient;
type inletOutlet;
inletValue $internalField;
value $internalField;
}
sides
{
type zeroGradient;
}
region0_to_wallFilmRegion_wallFilmFaces
region0_to_wallFilm_wallFilmFaces
{
type zeroGradient;
}

View File

@ -14,7 +14,6 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 0 0 0 0 0 0];
internalField uniform 0.77;
@ -23,17 +22,24 @@ boundaryField
{
inlet
{
type zeroGradient;
type inletOutlet;
inletValue $internalField;
value $internalField;
}
outlet
{
type zeroGradient;
type inletOutlet;
inletValue $internalField;
value $internalField;
}
sides
{
type zeroGradient;
}
region0_to_wallFilmRegion_wallFilmFaces
region0_to_wallFilm_wallFilmFaces
{
type zeroGradient;
}

View File

@ -12,7 +12,6 @@ FoamFile
location "0";
object O2;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 0 0 0 0 0 0];
@ -23,17 +22,24 @@ boundaryField
{
inlet
{
type zeroGradient;
type inletOutlet;
inletValue $internalField;
value $internalField;
}
outlet
{
type zeroGradient;
type inletOutlet;
inletValue $internalField;
value $internalField;
}
sides
{
type zeroGradient;
}
region0_to_wallFilmRegion_wallFilmFaces
region0_to_wallFilm_wallFilmFaces
{
type zeroGradient;
}

View File

@ -8,8 +8,8 @@
FoamFile
{
format ascii;
location "0";
class volScalarField;
location "0";
object T;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
@ -22,23 +22,28 @@ boundaryField
{
inlet
{
type fixedValue;
value uniform 300;
type inletOutlet;
inletValue $internalField;
value $internalField;
}
outlet
{
type fixedValue;
value uniform 300;
type inletOutlet;
inletValue $internalField;
value $internalField;
}
sides
{
type fixedValue;
value uniform 300;
value $internalField;
}
region0_to_wallFilmRegion_wallFilmFaces
region0_to_wallFilm_wallFilmFaces
{
type fixedValue;
value uniform 300;
value $internalField;
}
}

View File

@ -23,19 +23,21 @@ boundaryField
inlet
{
type pressureInletOutletVelocity;
value uniform (0 0 0);
value $internalField;
}
outlet
{
type pressureInletOutletVelocity;
value uniform (0 0 0);
value $internalField;
}
sides
{
type pressureInletOutletVelocity;
value uniform (0 0 0);
type noSlip;
}
region0_to_wallFilmRegion_wallFilmFaces
region0_to_wallFilm_wallFilmFaces
{
type noSlip;
}

View File

@ -25,17 +25,20 @@ boundaryField
type calculated;
value $internalField;
}
outlet
{
type calculated;
value $internalField;
}
sides
{
type calculated;
value $internalField;
}
region0_to_wallFilmRegion_wallFilmFaces
region0_to_wallFilm_wallFilmFaces
{
type calculated;
value $internalField;

View File

@ -22,17 +22,22 @@ boundaryField
{
inlet
{
type fixedFluxPressure;
type prghTotalPressure;
p0 $internalField;
}
outlet
{
type fixedFluxPressure;
type prghTotalPressure;
p0 $internalField;
}
sides
{
type fixedFluxPressure;
}
region0_to_wallFilmRegion_wallFilmFaces
region0_to_wallFilm_wallFilmFaces
{
type fixedFluxPressure;
}

View File

@ -9,7 +9,7 @@ FoamFile
{
format ascii;
class volScalarField;
location "0/wallFilmRegion";
location "0/wallFilm";
object T;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
@ -20,16 +20,6 @@ internalField uniform 300;
boundaryField
{
wallFilmFaces_top
{
type zeroGradient;
}
region0_to_wallFilmRegion_wallFilmFaces
{
type zeroGradient;
}
inlet
{
type fixedValue;
@ -45,6 +35,16 @@ boundaryField
{
type zeroGradient;
}
wallFilmFaces_top
{
type zeroGradient;
}
wallFilm_to_region0_wallFilmFaces
{
type zeroGradient;
}
}

View File

@ -9,7 +9,7 @@ FoamFile
{
format ascii;
class volVectorField;
location "0/wallFilmRegion";
location "0/wallFilm";
object U;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
@ -20,16 +20,6 @@ internalField uniform (0 0 0);
boundaryField
{
wallFilmFaces_top
{
type slip;
}
region0_to_wallFilmRegion_wallFilmFaces
{
type noSlip;
}
inlet
{
type fixedValue;
@ -45,6 +35,16 @@ boundaryField
{
type noSlip;
}
wallFilmFaces_top
{
type slip;
}
wallFilm_to_region0_wallFilmFaces
{
type noSlip;
}
}

View File

@ -9,7 +9,7 @@ FoamFile
{
format ascii;
class volScalarField;
location "0/wallFilmRegion";
location "0/wallFilm";
object delta;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
@ -20,16 +20,6 @@ internalField uniform 0;
boundaryField
{
wallFilmFaces_top
{
type zeroGradient;
}
region0_to_wallFilmRegion_wallFilmFaces
{
type zeroGradient;
}
inlet
{
type fixedValue;
@ -45,6 +35,16 @@ boundaryField
{
type zeroGradient;
}
wallFilmFaces_top
{
type zeroGradient;
}
wallFilm_to_region0_wallFilmFaces
{
type zeroGradient;
}
}

View File

@ -6,6 +6,6 @@ cd ${0%/*} || exit 1 # Run from this directory
cleanCase
rm -rf constant/wallFilmRegion/polyMesh
rm -rf constant/wallFilm/polyMesh
#------------------------------------------------------------------------------

View File

@ -1,11 +0,0 @@
#!/bin/sh
. $WM_PROJECT_DIR/bin/tools/RunFunctions
runApplication blockMesh
runApplication topoSet -dict wallFilmRegion.topoSet
runApplication extrudeToRegionMesh -overwrite
paraFoam -touch
paraFoam -touch -region wallFilmRegion
#------------------------------------------------------------------------------

View File

@ -3,10 +3,12 @@ cd ${0%/*} || exit 1 # Run from this directory
. $WM_PROJECT_DIR/bin/tools/RunFunctions
./Allmesh
runApplication blockMesh
runApplication topoSet
runApplication extrudeToRegionMesh -overwrite
application=$(getApplication)
paraFoam -touchAll
runApplication $application
runApplication $(getApplication)
#------------------------------------------------------------------------------

View File

@ -14,7 +14,7 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
regionName wallFilmRegion;
regionName wallFilm;
viscosity
{

View File

@ -13,14 +13,10 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
region wallFilmRegion;
region wallFilm;
faceZones (wallFilmFaces);
oneD false;
sampleMode nearestPatchFace;
extrudeModel linearNormal;
nLayers 1;

View File

@ -33,8 +33,8 @@ solvers
"(U|h)"
{
solver smoothSolver;
smoother symGaussSeidel;
solver PBiCGStab;
preconditioner DILU;
tolerance 0;
relTol 0.1;
}

View File

@ -11,7 +11,6 @@ FoamFile
class dictionary;
object topoSetDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
actions

View File

@ -9,7 +9,7 @@ FoamFile
{
format ascii;
class dictionary;
location "system/wallFilmRegion";
location "system/wallFilm";
object fvSchemes;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

View File

@ -9,7 +9,7 @@ FoamFile
{
format ascii;
class dictionary;
location "system/wallFilmRegion";
location "system/wallFilm";
object fvSolution;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
@ -18,16 +18,16 @@ solvers
{
"alpha.*"
{
solver smoothSolver;
smoother symGaussSeidel;
solver PBiCGStab;
preconditioner DILU;
tolerance 1e-10;
relTol 0;
}
"(U|e).*"
{
solver smoothSolver;
smoother symGaussSeidel;
solver PBiCGStab;
preconditioner DILU;
tolerance 1e-10;
relTol 0;
}

View File

@ -28,6 +28,7 @@ boundaryField
inletValue $internalField;
value $internalField;
}
region0_to_wallFilm_walls
{
type zeroGradient;

View File

@ -28,6 +28,7 @@ boundaryField
inletValue $internalField;
value $internalField;
}
region0_to_wallFilm_walls
{
type zeroGradient;

View File

@ -28,6 +28,7 @@ boundaryField
inletValue $internalField;
value $internalField;
}
region0_to_wallFilm_walls
{
type zeroGradient;

View File

@ -8,8 +8,8 @@
FoamFile
{
format ascii;
location "0";
class volScalarField;
location "0";
object T;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
@ -28,6 +28,7 @@ boundaryField
inletValue $internalField;
value $internalField;
}
region0_to_wallFilm_walls
{
type fixedValue;

View File

@ -27,6 +27,7 @@ boundaryField
type pressureInletOutletVelocity;
value $internalField;
}
region0_to_wallFilm_walls
{
type noSlip;

View File

@ -27,6 +27,7 @@ boundaryField
type calculated;
value $internalField;
}
region0_to_wallFilm_walls
{
type calculated;

View File

@ -27,7 +27,7 @@ boundaryField
type zeroGradient;
}
region0_to_wallFilm_walls
wallFilm_to_region0_walls
{
type zeroGradient;
}

View File

@ -27,7 +27,7 @@ boundaryField
type slip;
}
region0_to_wallFilm_walls
wallFilm_to_region0_walls
{
type noSlip;
}

View File

@ -27,7 +27,7 @@ boundaryField
type zeroGradient;
}
region0_to_wallFilm_walls
wallFilm_to_region0_walls
{
type zeroGradient;
}

View File

@ -17,10 +17,6 @@ region wallFilm;
faceZones (walls);
oneD false;
sampleMode nearestPatchFace;
extrudeModel linearNormal;
nLayers 1;

View File

@ -8,8 +8,8 @@
FoamFile
{
format ascii;
location "0";
class volScalarField;
location "0";
object T;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
@ -32,7 +32,7 @@ boundaryField
inletValue $internalField;
}
region0_to_wallFilmRegion_wallFilmFaces
"region0_to_wallFilm_.*"
{
type fixedValue;
value uniform 300;

View File

@ -31,7 +31,7 @@ boundaryField
value $internalField;
}
region0_to_wallFilmRegion_wallFilmFaces
"region0_to_wallFilm_.*"
{
type noSlip;
}

View File

@ -9,6 +9,7 @@ FoamFile
{
format ascii;
class volScalarField;
location "0";
object alpha.liquid;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
@ -29,7 +30,7 @@ boundaryField
type zeroGradient;
}
region0_to_wallFilmRegion_wallFilmFaces
"region0_to_wallFilm_.*"
{
type zeroGradient;
}

View File

@ -32,7 +32,7 @@ boundaryField
value $internalField;
}
region0_to_wallFilmRegion_wallFilmFaces
"region0_to_wallFilm_.*"
{
type calculated;
value $internalField;

View File

@ -32,7 +32,7 @@ boundaryField
rho thermo:rho;
}
region0_to_wallFilmRegion_wallFilmFaces
"region0_to_wallFilm_.*"
{
type fixedFluxPressure;
}

View File

@ -9,7 +9,7 @@ FoamFile
{
format ascii;
class volScalarField;
location "0/wallFilmRegion";
location "0/wallFilm";
object T;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
@ -20,12 +20,12 @@ internalField uniform 300;
boundaryField
{
wallFilmFaces_top
".*_top"
{
type zeroGradient;
}
region0_to_wallFilmRegion_wallFilmFaces
"wallFilm_to_region0_.*"
{
type zeroGradient;
}

View File

@ -9,7 +9,7 @@ FoamFile
{
format ascii;
class volVectorField;
location "0/wallFilmRegion";
location "0/wallFilm";
object U;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
@ -20,12 +20,12 @@ internalField uniform (0 0 0);
boundaryField
{
wallFilmFaces_top
".*_top"
{
type slip;
}
region0_to_wallFilmRegion_wallFilmFaces
"wallFilm_to_region0_.*"
{
type noSlip;
}

View File

@ -9,7 +9,7 @@ FoamFile
{
format ascii;
class volScalarField;
location "0/wallFilmRegion";
location "0/wallFilm";
object delta;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
@ -20,12 +20,12 @@ internalField uniform 0;
boundaryField
{
wallFilmFaces_top
".*_top"
{
type zeroGradient;
}
region0_to_wallFilmRegion_wallFilmFaces
"wallFilm_to_region0_.*"
{
type zeroGradient;
}

View File

@ -4,8 +4,6 @@ cd ${0%/*} || exit 1 # Run from this directory
# Source tutorial clean functions
. $WM_PROJECT_DIR/bin/tools/CleanFunctions
cleanVoFCase
rm -rf constant/wallFilmRegion/polyMesh
cleanVoFCase && rm -rf constant/wallFilm/polyMesh
#------------------------------------------------------------------------------

View File

@ -1,11 +0,0 @@
#!/bin/sh
. $WM_PROJECT_DIR/bin/tools/RunFunctions
runApplication blockMesh
runApplication topoSet
runApplication extrudeToRegionMesh -overwrite
paraFoam -touch
paraFoam -touch -region wallFilmRegion
#------------------------------------------------------------------------------

View File

@ -1,12 +1,16 @@
#!/bin/sh
cd ${0%/*} || exit 1 # Run from this directory
# Source tutorial run functions
. $WM_PROJECT_DIR/bin/tools/RunFunctions
./Allmesh
runApplication blockMesh
runApplication topoSet
runApplication extrudeToRegionMesh -overwrite
application=$(getApplication)
runApplication $(getApplication)
runApplication $application
paraFoam -touch
paraFoam -touch -region wallFilm
#------------------------------------------------------------------------------

View File

@ -14,7 +14,7 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
regionName wallFilmRegion;
regionName wallFilm;
phase liquid;

View File

@ -99,7 +99,7 @@ defaultPatch
boundary
(
filmWalls
walls
{
type wall;
faces
@ -108,13 +108,19 @@ boundary
(1 2 21 20)
(12 11 30 31)
(13 12 31 32)
(10 5 24 29)
);
}
cylinder
{
type wall;
faces
(
(5 0 19 24)
(10 5 24 29)
(16 10 29 35)
(11 16 35 30)
);
}
sides
{
type patch;
@ -126,14 +132,13 @@ boundary
(17 14 33 36)
);
}
top
{
type patch;
faces
(
(7 8 27 26)
(6 7 26 25)
(7 8 27 26)
(8 18 37 27)
(18 17 36 37)
);

View File

@ -13,13 +13,9 @@ FoamFile
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
region wallFilmRegion;
region wallFilm;
faceZones (wallFilmFaces);
sampleMode nearestPatchFace;
oneD false;
faceZones (wallFilmFaces cylinderFilmFaces);
extrudeModel linearNormal;

View File

@ -21,7 +21,7 @@ actions
type faceSet;
action new;
source patchToFace;
patch filmWalls;
patch walls;
}
{
name wallFilmFaces;
@ -30,6 +30,20 @@ actions
source setToFaceZone;
faceSet wallFilmFaceSet;
}
{
name cylinderFilmFaceSet;
type faceSet;
action new;
source patchToFace;
patch cylinder;
}
{
name cylinderFilmFaces;
type faceZoneSet;
action new;
source setToFaceZone;
faceSet cylinderFilmFaceSet;
}
);
// ************************************************************************* //

View File

@ -9,7 +9,7 @@ FoamFile
{
format ascii;
class dictionary;
location "system/wallFilmRegion";
location "system/wallFilm";
object fvSchemes;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

View File

@ -9,7 +9,7 @@ FoamFile
{
format ascii;
class dictionary;
location "system/wallFilmRegion";
location "system/wallFilm";
object fvSolution;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

View File

@ -19,7 +19,7 @@ internalField uniform 300;
boundaryField
{
region0_to_plateRegion_plateFaces
region0_to_plate_plateFaces
{
type zeroGradient;
}

View File

@ -20,7 +20,7 @@ internalField uniform (0 0 0);
boundaryField
{
region0_to_plateRegion_plateFaces
region0_to_plate_plateFaces
{
type noSlip;
}

Some files were not shown because too many files have changed in this diff Show More