WARPXM v1.10.0
Loading...
Searching...
No Matches
examples.dg.plasma.langmuir.langmuir Namespace Reference

Variables

str torder = 'RK1'
 
str sorder = 'secondOrder'
 
int jump = 5e-5
 
int gamma = 5./3.
 
int Zi = 1
 
int Ze = -1
 
int Ai = 1
 
int Ae = 1
 
int n_0 = 1
 
float T_0 = 1.0e-3
 
int skin_depth_norm = 1
 
int omega_p_norm = 1
 
warpy mesh
 
warpy efluid
 
warpy ifluid
 
warpy field
 
warpy idens_ic
 
warpy edens_ic
 
warpy energy_ic
 
warpy null_func = warpy.functions.set_to(name='null', value=0)
 
list applicators
 
list bc_apps
 
list sse
 
list ssm
 
list variable_adjusters
 
warpy writer
 
warpy spatial_solver
 
warpy ti
 
int dt = 1.e-3
 
warpy dt_controller = warpy.dt_calc.fixed_dt(init_dt=dt)
 
warpy sim
 
 gen_xdmf
 
 True
 
 detect_nonscalar
 

Variable Documentation

◆ Ae

int examples.dg.plasma.langmuir.langmuir.Ae = 1

◆ Ai

int examples.dg.plasma.langmuir.langmuir.Ai = 1

◆ applicators

list examples.dg.plasma.langmuir.langmuir.applicators

◆ bc_apps

list examples.dg.plasma.langmuir.langmuir.bc_apps
Initial value:
1= [warpy.apps.bc_dirichlet(name='bc_left_elec',
2 values=[Ae*n_0*(1-jump), 0, 0, 0, n_0*(1-jump)*T_0/(gamma-1)],
3 on_boundaries='Left',
4 variable=efluid),
5 warpy.apps.bc_dirichlet(name='bc_right_elec',
6 values=[Ae*n_0*(1+jump), 0, 0, 0, n_0*(1+jump)*T_0/(gamma-1)],
7 on_boundaries='Right',
8 variable=efluid),
9 warpy.apps.bc_dirichlet(name='bc_left_field',
10 values=[0]*6,
11 on_boundaries='Left',
12 variable=field),
13 warpy.apps.bc_dirichlet(name='bc_right_field',
14 values=[0]*6,
15 on_boundaries='Right',
16 variable=field)]
Dirichlet boundary condition.
Definition: simple.py:151

◆ detect_nonscalar

examples.dg.plasma.langmuir.langmuir.detect_nonscalar

◆ dt

int examples.dg.plasma.langmuir.langmuir.dt = 1.e-3

◆ dt_controller

warpy examples.dg.plasma.langmuir.langmuir.dt_controller = warpy.dt_calc.fixed_dt(init_dt=dt)

◆ edens_ic

warpy examples.dg.plasma.langmuir.langmuir.edens_ic
Initial value:
1= warpy.functions.heaviside(name='edens_ic',
2 direction=[1,0,0],
3 center=[4.75,0,0],
4 neg=Ae*n_0*(1-jump),
5 pos=Ae*n_0*(1+jump))
Heaviside step function.
Definition: heaviside.py:4

◆ efluid

warpy examples.dg.plasma.langmuir.langmuir.efluid
Initial value:
1= warpy.variable(name='efluid',
2 components=['rho', 'px', 'py', 'pz', 'e'],
3 basis_array_set=sorder)
Definition: variable.py:4

◆ energy_ic

warpy examples.dg.plasma.langmuir.langmuir.energy_ic
Initial value:
1= warpy.functions.heaviside(name='energy_ic',
2 direction=[1,0,0],
3 center=[4.75,0,0],
4 neg=n_0*(1-jump)*T_0/(gamma-1),
5 pos=n_0*(1+jump)*T_0/(gamma-1))

◆ field

warpy examples.dg.plasma.langmuir.langmuir.field
Initial value:
1= warpy.variable(name='field',
2 components=['Ex','Ey','Ez','Bx','By','Bz'],
3 basis_array_set=sorder)

◆ gamma

int examples.dg.plasma.langmuir.langmuir.gamma = 5./3.

◆ gen_xdmf

examples.dg.plasma.langmuir.langmuir.gen_xdmf

◆ idens_ic

warpy examples.dg.plasma.langmuir.langmuir.idens_ic
Initial value:
1= warpy.functions.heaviside(name='idens_ic',
2 direction=[1,0,0],
3 center=[4.75,0,0],
4 neg=Ai*n_0*(1-jump),
5 pos=Ai*n_0*(1+jump))

◆ ifluid

