WARPXM v1.10.0
Loading...
Searching...
No Matches
khiA1_mixed_ion_kinetic_electron Namespace Reference

Functions

def str2float (string_array)
 

Variables

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))
 
list tf_i_sds = ['left', 'right']
 
list tf_i_vds = ['middle']
 
None tf_e_sds = None
 
None tf_e_vds = None
 
list kinetic_i_sds = ['middle']
 
list kinetic_i_vds = ['left', 'right']
 
list kinetic_e_sds = ['left', 'middle', 'right']
 
None kinetic_e_vds = None
 
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]
 
str meshfile = '../../../../../../user_runs/andrew_ho/meshes/khi_xl8m16r8_y8.inp'
 
warpy mesh
 
list fluid_comps = ['rho', 'px', 'py', 'pz', 'e']
 
warpy ion_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 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 ion_distribution_ic_ha
 
warpy electron_distribution_ic_ha
 
warpy field_ic_ha
 
list ic_ha = [tf_ic_ha, ion_distribution_ic_ha, electron_distribution_ic_ha, field_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 = []
 
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
 
list solver_apps_tf = []
 
list spatial_solver_tf = []
 
list spatial_solver_kinetic = []
 
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_ion_fluid_source
 
list solver_apps_maxwell_kinetic_electron_fluid_source
 
list spatial_solver_field = []
 
list ss_s = spatial_solver_tf + spatial_solver_kinetic + spatial_solver_field
 
list va_s = variable_adjusters_tf + variable_adjusters_kinetic + variable_adjusters_field + kinetic_to_tf_va + tf_to_kinetic_va
 
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
 
warpy writer
 
datetime now = datetime.datetime.now().strftime("%Y_%m_%d")
 
sim_name = f'khiA1_mixed_i_kin_e_pert_3rd_tws60_32x8x32x32'
 
warpy config_args = warpy.load_configs()
 
warpy case_loc = config_args['test_rundir'](f'hybrid/2d2v/khi/{now}', '')
 
sim_param
 
warpy sim
 
 gen_xdmf
 Run Simulation ... now = datetime.datetime.now() sim.run('hybrid/2d2v/khi/'+now.strftime("%Y_%m_%d"),.
 
 detect_nonscalar
 

Function Documentation

◆ str2float()

def khiA1_mixed_ion_kinetic_electron.str2float (   string_array)

Variable Documentation

◆ Ae

float khiA1_mixed_ion_kinetic_electron.Ae = Ai / mass_ratio

◆ Ai

float khiA1_mixed_ion_kinetic_electron.Ai = 1.0

◆ applications_2nd_moments_electrons

list khiA1_mixed_ion_kinetic_electron.applications_2nd_moments_electrons = []

◆ applications_2nd_moments_ions

list khiA1_mixed_ion_kinetic_electron.applications_2nd_moments_ions = []

◆ applications_maxwellian_metric_electrons

list khiA1_mixed_ion_kinetic_electron.applications_maxwellian_metric_electrons = []

◆ applications_maxwellian_metric_ions

list khiA1_mixed_ion_kinetic_electron.applications_maxwellian_metric_ions = []

◆ applications_moments_electrons

list khiA1_mixed_ion_kinetic_electron.applications_moments_electrons = []

◆ applications_moments_ions

list khiA1_mixed_ion_kinetic_electron.applications_moments_ions = []

◆ Ay_fit_a

def khiA1_mixed_ion_kinetic_electron.Ay_fit_a = str2float(Ay_fit_a)

◆ Ay_fit_b

def khiA1_mixed_ion_kinetic_electron.Ay_fit_b = Ay_fit_b[0:2]

◆ Ay_fit_xvec

def khiA1_mixed_ion_kinetic_electron.Ay_fit_xvec = str2float(Ay_fit_xvec)

◆ Ay_reader

csv khiA1_mixed_ion_kinetic_electron.Ay_reader = csv.reader(Ay_file, delimiter=',')

◆ B0

float khiA1_mixed_ion_kinetic_electron.B0 = omega_c * mp/qe

◆ b_sim

float khiA1_mixed_ion_kinetic_electron.b_sim = -10.0

◆ beta_sim_left

int khiA1_mixed_ion_kinetic_electron.beta_sim_left = 2 * (2 * n_sim_ref)*T_sim/Bz_x0_sim**2

◆ Bz_fit_a

def khiA1_mixed_ion_kinetic_electron.Bz_fit_a = str2float(Bz_fit_a)

◆ Bz_fit_b

def khiA1_mixed_ion_kinetic_electron.Bz_fit_b = Bz_fit_b[0:2]

◆ Bz_fit_xvec

def khiA1_mixed_ion_kinetic_electron.Bz_fit_xvec = str2float(Bz_fit_xvec)

◆ Bz_reader

csv khiA1_mixed_ion_kinetic_electron.Bz_reader = csv.reader(Bz_file, delimiter=',')

◆ Bz_x0_sim

float khiA1_mixed_ion_kinetic_electron.Bz_x0_sim = 1.0

◆ c_light

int khiA1_mixed_ion_kinetic_electron.c_light = 1/(mu0*eps0)**.5

◆ case_loc

warpy khiA1_mixed_ion_kinetic_electron.case_loc = config_args['test_rundir'](f'hybrid/2d2v/khi/{now}', '')

◆ center_sim

list khiA1_mixed_ion_kinetic_electron.center_sim = [0,0]

◆ cfl

float khiA1_mixed_ion_kinetic_electron.cfl = 0.209

◆ chi_metric_e

warpy khiA1_mixed_ion_kinetic_electron.chi_metric_e
Initial value:
1= warpy.variable(name = 'chi_metric_e',
2 components = ['chi'],
3 basis_array_set = sorder,
4 subdomains = kinetic_e_sds,
5 virtual_subdomains=kinetic_e_vds,
6 explodable=False)
Definition: variable.py:4

◆ chi_metric_i

warpy khiA1_mixed_ion_kinetic_electron.chi_metric_i
Initial value:
1= warpy.variable(name = 'chi_metric_i',
2 components = ['chi'],
3 basis_array_set = sorder,
4 subdomains = kinetic_i_sds,
5 virtual_subdomains=kinetic_i_vds,
6 explodable=False)

◆ config_args

warpy khiA1_mixed_ion_kinetic_electron.config_args = warpy.load_configs()

◆ configs

warpy khiA1_mixed_ion_kinetic_electron.configs = warpy.load_configs()

◆ d_width_sim

float khiA1_mixed_ion_kinetic_electron.d_width_sim = 1.0/20.0

◆ detect_nonscalar

khiA1_mixed_ion_kinetic_electron.detect_nonscalar

◆ diag_writer

warpy khiA1_mixed_ion_kinetic_electron.diag_writer
Initial value:
1= warpy.host_actions.diagnostics_writer(name = 'diagnostics',
2 write_interval = diag_writer_interval,
3 diagnostics = { integ_Ex2: ['Ex2'],
4 integ_Ey2: ['Ey2'],
5 integ_Ez2: ['Ez2'],
6 integ_Bx2: ['Bx2'],
7 integ_By2: ['By2'],
8 integ_Bz2: ['Bz2'],
9 ions_probe0: ion_probe_fluid_components,
10 },
11 output_file = 'diagnostics.csv')

◆ diag_writer_interval

int khiA1_mixed_ion_kinetic_electron.diag_writer_interval = 1e-2

◆ dp0

int khiA1_mixed_ion_kinetic_electron.dp0 = c_light / omega_p

◆ dt_controller

warpy khiA1_mixed_ion_kinetic_electron.dt_controller = warpy.dt_calc.stability_dt(init_dt = dt_sim)

◆ dt_sim

float khiA1_mixed_ion_kinetic_electron.dt_sim = 0.01

◆ dv_electron

list khiA1_mixed_ion_kinetic_electron.dv_electron = [(max_vx_electron-min_vx_electron)/v_space_num_vx, (max_vy_electron-min_vy_electron)/v_space_num_vy]

◆ dv_ion

list khiA1_mixed_ion_kinetic_electron.dv_ion = [(max_vx_ion-min_vx_ion)/v_space_num_vx, (max_vy_ion-min_vy_ion)/v_space_num_vy]

◆ E0_sim

float khiA1_mixed_ion_kinetic_electron.E0_sim = 2.00E-2

◆ electron_distribution

warpy khiA1_mixed_ion_kinetic_electron.electron_distribution
Initial value:
1= warpy.variable(name = 'electron_distribution',
2 components = ['f'],
3 basis_array_set = sorder,
4 phase_space_basis_array_set = sorder,
5 v_space_num_elements = v_space_num_elements,
6 subdomains=kinetic_e_sds,
7 virtual_subdomains=kinetic_e_vds)

◆ electron_distribution_ic

warpy khiA1_mixed_ion_kinetic_electron.electron_distribution_ic
Initial value:
2 distribution = electron_distribution,
3 distribution_components = None,
4 species = "Electrons",
5 d_width = d_width_sim,
6 ex_peak = Ex0_sim,
7 density_gradient = b_sim,
8 temperature0 = T_sim,
9 omega_c_tau = omega_c_tau,
10 omega_p_tau = omega_p_tau,
11 ni_aux_fit_xvec = ni_aux_fit_xvec,
12 ni_aux_fit_a = ni_aux_fit_a,
13 ni_aux_fit_b = ni_aux_fit_b,
14 phi_fit_xvec = phi_fit_xvec,
15 phi_fit_a = phi_fit_a,
16 phi_fit_b = phi_fit_b,
17 Ay_fit_xvec = Ay_fit_xvec,
18 Ay_fit_a = Ay_fit_a,
19 Ay_fit_b = Ay_fit_b,
20 amplitude = perturbation_sim,
21 wavelength = Ly_sim,
22 center = center_sim,
23 Zi = Zi,
24 Ai = Ai,
25 Ze = Ze,
26 Ae = Ae,
27 on_boundaries = ['leftWall', 'rightWall']
28)
Function which sets a Kelvin Helmholtz Instability Initial Condition See Vogman PoP 2020 and PoP 2019...
Definition: kinetics.py:559

◆ electron_distribution_ic_ha

warpy khiA1_mixed_ion_kinetic_electron.electron_distribution_ic_ha
Initial value:
1= warpy.host_actions.va_runner(name = "elctron_distribution_ic_ha",
2 variable_adjusters = [electron_distribution_ic_va])
Runs a list of host actions.
Definition: va_runner.py:5

◆ electron_distribution_ic_va

warpy khiA1_mixed_ion_kinetic_electron.electron_distribution_ic_va
Initial value:
2 priority = 0,
3 spatial_order = sorder,
4 phase_space_spatial_order = sorder,
5 v_space_num_elements = v_space_num_elements,
6 min_v = min_v_electron,
7 dv = dv_electron,
8 on_subdomains = kinetic_e_sds,
9 applications = [electron_distribution_ic]
10)
phase_space function evaluator
Definition: function_evaluation.py:42

