WARPXM v1.10.0
Loading...
Searching...
No Matches
examples.dg.mhd.gem_challenge_hall Namespace Reference

Variables

str torder = 'RK4'
 
str sorder = 'secondOrder'
 
bool useLimiter = True
 
bool always_limit = True
 
float skin_depth_norm = 1.0
 
int gamma = 5./3.
 
int z_i = 1
 
int A_i = 1
 
int theta = 1
 
int di_L = 1.
 
int Lx = 8*math.pi*di_L
 
int Ly = 4*math.pi*di_L
 
float sheet_width = 0.5
 
float n0 = 1.0
 
float n_inf = 0.2
 
float B0 = 1.0
 
float Ti_Te = 1.0/theta
 
tuple Te = (di_L / skin_depth_norm * B0)**2 / (2 * (n0-n_inf) * (1 + Ti_Te))
 
list T = [Ti_Te * Te, Te]
 
int v = 2. * skin_depth_norm / (sheet_width * B0)
 
list V = T[0]*v
 
warpy mesh = warpy.mesh.block(Bounds=[-Lx/2.,Lx/2., -Ly/2.,Ly/2.],NumCells=[32,16],NodeSets=['Left','Right', 'Lower','Upper'],NumLayers=1,basis_array_set=sorder,PeriodicBoundaries=['Left','Right'])
 
list component_names = ['rho', 'px', 'py', 'pz', 'e', 'Bx', 'By', 'Bz']
 
warpy fluid = warpy.variable(name='fluid',components=component_names,basis_array_set=sorder)
 
list gradient_component_names = [prefix+"_"+suffix for prefix in component_names for suffix in ['x','y','z']]
 
warpy fluid_gradient = warpy.variable(name='fluid_gradient', components=gradient_component_names,basis_array_set=sorder)
 
warpy gem_ic = warpy.functions.gem_hallmhd(name='gem_ic',gamma=gamma,mass=A_i,temperature=T[0],velocity=V,sheet_width=sheet_width,number_density=n0,number_density_infinity=n_inf,Bx=B0,Lx=Lx,Ly=Ly)
 
list applicators = [warpy.applicator(spatial_order=sorder,fun=gem_ic,var=fluid,spatial_scheme='Nodal')]
 
list apps = []
 
list dirichlet_apps = []
 
list neumann_apps = []
 
warpy writer = warpy.host_actions.writer(name='writer',ReadVars=[fluid, fluid_gradient])
 
warpy spatial_solver = warpy.spatial_solvers.dg(name="dg", spatial_order=sorder, applications=apps, on_subdomains=['all'])
 
list variable_adjusters = []
 
warpy ti = warpy.host_actions.erk(name="rk", scheme=torder, spatial_solvers=[spatial_solver], variable_adjusters=variable_adjusters)
 
warpy dt_controller = warpy.dt_calc.stability_dt(init_dt=1e-5)
 
warpy sim
 
 gen_xdmf
 
 True
 
 detect_nonscalar
 

Variable Documentation

◆ A_i

int examples.dg.mhd.gem_challenge_hall.A_i = 1

◆ always_limit

bool examples.dg.mhd.gem_challenge_hall.always_limit = True

◆ applicators

list examples.dg.mhd.gem_challenge_hall.applicators = [warpy.applicator(spatial_order=sorder,fun=gem_ic,var=fluid,spatial_scheme='Nodal')]

◆ apps

list examples.dg.mhd.gem_challenge_hall.apps = []

◆ B0

float examples.dg.mhd.gem_challenge_hall.B0 = 1.0

◆ component_names

list examples.dg.mhd.gem_challenge_hall.component_names = ['rho', 'px', 'py', 'pz', 'e', 'Bx', 'By', 'Bz']

◆ detect_nonscalar

examples.dg.mhd.gem_challenge_hall.detect_nonscalar

◆ di_L

int examples.dg.mhd.gem_challenge_hall.di_L = 1.

◆ dirichlet_apps

list examples.dg.mhd.gem_challenge_hall.dirichlet_apps = []

◆ dt_controller

warpy examples.dg.mhd.gem_challenge_hall.dt_controller = warpy.dt_calc.stability_dt(init_dt=1e-5)

◆ fluid

warpy examples.dg.mhd.gem_challenge_hall.fluid = warpy.variable(name='fluid',components=component_names,basis_array_set=sorder)

◆ fluid_gradient

