preprocess_windio_exp Namespace Reference

Kynema API: preprocess_windio_exp Namespace Reference
Kynema API
A flexible multibody structural dynamics code for wind turbines
Loading...
Searching...
No Matches
preprocess_windio_exp Namespace Reference

Functions

 normalize_airfoil_coordinates (coords, n_points=N_AIRFOIL_POINTS)
 

Variables

int N_AIRFOIL_POINTS = 60
 
int N_POLAR_POINTS = 180
 
str INPUT_FILE = "NREL-5MW.yaml"
 
str OUTPUT_FILE = "NREL-5MW-aero.yaml"
 
int N_AERO_NODES = 50
 
 aero_locs = np.linspace(0.0, 1.0, N_AERO_NODES)
 
 data = yaml.safe_load(f)
 
 blade = data["components"]["blade"]["outer_shape"]
 
dict af_map = {airfoil["name"]: airfoil for airfoil in data["airfoils"]}
 
list base_airfoils = [af_map[af["name"]] for af in blade["airfoils"]]
 
list af_grid = [af["spanwise_position"] for af in blade["airfoils"]]
 
dict blade_data
 
 p = blade[param]
 
list polar_grid_points = []
 
 quantiles = np.quantile(polar_grid_points, [0, 0.20, 0.40, 0.60, 0.80, 1])
 
 polar_grid
 
dict polar_data
 
dict coordinate_data
 
dict polar_data_interp
 
dict coordinate_data_interp
 
 ep = data["components"]["blade"]["structure"]["elastic_properties"]
 
list grids = [data["components"]["blade"]["reference_axis"][c]["grid"] for c in "xyz"]
 
 new_grid = sorted(list(set([item for sublist in grids for item in sublist])))
 
 values = data["components"]["blade"]["reference_axis"][c]["values"]
 
 grid = data["components"]["blade"]["reference_axis"][c]["grid"]
 

Function Documentation

◆ normalize_airfoil_coordinates()

preprocess_windio_exp.normalize_airfoil_coordinates (   coords,
  n_points = N_AIRFOIL_POINTS 
)
Interpolate airfoil coordinates so they have the specified number of points along upper and lower surfaces.

Variable Documentation

◆ aero_locs

preprocess_windio_exp.aero_locs = np.linspace(0.0, 1.0, N_AERO_NODES)

◆ af_grid

list preprocess_windio_exp.af_grid = [af["spanwise_position"] for af in blade["airfoils"]]

◆ af_map

dict preprocess_windio_exp.af_map = {airfoil["name"]: airfoil for airfoil in data["airfoils"]}

◆ base_airfoils

list preprocess_windio_exp.base_airfoils = [af_map[af["name"]] for af in blade["airfoils"]]

◆ blade

preprocess_windio_exp.blade = data["components"]["blade"]["outer_shape"]

◆ blade_data

dict preprocess_windio_exp.blade_data
Initial value:
1= {
2 p: PchipInterpolator(af_grid, [af[p] for af in base_airfoils])(aero_locs).tolist()
3 for p in ["aerodynamic_center", "rthick"]
4}

◆ coordinate_data

dict preprocess_windio_exp.coordinate_data
Initial value:
1= {
2 p: np.zeros([len(base_airfoils), N_AIRFOIL_POINTS]) for p in ["x", "y"]
3}

◆ coordinate_data_interp

dict preprocess_windio_exp.coordinate_data_interp
Initial value:
1= {
2 p: PchipInterpolator(af_grid, coordinate_data[p])(aero_locs) for p in ["x", "y"]
3}

◆ data

preprocess_windio_exp.data = yaml.safe_load(f)

◆ ep

preprocess_windio_exp.ep = data["components"]["blade"]["structure"]["elastic_properties"]

◆ grid

preprocess_windio_exp.grid = data["components"]["blade"]["reference_axis"][c]["grid"]

◆ grids

list preprocess_windio_exp.grids = [data["components"]["blade"]["reference_axis"][c]["grid"] for c in "xyz"]

◆ INPUT_FILE

str preprocess_windio_exp.INPUT_FILE = "NREL-5MW.yaml"

◆ N_AERO_NODES

int preprocess_windio_exp.N_AERO_NODES = 50

◆ N_AIRFOIL_POINTS

int preprocess_windio_exp.N_AIRFOIL_POINTS = 60

◆ N_POLAR_POINTS

int preprocess_windio_exp.N_POLAR_POINTS = 180

◆ new_grid

preprocess_windio_exp.new_grid = sorted(list(set([item for sublist in grids for item in sublist])))

◆ OUTPUT_FILE

str preprocess_windio_exp.OUTPUT_FILE = "NREL-5MW-aero.yaml"

◆ p

preprocess_windio_exp.p = blade[param]

◆ polar_data

dict preprocess_windio_exp.polar_data
Initial value:
1= {
2 p: np.zeros([len(base_airfoils), N_POLAR_POINTS]) for p in ["cl", "cd", "cm"]
3}

◆ polar_data_interp

dict preprocess_windio_exp.polar_data_interp
Initial value:
1= {
2 p: PchipInterpolator(af_grid, v)(aero_locs) for p, v in polar_data.items()
3}

◆ polar_grid

preprocess_windio_exp.polar_grid
Initial value:
1= np.concatenate(
2 [
3 np.linspace(quantiles[0], quantiles[1], N_POLAR_POINTS // 5, endpoint=False),
4 np.linspace(quantiles[1], quantiles[2], N_POLAR_POINTS // 5, endpoint=False),
5 np.linspace(quantiles[2], quantiles[3], N_POLAR_POINTS // 5, endpoint=False),
6 np.linspace(quantiles[3], quantiles[4], N_POLAR_POINTS // 5, endpoint=False),
7 np.linspace(quantiles[4], quantiles[5], N_POLAR_POINTS // 5, endpoint=True),
8 ]
9)

◆ polar_grid_points

list preprocess_windio_exp.polar_grid_points = []

◆ quantiles

preprocess_windio_exp.quantiles = np.quantile(polar_grid_points, [0, 0.20, 0.40, 0.60, 0.80, 1])

◆ values

preprocess_windio_exp.values = data["components"]["blade"]["reference_axis"][c]["values"]