Skip to content

Commit 7c4880a

Browse files
author
dzalkind
committed
Account for gearbox ratio in windio conversion
1 parent de7acbf commit 7c4880a

2 files changed

Lines changed: 8 additions & 6 deletions

File tree

Examples/34_discon_windio.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ def main():
2424
discon_yaml_map = {
2525
os.path.join(examples_dir,'Test_Cases','IEA-15-240-RWT', 'IEA-15-240-RWT-UMaineSemi', 'IEA-15-240-RWT-UMaineSemi_DISCON.IN'): os.path.join(examples_dir,'example_inputs', 'windio', 'IEA-15-240-RWT.yaml'),
2626
os.path.join(examples_dir,'Test_Cases','IEA-15-240-RWT', 'IEA-15-240-RWT-Monopile', 'IEA-15-240-RWT-Monopile_DISCON.IN'): os.path.join(examples_dir,'example_inputs', 'windio', 'IEA-15-240-RWT.yaml'),
27+
os.path.join(examples_dir,'Test_Cases','NREL-5MW', 'DISCON.IN'): os.path.join(examples_dir,'example_inputs', 'windio', 'nrel5mw.yaml'),
2728
}
2829

2930
# # For updating windIO repo

rosco/toolbox/inputs/windio.py

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,11 @@ def windio_to_discon(windio_dict):
1414
rosco_vt_from_windio = {}
1515

1616
# Convert back from windIO to ROSCO units and format
17-
rosco_vt_from_windio['VS_MinOMSpd'] = windio_dict['control']['min_rotor_speed'] / radps2rpm
18-
rosco_vt_from_windio['PC_RefSpd'] = windio_dict['control']['rated_rotor_speed'] / radps2rpm
17+
gb_ratio = windio_dict['components']['drivetrain']['gearbox']['gear_ratio']
18+
rosco_vt_from_windio['VS_MinOMSpd'] = windio_dict['control']['min_rotor_speed'] / radps2rpm * gb_ratio
19+
rosco_vt_from_windio['PC_RefSpd'] = windio_dict['control']['rated_rotor_speed'] / radps2rpm * gb_ratio
1920
rosco_vt_from_windio['VS_RtPwr'] = windio_dict['control']['rated_power'] # W in windIO, W in ROSCO
20-
rosco_vt_from_windio['SD_MaxGenSpd'] = windio_dict['control']['max_rotor_speed'] / radps2rpm
21+
rosco_vt_from_windio['SD_MaxGenSpd'] = windio_dict['control']['max_rotor_speed'] / radps2rpm * gb_ratio
2122
rosco_vt_from_windio['VS_MaxTq'] = windio_dict['control']['max_gen_torque']
2223
rosco_vt_from_windio['VS_MaxRat'] = windio_dict['control']['max_torque_rate']
2324

@@ -55,11 +56,11 @@ def windio_to_discon(windio_dict):
5556
def discon_to_windio(rosco_vt):
5657

5758
windio_control = {}
58-
windio_control['min_rotor_speed'] = rosco_vt['VS_MinOMSpd'] * radps2rpm
59-
windio_control['rated_rotor_speed'] = rosco_vt['PC_RefSpd'] * radps2rpm
59+
windio_control['min_rotor_speed'] = rosco_vt['VS_MinOMSpd'] * radps2rpm / rosco_vt['WE_GearboxRatio']
60+
windio_control['rated_rotor_speed'] = rosco_vt['PC_RefSpd'] * radps2rpm / rosco_vt['WE_GearboxRatio']
6061
windio_control['rated_power'] = rosco_vt['VS_RtPwr'] # W in ROSCO, W in windIO
6162

62-
windio_control['max_rotor_speed'] = rosco_vt['SD_MaxGenSpd'] * radps2rpm
63+
windio_control['max_rotor_speed'] = rosco_vt['SD_MaxGenSpd'] * radps2rpm / rosco_vt['WE_GearboxRatio']
6364
windio_control['max_gen_torque'] = rosco_vt['VS_MaxTq'] # Nm in ROSCO, N*m in windIO
6465
windio_control['max_torque_rate'] = rosco_vt['VS_MaxRat'] # Nm/s in ROSCO, N*m/s in windIO
6566

0 commit comments

Comments
 (0)