◆ electron_timestep_start_chi_metric_moment_taker

warpy khiA1_mixed_ion_kinetic_electron.electron_timestep_start_chi_metric_moment_taker
Initial value:
1= warpy.variable_adjusters.moment_takers.velocity_space_moment_taker(name = 'moment_taker_chi_electrons_timestep_start',
2 priority = 4,
3 spatial_order=sorder,
4 phase_space_basis_array_set=sorder,
5 v_space_num_elements = v_space_num_elements,
6 min_v = min_v_electron,
7 dv = dv_electron,
8 applications = applications_maxwellian_metric_electrons,
9 on_subdomains = kinetic_e_sds
10)
velocity_space_moment_taker takes moments in velocity space
Definition: moment_takers.py:48

◆ electron_timestep_start_moment_taker

warpy khiA1_mixed_ion_kinetic_electron.electron_timestep_start_moment_taker
Initial value:
1= warpy.variable_adjusters.moment_takers.velocity_space_moment_taker(name='moment_taker_electrons_timestep_start',
2 priority=1,
3 spatial_order=sorder,
4 phase_space_basis_array_set = sorder,
5 v_space_num_elements = v_space_num_elements,
6 min_v = min_v_electron,
7 dv = dv_electron,
8 applications=applications_moments_electrons,
9 on_subdomains=kinetic_e_sds)

