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 ...).
92 lines
2.4 KiB
C++
92 lines
2.4 KiB
C++
/*--------------------------------*- 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 extrudeToRegionMeshDict;
|
|
}
|
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
|
|
// Name of the region to create
|
|
region liquidFilm;
|
|
|
|
// Specification of faces to extrude. Either faceZones (either exclusively
|
|
// internal faces or boundary faces) or faceSets (boundary faces only). These
|
|
// faces will be connected to the bottom patch of the extruded region. If
|
|
// shadow faces are also specified then these will be connected to the top
|
|
// patch of the extruded region.
|
|
|
|
// The faceZones to extrude
|
|
faceZones (f0 f1);
|
|
// faceZonesShadow (f0Shadow f1Shadow);
|
|
|
|
// The faceSets to extrude
|
|
// faceSets (f0 f1);
|
|
// faceSetsShadow (f0Shadow f1Shadow);
|
|
|
|
// Adapt the original mesh to have mapped patches that connect to the extruded
|
|
// region? If so, then extruded internal faces become baffles with mapped
|
|
// patches, and extruded boundary faces are repatched onto mapped patches.
|
|
// Otherwise the original mesh is not modified. The extruded mesh will still
|
|
// have mapped patches created which will need to be changed.
|
|
adaptMesh true;
|
|
|
|
//- Extrusion settings
|
|
extrudeModel linearNormal;
|
|
// extrudeModel linearDirection;
|
|
// extrudeModel wedge;
|
|
// extrudeModel linearRadial;
|
|
// extrudeModel radial;
|
|
// extrudeModel sigmaRadial;
|
|
|
|
nLayers 10;
|
|
|
|
expansionRatio 0.9;
|
|
|
|
linearNormalCoeffs
|
|
{
|
|
thickness 0.05;
|
|
}
|
|
|
|
linearDirectionCoeffs
|
|
{
|
|
direction (0 1 0);
|
|
thickness 0.05;
|
|
}
|
|
|
|
wedgeCoeffs
|
|
{
|
|
axisPt (0 0.1 -0.05);
|
|
axis (-1 0 0);
|
|
angle 360; // For nLayers=1 assume symmetry so angle/2 on each side
|
|
}
|
|
|
|
linearRadialCoeffs
|
|
{
|
|
R 0.1;
|
|
// Optional inner radius
|
|
Rsurface 0.01;
|
|
}
|
|
|
|
radialCoeffs
|
|
{
|
|
// Radii specified through interpolation table
|
|
R table ((0 0.01)(3 0.03)(10 0.1));
|
|
}
|
|
|
|
sigmaRadialCoeffs
|
|
{
|
|
RTbyg 1;
|
|
pRef 1;
|
|
pStrat 1;
|
|
}
|
|
|
|
|
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|