warpy examples.dg.mhd.gem_challenge_hall.fluid_gradient = warpy.variable(name='fluid_gradient', components=gradient_component_names,basis_array_set=sorder)

◆ gamma

int examples.dg.mhd.gem_challenge_hall.gamma = 5./3.

◆ gem_ic

warpy examples.dg.mhd.gem_challenge_hall.gem_ic = warpy.functions.gem_hallmhd(name='gem_ic',gamma=gamma,mass=A_i,temperature=T[0],velocity=V,sheet_width=sheet_width,number_density=n0,number_density_infinity=n_inf,Bx=B0,Lx=Lx,Ly=Ly)

◆ gen_xdmf

examples.dg.mhd.gem_challenge_hall.gen_xdmf

◆ gradient_component_names

list examples.dg.mhd.gem_challenge_hall.gradient_component_names = [prefix+"_"+suffix for prefix in component_names for suffix in ['x','y','z']]

◆ Lx

int examples.dg.mhd.gem_challenge_hall.Lx = 8*math.pi*di_L

◆ Ly

int examples.dg.mhd.gem_challenge_hall.Ly = 4*math.pi*di_L

◆ mesh

warpy examples.dg.mhd.gem_challenge_hall.mesh = warpy.mesh.block(Bounds=[-Lx/2.,Lx/2., -Ly/2.,Ly/2.],NumCells=[32,16],NodeSets=['Left','Right', 'Lower','Upper'],NumLayers=1,basis_array_set=sorder,PeriodicBoundaries=['Left','Right'])

◆ n0

float examples.dg.mhd.gem_challenge_hall.n0 = 1.0

◆ n_inf

float examples.dg.mhd.gem_challenge_hall.n_inf = 0.2

◆ neumann_apps

list examples.dg.mhd.gem_challenge_hall.neumann_apps = []

◆ sheet_width

float examples.dg.mhd.gem_challenge_hall.sheet_width = 0.5

◆ sim

warpy examples.dg.mhd.gem_challenge_hall.sim
Initial value:
1= warpy.dg_sim(name='gem_hallmhd_test_may6',
2 meshes=[mesh],
3 initial_conditions=applicators,
4 temporal_solvers=[ti],
5 writers=[writer],
6 time=[0,0.4],
7 # time=[0,40.0],
8 dt_controller=dt_controller,
9 write_steps=100,
10 verbosity='debug'
11 )
Discontinuous finite element RK simulation.
Definition: dg_sim.py:11

◆ skin_depth_norm

float examples.dg.mhd.gem_challenge_hall.skin_depth_norm = 1.0

◆ sorder

str examples.dg.mhd.gem_challenge_hall.sorder = 'secondOrder'

◆ spatial_solver

warpy examples.dg.mhd.gem_challenge_hall.spatial_solver = warpy.spatial_solvers.dg(name="dg", spatial_order=sorder, applications=apps, on_subdomains=['all'])

◆ T

list examples.dg.mhd.gem_challenge_hall.T = [Ti_Te * Te, Te]

◆ Te

tuple examples.dg.mhd.gem_challenge_hall.Te = (di_L / skin_depth_norm * B0)**2 / (2 * (n0-n_inf) * (1 + Ti_Te))

◆ theta

int examples.dg.mhd.gem_challenge_hall.theta = 1

◆ ti

warpy examples.dg.mhd.gem_challenge_hall.ti = warpy.host_actions.erk(name="rk", scheme=torder, spatial_solvers=[spatial_solver], variable_adjusters=variable_adjusters)

◆ Ti_Te

float examples.dg.mhd.gem_challenge_hall.Ti_Te = 1.0/theta

◆ torder

str examples.dg.mhd.gem_challenge_hall.torder = 'RK4'

◆ True

examples.dg.mhd.gem_challenge_hall.True

◆ useLimiter

bool examples.dg.mhd.gem_challenge_hall.useLimiter = True

◆ v

int examples.dg.mhd.gem_challenge_hall.v = 2. * skin_depth_norm / (sheet_width * B0)

◆ V

list examples.dg.mhd.gem_challenge_hall.V = T[0]*v

◆ variable_adjusters

list examples.dg.mhd.gem_challenge_hall.variable_adjusters = []

◆ writer

warpy examples.dg.mhd.gem_challenge_hall.writer = warpy.host_actions.writer(name='writer',ReadVars=[fluid, fluid_gradient])

◆ z_i

int examples.dg.mhd.gem_challenge_hall.z_i = 1