def test_set_included_three_times_one_overlapping_over_all_sets_QuenchFrontConst(self): QuenchFront = QuenchFrontConst quench_fronts = [QuenchFront(10.0, 80.0, "1", Geometry, factory=None, testunit=True), QuenchFront(30.0, 60.0, "2", Geometry, factory=None, testunit=True), QuenchFront(20.0, 70.0, "3", Geometry, factory=None, testunit=True), QuenchFront(40.0, 50.0, "4", Geometry, factory=None, testunit=True)] result = QuenchMerge.quench_merge(quench_fronts=quench_fronts, testunit=True) expected_result = [QuenchFront(10.0, 80.0, "2_3_1_4", Geometry, factory=None, testunit=True)] expected_result_sorted = sort_quench_fronts(quench_fronts=expected_result) for res in range(len(result)): self.assertEqual(result[res].x_down, expected_result_sorted[res].x_down) self.assertEqual(result[res].x_up, expected_result_sorted[res].x_up)
def test_set_included_four_times_QuenchFrontNum(self): QuenchFront = QuenchFrontNum quench_fronts = [QuenchFront(10.0, 80.0, "1", Geometry, factory=None, testunit=True), QuenchFront(30.0, 60.0, "2", Geometry, factory=None, testunit=True), QuenchFront(20.0, 70.0, "3", Geometry, factory=None, testunit=True), QuenchFront(40.0, 50.0, "4", Geometry, factory=None, testunit=True)] result = QuenchMerge.quench_merge(quench_fronts=quench_fronts, testunit=True) expected_result = [QuenchFront(10.0, 80.0, "1_3_2_4", Geometry, factory=None, testunit=True)] expected_result_sorted = sort_quench_fronts(quench_fronts=expected_result) for res in range(len(result)): self.assertEqual(result[res].x_down, expected_result_sorted[res].x_down) self.assertEqual(result[res].x_up, expected_result_sorted[res].x_up)
def estimate_quench_velocity(self): if self.is_all_coil_quenched is False: magnetic_map = self.magnetic_map.im_short_mag_dict # calculate quench propagation for qf in self.quench_fronts: qf.return_quench_front_position( initial_time=self.time_step_vector[self.iteration[0] - 1], final_time=self.time_step_vector[self.iteration[0]], min_length=self.min_coil_length, max_length=self.max_coil_length, mag_field_map=magnetic_map, current=self.circuit.current[0]) # what if quench fronts meet self.quench_fronts = QuenchMerge.quench_merge(self.quench_fronts)