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

Variables

str torder = 'IRK1'
 
str sorder = 'secondOrder'
 
int jump = 5e-4
 
int gamma = 5/3
 
int Zi = 1
 
int Ze = -1
 
int Ai = 1
 
int Ae = 1
 
int n_0 = 1
 
int T_0 = 1
 
int skin_depth_norm = 1
 
int omega_p_norm = 100
 
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 = 1e-4
 
warpy dt_controller
 
warpy sim
 
 gen_xdmf
 
 True
 
 detect_nonscalar
 
 wxm_args
 

Variable Documentation

◆ Ae

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

◆ Ai

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

◆ applicators

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

◆ bc_apps

list examples.dg.plasma.langmuir.implicit_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.implicit_langmuir.detect_nonscalar

◆ dt

int examples.dg.plasma.langmuir.implicit_langmuir.dt = 1e-4

◆ dt_controller

warpy examples.dg.plasma.langmuir.implicit_langmuir.dt_controller
Initial value:
2 max_dt=10*dt,
3 growth_rate=1.1)
Definition: convergence_dt.py:4

◆ edens_ic

warpy examples.dg.plasma.langmuir.implicit_langmuir.edens_ic
Initial value:
1= warpy.functions.heaviside(name='edens_ic',
2 direction=[1,0,0],
3 center=[0,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.implicit_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.implicit_langmuir.energy_ic
Initial value:
1= warpy.functions.heaviside(name='energy_ic',
2 direction=[1,0,0],
3 center=[0,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.implicit_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.implicit_langmuir.gamma = 5/3

◆ gen_xdmf

examples.dg.plasma.langmuir.implicit_langmuir.gen_xdmf

◆ idens_ic

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

◆ ifluid

warpy examples.dg.plasma.langmuir.implicit_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.implicit_langmuir.jump = 5e-4

◆ mesh

warpy examples.dg.plasma.langmuir.implicit_langmuir.mesh
Initial value:
1= warpy.mesh.block(Bounds=[-.5, 0.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.implicit_langmuir.n_0 = 1

◆ null_func

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

◆ omega_p_norm

int examples.dg.plasma.langmuir.implicit_langmuir.omega_p_norm = 100

◆ sim

warpy examples.dg.plasma.langmuir.implicit_langmuir.sim
Initial value:
1= warpy.dg_sim(name='implicit_langmuir', 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.implicit_langmuir.skin_depth_norm = 1

◆ sorder

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

◆ spatial_solver

warpy examples.dg.plasma.langmuir.implicit_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.implicit_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.implicit_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

int examples.dg.plasma.langmuir.implicit_langmuir.T_0 = 1

◆ ti

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

◆ torder

str examples.dg.plasma.langmuir.implicit_langmuir.torder = 'IRK1'

◆ True

examples.dg.plasma.langmuir.implicit_langmuir.True

◆ variable_adjusters

list examples.dg.plasma.langmuir.implicit_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.implicit_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

◆ wxm_args

examples.dg.plasma.langmuir.implicit_langmuir.wxm_args

◆ Ze

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

◆ Zi

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