warpy examples.dg.plasma.langmuir.langmuir.ifluid
Initial value:
1= warpy.variable(name='ifluid',
2 components=['rho', 'px', 'py', 'pz', 'e'],
3 explodable=False,
4 basis_array_set=sorder)

◆ jump

int examples.dg.plasma.langmuir.langmuir.jump = 5e-5

◆ mesh

warpy examples.dg.plasma.langmuir.langmuir.mesh
Initial value:
1= warpy.mesh.block(Bounds=[-5., 5.],
2 NumCells=[2000],
3 NodeSets=['Left', 'Right'],
4 NumLayers=1,
5 basis_array_set=sorder)
block mesh generator
Definition: mesh.py:87

◆ n_0

int examples.dg.plasma.langmuir.langmuir.n_0 = 1

◆ null_func

warpy examples.dg.plasma.langmuir.langmuir.null_func = warpy.functions.set_to(name='null', value=0)

◆ omega_p_norm

int examples.dg.plasma.langmuir.langmuir.omega_p_norm = 1

◆ sim

warpy examples.dg.plasma.langmuir.langmuir.sim
Initial value:
1= warpy.dg_sim(name='langmuir_T{}'.format(T_0), meshes=[mesh],
2 initial_conditions=applicators,
3 temporal_solvers=[ti],
4 dt_controller = dt_controller,
5 flexible_writeout = True,
6 writers=[writer],
7 time=[0,0.35],
8 write_steps=1000,
9 verbosity='info')
Discontinuous finite element RK simulation.
Definition: dg_sim.py:11

◆ skin_depth_norm

int examples.dg.plasma.langmuir.langmuir.skin_depth_norm = 1

◆ sorder

str examples.dg.plasma.langmuir.langmuir.sorder = 'secondOrder'

◆ spatial_solver

warpy examples.dg.plasma.langmuir.langmuir.spatial_solver
Initial value:
1= warpy.spatial_solvers.dg(name='dg',
2 spatial_order=sorder,
3 applications=sse+ssm)

◆ sse

list examples.dg.plasma.langmuir.langmuir.sse
Initial value:
1= [warpy.apps.five_moment.euler(name='eeuler',
2 gamma=gamma,
3 fluid=efluid),
4 warpy.apps.five_moment.field_source(name='efield_source',
5 charge=Ze,
6 mass=Ae,
7 skin_depth_norm=skin_depth_norm,
8 fluid=efluid,
9 field=field)]
Euler fluid flux.
Definition: five_moment.py:4
Lorentz force operator for 5-moment model.
Definition: five_moment.py:234

◆ ssm

list examples.dg.plasma.langmuir.langmuir.ssm
Initial value:
1= [warpy.apps.maxwell.flux(name='maxwell',
2 skin_depth_norm=skin_depth_norm,
3 omega_p_norm=omega_p_norm,
4 field=field),
6 charge=Ze,
7 mass=Ae,
8 omega_p_norm=omega_p_norm,
9 skin_depth_norm=skin_depth_norm,
10 field=field,
11 fluid=efluid,
12 momentum_components=['px','py','pz']),
14 charge=Zi,
15 mass=Ai,
16 omega_p_norm=omega_p_norm,
17 skin_depth_norm=skin_depth_norm,
18 field=field,
19 fluid=ifluid,
20 momentum_components=['px','py','pz'])]
Fluid source for Maxwell's equations.
Definition: maxwell.py:38
Maxwell flux.
Definition: maxwell.py:4

◆ T_0

float examples.dg.plasma.langmuir.langmuir.T_0 = 1.0e-3

◆ ti

warpy examples.dg.plasma.langmuir.langmuir.ti
Initial value:
1= warpy.host_actions.erk(name='ti', scheme=torder, spatial_solvers=[spatial_solver],
2 variable_adjusters=variable_adjusters)
Explicit Runge-Kutta temporal solver Note: Dormand45 currently will not work correctly with limiters ...
Definition: erk.py:5

◆ torder

str examples.dg.plasma.langmuir.langmuir.torder = 'RK1'

◆ True

examples.dg.plasma.langmuir.langmuir.True

◆ variable_adjusters

list examples.dg.plasma.langmuir.langmuir.variable_adjusters
Initial value:
2 priority=0,
3 applications=bc_apps,
4 spatial_order=sorder,
5 on_boundaries=['Left','Right'])]
spatial solver - currently hardcoded for rk methods
Definition: boundary_conditions.py:4

◆ writer

warpy examples.dg.plasma.langmuir.langmuir.writer
Initial value:
1= warpy.host_actions.writer(name='writer',
2 ReadVars=[efluid, field])
Writes out a list of variables.
Definition: writer.py:4

◆ Ze

int examples.dg.plasma.langmuir.langmuir.Ze = -1

◆ Zi

int examples.dg.plasma.langmuir.langmuir.Zi = 1