◆ electron_timestep_start_second_moment_taker

warpy khiA1_mixed_ion_kinetic_electron.electron_timestep_start_second_moment_taker
Initial value:
1= warpy.variable_adjusters.moment_takers.velocity_space_moment_taker(name='second_moment_taker_electrons_timestep_start',
2 priority=2,
3 spatial_order=sorder,
4 phase_space_basis_array_set = sorder,
5 v_space_num_elements = v_space_num_elements,
6 min_v = min_v_electron,
7 dv = dv_electron,
8 applications=applications_2nd_moments_electrons,
9 on_subdomains=kinetic_e_sds)

◆ eps0

float khiA1_mixed_ion_kinetic_electron.eps0 = 8.854187e-12

◆ Ex0_sim

float khiA1_mixed_ion_kinetic_electron.Ex0_sim = E0_sim / omega_c_tau

◆ Ex_fit_a

def khiA1_mixed_ion_kinetic_electron.Ex_fit_a = str2float(Ex_fit_a)

◆ Ex_fit_b

def khiA1_mixed_ion_kinetic_electron.Ex_fit_b = Ex_fit_b[0:2]

◆ Ex_fit_xvec

def khiA1_mixed_ion_kinetic_electron.Ex_fit_xvec = str2float(Ex_fit_xvec)

◆ Ex_reader

csv khiA1_mixed_ion_kinetic_electron.Ex_reader = csv.reader(Ex_file, delimiter=',')

◆ extra_timestep_start_writer

list khiA1_mixed_ion_kinetic_electron.extra_timestep_start_writer
Initial value:
1= [warpy.host_actions.va_runner(name='moment_takers_timestep_start_ha',
2 variable_adjusters = [ion_timestep_start_moment_taker,
3 electron_timestep_start_moment_taker,
4 ion_timestep_start_second_moment_taker,
5 electron_timestep_start_second_moment_taker,
6 ion_timestep_start_chi_metric_moment_taker,
7 electron_timestep_start_chi_metric_moment_taker])]

◆ field

warpy khiA1_mixed_ion_kinetic_electron.field
Initial value:
1= warpy.variable(name='field',
2 components=field_comps,
3 basis_array_set=sorder,
4 subdomains=['left','middle','right'],
5 virtual_subdomains=None
6 )

◆ field_comps

list khiA1_mixed_ion_kinetic_electron.field_comps = ['Ex', 'Ey', 'Ez', 'Bx', 'By', 'Bz']

◆ field_ic

warpy khiA1_mixed_ion_kinetic_electron.field_ic
Initial value:
2 fields = field,
3 fields_components = None,
4 Bz_fit_xvec = Bz_fit_xvec,
5 Bz_fit_a = Bz_fit_a,
6 Bz_fit_b = Bz_fit_b,
7 Ex_fit_xvec = Ex_fit_xvec,
8 Ex_fit_a = Ex_fit_a,
9 Ex_fit_b = Ex_fit_b,
10 center = center_sim,
11 on_boundaries = ['leftWall', 'rightWall'])
Function which sets fields for the analytic KHI problem for the 2d2v kinetic setup.
Definition: maxwell.py:105

◆ field_ic_ha

warpy khiA1_mixed_ion_kinetic_electron.field_ic_ha
Initial value:
1= warpy.host_actions.va_runner(name = "field_ic_ha",
2 variable_adjusters = [field_ic_va])

◆ field_ic_va

warpy khiA1_mixed_ion_kinetic_electron.field_ic_va
Initial value:
2 priority = 0,
3 spatial_order = sorder,
4 on_subdomains = ['all'],
5 applications = [field_ic])
function evaluator
Definition: function_evaluation.py:4

◆ fluid_comps

list khiA1_mixed_ion_kinetic_electron.fluid_comps = ['rho', 'px', 'py', 'pz', 'e']

◆ fluid_electron_perturbation_sim

float khiA1_mixed_ion_kinetic_electron.fluid_electron_perturbation_sim = perturbation_sim

◆ fluid_ic_va

warpy khiA1_mixed_ion_kinetic_electron.fluid_ic_va
Initial value:
2 priority = 0,
3 spatial_order = sorder,
4 on_subdomains = tf_i_sds,
5 applications = [ion_fluid_ic])

◆ fluid_ion_perturbation_sim

float khiA1_mixed_ion_kinetic_electron.fluid_ion_perturbation_sim = 0.0

◆ frame_start_from_previous

int khiA1_mixed_ion_kinetic_electron.frame_start_from_previous = 10

◆ gamma

float khiA1_mixed_ion_kinetic_electron.gamma = 2.0

◆ gen_xdmf

khiA1_mixed_ion_kinetic_electron.gen_xdmf

