WARPXM v1.10.0
Loading...
Searching...
No Matches
gem_5moment_1D.py File Reference

Namespaces

namespace  examples
 
namespace  examples.dg
 
namespace  examples.dg.plasma
 
namespace  examples.dg.plasma.gem_challenge
 
namespace  examples.dg.plasma.gem_challenge.gem_5moment_1D
 

Variables

bool examples.dg.plasma.gem_challenge.gem_5moment_1D.use_phmaxwell = False
 
bool examples.dg.plasma.gem_challenge.gem_5moment_1D.use_pcmaxwell = False
 
None examples.dg.plasma.gem_challenge.gem_5moment_1D.nu_p_tau = None
 
float examples.dg.plasma.gem_challenge.gem_5moment_1D.cfl = 0.8
 
bool examples.dg.plasma.gem_challenge.gem_5moment_1D.use_limiters = False
 
bool examples.dg.plasma.gem_challenge.gem_5moment_1D.use_interspecies_collisions = False
 
str examples.dg.plasma.gem_challenge.gem_5moment_1D.torder = "TVDRK2"
 
str examples.dg.plasma.gem_challenge.gem_5moment_1D.sorder = "secondOrder"
 
float examples.dg.plasma.gem_challenge.gem_5moment_1D.n0 = 1.0
 
float examples.dg.plasma.gem_challenge.gem_5moment_1D.n_inf = 0.2
 
float examples.dg.plasma.gem_challenge.gem_5moment_1D.B0 = 1.0
 
float examples.dg.plasma.gem_challenge.gem_5moment_1D.perturbation = 0.1
 
list examples.dg.plasma.gem_challenge.gem_5moment_1D.names = ["ions", "electrons"]
 
list examples.dg.plasma.gem_challenge.gem_5moment_1D.A = [1., 1.]
 
list examples.dg.plasma.gem_challenge.gem_5moment_1D.Z = [1., -1.]
 
math examples.dg.plasma.gem_challenge.gem_5moment_1D.Ti_Te = math.sqrt(A[0]/A[1])
 
float examples.dg.plasma.gem_challenge.gem_5moment_1D.skin_depth_norm = 1.0
 
float examples.dg.plasma.gem_challenge.gem_5moment_1D.omega_p_tau = 20.0
 
int examples.dg.plasma.gem_challenge.gem_5moment_1D.di_L = 1.
 
float examples.dg.plasma.gem_challenge.gem_5moment_1D.sheet_width = 0.5
 
float examples.dg.plasma.gem_challenge.gem_5moment_1D.Te = B0**2/2.0/n0/(Ti_Te + 1.0)
 
math examples.dg.plasma.gem_challenge.gem_5moment_1D.Ti = Ti_Te * Te
 
list examples.dg.plasma.gem_challenge.gem_5moment_1D.T = [Ti, Te]
 
float examples.dg.plasma.gem_challenge.gem_5moment_1D.chi = 1.0
 
float examples.dg.plasma.gem_challenge.gem_5moment_1D.phchi = 2.0
 
int examples.dg.plasma.gem_challenge.gem_5moment_1D.gamma = 5./3.
 
int examples.dg.plasma.gem_challenge.gem_5moment_1D.Lx = 4*math.pi*di_L
 
int examples.dg.plasma.gem_challenge.gem_5moment_1D.Ly = 8*math.pi*di_L
 
len examples.dg.plasma.gem_challenge.gem_5moment_1D.N = len(names)
 
warpy examples.dg.plasma.gem_challenge.gem_5moment_1D.mesh = warpy.mesh.block(Bounds=[-Lx/2.,Lx/2],NumCells=[512],NodeSets=["Lower","Upper"],NumLayers=2,basis_array_set=sorder)
 
list examples.dg.plasma.gem_challenge.gem_5moment_1D.component_names = ['rho', 'px', 'py', 'pz', 'e']
 
