Blade#
- class pynumad.objects.blade.Blade(filename: str = None)#
Bases:
objectBlade class
- Parameters:
filename (str, optional) – Directory and filename of blade input file to load into the Blade object.
- name#
Name of the blade
- Type:
str
- definition#
Object containing the definition of the blade.
- Type:
- bill_of_materials#
- Type:
- stackdb#
- Type:
StackDatabase
- materialdb#
- Type:
- mesh_size#
Target element size used by mesh generation utilities (default 0.45).
- Type:
float
Example
blade = Blade(“path/to/blade.yaml”)
- property ispan: ndarray#
Interpolated span stations. Delegates to
definition.ispan.
- read_yaml(filename: str)#
Populate blade attributes with yaml file data
- Parameters:
filename (str) – name of yaml file to be read
- Returns:
self
- read_excel(filename: str)#
Populate blade attributes with excel file data
- Parameters:
filename (str) – name of excel file to be read
- Returns:
self
- update_blade()#
Generates geometry, keypoints, bill of materials, stack database, and material database based on the blade definition.
- expand_blade_geometry_te(min_edge_lengths)#
TODO: docstring
- export_bom_tea(file, sheet_name, segments)#
Generate a segmented BOM and export to Excel for TEA cost analysis.
- Parameters:
file (str) – Output Excel file path.
sheet_name (str) – Sheet name in the Excel file.
segments (list of dict) –
- Blade segments. Each dict has:
’span_nd’ : [start, end] normalized spanwise extents ‘hp_extents’ : [key1, key2] HP chordwise bounds (e.g. [‘le’,’te’]) ‘lp_extents’ : [key1, key2] LP chordwise bounds
- Returns:
pd.DataFrame – The assembled bomTEA table.
- add_interpolated_station(span_location: float)#
Adds an interpolated station to blade geometry
- Parameters:
span_location (float) – location along span between 0 and 1.
- Returns:
int – integer index where the new span was inserted