Beispiel #1
0
 def FindSpectralPeak(data: np.ndarray, threshold: float = 90):
     # peaks, _ = find_peaks(data.__abs__(), height=threshold)
     # max_peak = np.where(data == max(data[peaks]))
     max_peak_index = np.where(data.__abs__() == max(data.__abs__()))
     if max_peak_index is not None:
         return max_peak_index, data[max_peak_index]
     else:
         return -1, 0
Beispiel #2
0
 def _get_matrix_coefficients(self, x_arr: np.ndarray,
                              T_cool_fluid_arr: np.ndarray):
     dx = max(x_arr.__abs__()) / (self.node_num - 1)
     A_arr, B_arr, C_arr, D_arr = [], [], [], []
     for x, T_cool_fluid in zip(x_arr, T_cool_fluid_arr):
         A = 1 / dx**2
         C = 1 / dx**2
         k_out = 1 / (1 / self.alpha_out(x) +
                      self.cover_thickness / self.lam_cover)
         B = -2 / dx**2 - (k_out + self.alpha_cool(x, T_cool_fluid)) / (
             self.lam_blade(self.T_wall_av) * self.wall_thickness)
         D = -(k_out * self.T_out_stag(x) +
               self.alpha_cool(x, T_cool_fluid) * T_cool_fluid) / (
                   self.lam_blade(self.T_wall_av) * self.wall_thickness)
         A_arr.append(A)
         B_arr.append(B)
         C_arr.append(C)
         D_arr.append(D)
     M = np.zeros([self.node_num, self.node_num])
     N = np.zeros([self.node_num])
     for i1 in range(self.node_num):
         for i2 in range(self.node_num):
             if i1 == 0:
                 N[i1] = 0
                 M[i1, 0] = 1
                 M[i1, 1] = -1
             elif i1 == self.node_num - 1:
                 N[i1] = 0
                 M[i1, i1] = 1
                 M[i1, i1 - 1] = -1
             else:
                 N[i1] = D_arr[i1]
                 M[i1, i1 - 1] = A_arr[i1]
                 M[i1, i1] = B_arr[i1]
                 M[i1, i1 + 1] = C_arr[i1]
     return M, N