From f4e0b849db5c3baad499500e18e6533f5333aa24 Mon Sep 17 00:00:00 2001 From: Garrett Barter Date: Wed, 24 Apr 2024 05:32:55 -0600 Subject: [PATCH 1/3] caught a couple of updates that had not been propagated to the yaml files- the rotor diamter based on blade projection length and the update to the drivetrain windio keywords --- Documentation/IEA-15-240-RWT_tabular.xlsx | Bin 170954 -> 175513 bytes WISDEM/run_model.py | 1 + WT_Ontology/IEA-15-240-RWT.yaml | 8 +++++--- WT_Ontology/IEA-15-240-RWT_VolturnUS-S.yaml | 8 +++++--- 4 files changed, 11 insertions(+), 6 deletions(-) diff --git a/Documentation/IEA-15-240-RWT_tabular.xlsx b/Documentation/IEA-15-240-RWT_tabular.xlsx index 6e77a783a9fc4243f565348e77dac578632b6f2a..bb3300195c92ed167594956c4c97f211acfad038 100644 GIT binary patch delta 69408 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 delta 65029 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 H3#%1lt}=Uca= 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⁢O_43?(S}Z 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 Date: Wed, 24 Apr 2024 12:06:16 -0600 Subject: [PATCH 2/3] updated OF files per changes to drivetrain props --- Documentation/IEA-15-240-RWT_tabular.xlsx | Bin 175513 -> 175886 bytes .../IEA-15-240-RWT-Monopile_ElastoDyn.dat | 16 ++++++++-------- .../IEA-15-240-RWT-UMaineSemi_ElastoDyn.dat | 18 +++++++++--------- 3 files changed, 17 insertions(+), 17 deletions(-) diff --git a/Documentation/IEA-15-240-RWT_tabular.xlsx b/Documentation/IEA-15-240-RWT_tabular.xlsx index bb3300195c92ed167594956c4c97f211acfad038..2b1e7a4007fff05e899bd1b062b7ce089dc6787f 100644 GIT binary patch delta 7900 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 delta 7451 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 CTT{&d diff --git a/OpenFAST/IEA-15-240-RWT-Monopile/IEA-15-240-RWT-Monopile_ElastoDyn.dat b/OpenFAST/IEA-15-240-RWT-Monopile/IEA-15-240-RWT-Monopile_ElastoDyn.dat index 45d54b2f..fb830d04 100644 --- a/OpenFAST/IEA-15-240-RWT-Monopile/IEA-15-240-RWT-Monopile_ElastoDyn.dat +++ b/OpenFAST/IEA-15-240-RWT-Monopile/IEA-15-240-RWT-Monopile_ElastoDyn.dat @@ -54,9 +54,9 @@ True PtfmYDOF - Platform yaw rotation DOF (flag) -12.097571763912535 OverHang - Distance from yaw axis to rotor apex [3 blades] or teeter pin [2 blades] (meters) 0.0 ShftGagL - Distance from rotor apex [3 blades] or teeter pin [2 blades] to shaft strain gages [positive for upwind rotors] (meters) -6.0 ShftTilt - Rotor shaft tilt angle (degrees) --4.720 NacCMxn - Downwind distance from the tower-top to the nacelle CM (meters) +-5.125 NacCMxn - Downwind distance from the tower-top to the nacelle CM (meters) 0.0 NacCMyn - Lateral distance from the tower-top to the nacelle CM (meters) -4.275 NacCMzn - Vertical distance from the tower-top to the nacelle CM (meters) +4.315 NacCMzn - Vertical distance from the tower-top to the nacelle CM (meters) 0.0 NcIMUxn - Downwind distance from the tower-top to the nacelle IMU (meters) 0.0 NcIMUyn - Lateral distance from the tower-top to the nacelle IMU (meters) 0.0 NcIMUzn - Vertical distance from the tower-top to the nacelle IMU (meters) @@ -71,11 +71,11 @@ True PtfmYDOF - Platform yaw rotation DOF (flag) 0.0 TipMass(1) - Tip-brake mass, blade 1 (kg) 0.0 TipMass(2) - Tip-brake mass, blade 2 (kg) 0.0 TipMass(3) - Tip-brake mass, blade 3 (kg) [unused for 2 blades] -69360 HubMass - Hub mass (kg) -973520 HubIner - Hub inertia about rotor axis [3 blades] or teeter axis [2 blades] (kg m^2) +69131 HubMass - Hub mass (kg) +969952 HubIner - Hub inertia about rotor axis [3 blades] or teeter axis [2 blades] (kg m^2) 1836784 GenIner - Generator inertia about HSS (kg m^2) -646895 NacMass - Nacelle mass (kg) -29600436 NacYIner - Nacelle inertia about yaw axis (kg m^2) +644857 NacMass - Nacelle mass (kg) +27485641 NacYIner - Nacelle inertia about yaw axis (kg m^2) 28280 YawBrMass - Yaw bearing mass (kg) 0.0 PtfmMass - Platform mass (kg) 0.0 PtfmRIner - Platform inertia for roll tilt rotation about the platform CM (kg m^2) @@ -98,8 +98,8 @@ True PtfmYDOF - Platform yaw rotation DOF (flag) ---------------------- DRIVETRAIN ---------------------------------------------- 100.0 GBoxEff - Gearbox efficiency (%) 1.0 GBRatio - Gearbox ratio (-) -51140939610.0 DTTorSpr - Drivetrain torsional spring (N-m/rad) -42676833.0 DTTorDmp - Drivetrain torsional damper (N-m/(rad/s)) +69737644900.0 DTTorSpr - Drivetrain torsional spring (N-m/rad) +49418406.0 DTTorDmp - Drivetrain torsional damper (N-m/(rad/s)) ---------------------- FURLING ------------------------------------------------- False Furling - Read in additional model properties for furling turbine (flag) [must currently be FALSE) "unused" FurlFile - Name of file containing furling properties (quoted string) [unused when Furling=False] diff --git a/OpenFAST/IEA-15-240-RWT-UMaineSemi/IEA-15-240-RWT-UMaineSemi_ElastoDyn.dat b/OpenFAST/IEA-15-240-RWT-UMaineSemi/IEA-15-240-RWT-UMaineSemi_ElastoDyn.dat index 41c34453..91dc125e 100644 --- a/OpenFAST/IEA-15-240-RWT-UMaineSemi/IEA-15-240-RWT-UMaineSemi_ElastoDyn.dat +++ b/OpenFAST/IEA-15-240-RWT-UMaineSemi/IEA-15-240-RWT-UMaineSemi_ElastoDyn.dat @@ -54,9 +54,9 @@ True PtfmYDOF - Platform yaw rotation DOF (flag) -12.098 OverHang - Distance from yaw axis to rotor apex [3 blades] or teeter pin [2 blades] (meters) 0.0 ShftGagL - Distance from rotor apex [3 blades] or teeter pin [2 blades] to shaft strain gages [positive for upwind rotors] (meters) -6.0 ShftTilt - Rotor shaft tilt angle (degrees) - -4.7201 NacCMxn - Downwind distance from the tower-top to the nacelle CM (meters) + -5.125 NacCMxn - Downwind distance from the tower-top to the nacelle CM (meters) 0.0 NacCMyn - Lateral distance from the tower-top to the nacelle CM (meters) - 4.2751 NacCMzn - Vertical distance from the tower-top to the nacelle CM (meters) + 4.315 NacCMzn - Vertical distance from the tower-top to the nacelle CM (meters) 0.0 NcIMUxn - Downwind distance from the tower-top to the nacelle IMU (meters) 0.0 NcIMUyn - Lateral distance from the tower-top to the nacelle IMU (meters) 0.0 NcIMUzn - Vertical distance from the tower-top to the nacelle IMU (meters) @@ -71,11 +71,11 @@ True PtfmYDOF - Platform yaw rotation DOF (flag) 0 TipMass(1) - Tip-brake mass, blade 1 (kg) 0 TipMass(2) - Tip-brake mass, blade 2 (kg) 0 TipMass(3) - Tip-brake mass, blade 3 (kg) [unused for 2 blades] - 69360 HubMass - Hub mass (kg) - 973520 HubIner - Hub inertia about rotor axis [3 blades] or teeter axis [2 blades] (kg m^2) + 69131 HubMass - Hub mass (kg) + 969952 HubIner - Hub inertia about rotor axis [3 blades] or teeter axis [2 blades] (kg m^2) 1836784 GenIner - Generator inertia about HSS (kg m^2) - 646895 NacMass - Nacelle mass (kg) - 24240914 NacYIner - Nacelle inertia about yaw axis (kg m^2) + 644857 NacMass - Nacelle mass (kg) + 27485641 NacYIner - Nacelle inertia about yaw axis (kg m^2) 28280 YawBrMass - Yaw bearing mass (kg) 1.7838E+07 PtfmMass - Platform mass (kg) 1.2507E+10 PtfmRIner - Platform inertia for roll tilt rotation about the platform CM (kg m^2) @@ -98,8 +98,8 @@ True PtfmYDOF - Platform yaw rotation DOF (flag) ---------------------- DRIVETRAIN ---------------------------------------------- 100 GBoxEff - Gearbox efficiency (%) 1 GBRatio - Gearbox ratio (-) -51140939610 DTTorSpr - Drivetrain torsional spring (N-m/rad) - 42676833 DTTorDmp - Drivetrain torsional damper (N-m/(rad/s)) +69737644900 DTTorSpr - Drivetrain torsional spring (N-m/rad) + 49418406 DTTorDmp - Drivetrain torsional damper (N-m/(rad/s)) ---------------------- FURLING ------------------------------------------------- False Furling - Read in additional model properties for furling turbine (flag) [must currently be FALSE) "unused" FurlFile - Name of file containing furling properties (quoted string) [unused when Furling=False] @@ -243,4 +243,4 @@ END of input file (the word "END" must appear in the first 3 columns of this las "TDy" - local edgewise (translational) deflection (relative to the undeflected position) of node "RDz" END of input file (the word "END" must appear in the first 3 columns of this last OutList line) ---------------------------------------------------------------------------------------- \ No newline at end of file +--------------------------------------------------------------------------------------- From 90af1046de07af2df7b7ca713174b03462669a51 Mon Sep 17 00:00:00 2001 From: Garrett Barter Date: Wed, 24 Apr 2024 14:15:22 -0600 Subject: [PATCH 3/3] update OF and HAWC2 files with changes to drivetrain properties --- Documentation/IEA-15-240-RWT_tabular.xlsx | Bin 175886 -> 173058 bytes .../IEA_15MW_RWT_WTG_bodies_noFPM.htc | 6 +- .../IEA-15-240-RWT-Monopile_ElastoDyn.dat | 4 +- .../IEA-15-240-RWT-UMaineSemi_ElastoDyn.dat | 4 +- tests/test_hawc2_openfast_rnaprops.py | 105 ++++----- tests/test_monopile.py | 204 +++++++++--------- tests/test_tower.py | 119 +++++----- tests/test_xlsx_openfast.py | 14 +- 8 files changed, 234 insertions(+), 222 deletions(-) diff --git a/Documentation/IEA-15-240-RWT_tabular.xlsx b/Documentation/IEA-15-240-RWT_tabular.xlsx index 2b1e7a4007fff05e899bd1b062b7ce089dc6787f..42e05db885df7508294ea315fde39b98f0fb07d5 100644 GIT binary patch delta 6556 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 T2Kbo=o67|-V#pK%kmCOzYAzPC diff --git a/HAWC2/IEA-15-240-RWT/IEA_15MW_RWT_WTG_bodies_noFPM.htc b/HAWC2/IEA-15-240-RWT/IEA_15MW_RWT_WTG_bodies_noFPM.htc index a67c4ef4..713f826a 100644 --- a/HAWC2/IEA-15-240-RWT/IEA_15MW_RWT_WTG_bodies_noFPM.htc +++ b/HAWC2/IEA-15-240-RWT/IEA_15MW_RWT_WTG_bodies_noFPM.htc @@ -9,8 +9,8 @@ nbodies 1 ; node_distribution c2_def ; damping_posdef 0.0 0.0 0.0 7.00E-04 7.00E-04 7.00E-04 ; dummy values (stiff body) - concentrated_mass 1 0.00 0.00 0.00 28280 0.00 0.00 0.00 ; yaw system - concentrated_mass 1 0.00 -4.720 -4.275 646895 7.674778e+06 1.055686e+07 8.127143e+06 ; nacelle: NR+R mass; NR inertia + concentrated_mass 1 0.00 0.00 0.00 28249 0.00 0.00 0.00 ; yaw system + concentrated_mass 1 0.00 -5.125 -4.315 644857 7.674778e+06 1.055686e+07 8.127143e+06 ; nacelle: NR+R mass; NR inertia begin timoschenko_input; filename ../IEA-15-240-RWT/IEA_15MW_RWT_Dummy_st.dat ; set 1 1 ; @@ -46,7 +46,7 @@ node_distribution c2_def ; damping_posdef 0.0 0.0 0.0 4.65E-04 4.65E-04 5.971406e-04 ; Kx=Ky=dummy; Kz tuned to 5% critical for free-free Ig, Ir concentrated_mass 1 0.0 0.0 0.0 0.0 0.0 0.0 1836784 ; generator inertia about shaft - concentrated_mass 2 0.0 0.0 0.0 69360 0.0 0.0 973520 ; hub mass/inertia; + concentrated_mass 2 0.0 0.0 0.0 69131 0.0 0.0 969952 ; hub mass/inertia; begin timoschenko_input; filename ../IEA-15-240-RWT/IEA_15MW_RWT_Shaft_st.dat ; set 1 1 ; diff --git a/OpenFAST/IEA-15-240-RWT-Monopile/IEA-15-240-RWT-Monopile_ElastoDyn.dat b/OpenFAST/IEA-15-240-RWT-Monopile/IEA-15-240-RWT-Monopile_ElastoDyn.dat index fb830d04..6c7ab265 100644 --- a/OpenFAST/IEA-15-240-RWT-Monopile/IEA-15-240-RWT-Monopile_ElastoDyn.dat +++ b/OpenFAST/IEA-15-240-RWT-Monopile/IEA-15-240-RWT-Monopile_ElastoDyn.dat @@ -75,8 +75,8 @@ True PtfmYDOF - Platform yaw rotation DOF (flag) 969952 HubIner - Hub inertia about rotor axis [3 blades] or teeter axis [2 blades] (kg m^2) 1836784 GenIner - Generator inertia about HSS (kg m^2) 644857 NacMass - Nacelle mass (kg) -27485641 NacYIner - Nacelle inertia about yaw axis (kg m^2) -28280 YawBrMass - Yaw bearing mass (kg) +32929058 NacYIner - Nacelle inertia about yaw axis (kg m^2) +28249 YawBrMass - Yaw bearing mass (kg) 0.0 PtfmMass - Platform mass (kg) 0.0 PtfmRIner - Platform inertia for roll tilt rotation about the platform CM (kg m^2) 0.0 PtfmPIner - Platform inertia for pitch tilt rotation about the platform CM (kg m^2) diff --git a/OpenFAST/IEA-15-240-RWT-UMaineSemi/IEA-15-240-RWT-UMaineSemi_ElastoDyn.dat b/OpenFAST/IEA-15-240-RWT-UMaineSemi/IEA-15-240-RWT-UMaineSemi_ElastoDyn.dat index 91dc125e..2c755929 100644 --- a/OpenFAST/IEA-15-240-RWT-UMaineSemi/IEA-15-240-RWT-UMaineSemi_ElastoDyn.dat +++ b/OpenFAST/IEA-15-240-RWT-UMaineSemi/IEA-15-240-RWT-UMaineSemi_ElastoDyn.dat @@ -75,8 +75,8 @@ True PtfmYDOF - Platform yaw rotation DOF (flag) 969952 HubIner - Hub inertia about rotor axis [3 blades] or teeter axis [2 blades] (kg m^2) 1836784 GenIner - Generator inertia about HSS (kg m^2) 644857 NacMass - Nacelle mass (kg) - 27485641 NacYIner - Nacelle inertia about yaw axis (kg m^2) - 28280 YawBrMass - Yaw bearing mass (kg) + 32929058 NacYIner - Nacelle inertia about yaw axis (kg m^2) + 28249 YawBrMass - Yaw bearing mass (kg) 1.7838E+07 PtfmMass - Platform mass (kg) 1.2507E+10 PtfmRIner - Platform inertia for roll tilt rotation about the platform CM (kg m^2) 1.2507E+10 PtfmPIner - Platform inertia for pitch tilt rotation about the platform CM (kg m^2) diff --git a/tests/test_hawc2_openfast_rnaprops.py b/tests/test_hawc2_openfast_rnaprops.py index 6f644d6d..56b38725 100644 --- a/tests/test_hawc2_openfast_rnaprops.py +++ b/tests/test_hawc2_openfast_rnaprops.py @@ -11,56 +11,65 @@ import _test_functions as tstf from _test_functions import FROOT +import unittest +class TestConsistency(unittest.TestCase): -def test_of_h2_onshore(): - """Check RNA properties in OF Monopile model versus H2 onshore, UMaine, monopile - """ + def test_of_h2_onshore(self): + """Check RNA properties in OF Monopile model versus H2 onshore, UMaine, monopile + """ - ed_path = FROOT / 'OpenFAST'/ 'IEA-15-240-RWT-Monopile'/ 'IEA-15-240-RWT-Monopile_ElastoDyn.dat' - h2_dir = FROOT/ 'HAWC2'/ 'IEA-15-240-RWT-Onshore' - h2_path = h2_dir/ 'htc'/ 'IEA_15MW_RWT_Onshore.htc' + ed_path = FROOT / 'OpenFAST'/ 'IEA-15-240-RWT-Monopile'/ 'IEA-15-240-RWT-Monopile_ElastoDyn.dat' + h2_dir = FROOT/ 'HAWC2'/ 'IEA-15-240-RWT-Onshore' + h2_path = h2_dir/ 'htc'/ 'IEA_15MW_RWT_Onshore.htc' - h2_dir = h2_dir.as_posix() # wetb requires strings, not Path objects... - h2_path = h2_path.as_posix() - - ed_dict = weio.read(str(ed_path)) - htc = HTCFile(h2_path, modelpath=h2_dir) - - htc_struc = htc.new_htc_structure - - # tower - z_towerbottom = -htc_struc.orientation.base.inipos[2] # location of tower bottom in space - twrht_h2 = tstf.get_body_length(htc_struc, 'tower') + z_towerbottom - assert np.isclose(ed_dict['TowerHt'], twrht_h2) # tower height - - # nacelle and yaw bearing masses and inertias - assert np.isclose(ed_dict['YawBrMass'], htc_struc.get_subsection_by_name('towertop').concentrated_mass__1.values[4]) # yaw bearing mass - assert np.isclose(ed_dict['NacCMxn'], htc_struc.get_subsection_by_name('towertop').concentrated_mass__2.values[2], atol=1e-3) # nacelle cm - assert np.isclose(ed_dict['NacCMzn'], -htc_struc.get_subsection_by_name('towertop').concentrated_mass__2.values[3], atol=1e-3) # nacelle cm - assert np.isclose(ed_dict['NacMass'], htc_struc.get_subsection_by_name('towertop').concentrated_mass__2[4]) # nacelle mass - - # generator and hub inertia - assert np.isclose(ed_dict['GenIner'], htc_struc.get_subsection_by_name('shaft').concentrated_mass__1.values[-1]) # generator inertia - assert np.isclose(ed_dict['HubMass'], htc_struc.get_subsection_by_name('shaft').concentrated_mass__2.values[4]) # hub mass - assert np.isclose(ed_dict['HubIner'], htc_struc.get_subsection_by_name('shaft').concentrated_mass__2.values[-1]) # hub inertia - - # hub radius, shaft tilt and coning - assert np.isclose(ed_dict['HubRad'], htc_struc.get_subsection_by_name('hub1').c2_def.sec__2.values[-2]) # hub radius - assert np.isclose(-ed_dict['ShftTilt'], htc_struc.orientation.relative__2.mbdy2_eulerang__2.values[0]) # tilt + h2_dir = h2_dir.as_posix() # wetb requires strings, not Path objects... + h2_path = h2_path.as_posix() + + ed_dict = weio.read(str(ed_path)) + htc = HTCFile(h2_path, modelpath=h2_dir) + + htc_struc = htc.new_htc_structure + + # tower + z_towerbottom = -htc_struc.orientation.base.inipos[2] # location of tower bottom in space + twrht_h2 = tstf.get_body_length(htc_struc, 'tower') + z_towerbottom + np.testing.assert_allclose(ed_dict['TowerHt'], twrht_h2) # tower height + + # nacelle and yaw bearing masses and inertias + np.testing.assert_allclose(ed_dict['YawBrMass'], htc_struc.get_subsection_by_name('towertop').concentrated_mass__1.values[4], rtol=2e-3) # yaw bearing mass + np.testing.assert_allclose(ed_dict['NacCMxn'], htc_struc.get_subsection_by_name('towertop').concentrated_mass__2.values[2], atol=1e-3) # nacelle cm + np.testing.assert_allclose(ed_dict['NacCMzn'], -htc_struc.get_subsection_by_name('towertop').concentrated_mass__2.values[3], atol=1e-3) # nacelle cm + np.testing.assert_allclose(ed_dict['NacMass'], htc_struc.get_subsection_by_name('towertop').concentrated_mass__2[4]) # nacelle mass + + # generator and hub inertia + np.testing.assert_allclose(ed_dict['GenIner'], htc_struc.get_subsection_by_name('shaft').concentrated_mass__1.values[-1]) # generator inertia + np.testing.assert_allclose(ed_dict['HubMass'], htc_struc.get_subsection_by_name('shaft').concentrated_mass__2.values[4]) # hub mass + np.testing.assert_allclose(ed_dict['HubIner'], htc_struc.get_subsection_by_name('shaft').concentrated_mass__2.values[-1]) # hub inertia + + # hub radius, shaft tilt and coning + np.testing.assert_allclose(ed_dict['HubRad'], htc_struc.get_subsection_by_name('hub1').c2_def.sec__2.values[-2]) # hub radius + np.testing.assert_allclose(-ed_dict['ShftTilt'], htc_struc.orientation.relative__2.mbdy2_eulerang__2.values[0]) # tilt + + # hub height + tilt = 6 * np.pi / 180 + z_hub = 150 + ttop_length = tstf.get_body_length(htc_struc, 'towertop') + conn_length = tstf.get_body_length(htc_struc, 'connector') + shaft_length = tstf.get_body_length(htc_struc, 'shaft') + z_hub_h2 = twrht_h2 + ttop_length + conn_length*np.sin(tilt) + shaft_length*np.sin(tilt) + z_hub_of = ed_dict['TowerHt'] + ed_dict['Twr2Shft'] + -ed_dict['OverHang']*np.tan(tilt) + np.testing.assert_allclose(z_hub_h2, z_hub, atol=1e-2) + np.testing.assert_allclose(z_hub_of, z_hub, atol=1e-2) + + # overhang distance (measured along tilted axis) + overhang_h2 = shaft_length + conn_length + overhang_of = -ed_dict['OverHang'] + assert overhang_h2 == overhang_of + + + +if __name__ == "__main__": + unittest.main() - # hub height - tilt = 6 * np.pi / 180 - z_hub = 150 - ttop_length = tstf.get_body_length(htc_struc, 'towertop') - conn_length = tstf.get_body_length(htc_struc, 'connector') - shaft_length = tstf.get_body_length(htc_struc, 'shaft') - z_hub_h2 = twrht_h2 + ttop_length + conn_length*np.sin(tilt) + shaft_length*np.sin(tilt) - z_hub_of = ed_dict['TowerHt'] + ed_dict['Twr2Shft'] + -ed_dict['OverHang']*np.tan(tilt) - assert np.isclose(z_hub_h2, z_hub, atol=1e-2) - assert np.isclose(z_hub_of, z_hub, atol=1e-2) - - # overhang distance (measured along tilted axis) - overhang_h2 = shaft_length + conn_length - overhang_of = -ed_dict['OverHang'] - assert overhang_h2 == overhang_of + np.testing.assert_allclose diff --git a/tests/test_monopile.py b/tests/test_monopile.py index 7ad22f51..f94e7e96 100644 --- a/tests/test_monopile.py +++ b/tests/test_monopile.py @@ -11,102 +11,108 @@ import _test_functions as tstf from _test_functions import FROOT - - -def test_monopile_matches(): - """1. Design in yaml-Excel match, 2. distprops in yaml/excel/hawc/openfast match.""" - - # paths - yaml_path = FROOT / 'WT_Ontology/IEA-15-240-RWT.yaml' # yaml file with data - h2_embmon_path = FROOT / 'HAWC2/IEA-15-240-RWT-Monopile/data/IEA_15MW_RWT_Embeddedmonopile_st.dat' # embedded monopile st file - h2_mon_path = FROOT / 'HAWC2/IEA-15-240-RWT-Monopile/data/IEA_15MW_RWT_Monopile_st.dat' # monopile st file - ex_path = FROOT / 'Documentation/IEA-15-240-RWT_tabular.xlsx' # pth to excel file - sd_path = FROOT / 'OpenFAST/IEA-15-240-RWT-Monopile/IEA-15-240-RWT-Monopile_SubDyn.dat' # subdyn file - - # load yaml values, calculate distributed properties - yamldata = tstf.load_yaml(yaml_path) - twr_stn_yaml, out_diam_yaml, thick_yaml, E, G, rho, outfit = tstf.load_body_properties('monopile', yamldata) - mpl_yaml = tstf.calculate_mpl(out_diam_yaml, thick_yaml, rho, outfitting_factor=outfit) - EI_yaml = E * tstf.calculate_mom_iner(out_diam_yaml, thick_yaml) - - # load excel values, manually add -29.999 station - ex_df = tstf.load_excel_tower(ex_path, body='monopile') - ex_df.loc[1.5] = ex_df.loc[1] - ex_df.loc[1.5, 'Height [m]'] = -29.999 - ex_df = ex_df.sort_index().reset_index(drop=True) - twr_stn_ex, out_diam_ex, thick_ex, mpl_ex, EIx_ex, EIy_ex = ex_df.iloc[:, [0, 1, 2, 3, 6, 7]].to_numpy().T - thick_ex *= 1e-3 # mm to m - - # compare tower design in yaml and excel - for (arr_yaml, arr_ex) in zip([twr_stn_yaml, out_diam_yaml, thick_yaml], - [twr_stn_ex, out_diam_ex, thick_ex]): - np.testing.assert_allclose(arr_yaml, arr_ex) - - # # load the subdyn tower properties TODO: Add subdyn loading routine - mpl_sd, EI_sd, D, t = tstf.load_subdyn_distprop(sd_path, outfit) - - # load the hawc2 embedded-monopile tower properties - h2_emdmon = tstf.load_hawc2_st(h2_embmon_path) - mpl_h2_embmon = h2_emdmon[:, 1] - EIx_h2_embmon = h2_emdmon[:, 8]*h2_emdmon[:, 10] - EIy_h2_embmon = h2_emdmon[:, 8]*h2_emdmon[:, 11] - - # load the hawc2 monopile tower properties - h2_mon = tstf.load_hawc2_st(h2_mon_path) - mpl_h2_mon = h2_mon[:, 1] - EIx_h2_mon = h2_mon[:, 8]*h2_mon[:, 10] - EIy_h2_mon = h2_mon[:, 8]*h2_mon[:, 11] - - # compare mpl and bending stiffness for yaml, excel, subdyn and hawc2 - for i in range(2): - # define mask depending on embedded monopile or monopile - if i == 0: # embedded monopile - h2_vals = [mpl_h2_embmon, EIx_h2_embmon, EIy_h2_embmon] - mask = twr_stn_yaml <= -30 - sd_vals = h2_vals # SubDyn only defined above mudline - elif i == 1: # monpile - h2_vals = [mpl_h2_mon, EIx_h2_mon, EIy_h2_mon] - mask = (twr_stn_yaml >= -30) & (twr_stn_yaml <= 15) - sd_vals = [mpl_sd, EI_sd, EI_sd] - - # mask the yaml, excel, and subdyn values - yaml_vals = [mpl_yaml[mask], EI_yaml[mask], EI_yaml[mask]] - ex_vals = [mpl_ex[mask], EIx_ex[mask], EIy_ex[mask]] - - # compare the yaml, excel, subdyn, and hawc2 values - for (arr_yaml, arr_ex, arr_sd, arr_h2) in zip(yaml_vals, ex_vals, sd_vals, h2_vals): - np.testing.assert_allclose(arr_yaml, arr_ex, rtol=1e-3) # yaml versus excel - np.testing.assert_allclose(arr_yaml, arr_sd, rtol=1e-3) # yaml versus subdyn - np.testing.assert_allclose(arr_yaml, arr_h2, rtol=1e-3) # yaml versus hawc2 - -def test_monopile_mass(): - """Check that the mass of the HAWC2 monopile matches what's expected.""" - - # paths - h2_embmon_path = FROOT / 'HAWC2/IEA-15-240-RWT-Monopile/data/IEA_15MW_RWT_Embeddedmonopile_st.dat' # embedded monopile st file - h2_mon_path = FROOT / 'HAWC2/IEA-15-240-RWT-Monopile/data/IEA_15MW_RWT_Monopile_st.dat' # monopile st file - - # uncomment this section to recalculate yaml mass - # yaml_path = FROOT / 'WT_Ontology/IEA-15-240-RWT.yaml' # yaml file with data - # yamldata = tstf.load_yaml(yaml_path) - # twr_stn_yaml, out_diam_yaml, thick_yaml, E, G, rho, outfit = tstf.load_body_properties('monopile', yamldata) - # mpl_yaml = tstf.calculate_mpl(out_diam_yaml, thick_yaml, rho, outfitting_factor=outfit) - # mass_yaml = np.trapz(mpl_yaml, twr_stn_yaml) + 100e3 - mass_yaml = 1309947.640745313 # from -75 m to +15 m [kg] - - # load the hawc2 embedded-monopile tower properties - h2_emdmon = tstf.load_hawc2_st(h2_embmon_path) - twr_stn_embdmon = h2_emdmon[:, 0] - mpl_h2_embmon = h2_emdmon[:, 1] - - # load the hawc2 monopile tower properties - h2_mon = tstf.load_hawc2_st(h2_mon_path) - twr_stn_mon = h2_mon[:, 0] - mpl_h2_mon = h2_mon[:, 1] - - # calculate hawc2 mass - mass_embmon = np.trapz(mpl_h2_embmon, twr_stn_embdmon) - mass_mon = np.trapz(mpl_h2_mon, twr_stn_mon) - mass_h2 = mass_embmon + mass_mon + 100e3 - - assert abs((mass_h2 - mass_yaml) / mass_yaml) < 0.01 +import unittest + +class TestConsistency(unittest.TestCase): + def test_monopile_matches(self): + """1. Design in yaml-Excel match, 2. distprops in yaml/excel/hawc/openfast match.""" + + # paths + yaml_path = FROOT / 'WT_Ontology/IEA-15-240-RWT.yaml' # yaml file with data + h2_embmon_path = FROOT / 'HAWC2/IEA-15-240-RWT-Monopile/data/IEA_15MW_RWT_Embeddedmonopile_st.dat' # embedded monopile st file + h2_mon_path = FROOT / 'HAWC2/IEA-15-240-RWT-Monopile/data/IEA_15MW_RWT_Monopile_st.dat' # monopile st file + ex_path = FROOT / 'Documentation/IEA-15-240-RWT_tabular.xlsx' # pth to excel file + sd_path = FROOT / 'OpenFAST/IEA-15-240-RWT-Monopile/IEA-15-240-RWT-Monopile_SubDyn.dat' # subdyn file + + # load yaml values, calculate distributed properties + yamldata = tstf.load_yaml(yaml_path) + twr_stn_yaml, out_diam_yaml, thick_yaml, E, G, rho, outfit = tstf.load_body_properties('monopile', yamldata) + mpl_yaml = tstf.calculate_mpl(out_diam_yaml, thick_yaml, rho, outfitting_factor=outfit) + EI_yaml = E * tstf.calculate_mom_iner(out_diam_yaml, thick_yaml) + + # load excel values, manually add -29.999 station + ex_df = tstf.load_excel_tower(ex_path, body='monopile') + #ex_df.loc[1.5] = ex_df.loc[1] + #ex_df.loc[1.5, 'Height [m]'] = -29.999 + ex_df = ex_df.sort_index().reset_index(drop=True) + twr_stn_ex, out_diam_ex, thick_ex, mpl_ex, EIx_ex, EIy_ex = ex_df.iloc[:, [0, 1, 2, 3, 6, 7]].to_numpy().T + thick_ex *= 1e-3 # mm to m + + # compare tower design in yaml and excel + for (arr_yaml, arr_ex) in zip([twr_stn_yaml, out_diam_yaml, thick_yaml], + [twr_stn_ex, out_diam_ex, thick_ex]): + np.testing.assert_allclose(arr_yaml, arr_ex) + + # # load the subdyn tower properties TODO: Add subdyn loading routine + mpl_sd, EI_sd, D, t = tstf.load_subdyn_distprop(sd_path, outfit) + + # load the hawc2 embedded-monopile tower properties + h2_emdmon = tstf.load_hawc2_st(h2_embmon_path) + mpl_h2_embmon = h2_emdmon[:, 1] + EIx_h2_embmon = h2_emdmon[:, 8]*h2_emdmon[:, 10] + EIy_h2_embmon = h2_emdmon[:, 8]*h2_emdmon[:, 11] + + # load the hawc2 monopile tower properties + h2_mon = tstf.load_hawc2_st(h2_mon_path) + mpl_h2_mon = h2_mon[:, 1] + EIx_h2_mon = h2_mon[:, 8]*h2_mon[:, 10] + EIy_h2_mon = h2_mon[:, 8]*h2_mon[:, 11] + + # compare mpl and bending stiffness for yaml, excel, subdyn and hawc2 + for i in range(2): + # define mask depending on embedded monopile or monopile + if i == 0: # embedded monopile + h2_vals = [mpl_h2_embmon, EIx_h2_embmon, EIy_h2_embmon] + mask = twr_stn_yaml <= -30 + sd_vals = h2_vals # SubDyn only defined above mudline + elif i == 1: # monpile + h2_vals = [mpl_h2_mon, EIx_h2_mon, EIy_h2_mon] + mask = (twr_stn_yaml >= -30) & (twr_stn_yaml <= 15) + sd_vals = [mpl_sd, EI_sd, EI_sd] + + # mask the yaml, excel, and subdyn values + yaml_vals = [mpl_yaml[mask], EI_yaml[mask], EI_yaml[mask]] + ex_vals = [mpl_ex[mask], EIx_ex[mask], EIy_ex[mask]] + + # compare the yaml, excel, subdyn, and hawc2 values + for (arr_yaml, arr_ex, arr_sd, arr_h2) in zip(yaml_vals, ex_vals, sd_vals, h2_vals): + np.testing.assert_allclose(arr_yaml, arr_ex, rtol=1e-3) # yaml versus excel + np.testing.assert_allclose(arr_yaml, arr_sd, rtol=1e-3) # yaml versus subdyn + np.testing.assert_allclose(arr_yaml, arr_h2, rtol=1e-3) # yaml versus hawc2 + + def test_monopile_mass(self): + """Check that the mass of the HAWC2 monopile matches what's expected.""" + + # paths + h2_embmon_path = FROOT / 'HAWC2/IEA-15-240-RWT-Monopile/data/IEA_15MW_RWT_Embeddedmonopile_st.dat' # embedded monopile st file + h2_mon_path = FROOT / 'HAWC2/IEA-15-240-RWT-Monopile/data/IEA_15MW_RWT_Monopile_st.dat' # monopile st file + + # uncomment this section to recalculate yaml mass + # yaml_path = FROOT / 'WT_Ontology/IEA-15-240-RWT.yaml' # yaml file with data + # yamldata = tstf.load_yaml(yaml_path) + # twr_stn_yaml, out_diam_yaml, thick_yaml, E, G, rho, outfit = tstf.load_body_properties('monopile', yamldata) + # mpl_yaml = tstf.calculate_mpl(out_diam_yaml, thick_yaml, rho, outfitting_factor=outfit) + # mass_yaml = np.trapz(mpl_yaml, twr_stn_yaml) + 100e3 + mass_yaml = 1309947.640745313 # from -75 m to +15 m [kg] + + # load the hawc2 embedded-monopile tower properties + h2_emdmon = tstf.load_hawc2_st(h2_embmon_path) + twr_stn_embdmon = h2_emdmon[:, 0] + mpl_h2_embmon = h2_emdmon[:, 1] + + # load the hawc2 monopile tower properties + h2_mon = tstf.load_hawc2_st(h2_mon_path) + twr_stn_mon = h2_mon[:, 0] + mpl_h2_mon = h2_mon[:, 1] + + # calculate hawc2 mass + mass_embmon = np.trapz(mpl_h2_embmon, twr_stn_embdmon) + mass_mon = np.trapz(mpl_h2_mon, twr_stn_mon) + mass_h2 = mass_embmon + mass_mon + 100e3 + + assert abs((mass_h2 - mass_yaml) / mass_yaml) < 0.01 + + +if __name__ == "__main__": + unittest.main() + diff --git a/tests/test_tower.py b/tests/test_tower.py index 6e0da5cb..d93c182d 100644 --- a/tests/test_tower.py +++ b/tests/test_tower.py @@ -11,60 +11,69 @@ import _test_functions as tstf from _test_functions import FROOT +import unittest +class TestConsistency(unittest.TestCase): -def test_tower_matches(): - """1. Design in yaml-Excel match, 2. distprops in all 4 match.""" - - # paths - yaml_path = FROOT / 'WT_Ontology/IEA-15-240-RWT.yaml' # yaml file with data - ed_path = FROOT / 'OpenFAST/IEA-15-240-RWT-Monopile/IEA-15-240-RWT-Monopile_ElastoDyn_tower.dat' # elastodyn file - h2_ons_path = FROOT / 'HAWC2/IEA-15-240-RWT-Onshore/data/IEA_15MW_RWT_Tower_st.dat' # hawc2 onshore st file - h2_mon_path = FROOT / 'HAWC2/IEA-15-240-RWT-Monopile/data/IEA_15MW_RWT_Tower_st.dat' # hawc2 monopile st file - ex_path = FROOT / 'Documentation/IEA-15-240-RWT_tabular.xlsx' # pth to excel file - - # load yaml values, calculate distributed properties - yamldata = tstf.load_yaml(yaml_path) - twr_stn_yaml, out_diam_yaml, thick_yaml, E, G, rho, outfit = tstf.load_body_properties('tower', yamldata) - mpl_yaml = tstf.calculate_mpl(out_diam_yaml, thick_yaml, rho, outfitting_factor=outfit) - EI_yaml = E * tstf.calculate_mom_iner(out_diam_yaml, thick_yaml) - - # load excel values, update the first two stations - ex_df = tstf.load_excel_tower(ex_path) - ex_df = ex_df.iloc[1:, :] # remove 15.000 element - ex_df.iloc[0, 0] = 15. # overwrite the 15.001 to 15.0 - twr_stn_ex, out_diam_ex, thick_ex, mpl_ex, EIx_ex, EIy_ex = ex_df.iloc[:, [0, 1, 2, 3, 6, 7]].to_numpy().T - thick_ex *= 1e-3 # mm to m - - # load the elastodyn tower properties - ed_st = tstf.load_elastodyn_distprop(ed_path) - mpl_ed, EIx_ed, EIy_ed = ed_st[:, 1:4].T - - # load the hawc2 onshore tower properties - h2_ons = tstf.load_hawc2_st(h2_ons_path) - mpl_h2_ons = h2_ons[:, 1] - EIx_h2_ons = h2_ons[:, 8]*h2_ons[:, 10] - EIy_h2_ons = h2_ons[:, 8]*h2_ons[:, 11] - - # load the hawc2 monopile tower properties - h2_mon = tstf.load_hawc2_st(h2_mon_path) - mpl_h2_mon = h2_mon[:, 1] - EIx_h2_mon = h2_mon[:, 8]*h2_mon[:, 10] - EIy_h2_mon = h2_mon[:, 8]*h2_mon[:, 11] - - # compare tower design in yaml and excel - for (arr_yaml, arr_ex) in zip([twr_stn_yaml, out_diam_yaml, thick_yaml], - [twr_stn_ex, out_diam_ex, thick_ex]): - np.testing.assert_allclose(arr_yaml, arr_ex) - - # compare mpl and bending stiffness for all 4 - yaml_vals = [mpl_yaml, EI_yaml, EI_yaml] - ex_vals = [mpl_ex, EIx_ex, EIy_ex] - ed_vals = [mpl_ed, EIx_ed, EIy_ed] - h2_ons_vals = [mpl_h2_ons, EIx_h2_ons, EIy_h2_ons] - h2_mon_vals = [mpl_h2_mon, EIx_h2_mon, EIy_h2_mon] - for (arr_yaml, arr_ex, arr_ed, arr_h2_ons, arr_h2_mon) in zip(yaml_vals, ex_vals, ed_vals, h2_ons_vals, h2_mon_vals): - np.testing.assert_allclose(arr_yaml, arr_ex, rtol=1e-3) # yaml versus excel - np.testing.assert_allclose(arr_yaml, arr_ed, rtol=1e-3) # yaml versus elastodyn - np.testing.assert_allclose(arr_yaml, arr_h2_ons, rtol=1e-3) # yaml versus hawc2 onshore - np.testing.assert_allclose(arr_yaml, arr_h2_mon, rtol=1e-3) # yaml versus hawc2 monopile + def test_tower_matches(self): + """1. Design in yaml-Excel match, 2. distprops in all 4 match.""" + + # paths + yaml_path = FROOT / 'WT_Ontology/IEA-15-240-RWT.yaml' # yaml file with data + ed_path = FROOT / 'OpenFAST/IEA-15-240-RWT-Monopile/IEA-15-240-RWT-Monopile_ElastoDyn_tower.dat' # elastodyn file + h2_ons_path = FROOT / 'HAWC2/IEA-15-240-RWT-Onshore/data/IEA_15MW_RWT_Tower_st.dat' # hawc2 onshore st file + h2_mon_path = FROOT / 'HAWC2/IEA-15-240-RWT-Monopile/data/IEA_15MW_RWT_Tower_st.dat' # hawc2 monopile st file + ex_path = FROOT / 'Documentation/IEA-15-240-RWT_tabular.xlsx' # pth to excel file + + # load yaml values, calculate distributed properties + yamldata = tstf.load_yaml(yaml_path) + twr_stn_yaml, out_diam_yaml, thick_yaml, E, G, rho, outfit = tstf.load_body_properties('tower', yamldata) + mpl_yaml = tstf.calculate_mpl(out_diam_yaml, thick_yaml, rho, outfitting_factor=outfit) + EI_yaml = E * tstf.calculate_mom_iner(out_diam_yaml, thick_yaml) + + # load excel values, update the first two stations + ex_df = tstf.load_excel_tower(ex_path) + ex_df = ex_df.iloc[1:, :] # remove 15.000 element + ex_df.iloc[0, 0] = 15. # overwrite the 15.001 to 15.0 + twr_stn_ex, out_diam_ex, thick_ex, mpl_ex, EIx_ex, EIy_ex = ex_df.iloc[:, [0, 1, 2, 3, 6, 7]].to_numpy().T + thick_ex *= 1e-3 # mm to m + + # load the elastodyn tower properties + ed_st = tstf.load_elastodyn_distprop(ed_path) + mpl_ed, EIx_ed, EIy_ed = ed_st[:, 1:4].T + + # load the hawc2 onshore tower properties + h2_ons = tstf.load_hawc2_st(h2_ons_path) + mpl_h2_ons = h2_ons[:, 1] + EIx_h2_ons = h2_ons[:, 8]*h2_ons[:, 10] + EIy_h2_ons = h2_ons[:, 8]*h2_ons[:, 11] + + # load the hawc2 monopile tower properties + h2_mon = tstf.load_hawc2_st(h2_mon_path) + mpl_h2_mon = h2_mon[:, 1] + EIx_h2_mon = h2_mon[:, 8]*h2_mon[:, 10] + EIy_h2_mon = h2_mon[:, 8]*h2_mon[:, 11] + + # compare tower design in yaml and excel + for (arr_yaml, arr_ex) in zip([twr_stn_yaml, out_diam_yaml, thick_yaml], + [twr_stn_ex, out_diam_ex, thick_ex]): + np.testing.assert_allclose(arr_yaml, arr_ex) + + # compare mpl and bending stiffness for all 4 + yaml_vals = [mpl_yaml, EI_yaml, EI_yaml] + ex_vals = [mpl_ex, EIx_ex, EIy_ex] + ed_vals = [mpl_ed, EIx_ed, EIy_ed] + h2_ons_vals = [mpl_h2_ons, EIx_h2_ons, EIy_h2_ons] + h2_mon_vals = [mpl_h2_mon, EIx_h2_mon, EIy_h2_mon] + for (arr_yaml, arr_ex, arr_ed, arr_h2_ons, arr_h2_mon) in zip(yaml_vals, ex_vals, ed_vals, h2_ons_vals, h2_mon_vals): + np.testing.assert_allclose(arr_yaml, arr_ex, rtol=1e-3) # yaml versus excel + np.testing.assert_allclose(arr_yaml, arr_ed, rtol=1e-3) # yaml versus elastodyn + np.testing.assert_allclose(arr_yaml, arr_h2_ons, rtol=1e-3) # yaml versus hawc2 onshore + np.testing.assert_allclose(arr_yaml, arr_h2_mon, rtol=1e-3) # yaml versus hawc2 monopile + + + + +if __name__ == "__main__": + unittest.main() + diff --git a/tests/test_xlsx_openfast.py b/tests/test_xlsx_openfast.py index 7feee0b9..1c4a5b64 100644 --- a/tests/test_xlsx_openfast.py +++ b/tests/test_xlsx_openfast.py @@ -29,17 +29,5 @@ def test_nacelle_mass(self): self.assertGreater(ED['NacYIner'], tabdata.loc['Above_yaw','MoI_TT_zz'], 0) self.assertAlmostEqual(ED['YawBrMass'], tabdata.loc['yaw','Mass'], 0) - -def suite(): - suite = unittest.TestSuite() - suite.addTest(unittest.makeSuite(TestConsistency)) - return suite - - if __name__ == "__main__": - result = unittest.TextTestRunner().run(suite()) - - if result.wasSuccessful(): - exit(0) - else: - exit(1) + unittest.main()