Run Simulation ... now = datetime.datetime.now() sim.run('hybrid/2d2v/khi/'+now.strftime("%Y_%m_%d"),.

◆ ic_ha

list khiA1_mixed_ion_kinetic_electron.ic_ha = [tf_ic_ha, ion_distribution_ic_ha, electron_distribution_ic_ha, field_ic_ha]

◆ integ_Bx2

warpy khiA1_mixed_ion_kinetic_electron.integ_Bx2
Initial value:
1= warpy.host_actions.integrator(name='Bx2_integrator',
2 time_integrator=time_integrator,
3 patch_process_integrators=[warpy.integrators.dg_integrator(name='integ_Bx2',
4 spatial_order=sorder,
5 applications=[warpy.apps.integrate.int_Ex2_dv(name='int_Bx2_dv',
6 variables=field,
7 stage=0,
8 variables_components=['Bx'])
9 ])
10 ])
integrate the field energy of component x over the domain volume
Definition: integrate.py:142
Definition: integrator.py:6
dg_integrator This integrator takes into account element geometry and sums for integrating a function...
Definition: integrators.py:35

◆ integ_By2

warpy khiA1_mixed_ion_kinetic_electron.integ_By2
Initial value:
1= warpy.host_actions.integrator(name='By2_integrator',
2 time_integrator=time_integrator,
3 patch_process_integrators=[warpy.integrators.dg_integrator(name='integ_By2',
4 spatial_order=sorder,
5 applications=[warpy.apps.integrate.int_Ex2_dv(name='int_By2_dv',
6 variables=field,
7 stage=0,
8 variables_components=['By'])
9 ])
10 ])

◆ integ_Bz2

warpy khiA1_mixed_ion_kinetic_electron.integ_Bz2
Initial value:
1= warpy.host_actions.integrator(name='Bz2_integrator',
2 time_integrator=time_integrator,
3 patch_process_integrators=[warpy.integrators.dg_integrator(name='integ_Bz2',
4 spatial_order=sorder,
5 applications=[warpy.apps.integrate.int_Ex2_dv(name='int_Bz2_dv',
6 variables=field,
7 stage=0,
8 variables_components=['Bz'])
9 ])
10 ])

◆ integ_Ex2

warpy khiA1_mixed_ion_kinetic_electron.integ_Ex2
Initial value:
1= warpy.host_actions.integrator(name='Ex2_integrator',
2 time_integrator=time_integrator,
3 patch_process_integrators=[warpy.integrators.dg_integrator(name='integ_Ex2',
4 spatial_order=sorder,
5 applications=[warpy.apps.integrate.int_Ex2_dv(name='int_Ex2_dv',
6 variables=field,
7 stage=0,
8 variables_components=['Ex'])
9 ])
10 ])

◆ integ_Ey2

warpy khiA1_mixed_ion_kinetic_electron.integ_Ey2
Initial value:
1= warpy.host_actions.integrator(name='Ey2_integrator',
2 time_integrator=time_integrator,
3 patch_process_integrators=[warpy.integrators.dg_integrator(name='integ_Ey2',
4 spatial_order=sorder,
5 applications=[warpy.apps.integrate.int_Ex2_dv(name='int_Ey2_dv',
6 variables=field,
7 stage=0,
8 variables_components=['Ey'])
9 ])
10 ])

◆ integ_Ez2

warpy khiA1_mixed_ion_kinetic_electron.integ_Ez2
Initial value:
1= warpy.host_actions.integrator(name='Ez2_integrator',
2 time_integrator=time_integrator,
3 patch_process_integrators=[warpy.integrators.dg_integrator(name='integ_Ez2',
4 spatial_order=sorder,
5 applications=[warpy.apps.integrate.int_Ex2_dv(name='int_Ez2_dv',
6 variables=field,
7 stage=0,
8 variables_components=['Ez'])
9 ])
10 ])

◆ ion_distribution

warpy khiA1_mixed_ion_kinetic_electron.ion_distribution
Initial value:
1= warpy.variable(name = 'ion_distribution',
2 components = ['f'],
3 basis_array_set = sorder,
4 phase_space_basis_array_set = sorder,
5 v_space_num_elements = v_space_num_elements,
6 subdomains=kinetic_i_sds,
7 virtual_subdomains=kinetic_i_vds)

◆ ion_distribution_ic

warpy khiA1_mixed_ion_kinetic_electron.ion_distribution_ic
Initial value:
2 distribution = ion_distribution,
3 distribution_components = None,
4 species = "Ions",
5 d_width = d_width_sim,
6 ex_peak = Ex0_sim,
7 density_gradient = b_sim,
8 temperature0 = T_sim,
9 omega_c_tau = omega_c_tau,
10 omega_p_tau = omega_p_tau,
11 ni_aux_fit_xvec = ni_aux_fit_xvec,
12 ni_aux_fit_a = ni_aux_fit_a,
13 ni_aux_fit_b = ni_aux_fit_b,
14 phi_fit_xvec = phi_fit_xvec,
15 phi_fit_a = phi_fit_a,
16 phi_fit_b = phi_fit_b,
17 Ay_fit_xvec = Ay_fit_xvec,
18 Ay_fit_a = Ay_fit_a,
19 Ay_fit_b = Ay_fit_b,
20 amplitude = perturbation_sim,
21 wavelength = Ly_sim,
22 center = center_sim,
23 Zi = Zi,
24 Ai = Ai,
25 Ze = Ze,
26 Ae = Ae,
27 on_boundaries = ['leftWall', 'rightWall']
28)

◆ ion_distribution_ic_ha

warpy khiA1_mixed_ion_kinetic_electron.ion_distribution_ic_ha
Initial value:
1= warpy.host_actions.va_runner(name = "ion_distribution_ic_ha",
2 variable_adjusters = [ion_distribution_ic_va])

◆ ion_distribution_ic_va

warpy khiA1_mixed_ion_kinetic_electron.ion_distribution_ic_va
Initial value:
2 priority = 0,
3 spatial_order = sorder,
4 phase_space_spatial_order = sorder,
5 v_space_num_elements = v_space_num_elements,
6 min_v = min_v_ion,
7 dv = dv_ion,
8 on_subdomains = kinetic_i_sds,
9 applications = [ion_distribution_ic]
10)

◆ ion_fluid

warpy khiA1_mixed_ion_kinetic_electron.ion_fluid
Initial value:
1= warpy.variable(name='ion_fluid',
2 components=fluid_comps,
3 basis_array_set=sorder,
4 subdomains=tf_i_sds,
5 virtual_subdomains=tf_i_vds)

◆ ion_fluid_ic

warpy khiA1_mixed_ion_kinetic_electron.ion_fluid_ic
Initial value:
2 fluid = ion_fluid,
3 fluid_components = None,
4 gamma = gamma,
5 mass = Ai,
6 d_width = d_width_sim,
7 n_fit_xvec = ni_fit_xvec,
8 n_fit_a = ni_fit_a,
9 n_fit_b = ni_fit_b,
10 vy_fit_xvec = vyi_fit_xvec,
11 vy_fit_a = vyi_fit_a,
12 vy_fit_b = vyi_fit_b,
13 Ty_fit_xvec = Tyi_fit_xvec,
14 Ty_fit_a = Tyi_fit_a,
15 Ty_fit_b = Tyi_fit_b,
16 Tx = Tx_sim,
17 amplitude = fluid_ion_perturbation_sim,
18 wavelength = Ly_sim,
19 center = center_sim,
20 on_boundaries = ['leftWall', 'rightWall']
21
22)
Function which sets fields for the KHI problem, grabbing the fluid vars from the kinetic equibrium.
Definition: five_moment.py:820

