Beispiel #1
0
    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.
Beispiel #2
0
    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)
Beispiel #3
0
    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)
Beispiel #4
0
    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.