WARPXM v1.10.0
Loading...
Searching...
No Matches
gem_5moment_iman.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_iman
 

Variables

bool examples.dg.plasma.gem_challenge.gem_5moment_iman.use_phmaxwell = False
 
bool examples.dg.plasma.gem_challenge.gem_5moment_iman.use_pcmaxwell = False
 
float examples.dg.plasma.gem_challenge.gem_5moment_iman.nu_p_tau = 1.0e-1
 
float examples.dg.plasma.gem_challenge.gem_5moment_iman.cfl = 0.8
 
bool examples.dg.plasma.gem_challenge.gem_5moment_iman.use_limiters = True
 
float examples.dg.plasma.gem_challenge.gem_5moment_iman.alpha_coefficient = 500.0
 
bool examples.dg.plasma.gem_challenge.gem_5moment_iman.use_interspecies_collisions = False
 
str examples.dg.plasma.gem_challenge.gem_5moment_iman.torder = "SSPRK3"
 
str examples.dg.plasma.gem_challenge.gem_5moment_iman.sorder = "thirdOrder"
 
argparse examples.dg.plasma.gem_challenge.gem_5moment_iman.parser = argparse.ArgumentParser(description='Gem Challenge')
 
 examples.dg.plasma.gem_challenge.gem_5moment_iman.type
 
 examples.dg.plasma.gem_challenge.gem_5moment_iman.str
 
 examples.dg.plasma.gem_challenge.gem_5moment_iman.nargs
 
 examples.dg.plasma.gem_challenge.gem_5moment_iman.help
 
 examples.dg.plasma.gem_challenge.gem_5moment_iman.default
 
argparse examples.dg.plasma.gem_challenge.gem_5moment_iman.args = parser.parse_args()
 
argparse examples.dg.plasma.gem_challenge.gem_5moment_iman.dimension = args.dimension
 
float examples.dg.plasma.gem_challenge.gem_5moment_iman.density_min = 0.01
 
float examples.dg.plasma.gem_challenge.gem_5moment_iman.pressure_min = 0.01
 
float examples.dg.plasma.gem_challenge.gem_5moment_iman.n0 = 1.0*1
 
float examples.dg.plasma.gem_challenge.gem_5moment_iman.n_inf = 0.2
 
float examples.dg.plasma.gem_challenge.gem_5moment_iman.B0 = 1.0*1
 
float examples.dg.plasma.gem_challenge.gem_5moment_iman.perturbation = 0.1*1
 
list examples.dg.plasma.gem_challenge.gem_5moment_iman.names = ["ions", "electrons"]
 
list examples.dg.plasma.gem_challenge.gem_5moment_iman.A = [1., 1.]
 
list examples.dg.plasma.gem_challenge.gem_5moment_iman.Z = [1., -1.]
 
math examples.dg.plasma.gem_challenge.gem_5moment_iman.Ti_Te = math.sqrt(A[0]/A[1])
 
float examples.dg.plasma.gem_challenge.gem_5moment_iman.skin_depth_norm = 1.0
 
float examples.dg.plasma.gem_challenge.gem_5moment_iman.omega_p_tau = 20.0
 
int examples.dg.plasma.gem_challenge.gem_5moment_iman.di_L = 1.
 
float examples.dg.plasma.gem_challenge.gem_5moment_iman.sheet_width = 0.5
 
float examples.dg.plasma.gem_challenge.gem_5moment_iman.Te = B0**2/2.0/n0/(Ti_Te + 1.0)
 
math examples.dg.plasma.gem_challenge.gem_5moment_iman.Ti = Ti_Te * Te
 
list examples.dg.plasma.gem_challenge.gem_5moment_iman.T = [Ti, Te]
 
float examples.dg.plasma.gem_challenge.gem_5moment_iman.chi = 1.0
 
float examples.dg.plasma.gem_challenge.gem_5moment_iman.phchi = 2.0
 
int examples.dg.plasma.gem_challenge.gem_5moment_iman.gamma = 5./3.
 
int examples.dg.plasma.gem_challenge.gem_5moment_iman.Lx = 8*math.pi*di_L
 
int examples.dg.plasma.gem_challenge.gem_5moment_iman.Ly = 4*math.pi*di_L
 
len examples.dg.plasma.gem_challenge.gem_5moment_iman.N = len(names)
 
warpy examples.dg.plasma.gem_challenge.gem_5moment_iman.mesh = warpy.mesh.block(Bounds=[-Lx/2.,Lx/2., -Ly/2.,Ly/2.],NumCells=[16,8],NodeSets=['Left','Right', 'Lower','Upper'],NumLayers=1,basis_array_set=sorder,PeriodicBoundaries=['Left','Right'],block_type="symmetric")
 
list examples.dg.plasma.gem_challenge.gem_5moment_iman.component_names = ['rho', 'px', 'py', 'pz', 'e']
 
list examples.dg.plasma.gem_challenge.gem_5moment_iman.field_component_names = ['Ex', 'Ey', 'Ez', 'Bx', 'By', 'Bz']
 
warpy examples.dg.plasma.gem_challenge.gem_5moment_iman.field = warpy.variable(name='field',components=field_component_names,basis_array_set=sorder)
 
list examples.dg.plasma.gem_challenge.gem_5moment_iman.fluids = [warpy.variable(name=name,components=component_names,basis_array_set=sorder) for name in names]
 
warpy examples.dg.plasma.gem_challenge.gem_5moment_iman.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_iman.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_iman.fluid_functions = [warpy.functions.gem_5moment_new(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_iman.field_function = warpy.functions.gem_field(name='ic_field', Bx=B0, sheet_width=sheet_width, perturbation = perturbation)
 
list examples.dg.plasma.gem_challenge.gem_5moment_iman.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_iman.apps = []
 
list examples.dg.plasma.gem_challenge.gem_5moment_iman.dirichlet_apps = []
 
list examples.dg.plasma.gem_challenge.gem_5moment_iman.neumann_apps = []
 
 examples.dg.plasma.gem_challenge.gem_5moment_iman.else :
 
list examples.dg.plasma.gem_challenge.gem_5moment_iman.limiter_apps = []
 
list examples.dg.plasma.gem_challenge.gem_5moment_iman.write_vars = fluids + [field]
 
tuple examples.dg.plasma.gem_challenge.gem_5moment_iman.has_gradients = (nu_p_tau != None) or use_pcmaxwell
 
list examples.dg.plasma.gem_challenge.gem_5moment_iman.gradient_input_variables = []
 
list examples.dg.plasma.gem_challenge.gem_5moment_iman.gradient_output_variables = []
 
warpy examples.dg.plasma.gem_challenge.gem_5moment_iman.writer = warpy.host_actions.writer(name='writer',ReadVars=write_vars)
 
warpy examples.dg.plasma.gem_challenge.gem_5moment_iman.spatial_solver = warpy.spatial_solvers.dg(name="dg", spatial_order=sorder, applications=apps, cfl=cfl)
 
list examples.dg.plasma.gem_challenge.gem_5moment_iman.variable_adjusters = []
 
warpy examples.dg.plasma.gem_challenge.gem_5moment_iman.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_iman.dt_controller = warpy.dt_calc.stability_dt(init_dt=0.025)
 
warpy examples.dg.plasma.gem_challenge.gem_5moment_iman.sim
 
 examples.dg.plasma.gem_challenge.gem_5moment_iman.gen_xdmf
 
 examples.dg.plasma.gem_challenge.gem_5moment_iman.True
 
 examples.dg.plasma.gem_challenge.gem_5moment_iman.detect_nonscalar