Pointwise Reliable People. Reliable Tools. Reliable CFD Meshing. The Connector newsletter Pointwise Facebook Pointwise GitHub Pointwise Instagram Pointwise LinkedIn Another Fine Mesh blog Pointwise Pinterest Pointwise Twitter Pointwise YouTube Y+ Calculator
Get a Free Trial

Facebook   Twitter   Another Fine Mesh   YouTube
LinkedIn   Y+   Script Exchange   Pinterest

The Connector, the newsletter for CFD Mesh Generation from Pointwise

September / October 2014

Glyph Scripting Automates Terrain Meshing for Wind Turbine Siting

By Scott Evetts
Pointwise Intern
Texas A&M University

During my internship at Pointwise in the summer of 2014, I had my first taste of CFD through hands-on creation of several grids and writing scripts to automate specific meshing processes. One script in particular was not only fun to write but also automates mesh generation for an interesting application. What I hope to achieve through this script is to demonstrate how anyone can easily create a Glyph applet to automate their own mesh generation process.

The script I am describing is used to find the optimum position of wind turbines relative to the local geography. The location of a wind turbine drastically impacts its energy output. Terrain features such as cliffs, hills, and valleys affect the flow of the wind. Gradual hills and areas of flat terrain allow for smooth flow of wind, making them ideal turbine sites. However, cliffs and valleys can create separated, recirculating flow, causing wear and tear on the wind turbine and reducing its operating life.

The Glyph script I wrote imports terrain geometry and then gives the user simple controls for customizing a mesh across that terrain for their specific computational fluid dynamics (CFD) analysis requirements. There are six steps to creating a high quality grid using the Turbine Siting script:

  • Import terrain
  • Refine the area of interest
  • Create a surface mesh
  • Create a volume mesh
  • Smooth and analyze the volume mesh
  • Export the file to a computational fluid dynamics (CFD) solver

The script can effectively reduce meshing time from a few hours to a few minutes.

Step 1: Import terrain

A Digital Elevation Model (DEM), a common format for terrain data, is a list of elevations for every point inside the geographic area of interest. Using Glyph, these files are read and converted to a PLOT3D file, which Pointwise can import as a database. Figure 1 depicts what this terrain looks like when it has been imported into Pointwise.

digital elevation model imported as database

Figure 1: The script creates a solid model when importing a DEM file for selected terrain.

To import the geometry, the user is prompted to browse for the DEM file within the script's custom Tk interface (Figure 2).

importing a DEM file

Figure 2: The first step of the turbine siting script is to import the DEM file. +

Step 2: Pick area

Because the area defined by a DEM file can be very large (900 km2), often times the user will not want to mesh the entire geographic area defined by the file. Therefore, the user is given the option to crop the imported region to only the area of interest. The script will represent the selected terrain using a grayscale image based on elevation (Figure 3). This grayscale image is also generated with Glyph. Using the grayscale image, the user can move the red selection rectangle to refine the area of interest.

selecting the terrain to be meshed

Figure 3: The Select Area tab in the user interface highlights the area of interest using a red rectangle. +

Step 3: Surface domain

To create the structured surface domain on the terrain, the user may choose to use either an average spacing between grid points or to specify the number of points on each connector. With either method, the display will update to show what the domain will look like when it is created in Pointwise (Figure 4). This gives users a live preview of their grid, affording them more control.

domain boundaries

Figure 4: The Surface Domain tab updates to show what the domain will look like in Pointwise once the user has set connector dimensions. +

Step 4: Create block

The next step in the grid generation process is to create the structured volume mesh (block). Vertical connectors are created to provide boundary layer resolution control (with points clustered toward the surface based on user input) and connectors are also created to form the outer boundary of the block. The structured block is formed using the surface domain and the eight newly created connectors. To give the user the necessary control during this step, the script displays a side view of the terrain and the overall size of the block to be created. Additionally, a vertical connector preview is shown that illustrates the distribution of points based on parameters set by the user (Figure 5).

side view

Figure 5: To give the user the necessary control, the script displays the terrain from the side and shows the size of the block to be created relative to the terrain elevation. +

Step 5: Solve and examine the block

Depending on the complexity of the terrain, it may be necessary to smooth the volume grid to improve its overall quality. When smoothing is necessary, the user specifies a number of iterations for the elliptic PDE solver. The script allows the user to view the maximum and minimum thresholds for several grid quality metrics such as min-included angle, max-included angle, equiangle skew, centroid skew, and volume ratio. When just the maximum and minimum of a given metric is not enough to gauge overall quality, a histogram can be displayed to show the mesh quality distribution.

smoothing the grid

Figure 6: The Solve Block tab provides tools for smoothing the grid and visualizing the cell quality. +

Step 6: Export

When the mesh is complete, the Export tab allows the user to export the result to OpenFOAM® and save the Pointwise file for additional work if further refinement is necessary (Figure 7). The boundary conditions for the simulation are automatically specified prior to export.

exporting the grid

Figure 7: The Export Tab is used to export the grid to a solver and save the Pointwise file for additional manipulation. +


flow over the terrain

Figure 8: Sample solution computed using OpenFOAM. +

When I arrived at Pointwise three months ago for a summer internship I had no CFD experience and limited exposure to programming. Even so, I was able to write a script to automate the grid generation for siting wind turbines. This project was particularly exciting for me because it demonstrates the power of Pointwise's Glyph scripting language. Users can create meshing applets exposing the elements necessary to complete a single meshing task. I see this being useful for application specific grid generation where a grid generation expert's knowledge can be encapsulated to automate the meshing process to save time and make consistent quality grids.

Until this script is available on the Glyph Script Exchange you can try writing your own scripts to automate mesh generation by requesting a free trial license of Pointwise.

◀ Previous Article     ▲ Contents     Next Article ▶