◆ ion_probe_fluid

warpy khiA1_mixed_ion_kinetic_electron.ion_probe_fluid = kinetic_ion_fluid

◆ ion_probe_fluid_components

list khiA1_mixed_ion_kinetic_electron.ion_probe_fluid_components = ['ni_0', 'nvxi_0', 'nvyi_0', 'nvzi_0', 'nTi_0']

◆ ion_timestep_start_chi_metric_moment_taker

warpy khiA1_mixed_ion_kinetic_electron.ion_timestep_start_chi_metric_moment_taker
Initial value:
1= warpy.variable_adjusters.moment_takers.velocity_space_moment_taker(name = 'moment_taker_chi_ions_timestep_start',
2 priority = 4,
3 spatial_order=sorder,
4 phase_space_basis_array_set=sorder,
5 v_space_num_elements = v_space_num_elements,
6 min_v = min_v_ion,
7 dv = dv_ion,
8 applications = applications_maxwellian_metric_ions,
9 on_subdomains = kinetic_i_sds
10)

◆ ion_timestep_start_moment_taker

warpy khiA1_mixed_ion_kinetic_electron.ion_timestep_start_moment_taker
Initial value:
1= warpy.variable_adjusters.moment_takers.velocity_space_moment_taker(name='moment_taker_ions_timestep_start',
2 priority=1,
3 spatial_order=sorder,
4 phase_space_basis_array_set = sorder,
5 v_space_num_elements = v_space_num_elements,
6 min_v = min_v_ion,
7 dv = dv_ion,
8 applications=applications_moments_ions,
9 on_subdomains=kinetic_i_sds)

◆ ion_timestep_start_second_moment_taker

warpy khiA1_mixed_ion_kinetic_electron.ion_timestep_start_second_moment_taker
Initial value:
1= warpy.variable_adjusters.moment_takers.velocity_space_moment_taker(name='second_moment_taker_ions_timestep_start',
2 priority=2,
3 spatial_order=sorder,
4 phase_space_basis_array_set = sorder,
5 v_space_num_elements = v_space_num_elements,
6 min_v = min_v_ion,
7 dv = dv_ion,
8 applications=applications_2nd_moments_ions,
9 on_subdomains=kinetic_i_sds)

◆ ions_probe0

warpy khiA1_mixed_ion_kinetic_electron.ions_probe0
Initial value:
2 ReadVars=[ion_probe_fluid],
3 Location=[0.0,0.0],
4 BasisArraySet=sorder,
5 stage=0)
Writes out variables for single node at each time point into single file.
Definition: probe_diagnostic.py:4

◆ kinetic_e_sds

list khiA1_mixed_ion_kinetic_electron.kinetic_e_sds = ['left', 'middle', 'right']

◆ kinetic_e_vds

None khiA1_mixed_ion_kinetic_electron.kinetic_e_vds = None

◆ kinetic_electron_fluid

warpy khiA1_mixed_ion_kinetic_electron.kinetic_electron_fluid
Initial value:
1= warpy.variable(name = 'kinetic_electron_fluid',
2 components = ['n','nvx','nvy','nvz','nT'],
3 basis_array_set = sorder,
4 subdomains=kinetic_e_sds,
5 virtual_subdomains=kinetic_e_vds,
6 explodable=False)

◆ kinetic_i_sds

list khiA1_mixed_ion_kinetic_electron.kinetic_i_sds = ['middle']

◆ kinetic_i_vds

list khiA1_mixed_ion_kinetic_electron.kinetic_i_vds = ['left', 'right']

◆ kinetic_ion_fluid

warpy khiA1_mixed_ion_kinetic_electron.kinetic_ion_fluid
Initial value:
1= warpy.variable(name = 'kinetic_ion_fluid',
2 components = ['n','nvx','nvy','nvz','nT'],
3 basis_array_set = sorder,
4 subdomains=kinetic_i_sds,
5 virtual_subdomains=kinetic_i_vds,
6 explodable=False)

◆ kinetic_to_tf_va

list khiA1_mixed_ion_kinetic_electron.kinetic_to_tf_va = []

◆ ky_sim_d_sim

float khiA1_mixed_ion_kinetic_electron.ky_sim_d_sim = 0.4

◆ L

float khiA1_mixed_ion_kinetic_electron.L = v0*tau

◆ L_debye0

tuple khiA1_mixed_ion_kinetic_electron.L_debye0 = (eps0*T0/(n0*qe**2))**0.5

◆ Ld_sim_over_d_sim

math khiA1_mixed_ion_kinetic_electron.Ld_sim_over_d_sim = math.sqrt(T_sim / n_sim_ref /Ze**2) / d_width_sim

◆ Lx_sim

float khiA1_mixed_ion_kinetic_electron.Lx_sim = 1.0

◆ Ly_sim

float khiA1_mixed_ion_kinetic_electron.Ly_sim = 2.0*math.pi*d_width_sim/ky_sim_d_sim

◆ mass_ratio

float khiA1_mixed_ion_kinetic_electron.mass_ratio = 25.0

◆ max_vx_electron

float khiA1_mixed_ion_kinetic_electron.max_vx_electron = +1.0

◆ max_vx_ion

float khiA1_mixed_ion_kinetic_electron.max_vx_ion = +0.2

◆ max_vy_electron

float khiA1_mixed_ion_kinetic_electron.max_vy_electron = +1.0

◆ max_vy_ion

float khiA1_mixed_ion_kinetic_electron.max_vy_ion = +0.2

◆ mesh

warpy khiA1_mixed_ion_kinetic_electron.mesh
Initial value:
1= warpy.mesh.arbitrary(meshfile,
2 NumLayers=1,
3 basis_array_set=sorder,
4 PeriodicBoundaries = ['bottomWall', 'topWall'])
general unstructured mesh
Definition: mesh.py:56

◆ meshfile

str khiA1_mixed_ion_kinetic_electron.meshfile = '../../../../../../user_runs/andrew_ho/meshes/khi_xl8m16r8_y8.inp'

◆ min_v_electron