list examples.dg.plasma.gem_challenge.gem_5moment_1D.field_component_names = ['Ex', 'Ey', 'Ez', 'Bx', 'By', 'Bz']
 
warpy examples.dg.plasma.gem_challenge.gem_5moment_1D.field = warpy.variable(name='field',components=field_component_names,basis_array_set=sorder)
 
list examples.dg.plasma.gem_challenge.gem_5moment_1D.fluids = [warpy.variable(name=name,components=component_names,basis_array_set=sorder) for name in names]
 
warpy examples.dg.plasma.gem_challenge.gem_5moment_1D.field_gradient = warpy.variable(name='field_gradient',components=[prefix + "_" + suffix for prefix in field.components() for suffix in ['x','y','z']],basis_array_set=sorder)
 
list examples.dg.plasma.gem_challenge.gem_5moment_1D.fluid_gradients = [warpy.variable(name=name+'_gradient',components=[prefix + "_" + suffix for prefix in component_names for suffix in ['x','y','z']],basis_array_set=sorder) for name in names]
 
list examples.dg.plasma.gem_challenge.gem_5moment_1D.fluid_functions = [warpy.functions.gem_5moment_1D(name='ic_'+names[i], gamma=gamma, skin_depth_norm=skin_depth_norm, mass=A[i], charge=Z[i], B0=B0, temperature=T[i], sheet_width=sheet_width, number_density=n0, number_density_infinity=n_inf) for i in range(N)]
 
warpy examples.dg.plasma.gem_challenge.gem_5moment_1D.field_function = warpy.functions.gem_field_1D(name='ic_field', Bx=B0, sheet_width=sheet_width, perturbation=perturbation)
 
list examples.dg.plasma.gem_challenge.gem_5moment_1D.applicators = [warpy.applicator(spatial_order=sorder,fun=fluid_functions[i],var=fluids[i],spatial_scheme='Nodal') for i in range(N)]
 
list examples.dg.plasma.gem_challenge.gem_5moment_1D.apps = []
 
list examples.dg.plasma.gem_challenge.gem_5moment_1D.dirichlet_apps = []
 
list examples.dg.plasma.gem_challenge.gem_5moment_1D.neumann_apps = []
 
 examples.dg.plasma.gem_challenge.gem_5moment_1D.else :
 
list examples.dg.plasma.gem_challenge.gem_5moment_1D.write_vars = fluids + [field]
 
tuple examples.dg.plasma.gem_challenge.gem_5moment_1D.has_gradients = (nu_p_tau != None) or use_pcmaxwell
 
list examples.dg.plasma.gem_challenge.gem_5moment_1D.gradient_input_variables = []
 
list examples.dg.plasma.gem_challenge.gem_5moment_1D.gradient_output_variables = []
 
warpy examples.dg.plasma.gem_challenge.gem_5moment_1D.writer = warpy.host_actions.writer(name='writer',ReadVars=write_vars)
 
warpy examples.dg.plasma.gem_challenge.gem_5moment_1D.spatial_solver = warpy.spatial_solvers.dg(name="dg", spatial_order=sorder, applications=apps, cfl=cfl)
 
list examples.dg.plasma.gem_challenge.gem_5moment_1D.variable_adjusters = []
 
warpy examples.dg.plasma.gem_challenge.gem_5moment_1D.time_integrator = warpy.host_actions.erk(name="ti", scheme=torder, spatial_solvers=[spatial_solver], variable_adjusters=variable_adjusters)
 
warpy examples.dg.plasma.gem_challenge.gem_5moment_1D.dt_controller = warpy.dt_calc.stability_dt(init_dt=0.025)
 
warpy examples.dg.plasma.gem_challenge.gem_5moment_1D.sim
 
 examples.dg.plasma.gem_challenge.gem_5moment_1D.gen_xdmf
 
 examples.dg.plasma.gem_challenge.gem_5moment_1D.True
 
 examples.dg.plasma.gem_challenge.gem_5moment_1D.detect_nonscalar