plasma.inp
Note: Include the following unit-conversion key directive at the very top of plasma.inp
to normalize grid spacing and light speed:
!!key dx=[0.5], to_c=[10000.0]
plasma.inp
EMSES uses a normalized unit system to simplify computations and reduce numerical cost. Four primary conversions are fixed:
dx
) [m] → 1cv
) [m/s] → 10000epsilon_0
) [F/m] → 1q/m
) [C/kg] → –1All other physical quantities scale consistently according to these base units. Conversion formula:
X_EMSES = X_phys × C
where C
derives from the chosen normalizations. See the emout
conversion module or Excel sheet for explicit coefficients.
&esorem
: Field solver mode&jobcon
: Job control&digcon
: Diagnostic output control&plasma
: Plasma properties&tmgrid
: Time & spatial grid&mpi
: MPI decomposition&intp
: Particle integration & initialization&ptcond
: Surface/conductor boundary parameters&gradema
: Surface charging acceleration&dipole
: Embedded dipole source&emissn
: Particle emissionDefined in namels.f90
.
emflag
(integer): 1
=full EM, 0
=electrostaticjobnum(2)
(integer): [new/continue, always 1]
nstep
(integer): total time stepsControls diagnostics (HDF5, current, particle, etc.). Key parameters:
hdfdigstart
, hdfdigend
(integer): start/end step for HDF outputifdiag
, ijdiag
(integer): field/current output intervalsipadig(1:3)
(integer): in-situ grid sizeipahdf(1:3)
, ipaxyz(18)
, ifxyz(1:7)
, ijxyz(1:3)
(integer arrays): masks and flagsisort
, itchck
(integer): sorted output, checkpoint intervalildig
, ikdiag
, ivdiag
, irhsp
, imdig
(integer): specialized diagnosticsFundamental plasma parameters (in EMSES units):
wp(1:nspec)
(real): plasma frequency per specieswc
(real): cyclotron frequencycv
(real): normalized light speedTime & spatial grid:
dt
(real): time-step sizenx, ny, nz
(integer): grid pointsdx
(real): grid spacingSystem parameters:
nspec
(integer): number of speciesnfbnd, npbnd
(integer): field/particle boundary (0
=periodic, 2
=free)mtd_vbnd
(integer): potential BC (0
=periodic, 1
=Dirichlet, 2
=Neumann)separate_accumulated_and_space_charge
(logical): if .true.
, compute the electric‐field contributions from accumulated charge and from space charge separately. Default is .true.
MPI domain decomposition:
nodes(1:3)
(integer): processes along x, y, zParticle integration & initialization:
qm(1:nspec)
, npin(1:nspec)
, np(1:nspec)
(real/integer arrays): q/m, initial/buffer particle countspath(1:nspec)
, peth(1:nspec)
(real arrays): thermal velocitiesvdri(1:nspec)
, vdthz(1:nspec)
, vdthxy(1:nspec)
(real arrays): bulk-flow magnitudes & anglesSurface & conductor boundaries.
npc
, npcg
(integer): counts of solid/conductor bodiespcgs
, ccgs
(integer arrays): conductor groupingmtd_vchg
(integer): potential treatment (0
=float, -1
=fixed)pfixed
(real): fixed potential valuegeotype
(integer): 0/1
=rectangular, 2
=cylinder, 3
=spherebdyalign
(integer): cylinder axis (1
=x, 2
=y, 3
=z)bdyradius
, bdyedge
, bdycoord
(real arrays): shape parameters{x,y,z}{l,u}pc
(real): rectangular bounds(See next section)
grad_coef
(real): acceleration coef. for surface chargingEmbedded magnetic dipole source:
md
(real): dipole field magnitudemdx, mdy, mdz
(integer): grid indices of dipole centermddir
(integer): orientation (1
=x, 2
=y, 3
=z)Particle emission settings:
nflag_emit(1:nspec)
(integer): 0
=external, 1
=internal, 2
=internal (with pe-raycasting)nepl
(integer): # of emission surfacescurf
(real): base current densitycurfs(1:nepl)
(real): per-surface overridesnemd(1:nepl)
(integer): direction/surface (±1
=x, ±2
=y, ±3
=z)xmaxe(1:nepl), xmine(1:nepl), ymaxe(1:nepl), ymine(1:nepl), zmaxe(1:nepl), zmine(1:nepl)
(integer arrays): emission-region boundsipcpl(1:nepl)
(integer): Specifies the conductor number (ipc
at geotype(ipc)
) if this emission surface constitute the conductor object (by deafult 1
).pe_ray_cast
(logical): solar-illumination-driven emission flag; Particles with nflag_emit == 2
are emitted from the regions of internal boundaries (as defined by the Finbound extension) that are exposed to sunlightray_zenith_angle_deg(1:nspec), ray_azimuth_angle_deg(1:nspec)
the angle of sunlight is defined (default: vdthz(1)
and vdthxy(1)
)periodic_raycast
raycast with periodic boundary flag.All following parameters belong to the \&ptcond group and are implemented via the finbound
module (see allcom.f90
and particle_collision.f90
). They enable precise control over complex inner boundary geometries.
boundary_type (character(30))
Supported values:
none
(no special inner boundary)flat-surface
(planar cut)rectangle-hole
, cylinder-hole
, hyperboloid-hole
, ellipsoid-hole
(hole through a surface)complex
(combined shapes defined by boundary_types
)boundary_types(1:nboundary_types) (character(30) array)
flat-surface
(planar cut)rectangle-hole
, cylinder-hole
, hyperboloid-hole
, ellipsoid-hole
(hole through a surface)rectanglex
, rectangley
, rectanglez
(rectangular prism in X/Y/Z)circlex
, circley
, circlez
(cylindrical cut aligned with an axis)cuboid
(axis-aligned block)diskx
, disky
, diskz
(flat disk perpendicular to an axis)sphere
boundary_conductor_id(1:nboundary_types)
ipc
at geotype(ipc)
) if this boundary condition constitute the conductor object.Geometry Parameter Arrays (each dimensioned by nboundary_types
):
cylinder_origin(3, nbt)
[x, y, z]
of each cylindrical sub-boundary.cylinder_radius(nbt)
cylinder_height(nbt)
rectangle_shape(6, nbt)
(x_lower, x_upper, y_lower, y_upper, z_lower, z_upper)
, defining each rectangular prism.cuboid_shape(6, nbt)
rectangle_shape
, used interchangeably for cuboid bodies.sphere_origin(3, nbt)
[x, y, z]
of each spherical sub-boundary.sphere_radius(nbt)
circle_origin(3, nbt)
[x, y, z]
of each circular hole (disk) or cylindrical cut.circle_radius(nbt)
disk_origin(3, nbt)
[x, y, z]
of each flat disk surface.disk_height(nbt)
disk_radius(nbt)
disk_inner_radius(nbt)
(Here, nbt
denotes nboundary_types
.)
plasma.inp
&esorem
emflag = 0
&end
&jobcon
jobnum = 0, 1
nstep = 100000
&end
&plasma
wp = 0.5950738d0, -1.0d0
wc = 0.0d0
cv = 10000.0d0
&end
&tmgrid
dt = 0.01d0
nx = 128; ny = 128; nz = 128
dx = 1.0d0
&end
... (continued)
Refer to the EMSES user guide and source-code comments for further configuration details and advanced options.