Exemple #1
0
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
Exemple #2
0
## 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)
Exemple #3
0
## 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,
Exemple #4
0
## 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:
Exemple #5
0
## 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:
Exemple #6
0
## 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)