Mesh and Surface Dictionaries

Mesh Dict

Here is a list of the keys and default values of the mesh_dict, which is used to generate a mesh, e.g. mesh = generate_mesh(mesh_dict).

Mesh definition

Key

Default value

Units

Description

num_x

3

Number of chordwise vertices.

num_y

5

Number of spanwise vertices for the entire wing. When symmetry = True, the number of vertices for a half wing will be (num_y + 1) / 2.

span

10.0

m

Full wingspan, even for symmetric cases.

root_chord

1.0

m

Root chord length.

span_cos_spacing

0

Spanwise cosine spacing. 0 for uniform spanwise panels, 1 for cosine-spaced panels.

chord_cos_spacing

0

Chordwise cosine spacing.

wing_type

“rect”

Initial shape of the wing. "rect" or "CRM".

symmetry

True

If true, OAS models half of the wing reflected across the plane y = 0.

offset

np.array([0, 0, 0])

m

Coordinates to offset the surface from its default location.

num_twist_cp

2

Number of twist control points. Only relevant when wing_type = "CRM".

Surface Dict

Here is a non-exclusive list of the surface dict keys. The surface dict will be provided to Groups, including Geometry, AeroPoint, and AerostructGeometry.

Surface definition

Key

Example value

Units

Description

name

“wing”

Name of the surface.

symmetry

True or False

If true, OAS models half of the wing reflected across the plane y = 0.

S_ref_type

“wetted” or “projected”

How we compute the wing reference area.

mesh

3D ndarray

m

x, y, z coordinates of the mesh vertices, can be created by generate_mesh.

span

10.0

m

Wing span.

taper

0.5

Wing taper ratio.

sweep

10.0

deg

Wing sweep angle.

dihedral

5.0

deg

Wing dihedral.

twist_cp

np.array([0, 5])

deg

B-spline control points for twist distribution. Array convention is [wing tip, ..., root] in symmetry cases, and [tip, ..., root, ... tip] when symmetry = False.

chord_cp

np.array([0.1, 5])

B-spline control points for chord distribution. This is a chord scaler applied to the initial mesh, not the chord value [m] itself. Array convention is the same as twist_cp.

xshear_cp

np.array([0.1, 0.2])

m

B-spline control points for the x-wise shear deformation of the wing.

yshear_cp

np.array([0.1, 0.2])

m

B-spline control points for the y-wise shear deformation of the wing.

zshear_cp

np.array([0.1, 0.2])

m

B-spline control points for the z-wise shear deformation of the wing.

ref_axis_pos

0.25

Position of reference axis along the chord about which to apply twist, chord, taper, and span geometry transformations. 1 is the trailing edge, 0 is the leading edge.

Multi-section Surface definition

Key

Example value

Units

Description

is_multi_section

True

This key must be present and set to True for the AeroPoint to correctly interpret this surface as multi-section.

num_sections

2

The number of sections in the multi-section surface.

sec_name

[“sec0”,”sec1”,”sec2”]

Names of the individual sections. Each section must be named and the list length must match the specified number of sections.

meshes

“gen-meshes” or [mesh1,mesh2,…]

Supply a list of meshes for each section or “gen-meshes” for automatic mesh generation

root_chord

1.0

m

Root chord length of the section indicated as “root section”(required if using the built-in mesh generator)

span

[10.0,10.0]

m

Wing span for each section. The list length must match the specified number of sections.

ny

[21,21]

Number of spanwise points for each section. The list length must match the specified number of sections. (required if using the built-in multi-section mesh generator)

nx

10

Number of chordwise points. Same for all sections.(required if using the built-in multi-section mesh generator)

bpanels

[10,10]

Number of spanwise panels for each section. The list length must match the specified number of sections. An alternative to specifying nx.

cpanels

[10,10]

Number of chordwise panels for each section. An alternative to specifying ny.

root_section

1

Root chord length of the section indicated as “root section”(required if using the built-in mesh generator)

Aerodynamics definitions

Key

Example value

Units

Description

CL0

0.0

Lift coefficient of the surface at 0 angle of attack.

CD0

0.015

Drag coefficient of the surface at 0 angle of attack.

with_viscous

True or False

If true, compute viscous drag

with_wave

True or False

If true, compute wage drag

groundplane

True or False

If true, compute ground effect.

k_lam

0.05

Airfoil property for viscous drag calculation. Percentage of chord with lanimar flow.

t_over_c_cp

np.array([0.12, 0.12])

B-spline control points for airfoil thickness-over-chord ratio

c_max_t

0.303

Chordwise nondimensional location of the maximum airfoil thickness.

Structure definitions

Key

Example value

Units

Description

fem_model_type

“tube” or “wingbox”

Structure model.

E

73.1e9

Pa

Young’s modulus

G

27.5e9

Pa

Shear modulus

yield

420.0e6 / 1.5

Pa

Allowable yield stress including the safety factor.

mrho

2.78e3

kg/m^3

Material density

fem_origin

0.35

Normalized chordwise location of the spar

wing_weight_ratio

2.0

Ratio of the total wing weight (including non-structural components) to the wing structural weight.

exact_failure_constraint

True or False

If False, we use KS function to aggregate the stress constraint.

struct_weight_relief

True or False

Set True to add the weight of the structure to the loads on the structure.

distributed_fuel_weight

True or False

Set True to distribute the fuel weight across the entire wing.

fuel_density

803.0

kg/m^3

Fuel density only needed if the fuel-in-wing volume constraint is used)

Wf_reserve

15000.0

kg

Reserve fuel mass

n_point_masses

1

Number of point masses in the system (for example, engine)

Structure parameterization for tubular spar

Key

Example value

Units

Description

thickness_cp

np.array([0.01, 0.02])

m

B-spline control point of the tube thickness distribution.

radius_cp

np.array([0.1, 0.2])

m

B-spline control point of the tube radius distribution.

Structure parameterization for wingbox

Key

Example value

Units

Description

spar_thickness_cp

np.array([0.004, 0.01])

m

Control point of spar thickness distribution.

skin_thickness_cp

np.array([0.005, 0.02])

m

Control point of skin thickness distribution.

original_wingbox _airfoil_t_over_c

0.12

Thickness-over-chord ratio of airfoil provided for the wingbox cross-section.

strength_factor _for_upper_skin

1.0

A factor to adjust the yield strength of the upper skin relative to the lower skin.

data_x_upper

1D ndarray

x coordinates of the wingbox cross-section’s upper surface for an airfoil with the chord scaled to 1.

data_y_upper

1D ndarray

y coordinates of the wingbox cross-section’s upper surface

data_x_lower

1D ndarray

x coordinates of the wingbox cross-section’s lower surface

data_y_lower

1D ndarray

y coordinates of the wingbox cross-section’s lower surface

FFD parameters

Key

Example value

Units

Description

mx

2

Number of the FFD control points in the x direction.

my

2

Number of the FFD control points in the y direction.