diff --git a/WISDEM/generateTables.py b/WISDEM/generateTables.py index 999c3a72..c553b729 100644 --- a/WISDEM/generateTables.py +++ b/WISDEM/generateTables.py @@ -509,11 +509,12 @@ def myinterp(xgrid, val): ax.set_xlabel('Airfoil s-coordinate [-]', size=14, weight='bold') ax.set_ylabel('Thickness [mm]', size=14, weight='bold') vy = ax.get_ylim() - ax.text(0.6, 0.95*np.diff(vy), self.airfoil_list[iaf]+' airfoil, '+str(int(round(1e2*self.airfoil_span[iaf])))+'% span', size=12, weight='bold') + ax.text(0.6, 0.95*np.diff(vy)[0], f'{self.airfoil_list[iaf]} airfoil, {int(round(1e2*self.airfoil_span[iaf]))}% span', size=12, weight='bold') ax.set_xticks([0.0, 0.25, 0.5, 0.75, 1.0]) ax.set_xticklabels(['TE','Suction Side', 'LE','Pressure Side','TE']) fig.subplots_adjust(bottom = 0.15, left = 0.15) - #fig.savefig('outputs' + os.sep + 'layers_'+self.airfoil_list[iaf]+'_'+str(int(round(1e2*self.airfoil_span[iaf])))+'.pdf', pad_inches=0.1, bbox_inches='tight') + fname = f'layers_{self.airfoil_list[iaf]}_{int(round(1e2*self.airfoil_span[iaf]))}.pdf' + fig.savefig(os.path.join('outputs',fname), pad_inches=0.1, bbox_inches='tight') plt.close() # Cross section over-view sheet diff --git a/WISDEM/run_model.py b/WISDEM/run_model.py index c77a569c..6409a84d 100644 --- a/WISDEM/run_model.py +++ b/WISDEM/run_model.py @@ -131,7 +131,7 @@ def run_15mw(fname_wt_input): overview['Design tip speed ratio'] = prob['control.rated_TSR'] overview['Minimum rotor speed [rpm]'] = prob.get_val('control.minOmega','rpm') overview['Maximum rotor speed [rpm]'] = prob.get_val('control.maxOmega','rpm') - overview['Maximum tip speed [m/s]'] = prob['control.max_TS'] + overview['Maximum tip speed [m/s]'] = prob['control.max_allowable_blade_tip_speed'] overview['Shaft tilt angle [deg]'] = prob.get_val('drivetrain.uptilt','deg') overview['Rotor cone angle [deg]'] = prob.get_val('hub.cone','deg') overview['Tower top to hub flange height [m]'] = prob['drivetrain.distance_tt_hub'] diff --git a/WT_Ontology/IEA-15-240-RWT.yaml b/WT_Ontology/IEA-15-240-RWT.yaml index 199afe0b..64d7f0e4 100644 --- a/WT_Ontology/IEA-15-240-RWT.yaml +++ b/WT_Ontology/IEA-15-240-RWT.yaml @@ -1098,17 +1098,34 @@ materials: G: 1520000000.0 unit_cost: 9.0 control: - supervisory: - Vin: 3.0 - Vout: 25.0 - maxTS: 95.0 - pitch: - ps_percent: 1.0 - max_pitch: 89.95437383553924 - max_pitch_rate: 2.0 - min_pitch: 0.0 - torque: - tsr: 9.0 - max_torque_rate: 1500000.0 - VS_minspd: 4.999999999999999 - VS_maxspd: 7.559999999999999 + min_rotor_speed: 5.000011692174984 + rated_rotor_speed: 7.559987120819503 + rated_power: 15000000.0 + max_rotor_speed: 9.072022742169745 + max_gen_torque: 21765400.0 + max_torque_rate: 4500000.0 + fine_pitch: 0.0 + optimal_tsr: 9.0 + min_pitch_table: + wind_speed: [3.0, 3.2617, 3.5234, 3.7852, 4.0469, 4.3086, 4.5703, 4.8321, 5.0938, 5.3555, 5.6172, 5.879, 6.1407, 6.4024, 6.6641, 6.9259, 7.1876, 7.4493, 7.711, 7.9728, 8.2345, 8.4962, 8.7579, 9.0197, 9.2814, 9.5431, 9.8048, 10.0666, 10.3283, 10.59, 11.0703, 11.5507, 12.031, 12.5113, 12.9917, 13.472, 13.9523, 14.4327, 14.913, 15.3933, 15.8737, 16.354, 16.8343, 17.3147, 17.795, 18.2753, 18.7557, 19.236, 19.7163, 20.1967, 20.677, 21.1573, 21.6377, 22.118, 22.5983, 23.0787, 23.559, 24.0393, 24.5197, 25.0] + min_pitch: [3.437746770784939, 3.437746770784939, 3.437746770784939, 3.437746770784939, 3.437746770784939, 3.437746770784939, 3.2486706983917677, 3.019487580339438, 2.7501974166279517, 2.435070629305999, 2.1027551081301215, 1.7417916971977025, 1.357909974460051, 0.9740282517223996, 0.5729577951308232, 0.17188733853924698, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.813600069085769, 1.5355268909506063, 2.194428355351053, 2.807493196141034, 3.3861805692231655, 3.953408786402681, 4.491989113825654, 5.02483986329732, 5.540501878915061, 6.0504343165814936, 6.548907598345309, 7.041651302157817, 7.522935850067709, 8.0042203979776, 8.474045789984876, 8.94387118199215, 9.407966996048119, 9.866333232152776, 10.318969890306127, 10.771606548459477, 11.224243206612826, 11.66542070886356, 12.112327789065603, 12.547775713365029, 12.988953215615764, 13.41867156196388, 13.854119486263304, 14.278108254660115, 14.70782660100823, 15.131815369405041] + min_pitch_limit: 0.0 + max_pitch_limit: 89.95437383553924 + max_pitch_rate: 1.9996227050065731 + lpf_frequency: 1.0081 + lpf_damping: 0.7 + region2_k: 418673.00518505543 + gen_torque_kp: -3782257.6434363592 + gen_torque_ki: -471172.92459274357 + pitch_kp: + pitch_angle: [3.666929888837269, 5.213915935690491, 6.359831525952138, 7.39115555718762, 8.307888029396937, 9.167324722093172, 9.969465635276324, 10.714310768946394, 11.401860123103383, 12.08940947726037, 12.719663051904275, 13.349916626548183, 13.980170201192086, 14.55312799632291, 15.126085791453734, 15.699043586584558, 16.272001381715377, 16.78766339733312, 17.36062119246394, 17.876283208081684, 18.391945223699427, 18.907607239317166, 19.365973475421825, 19.881635491039564, 20.340001727144223, 20.855663742761966, 21.314029978866625, 21.772396214971284, 22.230762451075943, 22.689128687180602] + kp: [-6.941999999999999, -5.9862, -5.202, -4.545, -3.9876, -3.5088, -3.0917999999999997, -2.7264, -2.4036, -2.1162, -1.8581999999999996, -1.626, -1.4154, -1.224, -1.0488, -0.8879999999999999, -0.7404, -0.6035999999999999, -0.4768799999999999, -0.35916, -0.24954, -0.14712, -0.051269999999999996, 0.038646, 0.12317999999999998, 0.20273999999999998, 0.2778, 0.34872, 0.41585999999999995, 0.47945999999999994] + pitch_ki: + pitch_angle: [3.666929888837269, 5.213915935690491, 6.359831525952138, 7.39115555718762, 8.307888029396937, 9.167324722093172, 9.969465635276324, 10.714310768946394, 11.401860123103383, 12.08940947726037, 12.719663051904275, 13.349916626548183, 13.980170201192086, 14.55312799632291, 15.126085791453734, 15.699043586584558, 16.272001381715377, 16.78766339733312, 17.36062119246394, 17.876283208081684, 18.391945223699427, 18.907607239317166, 19.365973475421825, 19.881635491039564, 20.340001727144223, 20.855663742761966, 21.314029978866625, 21.772396214971284, 22.230762451075943, 22.689128687180602] + ki: [-0.7242, -0.6539999999999999, -0.5958, -0.54726, -0.50598, -0.47051999999999994, -0.43967999999999996, -0.41267999999999994, -0.38874, -0.3675, -0.34841999999999995, -0.33119999999999994, -0.31565999999999994, -0.30144, -0.28847999999999996, -0.2766, -0.26567999999999997, -0.25554, -0.24617999999999998, -0.23747999999999994, -0.22938, -0.22175999999999998, -0.21467999999999995, -0.20801999999999998, -0.20178, -0.19589999999999996, -0.19032, -0.1851, -0.18012, -0.17543999999999998] + constant_power: 0.0 + gen_actuator_frequency: 10000.0 + gen_actuator_damping: 1.0 + pitch_actuator_frequency: 3.14 + pitch_actuator_damping: 0.707 + yaw_rate: 0.49847328176381617 diff --git a/WT_Ontology/IEA-15-240-RWT_VolturnUS-S.yaml b/WT_Ontology/IEA-15-240-RWT_VolturnUS-S.yaml index ce296c7f..932320a4 100644 --- a/WT_Ontology/IEA-15-240-RWT_VolturnUS-S.yaml +++ b/WT_Ontology/IEA-15-240-RWT_VolturnUS-S.yaml @@ -1340,17 +1340,34 @@ materials: unit_cost: 1.0 orth: 0.0 control: - supervisory: - Vin: 3.0 - Vout: 25.0 - maxTS: 95.0 - pitch: - ps_percent: 1.0 - max_pitch: 89.95437383553924 - max_pitch_rate: 2.0 - min_pitch: 0.0 - torque: - tsr: 9.0 - max_torque_rate: 1500000.0 - VS_minspd: 4.999999999999999 - VS_maxspd: 7.559999999999999 + min_rotor_speed: 5.000011692174984 + rated_rotor_speed: 7.559987120819503 + rated_power: 15000000.0 + max_rotor_speed: 9.072022742169745 + max_gen_torque: 21765400.0 + max_torque_rate: 4500000.0 + fine_pitch: 0.0 + optimal_tsr: 9.0 + min_pitch_table: + wind_speed: [3.0, 3.2669, 3.5338, 3.8007, 4.0676, 4.3345, 4.6014, 4.8683, 5.1352, 5.4021, 5.669, 5.9359, 6.2028, 6.4697, 6.7366, 7.0034, 7.2703, 7.5372, 7.8041, 8.071, 8.3379, 8.6048, 8.8717, 9.1386, 9.4055, 9.6724, 9.9393, 10.2062, 10.4731, 10.74, 11.2153, 11.6907, 12.166, 12.6413, 13.1167, 13.592, 14.0673, 14.5427, 15.018, 15.4933, 15.9687, 16.444, 16.9193, 17.3947, 17.87, 18.3453, 18.8207, 19.296, 19.7713, 20.2467, 20.722, 21.1973, 21.6727, 22.148, 22.6233, 23.0987, 23.574, 24.0493, 24.5247, 25.0] + min_pitch: [3.437746770784939, 3.437746770784939, 3.437746770784939, 3.437746770784939, 3.437746770784939, 3.437746770784939, 3.2200228086352265, 2.985110112631589, 2.7043607930174858, 2.3777748497929165, 2.034000172714422, 1.6615776058793874, 1.2662367272391195, 0.8708958485988513, 0.4640958140559668, 0.057295779513082325, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.3495042550298022, 1.1745634800181877, 1.902219879834333, 2.532473454478239, 3.036676314193363, 3.655470732934652, 4.2456172619194, 4.807115901147607, 5.357155384473197, 5.890006133944863, 6.4056681495626036, 6.921330165180345, 7.419803446944161, 7.918276728707976, 8.399561276617868, 8.88084582452776, 9.356400794486344, 9.826226186493619, 10.290322000549585, 10.754417814605553, 11.207054472758902, 11.659691130912252, 12.112327789065603, 12.553505291316336, 13.000412371518378, 13.435860295817804, 13.87130822011723, 14.301026566465348, 14.736474490764772, 15.160463259161583, 15.584452027558394, 16.01417037390651, 16.43242956435201, 16.85068875479751, 17.263218367291703] + min_pitch_limit: 0.0 + max_pitch_limit: 89.95437383553924 + max_pitch_rate: 1.9996227050065731 + lpf_frequency: 1.0081 + lpf_damping: 0.7 + region2_k: 418673.00518505543 + gen_torque_kp: -3741699.6822785153 + gen_torque_ki: -471172.92459274357 + pitch_kp: + pitch_angle: [3.552338329811104, 5.099324376664327, 6.245239966925973, 7.276563998161455, 8.193296470370772, 9.052733163067007, 9.854874076250159, 10.599719209920229, 11.287268564077218, 11.974817918234205, 12.60507149287811, 13.235325067522018, 13.865578642165922, 14.438536437296746, 15.068790011940651, 15.584452027558394, 16.157409822689214, 16.730367617820036, 17.24602963343778, 17.76169164905552, 18.27735366467326, 18.793015680291003, 19.251381916395662, 19.7670439320134, 20.22541016811806, 20.7410721837358, 21.199438419840458, 21.657804655945117, 22.116170892049777, 22.574537128154436] + kp: [-6.857999999999999, -5.9262, -5.1588, -4.514999999999999, -3.9672, -3.4955999999999996, -3.0846, -2.724, -2.4048, -2.1203999999999996, -1.8648, -1.6343999999999996, -1.4256, -1.2353999999999998, -1.0614, -0.9017999999999998, -0.7547999999999999, -0.6185999999999999, -0.49284, -0.37566, -0.26639999999999997, -0.16440000000000002, -0.06881999999999999, 0.020819999999999998, 0.10511999999999999, 0.1845, 0.25937999999999994, 0.33018, 0.39719999999999994, 0.46074] + pitch_ki: + pitch_angle: [3.552338329811104, 5.099324376664327, 6.245239966925973, 7.276563998161455, 8.193296470370772, 9.052733163067007, 9.854874076250159, 10.599719209920229, 11.287268564077218, 11.974817918234205, 12.60507149287811, 13.235325067522018, 13.865578642165922, 14.438536437296746, 15.068790011940651, 15.584452027558394, 16.157409822689214, 16.730367617820036, 17.24602963343778, 17.76169164905552, 18.27735366467326, 18.793015680291003, 19.251381916395662, 19.7670439320134, 20.22541016811806, 20.7410721837358, 21.199438419840458, 21.657804655945117, 22.116170892049777, 22.574537128154436] + ki: [-0.7175999999999999, -0.6486, -0.5917199999999999, -0.5440799999999999, -0.50352, -0.4686, -0.4382399999999999, -0.41153999999999996, -0.38789999999999997, -0.36684, -0.34793999999999997, -0.3308999999999999, -0.31548, -0.30138, -0.28854, -0.27671999999999997, -0.26586000000000004, -0.25578, -0.24642, -0.23777999999999996, -0.22968, -0.22211999999999996, -0.21509999999999999, -0.20844, -0.2022, -0.19632, -0.1908, -0.18551999999999996, -0.18059999999999998, -0.17586] + constant_power: 0.0 + gen_actuator_frequency: 10000.0 + gen_actuator_damping: 1.0 + pitch_actuator_frequency: 3.14 + pitch_actuator_damping: 0.707 + yaw_rate: 0.49847328176381617 diff --git a/tests/environment.yml b/tests/environment.yml index f94212e3..d5584c57 100644 --- a/tests/environment.yml +++ b/tests/environment.yml @@ -37,10 +37,12 @@ dependencies: - sshtunnel - simpy - tomli - - wisdem>=4.0 + - wisdem>=4.1 - xlrd - xlwt - pip: - wetb - orbit-nrel>=1.2.1 - - windIO + - windIO>=2.1.1 + - wombat +