Parameters

YAML and Directory Structure

The YAML structure below details all possible parameters, their expected data types, and input formats.

 1filetype: string
 2domain:
 3  terrain_path: string
 4  x_range: [double, double]
 5  y_range: [double, double]
 6  height: double
 7  aspect_ratio: int
 8  upper_aspect_ratio: double
 9  aspect_distance: double
10  dimension: int
11  inflow_angle: double
12  type: string
13  center: [double, double]
14  radius: double
15refine:
16  global_scale: double
17  background_length_scale: double
18  farm:
19    type: string
20    length_scale: double
21    threshold_distance: double
22  turbine:
23    type: string
24    length_scale: double
25    threshold_upstream_distance: double
26    threshold_downstream_distance: double
27    threshold_rotor_distance: double
28    num_turbines: int
29    1:
30      x: double
31      y: double
32      HH: double
33    2:
34      x: double
35      y: double
36      HH: double
37
38      # ...
39
40    n:
41      x: double
42      y: double
43      HH: double
44refine_custom:
45  num_refines: int
46  1:
47    type: string
48    x_range: [double, double] or double
49    y_range: [double, double] or double
50    z_range: [double, double]
51    radius: double
52    length_scale: double
53
54    # ...
55
56  n:
57    type: string
58    x_range: [double, double] or double
59    y_range: [double, double] or double
60    z_range: [double, double]
61    radius: double
62    length_scale: double

Parameter Descriptions

The schema above contains domain and refinement parameters. The following sections will describe the domain and refinement customizability offered by AeroMesh, as well as some different options offered in 3D and 2D meshes that can provide additional flexibility.

Domain Parameters

This section details the parameters that define the domain for both 2D and 3D simulations. These parameters are not optional and must be included in every meshing procedure.

Parameter

Description

Optional

type

Box by default. Can be set to cylinder for a cylindrical outer domain (or a circle in 2D).

Yes.

x_range

The minimum and maximum x-coordinates that define the meshing domain.

No.

y_range

The minimum and maximum y-coordinates that define the meshing domain.

No.

dimension

The dimension of the mesh. 2 for 2D meshes, 3 for 3D meshes.

No.

inflow_angle

If there is one incoming wind vector, this flag will orient the turbines to face the wind. Input the angle in degrees.

Yes.

Refinement Parameters

There are a few parameters that apply globally across refinements. This section details them.

Parameter

Description

Optional

global_scale

A scaling factor applied uniformly to all length scales. 1 by default, to create no effect.

Yes.

background_length_scale

The length scale of the meshing across the entire domain.

No.

Creating Turbines

The number of turbines must be specified using the appropriate (num_turbines) field. For each turbine, create a numerical field and populate it with the three relevant turbine parameters. Examples are shown here, under the turbine header. The table below describes the three turbine parameters.

Parameter

Description

Optional

x

The x-coordinate of the center of the turbine.

No.

y

The y-coordinate of the center of the turbine.

No.

HH

The turbine’s hub height. This parameter determines how high off the terrain the turbine center is placed. Set to 100 by default.

Yes.

Creating Turbines

In addition to defining the location of the farm’s turbines, AeroMesh provides additional global customizability that applies to every turbine in the mesh. These options are described below.

Parameter

Description

Optional

num_turbines

The expected number of turbines.

No.

length_scale (turbine)

The length scale of the meshing near the turbines.

No.

threshold_upstream_distance

The extent to which the turbine meshes should extend in the negative wake direction.

No.

threshold_downstream_distance

The extent to which the turbine meshes should extend in the positive wake direction.

No.

threshold_rotor_distance

The radius formed by a rotation of the turbine’s rotor.

No.

Creating Farm Refinements

AeroMesh defines a “farm” as, at a minimum, a bounding geometry that surrounds all the turbines and an associated length scale for this region. Note that farms are optional and do not need to be included in the YAML if not desired. Examples are shown here, under the farm header. The table below describes the farm parameters.

Parameter

Description

Optional

type

None (disabled) by default. Can be set to cylinder or box if desired.

Yes.

threshold_distance

By default, a farm region is defined by a minimum bounding rectangle surrounding all the turbines. This parameter extends the bounding region by its value.

Yes.

length_scale

The length scale of the points contained within the farms.

Yes.

Creating Custom Refinements

Creating custom refinements is almost identical to creating turbines. The number of custom refinements must be specified. Depending on the type of refinement (box or cylinder) desired, different parameters must be supplied. In 2D meshes, the 3D refinement types will be replaced with their 2D analogs without the need for any flags from the user. Examples are shown here, under the refine_custom header. The table below describes the relevant sub-parameters.

Parameter

Description

Optional

type

Either “box” for a box refine or “cylinder” for a cylindrical one.

No.

x_range

In box refines, the x range of the refinement. In cylinders, the x-coordinate of the center.

No.

y_range

In box refines, the y range of the refinement. In cylinders, the y-coordinate of the center.

No.

z_range

The z range of the refinement.

No.

radius

The radius of a cylindrical refinement. Unused by box meshes and does not need to be included.

No.

length_scale

The length scale across the custom refinement.

No.

3D Domain Customizability

3D meshes have some additional domain-level parameters not available in 2 dimensions. These parameters are described below.

Parameter

Description

Optional

terrain_path

The path to a file containing valid terrain data, where the terrain is a function f(x, y) = z. If omitted, the domain will have a smooth bottom face.

Yes.

height

The extension of the wind farm in the z-direction.

No.

aspect_ratio

The ratio of nodes in the z-direction to nodes in the x-y plane. Used to create anisotropic effects, if desired.

Yes.

upper_aspect_ratio

Similar to aspect_ratio, but applied above the threshold distance instead to create expanded nodes in the z-direction. Note that the resultant size after the application of both aspect ratios must be at least the original height of the domain to prevent undefined behavior.

Yes.

aspect_distance

The z-distance up to which the anisotropic effects generated by aspect_ratio will extend.

Yes.

2D Turbine Customizability

In 2D meshes, the type of refinement that defines the turbine may be specified. This customizability is done using the refine[turbine][type] flag. The table below describes the flag.

Parameter

Description

Optional

type

Determines whether turbines are meshed using a rectangular wake or as a large circle. The options are rectangle and circle respectively. Rectangles are used by default.

Yes.

Output Format

AeroMesh produces an output file named out.extension that contains the mesh data. The extension type can be controlled by the “filetype” field. By default, AeroMesh produces msh files. However, it supports any other data formats handled by GMSH and the additional xdmf output type if desired.