1

Previous: SnappyHexMesh mesh Up: SnappyHexMesh mesh Next: castellatedMeshControls

This is an automatically generated documentation by LaTeX2HTML utility. In case of any issue, please, contact us at info@cfdsupport.com.

Geometry

This block holds definition of input geometry (surfaces).

 

  • Each surface can be used to:
    • specify refinement for any mesh cell which:
      • intersects the surface
      • lies inside of a (closed) surface
      • lies outside of a (closed) surface
      • lies near a surface
    • define the boundary and snap the mesh to the surface.

     

  • Besides the input surface, user can directly define following objects:
    • searchableBox
          myBox
          {
              type searchableBox;
              min (-1.0 -0.7 0.0);
              max ( 8.0  0.7 2.5);
          }
      
    • searchableCylinder
          myCylinder
          {
              type searchableCylinder;
              point1  (1 0 0);
              point2  (2 0 0);
              radius  0.1;
      
          myDisk
          {
              type searchableDisk;
              origin  (0 0.5 0);
              normal  (1 0 0);
              radius  0.01;
          }
      
    • searchablePlane
          myPlane1
          {
              type searchablePlane;
              planeType pointAndNormal;
              pointAndNormalDict    
              {
                  basePoint    (0 0 0);    
                  normalVector (1 0 0);
              } 
          }
      
          myPlane2    
          {
              type searchablePlane;
              planeType embeddedPoints;
              embeddedPointsDict    
              {
                  point1    (0 0 0);    
                  point2    (1 0 0);
                  point3    (0 1 0);
              } 
          }
      
    • searchablePlate
          myPlate
          {
              type searchablePlate;
              origin (0 0 0);
              span (1 1 0); 
          }
      
    • searchableSphere
          mySphere    
          {
              type searchableSphere;
              centre (0 0 0);
              radius 0.1;
          }
      

     

  • Each input geometry is defined as a block starting with the name of the file (inside the triSurface directory) and including:
    • type triSurfaceMesh; – always the same for all input files
    • name patchName; – user defined name to be used for referring to the input geometry

     

  • The geometry block can contain any number of geometry parts or implicit objects:

     

    geometry
    {
        C-fine.stl
        {
            type triSurfaceMesh;
            name C;
        }
        F-fine.stl
        {
            type triSurfaceMesh;
            name F;
        }
        D-fine.stl
        {
            type triSurfaceMesh;    
            name D;
        }
        
        disk
        {
            type searchableDisk;
            origin  (0.6925 0.5 0);
            normal  (7 -2 0);
            radius  0.1;
        }
    }
    

     

OpenFOAM Documentation

Previous: Example: Blade-to-blade view Up: Example: Blade-to-blade view Next: Example: Pressure around the
This is an automatically generated documentation by LaTeX2HTML utility. In case of any issue, please, contact us at info@cfdsupport.com.

Step by step guide

Step 1 — Load the OpenFOAM case into ParaView and make sure that you included the rotating zone. Depending on the way how you loaded the OpenFOAM case you can use either the “Include Zones” check-box above the mesh/field selection frames (figure [*] left), or “Read Zones” check-box below to read the rotating zone (figure [*] right). The former way, more frequent in Linux, will add available zones at the end of the “Mesh Parts” selection list (and you need to select them manually). The latter way, more frequent in Windows, will automatically read all available zones after clicking on the “Apply” button. Choose some non-zero simulation time, select appropriate components (“Mesh parts”) and fields (“Volume fields”) and press “Apply”. This will load the mesh.
Step 2 — The transformation from the cylinder – or disk-like rotating area (as shown in the figure [*] or [*]) into the normalized rectangular block can be calculated by the filter Turbo Unwrap. You should see the icon of the filter in the toolbar. Note that the filter is available (i.e. coloured and clickable) only when the data selected in “Pipeline browser” are of the type “Multi-block Dataset” (see panel “Information”, section “Statistics”).
556

Either use this button, or select the filter Turbo Unwrap in the Filters > Turbomachinery (or Filters > Alphabetical) menu, or use the search box from Filters > Search. This will add the filter into the “Pipeline browser”.

59
20

Figure: Loading mesh zones and the hub and shroud patches needed by the filter Turbo Unwrap. Left (OpenFOAM’s OpenFOAM reader): Hub and shroud patches are selected, as well as the rotating zone. Right (ParaView’s Foam reader): Hub and shroud patches and all zones are selected.

Step 3 — The basic properties of the filter Turbo Unwrap are shown in the figure [*]. When the advanced options are hidden, there are only a few options to define. First of all, it is necessary to choose the internal mesh, that will be transformed, and the hub and shroud patches, which will serve as a leaders to define the transformation. After the transformation is done, hub and shroud will be perfectly flat and parallel to each other, conformly deforming the mesh in between. If multiple mesh parts are selected in the “Unwrap mesh” window or multiple patches are selected in “Hub” or “Shroud” windows then they will be internally merged into a single entity before proceeding. In this example the mesh is well prepared and we can just select the three items that we loaded in the first step.

Step 4 — Set the direction and position of the rotating axis using the parameters “Axis” and “Origin”. In our case we use $ z$-axis, which is the default option.
Step 5 — Select the position of the breaking semiplane and cutting cylinder, see figure [*]. In this case we have chosen the plane direction along the $ x$-axis and the radius of the cylinder equal to 0.01 m, see figure [*].
Step 6 — Click on “Apply”. Particularly the cylinder clipping (and to less extent also the transformation of the mesh and of the vector fields) can be quite time consuming for large meshes. Some parts of the algorithm are parallelized and will automatically make use of multi-core machines. When the algorithm finishes, the result will look similarly to figure [*]. The nature of the transformation is illustrated in the figures [*][*].

Step 7 — Unlike the scalar quantities (like pressure) the vector fields need to be transformed, too, when the mesh transforms. This is done automatically for the cell fields U and URel. As a by-product the filter also produces several other cell fields that can be used as an input to other filters: The local streamline vectors UStream and URelStream, and the cell field URelLIC, which is particularly well suited for usage in Line Integral Convolution (“SurfaceLIC”) representation. To use these fields in filters that request point fields, it is necessary to interpolate the data from points to cells, which is done as the final step using the filter Cell data to point data (can be found in Filters > Alphabetical). This filter has no important settings.

Step 8 — Now all that is necessary to obtain a specific blade-to-blade view is to use a standard Slice filter ($ z$-normal) to cut through the block at the requested height. The coordinate $ z = 0$ corresponds to the hub patch, $ z = 1$ corresponds to the shroud patch, $ z = 0.5$ corresponds to the surface in the middle between hub and shroud etc. This step is shown in the figure [*], the resulting cut displaying pressure is the figure [*], or showing the SurfaceLIC representation (with settings from [*]) in the figure [*].
61

Figure: Basic parameters of the filter Turbo Unwrap.

62

Figure: Rotating area of the simulated pump’s volume before the application of the filter Turbo Unwrap. The patches are coloured here to make them easily differentiable in the following figure [crossref]. Hub patch (bottom) is in solid green, shroud patch (top) in solid orange, inflow (top) is orange wireframe and outflow (bottom) green wireframe. The figure also contains the clipping cylinder corresponding to the parameter “Clip out radius” and the cutting semiplane corresponding to the direction specified by the parameter “Break”.

63

Figure: Detail of the inflow interface mesh structure of the pump test case before the application of Turbo Blade Post plugin Turbo Unwrap.

64
Figure: Rotating area of the simulated pump’s volume after the application of the filter Turbo Unwrap. The hub and shroud patches are now parallel, the new img266 coordinate runs from hub (img267) to shroud img269, the normalized circular coordinate is transformed to img270 1 and the remaining coordinate that is orthogonal to both, “along the stream”, is mapped to $ y \in (0,1)$. The green hub patch is now in the bottom, orange shroud on top, inflow is left and behind (not visible here) and the green outflow is in the front and to the right. The two additional sides of the block arose by cutting the mesh by a semiplane specified by the revolution axis and the parameter “Break”. It is not a straight cut through the cells, rather the cells that would be split by the semiplane are removed completely.
65

Figure: Detail of the inflow interface mesh structure of the pump test case after the application of Turbo Blade Post plugin Turbo Unwrap.

66

Figure: Construction of the blade-to-blade view from the rotor block unwrapped by Turbo Blade Post plugin Turbo Unwrap.

67

Figure: Construction of the blade-to-blade view from the rotor block unwrapped by Turbo Blade Post plugin Turbo Unwrap.

21

Figure: Surface Line Integral Convolution setup after application of Turbo Unwrap + Cell Data To Point Data filters. The coloring is taken from the magnitude of the vector field URel, the directions and sizes from URelLIC.