def test2(self): loads = TotalLoads() loads.aeroLoads.r = np.array([1.575, 2.940033033, 5.67000020475, 8.39996676225, 13.86, 15.9074997953, 20.0025, 24.0975002047, 28.1924997953, 32.2875, 36.3825002048, 40.4774997953, 40.887, 44.5725, 52.7624997953, 56.1750332378, 58.9049997952, 61.634966967, 63.0]) loads.aeroLoads.Px = np.array([0.0, 5284.01751742, 5957.44357892, 4576.24416488, 24983.1752719, 23185.4068553, 22772.6584971, 20742.2633915, 19438.9406889, 18477.9925607, 17798.8416165, 16587.2148132, 16307.1178682, 15198.3868957, 12397.4212608, 11065.3344497, 9918.01519381, 8690.90719256, 0.0]) loads.aeroLoads.Py = np.array([-0, 3.23552756967e-13, 3.64788210501e-13, 2.80214138432e-13, -8241.69218443, -6959.18655392, -6216.4717769, -5238.79147412, -3965.60018365, -3301.4647433, -2434.41539477, -1921.45833684, -1784.90503315, -1413.83527174, -766.483242904, -565.612693573, -430.805328036, -317.225077607, -0]) loads.aeroLoads.Pz = np.array([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.0, 0.0, 0.0, 0.0, 0.0]) loads.aeroLoads.Omega = 0.0 loads.aeroLoads.pitch = 0.0 loads.aeroLoads.azimuth = 0.0 loads.r = np.array([1.575, 1.87769653853, 1.9760701684, 2.07444379828, 2.17896578003, 2.27733940991, 2.37571303979, 2.940033033, 3.07662515267, 3.17499878255, 5.67000020475, 7.0730538665, 8.39996676225, 11.8743527705, 13.86, 14.7396807928, 15.9074997953, 18.5704718586, 20.0025, 22.0688840711, 24.0975002047, 26.1698347667, 28.1924997953, 32.2875, 33.5663020632, 36.3825002048, 38.5649121314, 40.4774997953, 40.6864988295, 40.7861021746, 40.887, 42.6792760302, 44.5725, 52.7624997953, 56.1750332378, 58.9049997952, 61.634966967, 63.0]) loads.theta = np.array([13.2783, 13.2783, 13.2783, 13.2783, 13.2783, 13.2783, 13.2783, 13.2783, 13.2783, 13.2783, 13.2783, 13.2783, 13.2783, 13.2783, 13.2783, 12.9342402117, 12.4835185594, 11.4807962375, 10.9555376235, 10.2141732458, 9.50474414552, 8.79808349002, 8.12523177814, 6.8138304713, 6.42067815056, 5.58414310075, 4.96394649167, 4.44089107951, 4.38490319227, 4.35830230526, 4.3314093512, 3.86273855446, 3.38640148153, 1.57771432025, 0.953398905137, 0.504982546655, 0.0995167038088, -0.0878099]) loads.tilt = 5.0 loads.rhoA = np.array([1086.31387923, 1102.59977206, 1120.90516514, 1126.20434689, 1131.813843, 1137.07339365, 1086.16660785, 882.217532971, 894.901622709, 899.719853943, 731.023082747, 608.342843886, 542.222718332, 341.332102119, 336.952507859, 333.167490612, 330.70966121, 326.000136659, 323.264256247, 317.941928823, 310.869166296, 273.899186484, 262.928994775, 245.05275646, 236.749218603, 217.487633686, 205.107910133, 194.259756942, 167.463953528, 166.764129206, 165.810677408, 155.69651911, 146.647497247, 100.919341248, 82.5679535343, 67.796593467, 46.2981454714, 31.2090805766]) loads.totalCone = np.array([2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5]) loads.z_az = np.array([1.5375, 1.84056613137, 1.93905987557, 2.03755361977, 2.14220322299, 2.24069696719, 2.33919071139, 2.90419974, 3.04095863882, 3.13945238302, 5.637500205, 7.04226699698, 8.370800055, 11.8494282928, 13.8375, 14.7182548841, 15.887499795, 18.5537233505, 19.9875, 22.0564071286, 24.087500205, 26.16236509, 28.187499795, 32.2875, 33.5678634821, 36.387500205, 38.5725768593, 40.487499795, 40.6967540173, 40.7964789782, 40.8975, 42.6919644014, 44.5875, 52.787499795, 56.204199945, 58.937499795, 61.67080026, 63.0375]) check_gradient_unit_test(self, loads, tol=0.02) # a couple with more significant errors, but I think these are correct and that the finite differencing is just poor.
def test1(self): loads = TotalLoads() loads.aeroLoads.r = np.array([1.575, 2.940033033, 5.67000020475, 8.39996676225, 13.86, 15.9074997953, 20.0025, 24.0975002047, 28.1924997953, 32.2875, 36.3825002048, 40.4774997953, 40.887, 44.5725, 52.7624997953, 56.1750332378, 58.9049997952, 61.634966967, 63.0]) loads.aeroLoads.Px = np.array([0.0, 394.495335464, 488.816521749, 403.91526216, 3498.00637403, 3269.97046313, 4043.59672475, 4501.44255062, 5033.93200097, 5718.97291507, 6320.75067512, 7109.17757276, 8059.89616754, 8525.76224891, 8922.31561839, 8701.63574206, 8270.06152072, 7295.11706029, 0.0]) loads.aeroLoads.Py = np.array([-0, 70.1691953218, 168.88301855, 208.278564575, -1235.05334966, -1093.35619071, -1356.19151969, -1524.64653804, -1637.39245978, -1682.20028084, -1815.96503432, -1854.41936505, -2010.09761627, -1958.48701857, -1702.10190133, -1523.95755076, -1325.12331629, -935.412289309, -0]) loads.aeroLoads.Pz = np.array([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.0, 0.0, 0.0, 0.0, 0.0]) loads.aeroLoads.Omega = 12.0 loads.aeroLoads.pitch = 0.0 loads.aeroLoads.azimuth = 180.0 loads.r = np.array([1.575, 1.87769653853, 1.9760701684, 2.07444379828, 2.17896578003, 2.27733940991, 2.37571303979, 2.940033033, 3.07662515267, 3.17499878255, 5.67000020475, 7.0730538665, 8.39996676225, 11.8743527705, 13.86, 14.7396807928, 15.9074997953, 18.5704718586, 20.0025, 22.0688840711, 24.0975002047, 26.1698347667, 28.1924997953, 32.2875, 33.5663020632, 36.3825002048, 38.5649121314, 40.4774997953, 40.6864988295, 40.7861021746, 40.887, 42.6792760302, 44.5725, 52.7624997953, 56.1750332378, 58.9049997952, 61.634966967, 63.0]) loads.theta = np.array([13.2783, 13.2783, 13.2783, 13.2783, 13.2783, 13.2783, 13.2783, 13.2783, 13.2783, 13.2783, 13.2783, 13.2783, 13.2783, 13.2783, 13.2783, 12.9342402117, 12.4835185594, 11.4807962375, 10.9555376235, 10.2141732458, 9.50474414552, 8.79808349002, 8.12523177814, 6.8138304713, 6.42067815056, 5.58414310075, 4.96394649167, 4.44089107951, 4.38490319227, 4.35830230526, 4.3314093512, 3.86273855446, 3.38640148153, 1.57771432025, 0.953398905137, 0.504982546655, 0.0995167038088, -0.0878099]) loads.tilt = 5.0 loads.rhoA = np.array([1086.31387923, 1102.59977206, 1120.90516514, 1126.20434689, 1131.813843, 1137.07339365, 1086.16660785, 882.217532971, 894.901622709, 899.719853943, 731.023082747, 608.342843886, 542.222718332, 341.332102119, 336.952507859, 333.167490612, 330.70966121, 326.000136659, 323.264256247, 317.941928823, 310.869166296, 273.899186484, 262.928994775, 245.05275646, 236.749218603, 217.487633686, 205.107910133, 194.259756942, 167.463953528, 166.764129206, 165.810677408, 155.69651911, 146.647497247, 100.919341248, 82.5679535343, 67.796593467, 46.2981454714, 31.2090805766]) loads.totalCone = np.array([2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5]) loads.z_az = np.array([1.5375, 1.84056613137, 1.93905987557, 2.03755361977, 2.14220322299, 2.24069696719, 2.33919071139, 2.90419974, 3.04095863882, 3.13945238302, 5.637500205, 7.04226699698, 8.370800055, 11.8494282928, 13.8375, 14.7182548841, 15.887499795, 18.5537233505, 19.9875, 22.0564071286, 24.087500205, 26.16236509, 28.187499795, 32.2875, 33.5678634821, 36.387500205, 38.5725768593, 40.487499795, 40.6967540173, 40.7964789782, 40.8975, 42.6919644014, 44.5875, 52.787499795, 56.204199945, 58.937499795, 61.67080026, 63.0375]) check_gradient_unit_test(self, loads, tol=.003, display=False)
def test1(self): loads = TotalLoads() loads.aeroLoads.r = np.array([ 1.575, 2.940033033, 5.67000020475, 8.39996676225, 13.86, 15.9074997953, 20.0025, 24.0975002047, 28.1924997953, 32.2875, 36.3825002048, 40.4774997953, 40.887, 44.5725, 52.7624997953, 56.1750332378, 58.9049997952, 61.634966967, 63.0 ]) loads.aeroLoads.Px = np.array([ 0.0, 394.495335464, 488.816521749, 403.91526216, 3498.00637403, 3269.97046313, 4043.59672475, 4501.44255062, 5033.93200097, 5718.97291507, 6320.75067512, 7109.17757276, 8059.89616754, 8525.76224891, 8922.31561839, 8701.63574206, 8270.06152072, 7295.11706029, 0.0 ]) loads.aeroLoads.Py = np.array([ -0, 70.1691953218, 168.88301855, 208.278564575, -1235.05334966, -1093.35619071, -1356.19151969, -1524.64653804, -1637.39245978, -1682.20028084, -1815.96503432, -1854.41936505, -2010.09761627, -1958.48701857, -1702.10190133, -1523.95755076, -1325.12331629, -935.412289309, -0 ]) loads.aeroLoads.Pz = np.array([ 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.0, 0.0, 0.0, 0.0, 0.0 ]) loads.aeroLoads.Omega = 12.0 loads.aeroLoads.pitch = 0.0 loads.aeroLoads.azimuth = 180.0 loads.r = np.array([ 1.575, 1.87769653853, 1.9760701684, 2.07444379828, 2.17896578003, 2.27733940991, 2.37571303979, 2.940033033, 3.07662515267, 3.17499878255, 5.67000020475, 7.0730538665, 8.39996676225, 11.8743527705, 13.86, 14.7396807928, 15.9074997953, 18.5704718586, 20.0025, 22.0688840711, 24.0975002047, 26.1698347667, 28.1924997953, 32.2875, 33.5663020632, 36.3825002048, 38.5649121314, 40.4774997953, 40.6864988295, 40.7861021746, 40.887, 42.6792760302, 44.5725, 52.7624997953, 56.1750332378, 58.9049997952, 61.634966967, 63.0 ]) loads.theta = np.array([ 13.2783, 13.2783, 13.2783, 13.2783, 13.2783, 13.2783, 13.2783, 13.2783, 13.2783, 13.2783, 13.2783, 13.2783, 13.2783, 13.2783, 13.2783, 12.9342402117, 12.4835185594, 11.4807962375, 10.9555376235, 10.2141732458, 9.50474414552, 8.79808349002, 8.12523177814, 6.8138304713, 6.42067815056, 5.58414310075, 4.96394649167, 4.44089107951, 4.38490319227, 4.35830230526, 4.3314093512, 3.86273855446, 3.38640148153, 1.57771432025, 0.953398905137, 0.504982546655, 0.0995167038088, -0.0878099 ]) loads.tilt = 5.0 loads.rhoA = np.array([ 1086.31387923, 1102.59977206, 1120.90516514, 1126.20434689, 1131.813843, 1137.07339365, 1086.16660785, 882.217532971, 894.901622709, 899.719853943, 731.023082747, 608.342843886, 542.222718332, 341.332102119, 336.952507859, 333.167490612, 330.70966121, 326.000136659, 323.264256247, 317.941928823, 310.869166296, 273.899186484, 262.928994775, 245.05275646, 236.749218603, 217.487633686, 205.107910133, 194.259756942, 167.463953528, 166.764129206, 165.810677408, 155.69651911, 146.647497247, 100.919341248, 82.5679535343, 67.796593467, 46.2981454714, 31.2090805766 ]) loads.totalCone = np.array([ 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5 ]) loads.z_az = np.array([ 1.5375, 1.84056613137, 1.93905987557, 2.03755361977, 2.14220322299, 2.24069696719, 2.33919071139, 2.90419974, 3.04095863882, 3.13945238302, 5.637500205, 7.04226699698, 8.370800055, 11.8494282928, 13.8375, 14.7182548841, 15.887499795, 18.5537233505, 19.9875, 22.0564071286, 24.087500205, 26.16236509, 28.187499795, 32.2875, 33.5678634821, 36.387500205, 38.5725768593, 40.487499795, 40.6967540173, 40.7964789782, 40.8975, 42.6919644014, 44.5875, 52.787499795, 56.204199945, 58.937499795, 61.67080026, 63.0375 ]) check_gradient_unit_test(self, loads, tol=.003, display=False)
def test2(self): loads = TotalLoads() loads.aeroLoads.r = np.array([ 1.575, 2.940033033, 5.67000020475, 8.39996676225, 13.86, 15.9074997953, 20.0025, 24.0975002047, 28.1924997953, 32.2875, 36.3825002048, 40.4774997953, 40.887, 44.5725, 52.7624997953, 56.1750332378, 58.9049997952, 61.634966967, 63.0 ]) loads.aeroLoads.Px = np.array([ 0.0, 5284.01751742, 5957.44357892, 4576.24416488, 24983.1752719, 23185.4068553, 22772.6584971, 20742.2633915, 19438.9406889, 18477.9925607, 17798.8416165, 16587.2148132, 16307.1178682, 15198.3868957, 12397.4212608, 11065.3344497, 9918.01519381, 8690.90719256, 0.0 ]) loads.aeroLoads.Py = np.array([ -0, 3.23552756967e-13, 3.64788210501e-13, 2.80214138432e-13, -8241.69218443, -6959.18655392, -6216.4717769, -5238.79147412, -3965.60018365, -3301.4647433, -2434.41539477, -1921.45833684, -1784.90503315, -1413.83527174, -766.483242904, -565.612693573, -430.805328036, -317.225077607, -0 ]) loads.aeroLoads.Pz = np.array([ 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.0, 0.0, 0.0, 0.0, 0.0 ]) loads.aeroLoads.Omega = 0.0 loads.aeroLoads.pitch = 0.0 loads.aeroLoads.azimuth = 0.0 loads.r = np.array([ 1.575, 1.87769653853, 1.9760701684, 2.07444379828, 2.17896578003, 2.27733940991, 2.37571303979, 2.940033033, 3.07662515267, 3.17499878255, 5.67000020475, 7.0730538665, 8.39996676225, 11.8743527705, 13.86, 14.7396807928, 15.9074997953, 18.5704718586, 20.0025, 22.0688840711, 24.0975002047, 26.1698347667, 28.1924997953, 32.2875, 33.5663020632, 36.3825002048, 38.5649121314, 40.4774997953, 40.6864988295, 40.7861021746, 40.887, 42.6792760302, 44.5725, 52.7624997953, 56.1750332378, 58.9049997952, 61.634966967, 63.0 ]) loads.theta = np.array([ 13.2783, 13.2783, 13.2783, 13.2783, 13.2783, 13.2783, 13.2783, 13.2783, 13.2783, 13.2783, 13.2783, 13.2783, 13.2783, 13.2783, 13.2783, 12.9342402117, 12.4835185594, 11.4807962375, 10.9555376235, 10.2141732458, 9.50474414552, 8.79808349002, 8.12523177814, 6.8138304713, 6.42067815056, 5.58414310075, 4.96394649167, 4.44089107951, 4.38490319227, 4.35830230526, 4.3314093512, 3.86273855446, 3.38640148153, 1.57771432025, 0.953398905137, 0.504982546655, 0.0995167038088, -0.0878099 ]) loads.tilt = 5.0 loads.rhoA = np.array([ 1086.31387923, 1102.59977206, 1120.90516514, 1126.20434689, 1131.813843, 1137.07339365, 1086.16660785, 882.217532971, 894.901622709, 899.719853943, 731.023082747, 608.342843886, 542.222718332, 341.332102119, 336.952507859, 333.167490612, 330.70966121, 326.000136659, 323.264256247, 317.941928823, 310.869166296, 273.899186484, 262.928994775, 245.05275646, 236.749218603, 217.487633686, 205.107910133, 194.259756942, 167.463953528, 166.764129206, 165.810677408, 155.69651911, 146.647497247, 100.919341248, 82.5679535343, 67.796593467, 46.2981454714, 31.2090805766 ]) loads.totalCone = np.array([ 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5 ]) loads.z_az = np.array([ 1.5375, 1.84056613137, 1.93905987557, 2.03755361977, 2.14220322299, 2.24069696719, 2.33919071139, 2.90419974, 3.04095863882, 3.13945238302, 5.637500205, 7.04226699698, 8.370800055, 11.8494282928, 13.8375, 14.7182548841, 15.887499795, 18.5537233505, 19.9875, 22.0564071286, 24.087500205, 26.16236509, 28.187499795, 32.2875, 33.5678634821, 36.387500205, 38.5725768593, 40.487499795, 40.6967540173, 40.7964789782, 40.8975, 42.6919644014, 44.5875, 52.787499795, 56.204199945, 58.937499795, 61.67080026, 63.0375 ]) check_gradient_unit_test( self, loads, tol=0.02 ) # a couple with more significant errors, but I think these are correct and that the finite differencing is just poor.