def initialize(): pos, vel, Ie, W_elec, idx = init.initialize_particles() B, E_int = init.initialize_fields() DT, max_inc, data_iter = aux.set_timestep(vel) if data_iter == 0: data_iter = max_inc q_dens, Ji = sources.collect_moments(vel, Ie, W_elec, idx) E_int, Ve, Te = fields.calculate_E(B, Ji, q_dens) vel = particles.velocity_update(pos, vel, Ie, W_elec, idx, B, E_int, -0.5 * DT) return pos, vel, Ie, W_elec, idx, B, E_int, q_dens, Ji, Ve, Te, DT, max_inc, data_iter
## HYBRID MODULES ## import init_1D as init import auxilliary_1D as aux import particles_1D as particles import fields_1D as fields import sources_1D as sources import save_routines as save import pdb from simulation_parameters_1D import save_particles, save_fields, te0_equil if __name__ == '__main__': start_time = timer() # Initialize simulation: Allocate memory and set time parameters print('Initializing arrays...') pos, vel, Ie, W_elec, Ib, W_mag, idx, Ep, Bp, temp_N = init.initialize_particles( ) B, E_int, E_half, Ve, Te, Te0 = init.initialize_fields() q_dens, q_dens_adv, Ji, ni, nu = init.initialize_source_arrays() old_particles, old_fields, temp3De, temp3Db, temp1D,\ v_prime, S, T, mp_flux = init.initialize_tertiary_arrays() print('Collecting initial moments...') # Collect initial moments and save initial state sources.collect_moments(vel, Ie, W_elec, idx, q_dens, Ji, ni, nu) if te0_equil == 1: init.set_equilibrium_te0(q_dens, Te0) DT, max_inc, part_save_iter, field_save_iter, B_damping_array, E_damping_array\ = init.set_timestep(vel, Te0)
## HYBRID MODULES ## import init_1D as init import auxilliary_1D as aux import particles_1D as particles import fields_1D as fields import sources_1D as sources import plot_and_save as pas import diagnostics as diag from simulation_parameters_1D import generate_data, generate_plots if __name__ == '__main__': start_time = timer() part = init.initialize_particles() B, E = init.initialize_magnetic_field() DT, max_inc, data_dump_iter, plot_dump_iter = aux.set_timestep(part) if generate_data == 1: pas.store_run_parameters(DT, data_dump_iter) print('Loading initial state...\n') part, dns_int, dns_half, J_plus, J_minus, G, L = sources.init_collect_moments( part, 0.5 * DT) qq = 0 while qq < max_inc: part, qq, DT, max_inc, data_dump_iter, plot_dump_iter, change_flag = aux.check_timestep( qq, DT, part, B, E, dns_int, max_inc, data_dump_iter,
## HYBRID MODULES ## import init_1D as init import auxilliary_1D as aux import particles_1D as particles import fields_1D as fields import sources_1D as sources import save_routines as save import pdb from simulation_parameters_1D import save_particles, save_fields if __name__ == '__main__': start_time = timer() # Initialize simulation: Allocate memory and set time parameters pos, vel, Ie, W_elec, Ib, W_mag, idx = init.initialize_particles() B, E_int, E_half, Ve, Te, = init.initialize_fields() q_dens, q_dens_adv, Ji, ni, nu = init.initialize_source_arrays() old_particles, old_fields, temp3D, temp3D2, temp1D = init.initialize_tertiary_arrays( ) DT, max_inc, part_save_iter, field_save_iter = init.set_timestep(vel) # Collect initial moments and save initial state sources.collect_moments(vel, Ie, W_elec, idx, q_dens, Ji, ni, nu, temp1D) fields.calculate_E(B, Ji, q_dens, E_int, Ve, Te, temp3D, temp3D2, temp1D) if save_particles == 1: save.save_particle_data(DT, part_save_iter, 0, pos, vel) if save_fields == 1:
## PYTHON MODULES ## from timeit import default_timer as timer ## HYBRID MODULES ## import init_1D as init import auxilliary_1D as aux import particles_1D_multithreaded as particles import fields_1D as fields import plot_and_save as pas from simulation_parameters_1D import generate_data, generate_plots, adaptive_timestep if __name__ == '__main__': start_time = timer() pos, vel, idx = init.initialize_particles() B, E_int = init.initialize_fields() DT, max_inc, data_iter, plot_iter = aux.set_timestep(vel) q_dens, Ji = particles.advance_particles_and_moments( pos, vel, idx, B, E_int, 0) E_int, Ve, Te = fields.calculate_E(B, Ji, q_dens) particles.sync_velocities(pos, vel, idx, B, E_int, -0.5 * DT) qq = 0 max_inc = 10 while qq < max_inc: # TIMESTEP CHECK if adaptive_timestep == True:
## HYBRID MODULES ## import init_1D as init import auxilliary_1D as aux import particles_1D as particles import fields_1D as fields import sources_1D as sources import save_routines as save from simulation_parameters_1D import save_particles, save_fields if __name__ == '__main__': start_time = timer() # Initialize simulation: Allocate memory and set time parameters pos, vel, Ie, W_elec, idx, Bp, temp_N = init.initialize_particles() q_dens, q_dens_adv, Ji, ni, nu, flux = init.initialize_source_arrays() old_particles, old_fields, temp3De, temp3Db, temp1D,\ v_prime, S, T = init.initialize_tertiary_arrays() # Collect initial moments and save initial state sources.collect_moments(vel, Ie, W_elec, idx, q_dens, Ji, ni, nu) DT, max_inc, part_save_iter = init.set_timestep(vel) if save_particles == 1: save.save_particle_data(0, DT, part_save_iter, 0, pos, vel, idx) # Retard velocity print('Retarding velocity...') particles.velocity_update(pos, vel, Ie, W_elec, Ib, W_mag, idx, Ep, Bp, v_prime, S, T, temp_N, -0.5*DT)