list khiA1_mixed_ion_kinetic_electron.min_v_electron = [min_vx_electron, min_vy_electron]

◆ min_v_ion

list khiA1_mixed_ion_kinetic_electron.min_v_ion = [min_vx_ion, min_vy_ion]

◆ min_vx_electron

float khiA1_mixed_ion_kinetic_electron.min_vx_electron = -1.0

◆ min_vx_ion

float khiA1_mixed_ion_kinetic_electron.min_vx_ion = -0.2

◆ min_vy_electron

float khiA1_mixed_ion_kinetic_electron.min_vy_electron = -1.0

◆ min_vy_ion

float khiA1_mixed_ion_kinetic_electron.min_vy_ion = -0.2

◆ mp

float khiA1_mixed_ion_kinetic_electron.mp = 1.672622e-27

◆ mu0

float khiA1_mixed_ion_kinetic_electron.mu0 = 1.256637e-6

◆ n0

float khiA1_mixed_ion_kinetic_electron.n0 = 2.00e20

◆ n_sim_ref

float khiA1_mixed_ion_kinetic_electron.n_sim_ref = 1.0

◆ ne_fit_a

def khiA1_mixed_ion_kinetic_electron.ne_fit_a = str2float(ne_fit_a)

◆ ne_fit_b

def khiA1_mixed_ion_kinetic_electron.ne_fit_b = ne_fit_b[0:2]

◆ ne_fit_xvec

def khiA1_mixed_ion_kinetic_electron.ne_fit_xvec = str2float(ne_fit_xvec)

◆ ne_reader

csv khiA1_mixed_ion_kinetic_electron.ne_reader = csv.reader(ne_file, delimiter=',')

◆ ni_aux_fit_a

def khiA1_mixed_ion_kinetic_electron.ni_aux_fit_a = str2float(ni_aux_fit_a)

◆ ni_aux_fit_b

def khiA1_mixed_ion_kinetic_electron.ni_aux_fit_b = ni_aux_fit_b[0:2]

◆ ni_aux_fit_xvec

def khiA1_mixed_ion_kinetic_electron.ni_aux_fit_xvec = str2float(ni_aux_fit_xvec)

◆ ni_aux_reader

csv khiA1_mixed_ion_kinetic_electron.ni_aux_reader = csv.reader(ni_aux_file, delimiter=',')

◆ ni_fit_a

def khiA1_mixed_ion_kinetic_electron.ni_fit_a = str2float(ni_fit_a)

◆ ni_fit_b

def khiA1_mixed_ion_kinetic_electron.ni_fit_b = ni_fit_b[0:2]

◆ ni_fit_xvec

def khiA1_mixed_ion_kinetic_electron.ni_fit_xvec = str2float(ni_fit_xvec)

◆ ni_reader

csv khiA1_mixed_ion_kinetic_electron.ni_reader = csv.reader(ni_file, delimiter=',')

◆ nout

int khiA1_mixed_ion_kinetic_electron.nout = 100

◆ now

datetime khiA1_mixed_ion_kinetic_electron.now = datetime.datetime.now().strftime("%Y_%m_%d")

◆ number_density_min

int khiA1_mixed_ion_kinetic_electron.number_density_min = 1e-12

◆ numerical_flux_type

str khiA1_mixed_ion_kinetic_electron.numerical_flux_type = 'Rusanov'

◆ omega_c

float khiA1_mixed_ion_kinetic_electron.omega_c = omega_c_tau / tau

◆ omega_c_tau

float khiA1_mixed_ion_kinetic_electron.omega_c_tau = 1.00

◆ omega_ce_sim

float khiA1_mixed_ion_kinetic_electron.omega_ce_sim = Ae*Ze/Bz_x0_sim

◆ omega_ci_sim

float khiA1_mixed_ion_kinetic_electron.omega_ci_sim = Ai*Zi/Bz_x0_sim

◆ omega_p

math khiA1_mixed_ion_kinetic_electron.omega_p = math.sqrt((qe**2 * n0)/(eps0 * mp))

◆ omega_p_tau

float khiA1_mixed_ion_kinetic_electron.omega_p_tau = 1.00

◆ omega_s_over_omega_p

float khiA1_mixed_ion_kinetic_electron.omega_s_over_omega_p = 0.2625

◆ orig_files

warpy khiA1_mixed_ion_kinetic_electron.orig_files = configs['test_rundir'](orig_loc, orig_sim)

◆ orig_loc

str khiA1_mixed_ion_kinetic_electron.orig_loc = '/Users/imandatta/Documents/warpxm_runs/hyak_mox_outputs/hybrid/2d2v/khi/2021_02_19/'

◆ orig_sim

str khiA1_mixed_ion_kinetic_electron.orig_sim = 'khiA1_hybrid_pert_3rd_tws60_32x8x32x32_mixed'

◆ p0

float khiA1_mixed_ion_kinetic_electron.p0 = B0**2/mu0

◆ perturbation_sim

float khiA1_mixed_ion_kinetic_electron.perturbation_sim = 2.0E-4

◆ phi_fit_a

def khiA1_mixed_ion_kinetic_electron.phi_fit_a = str2float(phi_fit_a)

◆ phi_fit_b

def khiA1_mixed_ion_kinetic_electron.phi_fit_b = phi_fit_b[0:2]

◆ phi_fit_xvec

def khiA1_mixed_ion_kinetic_electron.phi_fit_xvec = str2float(phi_fit_xvec)

◆ phi_reader

csv khiA1_mixed_ion_kinetic_electron.phi_reader = csv.reader(phi_file, delimiter=',')

◆ pressure_min

int khiA1_mixed_ion_kinetic_electron.pressure_min = number_density_min*T_sim

◆ qe

float khiA1_mixed_ion_kinetic_electron.qe = 1.602177e-19

◆ rl0

math khiA1_mixed_ion_kinetic_electron.rl0 = v_th0/omega_c

◆ rli_sim_over_d_sim

math khiA1_mixed_ion_kinetic_electron.rli_sim_over_d_sim = math.sqrt(T_sim/Ai)/omega_ci_sim / d_width_sim

◆ sim

