|
str | torder = 'SSPRK3' |
|
str | sorder = 'thirdOrder' |
|
float | cfl = 0.209 |
|
float | gamma = 2.0 |
|
str | numerical_flux_type = 'Rusanov' |
|
int | nout = 100 |
|
float | target_tws = 60.0 |
|
float | dt_sim = 0.01 |
|
float | omega_s_over_omega_p = 0.2625 |
|
int | diag_writer_interval = 1e-2 |
|
bool | start_from_previous = False |
| if starting from previous sim
|
|
warpy | configs = warpy.load_configs() |
|
str | orig_loc = '/Users/imandatta/Documents/warpxm_runs/hyak_mox_outputs/hybrid/2d2v/khi/2021_02_19/' |
|
str | orig_sim = 'khiA1_hybrid_pert_3rd_tws60_32x8x32x32_mixed' |
|
warpy | orig_files = configs['test_rundir'](orig_loc, orig_sim) |
|
int | frame_start_from_previous = 10 |
|
os | source_file = os.path.join(orig_files,'data', '%s_%d.h5'%(orig_sim,frame_start_from_previous)) |
|
argparse | parser = argparse.ArgumentParser(description='1d Sheath problem') |
|
| type |
|
| str |
|
| nargs |
|
| help |
|
| default |
|
argparse | args = parser.parse_args() |
|
argparse | model = args.model |
|
list | tf_sds = ['left','right'] |
|
list | tf_vds = ['middle'] |
|
list | kinetic_sds = ['middle'] |
|
list | kinetic_vds = ['left','right'] |
|
| else : |
|
float | qe = 1.602177e-19 |
|
float | mp = 1.672622e-27 |
|
float | mu0 = 1.256637e-6 |
|
float | eps0 = 8.854187e-12 |
|
int | c_light = 1/(mu0*eps0)**.5 |
|
float | omega_p_tau = 1.00 |
|
float | omega_c_tau = 1.00 |
|
float | skin_depth_norm = 1.0 / (omega_c_tau) |
|
float | n0 = 2.00e20 |
|
math | omega_p = math.sqrt((qe**2 * n0)/(eps0 * mp)) |
|
float | tau = omega_p_tau / omega_p |
|
float | omega_c = omega_c_tau / tau |
|
float | B0 = omega_c * mp/qe |
|
float | v0 = B0/math.sqrt(mp*n0*mu0) |
|
float | L = v0*tau |
|
float | p0 = B0**2/mu0 |
|
float | T0 = p0/n0 |
|
float | T0_ev = T0 / qe |
|
math | v_th0 = math.sqrt(T0/mp) |
|
math | rl0 = v_th0/omega_c |
|
int | dp0 = c_light / omega_p |
|
tuple | L_debye0 = (eps0*T0/(n0*qe**2))**0.5 |
|
float | mass_ratio = 25.0 |
|
float | Ai = 1.0 |
|
float | Ae = Ai / mass_ratio |
|
float | Zi = 1.0 |
|
float | Ze = -1.0 |
|
float | d_width_sim = 1.0/20.0 |
|
float | b_sim = -10.0 |
|
float | T_sim = 6.25e-4 |
|
float | E0_sim = 2.00E-2 |
|
float | Ex0_sim = E0_sim / omega_c_tau |
|
float | Bz_x0_sim = 1.0 |
|
float | Tx_sim = T_sim / 2.0 |
|
float | ky_sim_d_sim = 0.4 |
|
float | Lx_sim = 1.0 |
|
float | Ly_sim = 2.0*math.pi*d_width_sim/ky_sim_d_sim |
|
list | center_sim = [0,0] |
|
float | perturbation_sim = 2.0E-4 |
|
float | fluid_ion_perturbation_sim = 0.0 |
|
float | fluid_electron_perturbation_sim = perturbation_sim |
|
float | omega_ci_sim = Ai*Zi/Bz_x0_sim |
|
float | omega_ce_sim = Ae*Ze/Bz_x0_sim |
|
math | rli_sim_over_d_sim = math.sqrt(T_sim/Ai)/omega_ci_sim / d_width_sim |
|
float | n_sim_ref = 1.0 |
|
math | Ld_sim_over_d_sim = math.sqrt(T_sim / n_sim_ref /Ze**2) / d_width_sim |
|
int | beta_sim_left = 2 * (2 * n_sim_ref)*T_sim/Bz_x0_sim**2 |
|
int | number_density_min = 1e-12 |
|
int | pressure_min = number_density_min*T_sim |
|
| ni_aux_fit_xvec = str2float(ni_aux_fit_xvec) |
|
| ni_aux_fit_a = str2float(ni_aux_fit_a) |
|
| ni_aux_fit_b = ni_aux_fit_b[0:2] |
|
csv | ni_aux_reader = csv.reader(ni_aux_file, delimiter=',') |
|
| phi_fit_xvec = str2float(phi_fit_xvec) |
|
| phi_fit_a = str2float(phi_fit_a) |
|
| phi_fit_b = phi_fit_b[0:2] |
|
csv | phi_reader = csv.reader(phi_file, delimiter=',') |
|
| Bz_fit_xvec = str2float(Bz_fit_xvec) |
|
| Bz_fit_a = str2float(Bz_fit_a) |
|
| Bz_fit_b = Bz_fit_b[0:2] |
|
csv | Bz_reader = csv.reader(Bz_file, delimiter=',') |
|
| Ex_fit_xvec = str2float(Ex_fit_xvec) |
|
| Ex_fit_a = str2float(Ex_fit_a) |
|
| Ex_fit_b = Ex_fit_b[0:2] |
|
csv | Ex_reader = csv.reader(Ex_file, delimiter=',') |
|
| Ay_fit_xvec = str2float(Ay_fit_xvec) |
|
| Ay_fit_a = str2float(Ay_fit_a) |
|
| Ay_fit_b = Ay_fit_b[0:2] |
|
csv | Ay_reader = csv.reader(Ay_file, delimiter=',') |
|
| ni_fit_xvec = str2float(ni_fit_xvec) |
|
| ni_fit_a = str2float(ni_fit_a) |
|
| ni_fit_b = ni_fit_b[0:2] |
|
csv | ni_reader = csv.reader(ni_file, delimiter=',') |
|
| ne_fit_xvec = str2float(ne_fit_xvec) |
|
| ne_fit_a = str2float(ne_fit_a) |
|
| ne_fit_b = ne_fit_b[0:2] |
|
csv | ne_reader = csv.reader(ne_file, delimiter=',') |
|
| vyi_fit_xvec = str2float(vyi_fit_xvec) |
|
| vyi_fit_a = str2float(vyi_fit_a) |
|
| vyi_fit_b = vyi_fit_b[0:2] |
|
csv | vyi_reader = csv.reader(vyi_file, delimiter=',') |
|
| vye_fit_xvec = str2float(vye_fit_xvec) |
|
| vye_fit_a = str2float(vye_fit_a) |
|
| vye_fit_b = vye_fit_b[0:2] |
|
csv | vye_reader = csv.reader(vye_file, delimiter=',') |
|
| Tyi_fit_xvec = str2float(Tyi_fit_xvec) |
|
| Tyi_fit_a = str2float(Tyi_fit_a) |
|
| Tyi_fit_b = Tyi_fit_b[0:2] |
|
csv | Tyi_reader = csv.reader(Tyi_file, delimiter=',') |
|
| Tye_fit_xvec = str2float(Tye_fit_xvec) |
|
| Tye_fit_a = str2float(Tye_fit_a) |
|
| Tye_fit_b = Tye_fit_b[0:2] |
|
csv | Tye_reader = csv.reader(Tye_file, delimiter=',') |
|
float | min_vx_ion = -0.2 |
|
float | min_vy_ion = -0.2 |
|
float | max_vx_ion = +0.2 |
|
float | max_vy_ion = +0.2 |
|
float | min_vx_electron = -1.0 |
|
float | min_vy_electron = -1.0 |
|
float | max_vx_electron = +1.0 |
|
float | max_vy_electron = +1.0 |
|
int | v_space_num_vx = 32 |
|
int | v_space_num_vy = 32 |
|
list | v_space_num_elements = [v_space_num_vx, v_space_num_vy] |
|
list | min_v_ion = [min_vx_ion, min_vy_ion] |
|
list | dv_ion = [(max_vx_ion-min_vx_ion)/v_space_num_vx, (max_vy_ion-min_vy_ion)/v_space_num_vy] |
|
list | min_v_electron = [min_vx_electron, min_vy_electron] |
|
list | dv_electron = [(max_vx_electron-min_vx_electron)/v_space_num_vx, (max_vy_electron-min_vy_electron)/v_space_num_vy] |
|
warpy | config_args = warpy.load_configs() |
|
str | meshfile = '../../../../../../user_runs/andrew_ho/meshes/khi_xl8m16r8_y8.inp' |
|
warpy | mesh |
|
list | fluid_comps = ['rho', 'px', 'py', 'pz', 'e'] |
|
warpy | ion_fluid |
|
warpy | electron_fluid |
|
list | field_comps = ['Ex', 'Ey', 'Ez', 'Bx', 'By', 'Bz'] |
|
warpy | field |
|
warpy | ion_distribution |
|
warpy | electron_distribution |
|
warpy | kinetic_ion_fluid |
|
warpy | kinetic_electron_fluid |
|
warpy | chi_metric_i |
|
warpy | chi_metric_e |
|
warpy | ion_fluid_ic |
|
warpy | electron_fluid_ic |
|
warpy | ion_distribution_ic |
|
warpy | electron_distribution_ic |
|
warpy | field_ic |
|
warpy | fluid_ic_va |
|
warpy | ion_distribution_ic_va |
|
warpy | electron_distribution_ic_va |
|
warpy | field_ic_va |
|
warpy | tf_ic_ha |
| load from file
|
|
warpy | distribution_ic_ha |
|
warpy | field_ic_ha |
|
list | ic_ha = [] |
|
list | variable_adjusters_tf = [] |
|
list | variable_adjusters_field = [] |
|
list | variable_adjusters_kinetic = [] |
|
list | applications_moments_ions = [] |
|
list | applications_2nd_moments_ions = [] |
|
list | applications_moments_electrons = [] |
|
list | applications_2nd_moments_electrons = [] |
|
list | applications_maxwellian_metric_ions = [] |
|
list | applications_maxwellian_metric_electrons = [] |
|
list | kinetic_to_tf_va = [] |
|
list | tf_to_kinetic_va = [] |
|
list | virtual_bc_apps_tf = [] |
|
list | virtual_bc_apps_kinetic_ions = [] |
|
list | virtual_bc_apps_kinetic_electrons = [] |
|
warpy | ion_timestep_start_moment_taker |
|
warpy | ion_timestep_start_second_moment_taker |
|
warpy | ion_timestep_start_chi_metric_moment_taker |
|
warpy | electron_timestep_start_moment_taker |
|
warpy | electron_timestep_start_second_moment_taker |
|
warpy | electron_timestep_start_chi_metric_moment_taker |
|
list | extra_timestep_start_writer = [] |
|
warpy | moment_takers_timestep_start_ha |
|
list | solver_apps_tf = [] |
|
list | solver_apps_kinetic_ions = [] |
|
list | solver_apps_kinetic_electrons = [] |
|
list | solver_apps_maxwell_flux = [] |
|
list | solver_apps_maxwell_tf_fluid_source = [] |
|
list | solver_apps_maxwell_kinetic_fluid_source = [] |
|
list | spatial_solver_tf = [] |
|
list | spatial_solver_kinetic = [] |
|
list | spatial_solver_kinetic_field = [] |
|
list | ss_s = spatial_solver_tf |
|
list | va_s = variable_adjusters_tf + variable_adjusters_field |
|
warpy | time_integrator |
|
list | time_sim = [0, target_tws / omega_p_tau / omega_s_over_omega_p ] |
|
warpy | dt_controller = warpy.dt_calc.stability_dt(init_dt = dt_sim) |
|
warpy | ion_probe_fluid = kinetic_ion_fluid |
|
list | ion_probe_fluid_components = ['ni_0', 'nvxi_0', 'nvyi_0', 'nvzi_0', 'nTi_0'] |
|
warpy | ions_probe0 |
|
warpy | integ_Ex2 |
|
warpy | integ_Ey2 |
|
warpy | integ_Ez2 |
|
warpy | integ_Bx2 |
|
warpy | integ_By2 |
|
warpy | integ_Bz2 |
|
warpy | diag_writer |
|
list | write_vars = [ion_fluid, electron_fluid, field] |
|
warpy | writer |
|
datetime | now = datetime.datetime.now().strftime("%Y_%m_%d") |
|
f | sim_name = f'khiA1_hybrid_pert_3rd_tws60_32x8x32x32_{model}' |
|
warpy | case_loc = config_args['test_rundir'](f'hybrid/2d2v/khi/{now}', '') |
|
f | sim_param |
|
warpy | sim |
|
| gen_xdmf |
| Run Simulation ... now = datetime.datetime.now()
|
|
| detect_nonscalar |
|