Пример #1
0
 def __init__(self):
     self.at = {}
     self.at['ts'] = 0
     #TODO: Change later
     self.at['mesh'], self.at['pic'], self.at['e_field'] = mesh_file_reader(
         '2020_11_05_MR_1.txt')
     self.at['mesh'].print()
     self.at['electrons'] = Electron_SW(
         0.0, c.E_SPWT, c.E_SIZE, c.DIM, c.DIM, self.at['mesh'].accPoints,
         self.at['mesh'].overall_location_sat, c.NUM_TRACKED)
     self.at['photoelectrons'] = Photoelectron(
         c.PHE_T, c.PHE_FLUX, 0.0, c.PHE_SPWT, c.PHE_SIZE, c.DIM, c.DIM,
         self.at['mesh'].accPoints, self.at['mesh'].overall_location_sat,
         c.NUM_TRACKED)
     self.at['see'] = Secondary_Emission__Electron(
         c.SEE_T, 0.0, c.SEE_SPWT, c.SEE_SIZE, c.DIM, c.DIM,
         self.at['mesh'].accPoints, self.at['mesh'].overall_location_sat,
         c.NUM_TRACKED)
     self.at['protons'] = Proton_SW(0.0, c.P_SPWT, c.P_SIZE, c.DIM, c.DIM,
                                    self.at['mesh'].accPoints,
                                    self.at['mesh'].overall_location_sat,
                                    c.NUM_TRACKED)
     #self.at['user'] = User_Defined(c.P_DT, -c.QE, c.MP, 0, c.P_SPWT, 1, c.DIM, c.DIM, self.at['mesh'].nPoints, 0, "1")
     self.at['m_field'] = Constant_Magnetic_Field_recursive(
         self.at['pic'], c.B_DIM, [], True)
     self.at['part_solver'] = Boris_Push(self.at['pic'], [self.at['electrons'].name, self.at['photoelectrons'].name, self.at['see'].name, self.at['protons'].name],\
             [self.at['electrons'].part_values.max_n, self.at['photoelectrons'].part_values.max_n, self.at['see'].part_values.max_n, self.at['protons'].part_values.max_n],\
             [self.at['electrons'].vel_dim, self.at['photoelectrons'].vel_dim, self.at['see'].vel_dim, self.at['protons'].vel_dim])
Пример #2
0
 def __init__(self):
     self.at = {}
     self.at['ts'] = 0
     #TODO: Change later
     self.at['mesh'], self.at['pic'], self.at['e_field'] = mesh_file_reader(
         '2021_04_15_cm.txt')
     self.at['mesh'].print()
     self.at['electrons'] = Electron_SW(
         0.0, c.E_SPWT, c.E_SIZE, c.DIM, 3, self.at['mesh'].accPoints,
         self.at['mesh'].overall_location_sat, c.NUM_TRACKED)
     self.at['protons'] = Proton_SW(0.0, c.P_SPWT, c.P_SIZE, c.DIM, 3,
                                    self.at['mesh'].accPoints,
                                    self.at['mesh'].overall_location_sat,
                                    c.NUM_TRACKED)
     #self.at['user'] = User_Defined(c.P_DT, -c.QE, c.MP, 0, c.P_SPWT, 1, c.DIM, c.DIM, self.at['mesh'].nPoints, 0, "1")
     self.at['m_field'] = Constant_Magnetic_Field_recursive(
         self.at['pic'], c.B_DIM, [], True)
     self.at['part_solver'] = Leap_Frog_2D3Dcm(self.at['pic'], [self.at['electrons'].name, self.at['protons'].name],\
             [self.at['electrons'].part_values.max_n, self.at['protons'].part_values.max_n],\
             [self.at['electrons'].vel_dim, self.at['protons'].vel_dim])