warpy khiA1_mixed_ion_kinetic_electron.sim
Initial value:
1= warpy.dg_sim(name = sim_name,
2 meshes = [mesh],
3 initial_conditions = ic_ha,
4 temporal_solvers = [time_integrator],
5 writers = extra_timestep_start_writer + [writer, diag_writer],
6 time = time_sim,
7 dt_controller = dt_controller,
8 flexible_writeout = False,
9 write_steps = nout,
10 verbosity = 'info')
Discontinuous finite element RK simulation.
Definition: dg_sim.py:11

◆ sim_name

f khiA1_mixed_ion_kinetic_electron.sim_name = f'khiA1_mixed_i_kin_e_pert_3rd_tws60_32x8x32x32'

◆ sim_param

khiA1_mixed_ion_kinetic_electron.sim_param
Initial value:
1= \
2f'''case_loc={case_loc}
3specific_case={sim_name}
4start_frame=0
5end_frame={nout}
6domain=middle
7ion_variable={ion_distribution.name()}
8electron_variable={electron_distribution.name()}
9v_space_num_vx={v_space_num_elements[0]}
10v_space_num_vy={v_space_num_elements[1]}
11basis_name={sorder}
12min_vxi={min_vx_ion}
13max_vxi={max_vx_ion}
14min_vyi={min_vy_ion}
15max_vyi={max_vy_ion}
16min_vxe={min_vx_electron}
17max_vxe={max_vx_electron}
18min_vye={min_vx_electron}
19max_vye={max_vx_electron}
20ions_are_kinetic=1
21electrons_are_kinetic=1
22'''

◆ skin_depth_norm

float khiA1_mixed_ion_kinetic_electron.skin_depth_norm = 1.0 / (omega_c_tau)

◆ solver_apps_kinetic_electrons

list khiA1_mixed_ion_kinetic_electron.solver_apps_kinetic_electrons
Initial value:
1= [warpy.apps.vlasovmaxwell.vlasovmaxwell(name = 'vlasov_electrons',
2 pdf_variable = electron_distribution,
3 field_variable = field,
4 skin_depth_norm = skin_depth_norm,
5 charge_to_mass = Ze/Ae)]
Vlasov-Maxwell.
Definition: vlasovmaxwell.py:4

◆ solver_apps_kinetic_ions

list khiA1_mixed_ion_kinetic_electron.solver_apps_kinetic_ions
Initial value:
1= [warpy.apps.vlasovmaxwell.vlasovmaxwell(name = 'vlasov_ions',
2 pdf_variable = ion_distribution,
3 field_variable = field,
4 skin_depth_norm = skin_depth_norm,
5 charge_to_mass = Zi/Ai)]

◆ solver_apps_maxwell_flux

list khiA1_mixed_ion_kinetic_electron.solver_apps_maxwell_flux
Initial value:
1= [warpy.apps.maxwell.flux(name = 'maxwell',
2 field = field,
3 skin_depth_norm = skin_depth_norm,
4 omega_p_norm = omega_p_tau)]
Maxwell flux.
Definition: maxwell.py:4

◆ solver_apps_maxwell_kinetic_electron_fluid_source

list khiA1_mixed_ion_kinetic_electron.solver_apps_maxwell_kinetic_electron_fluid_source
Initial value:
1= [warpy.apps.maxwell.fluid_source(name = 'maxwell_electron_distribution_source',
2 charge = Ze,
3 mass = 1.0, # must be 1
4 omega_p_norm = omega_p_tau,
5 skin_depth_norm = skin_depth_norm,
6 field = field,
7 fluid = kinetic_electron_fluid,
8 momentum_components =['nvx', 'nvy', 'nvz'])]
Fluid source for Maxwell's equations.
Definition: maxwell.py:38

◆ solver_apps_maxwell_kinetic_ion_fluid_source

list khiA1_mixed_ion_kinetic_electron.solver_apps_maxwell_kinetic_ion_fluid_source
Initial value:
1= [warpy.apps.maxwell.fluid_source(name = 'maxwell_ion_distribution_source',
2 charge = Zi,
3 mass = 1.0, # must be 1
4 omega_p_norm = omega_p_tau,
5 skin_depth_norm = skin_depth_norm,
6 field = field,
7 fluid = kinetic_ion_fluid,
8 momentum_components =['nvx', 'nvy', 'nvz'])]

◆ solver_apps_maxwell_tf_fluid_source

list khiA1_mixed_ion_kinetic_electron.solver_apps_maxwell_tf_fluid_source
Initial value:
1= [warpy.apps.maxwell.fluid_source(name = 'maxwell_ion_fluid_source',
2 charge = Zi,
3 mass = Ai,
4 omega_p_norm = omega_p_tau,
5 skin_depth_norm = skin_depth_norm,
6 field = field,
7 fluid = ion_fluid,
8 momentum_components =['px', 'py', 'pz'])]

◆ solver_apps_tf

list khiA1_mixed_ion_kinetic_electron.solver_apps_tf = []

◆ sorder

str khiA1_mixed_ion_kinetic_electron.sorder = 'thirdOrder'

◆ source_file

os khiA1_mixed_ion_kinetic_electron.source_file = os.path.join(orig_files,'data', '%s_%d.h5'%(orig_sim,frame_start_from_previous))

◆ spatial_solver_field

list khiA1_mixed_ion_kinetic_electron.spatial_solver_field = []

◆ spatial_solver_kinetic

list khiA1_mixed_ion_kinetic_electron.spatial_solver_kinetic = []

◆ spatial_solver_tf

list khiA1_mixed_ion_kinetic_electron.spatial_solver_tf = []

◆ ss_s

list khiA1_mixed_ion_kinetic_electron.ss_s = spatial_solver_tf + spatial_solver_kinetic + spatial_solver_field

◆ start_from_previous

bool khiA1_mixed_ion_kinetic_electron.start_from_previous = False

if starting from previous sim

◆ T0

float khiA1_mixed_ion_kinetic_electron.T0 = p0/n0

◆ T0_ev

float khiA1_mixed_ion_kinetic_electron.T0_ev = T0 / qe

◆ T_sim

float khiA1_mixed_ion_kinetic_electron.T_sim = 6.25e-4

◆ target_tws

float khiA1_mixed_ion_kinetic_electron.target_tws = 60.0

◆ tau

float khiA1_mixed_ion_kinetic_electron.tau = omega_p_tau / omega_p

◆ tf_e_sds

None khiA1_mixed_ion_kinetic_electron.tf_e_sds = None

◆ tf_e_vds

None khiA1_mixed_ion_kinetic_electron.tf_e_vds = None

◆ tf_i_sds

list khiA1_mixed_ion_kinetic_electron.tf_i_sds = ['left', 'right']

◆ tf_i_vds

list khiA1_mixed_ion_kinetic_electron.tf_i_vds = ['middle']

◆ tf_ic_ha

warpy khiA1_mixed_ion_kinetic_electron.tf_ic_ha
Initial value:
1= warpy.host_actions.va_runner(name = "tf_ic_ha",
2 variable_adjusters = [fluid_ic_va])

load from file

◆ tf_to_kinetic_va

list khiA1_mixed_ion_kinetic_electron.tf_to_kinetic_va = []

◆ time_integrator

warpy khiA1_mixed_ion_kinetic_electron.time_integrator
Initial value:
1= warpy.host_actions.erk(name = 'ti',
2 scheme = torder,
3 spatial_solvers = ss_s,
4 variable_adjusters = va_s)
Explicit Runge-Kutta temporal solver Note: Dormand45 currently will not work correctly with limiters ...
Definition: erk.py:5

◆ time_sim

list khiA1_mixed_ion_kinetic_electron.time_sim = [0, target_tws / omega_p_tau / omega_s_over_omega_p ]

◆ torder

str khiA1_mixed_ion_kinetic_electron.torder = 'SSPRK3'

◆ Tx_sim

float khiA1_mixed_ion_kinetic_electron.Tx_sim = T_sim / 2.0

◆ Tye_fit_a

def khiA1_mixed_ion_kinetic_electron.Tye_fit_a = str2float(Tye_fit_a)

◆ Tye_fit_b

def khiA1_mixed_ion_kinetic_electron.Tye_fit_b = Tye_fit_b[0:2]

◆ Tye_fit_xvec

def khiA1_mixed_ion_kinetic_electron.Tye_fit_xvec = str2float(Tye_fit_xvec)

◆ Tye_reader

csv khiA1_mixed_ion_kinetic_electron.Tye_reader = csv.reader(Tye_file, delimiter=',')

◆ Tyi_fit_a

def khiA1_mixed_ion_kinetic_electron.Tyi_fit_a = str2float(Tyi_fit_a)

◆ Tyi_fit_b

def khiA1_mixed_ion_kinetic_electron.Tyi_fit_b = Tyi_fit_b[0:2]

◆ Tyi_fit_xvec

def khiA1_mixed_ion_kinetic_electron.Tyi_fit_xvec = str2float(Tyi_fit_xvec)

◆ Tyi_reader

csv khiA1_mixed_ion_kinetic_electron.Tyi_reader = csv.reader(Tyi_file, delimiter=',')

◆ v0

float khiA1_mixed_ion_kinetic_electron.v0 = B0/math.sqrt(mp*n0*mu0)

◆ v_space_num_elements

list khiA1_mixed_ion_kinetic_electron.v_space_num_elements = [v_space_num_vx, v_space_num_vy]

◆ v_space_num_vx

int khiA1_mixed_ion_kinetic_electron.v_space_num_vx = 32

◆ v_space_num_vy

int khiA1_mixed_ion_kinetic_electron.v_space_num_vy = 32

◆ v_th0

math khiA1_mixed_ion_kinetic_electron.v_th0 = math.sqrt(T0/mp)

◆ va_s

◆ variable_adjusters_field

list khiA1_mixed_ion_kinetic_electron.variable_adjusters_field = []

◆ variable_adjusters_kinetic

list khiA1_mixed_ion_kinetic_electron.variable_adjusters_kinetic = []

◆ variable_adjusters_tf

list khiA1_mixed_ion_kinetic_electron.variable_adjusters_tf = []

◆ virtual_bc_apps_kinetic_ions

list khiA1_mixed_ion_kinetic_electron.virtual_bc_apps_kinetic_ions = []

◆ virtual_bc_apps_tf

list khiA1_mixed_ion_kinetic_electron.virtual_bc_apps_tf = []

◆ vye_fit_a

def khiA1_mixed_ion_kinetic_electron.vye_fit_a = str2float(vye_fit_a)

◆ vye_fit_b

def khiA1_mixed_ion_kinetic_electron.vye_fit_b = vye_fit_b[0:2]

◆ vye_fit_xvec

def khiA1_mixed_ion_kinetic_electron.vye_fit_xvec = str2float(vye_fit_xvec)

◆ vye_reader

csv khiA1_mixed_ion_kinetic_electron.vye_reader = csv.reader(vye_file, delimiter=',')

◆ vyi_fit_a

def khiA1_mixed_ion_kinetic_electron.vyi_fit_a = str2float(vyi_fit_a)

◆ vyi_fit_b

def khiA1_mixed_ion_kinetic_electron.vyi_fit_b = vyi_fit_b[0:2]

◆ vyi_fit_xvec

def khiA1_mixed_ion_kinetic_electron.vyi_fit_xvec = str2float(vyi_fit_xvec)

◆ vyi_reader

csv khiA1_mixed_ion_kinetic_electron.vyi_reader = csv.reader(vyi_file, delimiter=',')

◆ write_vars

list khiA1_mixed_ion_kinetic_electron.write_vars
Initial value:
1= [ion_fluid,
2 ion_distribution,
3 electron_distribution,
4 kinetic_ion_fluid,
5 kinetic_electron_fluid,
6 chi_metric_i,
7 chi_metric_e,
8 field]

◆ writer

warpy khiA1_mixed_ion_kinetic_electron.writer
Initial value:
1= warpy.host_actions.writer(name = 'writer',
2 ReadVars = write_vars)
Writes out a list of variables.
Definition: writer.py:4

◆ Ze

float khiA1_mixed_ion_kinetic_electron.Ze = -1.0

◆ Zi

float khiA1_mixed_ion_kinetic_electron.Zi = 1.0