The EIRENE Code User Manual


including: B2-EIRENE interface




Version: 11/2009














D. Reiter

manual00.gif
EIRENE


THE GREEK GODDESS OF PEACE





The Greek author Hesiodos wrote a genealogy of the gods, The Theogony, in the 8th century B.C.. According to him, EIRENE and her sisters, Eunomia and Dike, were the daughters of Zeus and Themis. These sisters were called the horae, the Greek word for the right time, hora.

Abstract

The EIRENE neutral gas transport code is described. This code resorts to a combinatorial discretization of general 3 dimensional computational domains. It is a multi-species code solving simultaneously a system of time dependent (optional) or stationary (default) linear kinetic transport equations of almost arbitrary complexity. A crude model for transport of ionized particles along magnetic field lines is also included. EIRENE is coupled to external databases for atomic and molecular data and for surface reflection data, and it calls various user supplied routines, e.g. for exchange of data with other (fluid-) transport codes. The main goal of code development was to provide a tool to investigate neutral gas transport in magnetically confined plasmas. But, due to its flexibility, it also can be used to solve more general linear kinetic transport equations, by applying a stochastic rather than a numerical or analytical method of solution. In particular, options are retained to reduce the model equations to the theoretically important case of the one speed transport problem.
Major applications of EIRENE are in connection with plasma fluid codes, in particular with the various versions of the B2 code [1]. The semi-implicit iterative coupling method of B2-EIRENE [2], [3] and it's implementation (code segment: EIRCOP) are also described.

Foreword to 2nd edition



The first edition of this EIRENE code user manual was published as KFA report JÜL-2599 in March 1992, [4]. It basically was a collection of my notes on the meaning of the various input data options for EIRENE. Over the years too many such input flags had accumulated to memorize the meaning of each individual one.
Since the EIRENE code became a quite popular tool also for many other users, it was decided to provide these notes as a kind of user's manual in a somewhat completed and edited form.
In the meantime the distribution of the EIRENE code has become even wider, and it seems timely to update the previous manual, although most of it's content is still a relevant source of information for a user of the code. Apart from several minor corrections, e.g., of spelling errors and unclear language, the major new features as compared to the previous edition are the following:


An increasing number of EIRENE users is running cases in which EIRENE is coupled to a fluid plasma model to provide sources and sinks. The widely used B2-EIRENE code system [2] is one such example. A new section describing this part of the EIRENE code has been added. It describes the "sandwich" file EIRCOP which was written to permit linkage between EIRENE and a plasma fluid model (one, two, or three dimensional. Initial and boundary value problems can be treated in a rather self-consistent manner.
This code segment was developed largely under support of a KFA-EURATOM contract ([5]), and first applications have been published for ITER configurations, see [2] and [6]. Subsequently a large number of application runs, in particular those carried out at IPP-Garching (Ralf Schneider et al.) and AEA-Culham Laboratories (Geoff Maddison) have lead to identification of many critical issues and limitations of the code and to permanent improvements until these days. Typical convergence behaviour of the combined code system ("saturated residuals") is described in the new section 1.8, written in collaboration with G.P.Maddison, AEA Culham Laboratories.
Detlev Reiter, Spring 1998

Foreword to 3rd edition



During the year 2001 a major revision of the EIRENE code has been carried out, largely in order to implement a somewhat more modern FORTRAN structure into the code. EIRENE code versions since then have sometimes been referred to as "EIRENE-FACELIFT".
In particular a dynamical allocation of storage (rather than the hitherto necessary pre-assignment of storage in the PARAMETER statements collected in the previous PARMUSR file) is now in place. This dynamic memory managment has led to a replacement of the previous "Common-Blocks" now by "Modules", and the entire elimination of the "Equivalence" statements used for storage economy in earlier versions.
Further main upgrades are related to:
EIRENE versions 2003 and younger have been compiled and successfully tested at FZ-Jülich on the following systems and compilers:
Linux: Suse 11.1 and all predecessors down to Suse 6.***: AIX: AIX 4.3 und 5.2 Windows: Windows 2000 und Windows XP
Detlev Reiter, Spring 2010

Contents

1  The neutral gas transport equation;
Monte-Carlo terminology

    1.1  The linear Boltzmann equation for the distribution function f
    1.2  The linear integral equation for the collision density Ψ
        1.2.1  The Green function concept
    1.3  Monte Carlo solution of equation 1
        1.3.1  Unbiased estimators
        1.3.2  Scaling of tallies
        1.3.3  Efficiency (FOM)
        1.3.4  Source sampling
        1.3.5  Sampling from the transport kernel T
        1.3.6  Sampling from the collision kernel C
        1.3.7  elastic collisions
        1.3.8  charge exchange
        1.3.9  electron-impact collisions
        1.3.10  general heavy-particle-impact collisions
        1.3.11  photon processes (emission, absorption, scattering
    1.4  Surface Reflection Models
        1.4.1  The Behrisch matrix reflection model
        1.4.2  TRIM code database reflection models
    1.5  Surface sources
        1.5.1  The electrostatic sheath
    1.6  Combinatorial description of geometry
    1.7  time dependent mode of operation
    1.8  non-linear effects: coupling to plasma fluid models
    1.9  non-linear effects: neutral-neutral collisions
        1.9.1  BGK approximation
        1.9.2  Direct Simulation (DMCS) of self-collisions
    1.10  Radiation transport, photon gas simulations
        1.10.1  Line shape options
    1.11  Charged Particle Transport
        1.11.1  Orbit integration
        1.11.2  Coulomb Collision Models
        1.11.3  The full Fokker-Planck Collision Model, A
        1.11.4  The full Fokker-Planck Collision Model, B: binary Monte Carlo collision procedure
    1.12  EIRENE flow charts
2  Description of formatted input file
    2.1  Input data for operating mode
        2.1.1  The NLERG option for cell volumes
        2.1.2  The NLMOVIE option for making movies of trajectories
    2.2  Input for Standard Mesh
        2.2.1  Mesh Parameters
    2.3  The Input Block for Surfaces
        2.3.1  The Input Block for "Non-default Standard Surfaces"
        2.3.2  Input Data for "Additional Surfaces"
    2.4  Input Data for Species Specification and Atomic Physics Module
        2.4.1  Default atomic and molecular data
        2.4.2  Neutral-Neutral collisions in BGK approximation
        2.4.3  Fitting expressions (IFTFLG)
    2.5  Input for Plasma Background
        2.5.1  Derived Background Data
    2.6  Input Data for Surface Interaction Models
    2.7  Input data for Initial Distribution of Test Particles
        2.7.1  Piecewise constant "Step-functions" for sampling
    2.8  Additional Data for some Specific Zones
    2.9  Data for Statistics and non-analog Methods
    2.10  Data for additional volume and surface averaged tallies
        2.10.1  Additional volume averaged tallies, tracklength estimator
        2.10.2  Additional volume averaged tallies, collision estimator
        2.10.3  Algebraic expression in volume averaged tallies
        2.10.4  Algebraic expression in surface averaged tallies
        2.10.5  Algebraic expression in surface averaged tallies
        2.10.6  Energy spectra in selected cells or surfaces
    2.11  Data for numerical and graphical Output
    2.12  Data for Diagnostic Module
        2.12.1  Line of sight: charge exchange spectrum
        2.12.2  Line of sight: line emissivity
        2.12.3  Line of sight: line shape
        2.12.4  Line of sight: user defined integral
    2.13  Data for nonlinear and time dependent Options
    2.14  Data for interfacing Subroutine "INFCOP" (example)
        2.14.1  Version B2-EIRENE-1999 and older
        2.14.2  Version B2-EIRENE-2000 and younger
3  Problem specific Routines
    3.1  Parameter Statements (for EIRENE-2001 or older)
    3.2  The "Additional Tally" routines UPTUSR, UPCUSR, UPSUSR and UPNUSR
        3.2.1  Tracklength estimated volume tallies, UPTUSR
        3.2.2  Collision estimated volume tallies, UPCUSR
        3.2.3  Snapshot estimated volume averaged tallies, UPNUSR
        3.2.4  Surface averaged tallies, UPSUSR
    3.3  The user surface reflection model REFUSR
    3.4  The user source sampling routine SAMUSR
    3.5  The user routines to overrule input data
        3.5.1  The user geometry data routine GEOUSR
        3.5.2  User supplied background data routine PLAUSR
    3.6  The user routines for profiles PROUSR
    3.7  User supplied post-processed tally routine TALUSR
    3.8  User supplied "general geometry block"
        3.8.1  Subroutine INIUSR
        3.8.2  Subroutine LEAUSR
        3.8.3  Subroutine TIMUSR
        3.8.4  Subroutine VOLUSR
        3.8.5  Subroutine NORUSR
4  Routines for interfacing with other codes:
EIRCOP

    4.1  Routine for interfacing INFCOP
        4.1.1  entry IF0COP
        4.1.2  entry IF1COP
        4.1.3  entry IF2COP(ISTRA)
        4.1.4  entry IF3COP(ISTRAA,ISTRAE)
        4.1.5  entry IF4COP
    4.2  Routines for cycling of EIRENE with external codes: EIRSRT
    4.3  Routines for special tallies needed for code coupling: UPTCOP
    4.4  Statistical noise in Monte Carlo terms for external code, noise-residuals: STATIS_COP
5  Default EIRENE tallies, and selected Modules
    5.1  Tables of EIRENE tallies
        5.1.1  Current status, incl. photon gas tallies (Eirene-02 and younger)
        5.1.2  old version, w/o photon gas tallies (Eirene-01 and older)
References
Introduction and General Information


This manual describes the input required by the EIRENE code to run a Monte Carlo study for a fully 3 dimensional simulation of linear transport (i.e., of test particles) in a prescribed background medium. Although the geometry of the problem and the interaction between test particle species and the background are in principle not subject to any restrictions, the aim of code development was to provide a tool for investigating neutral gas transport in tokamak plasmas. Consequently the choice of preprogrammed options has been made mainly with this application in mind. A large variety of problems in this field can be run without having to resort to any problem specific routines but instead by an appropriate setting of logical and numerical input flags.
Any user of EIRENE should be aware that this code is a moving target as is this manual.
Therefore it is possible that there are some inconsistencies between this description and a particular version of the code. The user should always first check subroutine INPUT, where most of the data are read in using hard wired formats, as most input errors will lead to a rapid exit in the initialization phase of a run.
This manual was written by the author of the code who often may not have been able to anticipate difficulties in understanding the use of EIRENE. He therefore gratefully acknowledges any suggestions to make this manual more informative and clear than it might be at the present status.
This code description consists of the following parts:

Chapter 1
The neutral gas transport equation;
Monte-Carlo terminology

General Remarks

To introduce the terminology used throughout this report, we briefly recall the basic definitions and principles of a Monte Carlo linear transport model, following the lead of many textbooks on Monte Carlo methods for computing neutron transport (see e.g., [7]). We begin with the linear transport equation for the pre-collision density, written as integral equation (linear non-homogeneous Fredholm integral equation of 2nd kind). Distinct from standard terminology in the (analytic) transport theory we do not discuss analytic properties of the various terms in the equation, but, instead, point out their probabilistic interpretation, as needed for a Monte-Carlo solution of that equation. Next (section 1.3) we sketch the Monte Carlo procedure to solve such equations, by referring to the two most often applied techniques: "track-length - and collision based estimators". In the third subsection we briefly describe the treatment of boundary conditions (models for interaction of the particles with surrounding surfaces) and discuss some special models which are in use for the neutral gas transport in fusion plasma devices. Then (section 1.5) we discuss the most important source function (non-homogeneous part of the integral equation) and its implementation in a Monte Carlo algorithm, namely the surface source of neutral particles due to recombination of ions incident on solid surfaces at the boundary or inside of the computational area. In section 1.6 we comment on the implementation of geometry within the framework of a Monte Carlo code in general terms and for the EIRENE code in particular. In section 1.7 the time dependent mode of operation of the EIRENE code is described. It merely amounts just to an increase in the dimensionality by one, by adding a time co-ordinate and treating it, formally, in a rather symmetric fashion with the other spatial coordinates. See also reference [8].
Two kinds of non-linearities may be accounted for:
In section 1.8 the nonlinear behavior resulting from background data, which depend on neutral particle transport (sources and sinks), is discussed. The algorithm of the B2-EIRENE code system [3] is described. More details on this can be found in the report [9].
In the final section of this introductory chapter 1.9 the non-linear BGK formalism and the direct simulation method (DMCS) for self collisions between neutral particles, as implemented in the EIRENE code, is described.

1.1  The linear Boltzmann equation for the distribution function f

The term μ-space in this report refers to the phase space of a single particle. The quantity of interest is then the one particle distribution function f
f(r, v, i, t)     or     f(r, E, Ω, i, t)    or     f(x) ,
where the state x of the μ-space is characterized by a position vector r, a velocity vector v, a species index i (i stands for, e.g., H,D,T,D2,DT,He, CHn,...) and the time t.
The number density ni(r) for species i then reads:
ni(r,t) =
d3v  f(r,v,i,t)

Instead of v we sometimes utilize the kinetic energy E, E=m/2 ·v2, and the unit (speed) vector Ω = v/|v| in the direction of particle motion. Hence:
f(r, v, i ,t) =
m

v

~
f
 
(r, E, Ω, i, t)

We start by assuming that collisions are discontinuous events.
Further: Lets consider only one specific species i0, now omitting this species index. We assume that there are only collisions of this species i0 with only one further species (labelled b), and that exactly one particle of each of these species will also be present after the collision event (i.e., chemical reactions excluded for the time being, but see below). The familiar Boltzmann equation for the distribution function f for this species i0 reads

[

t
+ v·∇r + F(r,v,t)

m
·∇vf(r,v,t)
=



σ(v′,V′;v,V)|v′−V′| f(v′)fb(V′)



σ(v,V;v′,V′)|vV| f(v) fb(V)
+
Q(r,v,t)
(1.1a)
Q is any external source (particles per unit time injected per unit volume in phase space).   Integrations are over the velocities v′,V and V′. σ(v′,V′;v,V) is the cross section for a binary particle collision process. It is equal to zero unless the conservation laws for total energy and momentum are fulfilled.
The first two arguments in σ, namely the velocities v′,V′ in the first integral, correspond to the species i0 and b, respectively, prior to a collision. These are turned into the post collision velocities v, V, again for species i0 and b, respectively. The first integral, therefore, describes transitions (v′,V′→ v,V) into the velocity space interval [v,v+dv] for species i0, and the second integral describes loss from that interval for this species.
Furthermore, m is the particle mass and F(r,v,t) is the volume force field.
The right hand side is the collision integral [(δf)/(δt)]|b. If there are more than just one possible type of collision partners, then the collision integral has to be replaced by a sum of collision integrals over all collision partners b, including, possibly, b=i0 (self collisions)
δf

δt
|coll = δf

δt
|gain δf

δt
|loss =

b 
δf

δt
|collb.
(1.2)
This is readily generalized to the semi-classical Boltzmann equation for chemical reactions (including, for example, vibrational relaxation or exchange of internal energy as special cases) symbolized as i0 + j0 \rightleftarrows i1 + j1. These species indices label both the chemical species and/or the internal quantum state. In this case the sum in the collision integral is over j0, i1 and j1 and the cross sections in the corresponding collision integrals σi0j0i1j1(v,V,v′,V′) are differential for scattering at a certain solid angle and post collision energies with simultaneous transition from (i0, j0) to (i1, j1). Further generalizations to include particle splitting, absorption or fragmentation into more than 2 post collision products are straight forward, but can more conveniently be formulated in the C-collision kernel formulation used below.
All these collision operators are bi-linear in the distribution functions. The first term on the right hand side is due to scattering into the element dv of velocity space and we shall abbreviate it by defining the collision kernel ("redistribution function") C as a proper integral over pre- and post collision velocities of species b-particles:
δf

δt
|gain =
d3v′ C(v′→ v)|v′| f(v′)
(1.3)
The kernel C can be a quite complicated integral, as is involves not only multiple differential cross sections, but also, possibly, particle multiplication factors, e.g. in case of fission by neutron impact, dissociation of molecules by electron impact, or stimulated photon emission from excited atoms. It can also include absorption, in which case the post collision state must be an extra "limbo" state outside the phase-space considered. Due to both particle multiplication and/or absorption the collision kernel C is not normalized to one, generally.
If the distributions fb are assumed to be given, then the kernel C is linear and the expression above becomes a linear integral operator.
The second term on the right hand side is much simpler, because the function f(v) can be taken out of the integral. We even take the product |v| ·f before the integral. The remaining integral is then just the total macroscopic cross section Σt, i.e., the inverse local mean free path (dimension: 1/length). It is solely defined by total cross sections and independent of particle multiplication factors, since we only consider binary collisions (exactly two pre-collision partners always).
This term is then, often, taken on the left hand side of the Boltzmann equation with a positive sign, in the form:
δf

δt
|loss = Σt(r,v) |v|f(v)
(1.4)
For the linear case (fb given) this "extinction coefficient" Σt is independent of the dependent variable f = fi0, and this term (out-scattering) just describes the loss of particle flux of i0 particles due to any kind of interaction of them with the host medium.
With these formal substitutions the Boltzmann equation takes a form which is often more convenient, in particular in linear transport theory:

[

t
+ v·∇r + F(r,v,t)

m
·∇vf(r,v,t) +Σt(r,v) |v|f(v)
=

d3v′ C(v′→ v)|v′|f(v′)
+
Q(r,v,t)
(1.1b)
Often the characteristic time constants for neutral transport phenomena are very short (μs), compared to those for plasma transport (ms). We can, therefore, often neglect explicit time dependence in the equations describing the neutral particles. This is done in most applications. The extension to time-dependent problems is rather straight forward and the procedure in the EIRENE code for such cases is described in 1.7 below.
A computationally crucial simplification is the neglect of all neutral - neutral interactions, rendering the equation for f(x) linear. For the status of options in EIRENE to deal with "self-collisions" see below, section 1.9.
For stationary (time-independent) problems the scalar transport flux ("angular flux") Φ, where
Φ(x) : = | v| ·f( r, v, i) ,
(1.5)
is sometimes used in preference to the distribution f(x) as dependent variable.
In particular for stationary (∂/∂t = 0) and force free (F = 0) problems, as e.g. often encountered in linear transport theory such as neutronics, neutral particle transport in plasmas, etc., the transport equation then reduces to the more compact form:
r Φ(r,v,t) +Σt(r,v)Φ(r,v) = Q(r,v,t) +
d3v′ C(r;v′→ v)Φ(r,v′)
(1.1c)
Alternatively, in computational domains with non-vanishing collisionality (i.e., if Σt(x) ≠ 0 everywhere) the (pre-) collision density Ψ is used, i.e.,
Ψ(x) = Σt (x) ·Φ(x) = νt(x) ·f(x) ,         Σt = Σt(r,E,Ω,i) = νt(r,E,Ω,i)/|v|
(1.6)
where, again, the "macroscopic cross section" Σt is the total inverse local mean free path (dimension: 1/length), and νt is the collision frequency (dimension: 1/time). This cross section can be written as a sum Σt = ∑Σk over macroscopic cross sections for the different types (identified by the index k) of collision processes. Further details about this "macroscopic cross section" and its relation to the conventional ("microscopic") cross sections are given below, section 1.3.5.

1.2  The linear integral equation for the collision density Ψ

By formally integrating the characteristics for (1.1c) the same transport equation can also be written in integral form. This formal procedure is outlined below in paragraph 1.2.1.
The resulting integral equation is often most conveniently written for the collision density Ψ (1.2) rather than for transport flux Φ:
Ψ(x) = S(x) +
dx ′Ψ(x ′) ·K(x ′→ x) .
(1.1d)
This equation has the general form of the backward integral equation of a Markovian jump-process and it is therefore particularly well suited for a Monte Carlo method of solution. The formal relation between the integro-differential form (1.1c) and this integral form is very useful to generalize the Monte Carlo procedure, e.g., to time-dependent equations, and to Boltzmann-Fokker-Planck equations (which contain diffusive contributions or diffusive approximations for some processes, in addition to the jump processes described by the Boltzmann collision integral). It also allows to make connection to the so called "Greens-functions Monte Carlo" concept (originally developed for quantum mechanical problems involving solutions to the Schrödinger equation). A corresponding discussion is postponed to section 1.2.1. A direct intuitive interpretation of the integral equation is already sufficient to understand the Monte Carlo method of solution and shall be given first.
In (1.1d) x′ and x are the states at two successive collisions (jumps). The integral ∫dx′ in (1.1d) is to be understood as an integral over all initial coordinates, i.e. over the entire physical space, the full velocity space and a summation over all species indices. The transition kernel K is usually decomposed, in our context, into a collision- and a transport kernel, i.e., C and T , where
K(r′, v′, i ′→r, v, i) = C( r′;v′, i ′→ v, i) ·T(v, i; r′→ r) .
(2.7)
The kernel C is (excluding normalization) the conditional distribution for new co-ordinates (v,i) given that a particle of species i′ and with velocity v′ has undergone a collision at position r′. This kernel can further be decomposed into:
C( r′, v′, i ′→v, i) =

k 
pk  Ck ( r′; v′, i ′→ v, i)  ,  pk = Σk

Σt
(2.8)
with summation over the index k for the different types of collision processes under consideration and pk defined as the (conditional) probability for a collision to be of type k. The normalizing factor
ck (x ′) =

i 

d3v  Ck (r′, v′, i ′→v, i )  ,  Ck = 1

ck
Ck
(2.9)
gives the mean number of secondaries for this collision process. The function Ck then is a conditional probability density. The particle absorption process can conveniently be described by adding an "absorbing state" xa to the μ-space (generally referred to as "one-point compactification of this space" in the language of mathematical topology). This "limbo state", once it is reached, is never left again if the kernels T or C are employed as transition probabilities. Formally, an additional collision kernel Ca (xxa ) and an absorption probability pa = Σa / Σt must be included in the collision kernel. The quantity Σa comprises all collision processes with no next generation particles.
The kernel T describes the motion of the test particles between the collision events. Let, again, Ω′ denote the unit vector in the direction of particle flight v′/|v′|, and let Ω2′ and Ω3′ be two further unit vectors such that these three vectors form an orthonormal basis at the point r′. Neither velocity nor species change along the transition described by T, i.e. v′=v and i′−i. Omitting the corresponding delta functions in velocity space and the Kronecker delta δii the transport kernel T then reads as follows:
(T(l)=)  T ( v′, i′; r′→ r )
=
Σt ( r,v, i) ·exp

l=Ω′( rr′)

0 
ds Σt ( r′+ sΩ′, v′, i′)
·δ(Ω2′( rr′)) ·δ( Ω3′(rr′)) ·H (Ω′( rr′))
(2.10)
=
Σt ( r,v, i) ·F( v′, i′; r′→ r )     0 ≤ l ≤ ∞
(2.11)
with H(x) = 0 if x ≤ 0 , and H(x) = 1 if x > 0, the Heaviside step function. The two remaining delta functions restrict the motion to a path in the direction of the initial velocity v′.
Thus, although strictly being a conditional (on x′) distribution in phase space, for an infinite medium T can be interpreted as the distribution density for the distance l for a free flight starting from r′ to the next point of collision r = r′+ l ·Ω′.
For a finite medium this distribution can be generalized to (writing shorter l for (r′+lΩ′,v′,i′):
T(l)
=




Σt ( l)
·exp

l

0 
ds Σt ( s )
,
l < lmax
δ(llmax)
·exp

lmax

0 
ds Σt ( s )
,
llmax
(2.12)
Here lmax denotes the distance along the flight direction from r′ to the boundary for the computational domain, to any internal surface at which the test flight shall be stopped, e.g. for scoring surface fluxes there, or even to the cell boundary. The "Transport Kernel" T has dimension: [1/Dimension of phase space] (T(x′→ x)dx is a probability). The function F (Dimension: [length times Dimension of T]) defined in expression (2.9b), and analogously from (2.10) for a finite medium, will turn out to be the relevant Green function for the transport problem, see Section 1.2.1. The integral
α(r′,r) =
Ω( rr′)

0 
ds Σt ( r′+ s Ω)
in equation (2.9a) is well known as "optical thickness of the medium" in linear transport theory.
The inhomogeneity S in equation (1.1d) is, excluding normalization, the distribution density of first collisions, whereas the integral term in equation (1.1d) describes the contribution to Ψ from all higher generations. The quantity S can be written as:
S(x) =
dxQ(x ′) ·T(x ′→ x) ,
(1.6a)
with a source density Q. As the problem is linear, Q can be normalized to 1 and, thus, Q can be considered a distribution density in μ -space for the "primary" birth points of particles, as, e.g., opposed to the "secondary" birth point distribution (or "post collision density") χ of particles after a collision event

χ(x) =
dx ′Ψ(x ′) ·C(x ′→ x).
(1.6b)
It can be shown that a unique solution Ψ(x) exists subject to appropriate boundary conditions and under only mild restrictions (basically on the constants ck and pa ) to ensure that the particle generation process stays sub-critical.
Usually, a detailed knowledge of Φ or Ψ is not required, but only a set of "responses", R, defined by
R =     < Ψ| gc >     =
dx Ψ(x) ·gc (x)    
=     < Φ| gt >     =
dx Φ(x) ·gt (x)
,
(2.13)
where gc (x), gt (x) are given "detector functions".
For example all terms in the plasma fluid equations resulting from neutral plasma interaction can be written in this way. This can be seen by considering a numerical grid, composed of M mesh cells (spatial and/or temporal), for the numerical solution of the fluid equations. The detector functions for many responses needed for fusion plasma applications are hard wired in EIRENE, generalization to any arbitrary response by resorting to "user defined detector functions" is described in Section 3.2.1 for tracklength estimates, and in Section 3.2.2 for collision estimates.
Lets therefore define an entire set of detector functions gm, one for each mesh cell of an external code, each including a characteristic function
gm=g ×chm(r,t) ,     m=1,2,...,M,
(2.14)
i.e., chm (r,t)=1 inside the numerical mesh cell (or time interval) labeled with the cell index m, and chm (r,t) = 0 outside this cell. Thus profiles of cell volume averaged responses are readily obtained in a single Monte Carlo run.
Estimates of surface fluxes, or point estimates e.g. in time, are also included in this concept if proper use is made of delta functions to reduce dimensionality of the response:
gm=g ×chm(r,t) ×δα(r,t) ,     m=1,2,...,M,
(2.15)
Here, e.g., a surface cell m would discretise a surface S characterized by a surface delta function δS.

Monte Carlo estimates of the volumetric source terms in the fluid equations due to the trace particles (neutral particles, but also trace ions described by the Monte Carlo procedure) are therefore cell averages, surface averages, time averages or point estimates (e.g. in time), averaged over a sub-manifold with reduced dimensionality, however, only if the probability for particle histories crossing this sub-manifold is not zero. Surface averages in EIRENE are described in Section 3.2.4, point averages in time are described in Section 3.2.3. This option to reduce dimensionality of responses usually excludes point estimates in real space, for which special estimators not mentioned here would be required.
Nevertheless, in concluding, depending upon the numerical algorithm in the fluid code, one may then have to interpret these Monte Carlo estimates properly, e.g. they may have to be interpolated to the grid points, or be properly rescaled in case of time-dependent applications.

1.2.1  The Green function concept

We return to Equation (2.9b), where the function F(v,i;r′→ r)) was defined. For a finite domain, see (2.10), and introducing again the shortcut l for (r′+lΩ,v,i) this becomes:
F(l) =



exp

l

0 
ds Σt ( s )
,
l < lmax
0
llmax
(2.16)
to be written

1.3  Monte Carlo solution of equation 1

A statistical solution to equation (1.1b) is straight forward, because it is formulated in probabilistic terms as follows.
A discrete Markoff chain is defined using Q as an initial distribution and L = T ·C (order of C and T reversed compared to K) as a transition probability. Histories ωn from this stochastic process are generated according to ωn = (x0, x1, x2, ... , xn), (where xj = xa for all jn and xixa for all i < n), with xn being the first state after transition into the absorbing state xa. x0 denotes the initial state distributed as described by Q. Thus, the length n of the chain ωn is itself a random variable. A random sampling procedure to generate such chains is carried out in Monte Carlo codes by converting machine generated (pseudo-) random numbers ξi1 , ξi2, ... into random numbers with the distributions Q, T and C. Having computed N (several thousand) chains ωi, i=1,2,...,N, the responses R are estimated as the arithmetic mean of functions ("statistics", or "estimators") X(ω), i.e.
R
~
R
 
= 1

N
N

i=1 
Xi) .
(3.17)

1.3.1  Unbiased estimators

One possible choice for X(ω) is the so called "collision estimator" Xc,
Xcg ( ωni) = n

l=1 
gc (xl ) · l−1

j=1 
c(xj )

(1 − pa(xj))
.
(3.18)
This estimator is, for example, used in the DEGAS code [10]. It can be shown that the statistical expectation E(Xc) produces:
R = E(Xc ) =
d( ω) Xcg ( ω) h( ω)
(3.19)
with h(ω) being the probability density for finding a chain ω from the Markoff process defined above, i.e. Xc is an unbiased estimator for R.
Other estimators ("track-length type estimators") are employed frequently. These estimators are unbiased as well but have higher moments different from those of Xc. Instead of evaluating the detector function gc(x) at the points of collisions, xl , (as Xc does,) they involve line integrals of gt(x) along the trajectories, e.g.,
Xtg ( ωni ) = n−1

l=0 



xl+1

xl 
ds  gt (s)

· l−1

j=1 
c(xj )

(1 − pa(xj))
,
(3.20)
with R = E(Xt ) = E(Xc). It has been shown, e.g., in [7], that the collision estimator, derived not for the pre- but for the post-collision density integral equation results in a track-length type "conditional expectation estimator" Xe, which, together with Xc and the "traditional" track-length estimator Xt, may be used as one further option in the EIRENE code.
This estimator Xe is obtained from Xt by extending the line integration, which is restricted to the path from xl to xl+1 in formula (3.17), to the line segment from xl to xend. Here xend is the nearest point on a boundary along the test flight originating in xl. I.e., the line integration may be extended into a region beyond the next point of collision, into which the generated history would not necessarily reach. This "conditional expectation estimator" reads:
Xeg ( ωni ) = n−1

l=0 



xend

xl 
ds  gt (s) ·exp

s

0 
ds ′Σt ( s ′)


· l−1

j=1 
c(xj )

(1 − pa(xj))
,
(3.21)
If xend is taken to be the nearest point on each mesh cell boundary, then the estimator (3.18) reduces, as a special case, to the method employed by the NIMBUS code [11]. However, the estimator (3.18) is more general, as the integration may be extended over arbitrarily many cells. The length of the integration path is controlled in EIRENE by an input flag WMINC, see section 2.10.

1.3.2  Scaling of tallies

With increasing N, the number of Monte Carlo histories, the unbiased estimators X given in previous section 1.3.1 provide arbitrarily precise approximations for the responses Rg=〈Ψ|g〉, for detector function g and dependent variable Ψ (equation 1.1d). The precise meaning and physical dimensions of g and Ψ depend upon the problem at hand, e.g. also on symmetry (ignorable spatial coordinates, or time).
Because the inhomogeneous part of the transport equation (1.1d) S was assumed to be normalized to one (for source sampling),
S (r,v,t)= 1

s
 S(r,v,t),     s =
d3rd3vdt S(r,v,t)
(3.22)
this normalization factor s has to be multiplied to estimators (3.14) to turn responses Rg (2.11) into estimates with correct dimensionality and in absolute units.
Mostly the responses of interest are intensive quantities, such as density, pressure, collision density (number of collision per unit time and volume) rather than the extensive quantities obtained by the phase space integration in (2.11), such as volume, total energy or number of particles. Thus by dividing the estimate by the appropriate cell-volume Vm (in space-time), see (2.12), finally the profiles of cell averaged intensive quantities (e.g. density profiles) are obtained. The final unbiased estimate, in absolute units, for any of the unbiased estimators Xg for detector function g discussed above, then is:
Rg = 〈Ψ|g〉 ≈
~
R
 

g 
(N) = s

Vm×N
N

i=1 
Xgi) ,     N >> 1
(3.23)
with N being the number of Monte Carlo histories. Correct interpretation of the results of an EIRENE run hence requires knowledge of the ratio s/Vm. The total source strength scaling factor s, i.e. the integral of the inhomogeneous part S of the governing Fredholm integral equation, is input to EIRENE, variable "FLUX" in input block 7 (see 2.7). The space-time cell volumes Vm are either automatically calculated by EIRENE in subroutine "VOLUME", for cells belonging to standard grid (input block 2, Section 2.2), or are provided from external considerations by a number of options, e.g. input blocks 3b, 5, or 8. In this latter case great care is needed, however, that the cell volumes are proportional to the volumes as seen by the test flights for otherwise not only unscaled profiles, but even wrong (biased) profile shapes will be obtained.

Scaling in problems with ignorable coordinates

As seen in the previous paragraph, the absolute values of estimates are scaled with the ratio s/V of source strength to cell volume. Depending on ignorable coordinates in any particular problem, or on whether stationary (i.e.: time is an ignorable coordinate) or time dependent transport problems are considered , the dependent variable Ψ in the governing integral equation (1.1d), the source strength s and "cell volume" V may have different interpretations:
stationary (time independent) problems  
one ignorable spatial coordinate   In stationary problems with one ignorable coordinate, say, the z-coordinate, the source strength s (input flag "FLUX") is the flux, particles per unit length dz in direction of z. Likewise, the volume V is per unit (mostly "toroidal") length, i.e. if dz=1 then V is the cell area in the two remaining coordinates x,y. In

1.3.3  Efficiency (FOM)

The efficiency for Monte Carlo Codes is the inverse of the figure of merit (FOM) of the calculation, defined as
FOM = statistical  variance ·computing  cost.
(3.24)
Note that FOM should be approximately independent of the running time, because the number of histories generated is (excluding overhead) proportional to the CPU costs and inversely proportional to the statistical variance σ2.
It is one of the major advantages of Monte Carlo methods over other numerical schemes that the error estimates, empirical variances [(σ)\tilde]2, are directly provided by the method itself, not requiring any further considerations. The options to activate evaluation of statistical variance in an EIRENE run for any computed quantity (tally) are described in input block 9 (section 2.9). EIRENE provides numerical and graphical output for the "empirical relative standard deviation", in %.
~
σ
 

g,rel 
(N) =
~
σ
 

g 
(N)/
~
R
 

g 
(N) ×100
(3.25)
and [(R)\tilde]gN is the Monte Carlo estimate for tally Rg based on N Monte Carlo histories (3.20). Here Rg may be any volume or surface averaged tally for detector function g, either tracklength- collision- or snapshot estimated. The variance σ21 per history is obtained as the (unbissed) estimate ("empirical variance") as:
σ21
~
σ
 
2
1 
(N) = 1

N−1
N

i=1 
(Xi

X
 
)2= 1

N−1

N

i=1 
Xi2 1

N

N

i=1 
Xi
2
 

(3.26)
where Xi = Xgi) is the contribution of Monte Carlo history ωi to estimator Xg for tally g, and [ˉ(X)] is the arithmetic mean [ˉ(X)]=1/NXi over all histories. N is the number of (statistically independent) Monte Carlo histories. The subscript g is omitted here and from now on. The variance per history is turned into the final estimate for the variance by the "law of large numbers" (and the "central limit theorem" of probablity theory):
~
σ
 
2
 
(N)= 1

N
~
σ
 
2
1 
(N)
(3.27)
For large N the variance per history [(σ)\tilde]12 converges to a constant (namely to σ21), and the final Monte Carlo estimate of variance [(σ)\tilde]2 (3.24) has the expected probabilistic 1/N scaling, i.e. the empirical standard deviation scales as: [(σ)\tilde]  ∼ 1/√N.
Multiple cell crossings   One should note that except in simple 1D cases in general one history ωi can contribute more than once to the estimate for a particular cell of the grid. E.g. test particles can cross one cell m (see (2.12b) more than once, with each cell crossing "j" leaving a score Xi,j. Then: Xi=∑j Xi,j. The summation in (3.14) and hence also the second sum on right hand side of (3.23) can still be accumulated "on the fly" while generating the Monte Carlo histories.

Sampling, Non-analog sampling

One often encounters in literature the description of special, "new" Monte Carlo techniques, that are greatly superior to so called "standard methods".
It is true that one can devise very intelligent methods to optimize performance, but each optimization always only works well for one very particular problem, it can equally well entirely wreck the performance of an only slightly different case.
For a general purpose Monte Carlo solver for transfer problems, as EIRENE, therefore, no general advise can be given, although the performance often could greatly be improved by adapting the method to a particular problem. In particular, non of these "intelligent methods" have been (and will ever be) hard wired into EIRENE.
EIRENE contains a set of such methods, referred to as "non-analog" methods and controlled by the flags in input block 9, see section 2.9. Activating those must be accompanied by a very careful statistical analysis of results, not just the run time per particle, nor even the standard deviation alone, suffices.
We first note here that any random distribution function f(x) arising during the course of generating the chains ω ("particle histories") can be replaced by another "non-analog" function, g(x), if a weighting factor,
w(y) = f(y) / g(y)
(3.28)
is included in the formula for the estimator X(ω), y being an actual random number generated from g . This choice can in some cases increase the efficiency of the algorithm.
The only restrictions on the choice of non-analog functions (besides practical ones) are:

if     g(x) = 0,        then     f(x) = 0;
(3.29)
and conditions to ensure that the non-analog process remains sub-critical as well.
The condition 3.26 is checked in an EIRENE run whenever non-analog distributions are applied, and, if violated, an error exit with the message: "violation of Radon-Nikodym condition" occurs.
Note: a violation of condition 3.26 can not be detected otherwise, e.g., by monitoring overflow in the weighting factor w. Of course, values y resulting in a zero in the denominator of w (equation 3.25) have sampling probability zero according to distribution g(x), and, hence, are never sampled. Still the results would be biased.
Note: when inspecting an EIRENE geometry plot with particle trajectories (or even a movie: NLMOVIE=TRUE, input block 1) in order to get an intuitive feeling for the particular transfer process considered, then all non-analog sampling options must first be turned off, (NLANA flag in input block 1), for otherwise the pictures may be grossly misleading.

We consider the procedures for random sampling from univariate distributions as known, and refer to the many textbooks on that, in particular to the "random sampling library" [12]. If none of the direct methods apply, then still either the non-analog method mentioned above, or the "rejection method" can be used.
Sampling from a multivariate distribution f(x1,x2,...,xn) can always be reduced to a sequence of samplings from univariate distributions, by noting that:
f(x1,x2,...,xn)=f1(x1) ·f2(x2|x1) ·f3(x3|x1,x2) ·...
(3.30)
Here, f1 is the marginal distribution obtained from f by integrating over all but the first independent variables. It is a univariate distribution of x1.
f2 is a conditional marginal distribution obtained from f firstly by integrating f over all but the first 2 variables x1, x2, and secondly then taking the conditional distribution, conditional on x1 (i.e., the univariate distribution of x2 for given values of x1).
Likewise, f3 is a conditional marginal distribution, n-3 fold integration of f, and then distribution conditional on x1, x2, and so on.
Random sampling from f(x1,x2,...,x3) then proceeds by sampling first x1 from the (univariate) first factor in equation 3.27, then x2 by sampling from the (univariate) second factor, and so on.
One particular example of this scheme is the "TRIM database surface reflection model" (see below, section 1.4.2). There, essentially, tables of the conditional marginal distributions mentioned here are pre-computed with the TRIM code. For convenient random sampling, these tables are stored for the inverted cumulative distribution, i.e., as conditional quantile functions.

Stratified Source Sampling

The EIRENE code resorts to a "stratified sampling" technique. This means that the primary source distribution (see Equation 1.1a) can be decomposed into a sum of independent sources:
Q =

i 
Qi
and the solution is obtained by linear superposition of the solutions for each sub-source ("stratum") Qi.
The stratified sampling technique is a well known statistical procedure, see any textbook on statistics or Monte-Carlo methods.
It sometimes can significantly affect the efficiency of a Monte-Carlo run. This can go both ways, depending upon the particular problem and the particular stratification used. Therefore, as with the non-analog options, no general recommendation can be made.
The effects of stratification, however, are usually more easy to assess (predict) than with general non-analog methods.
In order to make connection with the textbooks we need to note here only the following:
EIRENE provides estimates of linear functionals ("moments", "responses")

< gQ > = < Q*g >
(3.31)
As described above, g is the detector function ("weighting function") φQ is the solution to the kinetic transfer equation (Boltzmann eq.) in which Q was used as (inhomogeneous) source term. φ*g is the solution of the corresponding adjoint equation, with g as source term.
The above equation means that EIRENE estimates can simply be regarded as Monte-Carlo estimates of multi-dimensional integrals, namely of the adjoint function φ*g integrated over phase space with Q defining a distribution (measure) in phase space "μQ".
It is then obvious that one can split that integral into a sum of integrals by arbitrarily decomposing the domain of integration, i.e., by decomposing the source Q into sub-sources ("strata") Qi with
Rg =
dxφQ ·g = < Q*g > =

i 
< Qi*g > =

i 

dμQi φ*g
(3.32)
This is the concept of stratified sampling, which, for Monte Carlo particle transfer procedures in particular actually turns out to be a "stratified source sampling".
Further details about this in our particular context are given in the description of input block 7, section 2.7 below.

1.3.4  Source sampling

to be written:
and see special section on "plasma surface recycling source sampling".

1.3.5  Sampling from the transport kernel T

The conditional sampling distribution T(r′→ r) for the next point of collision (event), given a test flight is at position r, traveling with velocity v, is given by (2.9a). Let us introduce the distance of the flight l in direction Ω =v/|v|, hence r =r′+lΩ, then the sampling distribution for l is simply
T(l)=Σt(r′+lΩ)exp

l

0 
ds Σt(r′+sΩ)
,     Σt=1/λt
(3.33)
Distances l are hence readily sampled from this exponential distribution using the inversion method and the cumulative distribution GT of T
ξ = GT(l)=1−F(l)=1−exp

l

0 
ds Σt(r′+sΩ)
(3.34)
with ξ (and hence also 1−ξ) being a uniformly distributed random variable. Therefore, cumulating exp[−∫0l ds Σt(r′+sΩ)] along a flight and comparing it with ln(ξ) with a uniform random number ξ provides a random sample of the free flight distance l.
Sampling the distance l of a free flight, for test particle species "i" with velocity v, from the transport kernel T requires knowledge of the ("monochromatic") mean free path λ = λ(r,|v|) along the trajectory, and, hence, of the "macroscopic cross section" Σ = Σ(r,|v|), which also may vary along the trajectory.
The "macroscopic cross sections" Σ (by abuse of language, dimension: 1/length) with or without subscript k (the label for the type of the collision process) or subscript t (for "total", the sum over k), are defined as:
Σ = 1

λ
= ν

|v|
,       λ = |v|

ν
(3.35)
with the mean free path λ and the collision frequency ν:
ν(r,v,i) = nb 〈σ·vrelb,        vrel = |vvb|
(3.36)
Here nb and vb are the target particle density and velocity, respectively, and the brackets 〈...〉b denote averaging with the velocity distribution fb(r,vb) of the background medium species b.
σ is the total scattering cross section, σ = σ(|vrel|).
Hence, e.g., for all isotropic target distributions fb one has:
ν = ν(r,E,\not Ω,i)       and        Σ = Σ(r,E,\notΩ,i).
Furthermore, let fb be a drifting Maxwellian, with temperature Tb and drift Vb: fb = fb(Tb,Vb).
Then:
ν = ν(Tb,|vVb|,i)
Finally, if the thermal speed vbtherm in this Maxwellian: vbtherm = √{Tb/mb} is very large compared to typical values of |vVb| (i.e.: nearly incompressible flow conditions), then:
ν ≈ ν(Tb,0,i) = nb 〈σ·vb
and here 〈σ·vb is the usual "Maxwellian rate coefficient" for the collision process, taken at temperature Tb of the background particles (species b) and at zero velocity of the test particles (species i). For example, in case of neutral atom or molecule collisions with electrons this approximation is usually valid.

1.3.6  Sampling from the collision kernel C

The general rules for sampling from multivariate distributions outlined in section 1.3.3, equation 3.27 also apply here.
It is not necessary, but usually most convenient and intuitively most clear, to decompose the kernel C according to the physical nature of the various collision processes taken into account.
The collision kernel C was written as (see equation 2.7)
C( r′, v′, i ′→v, i) =

k 
pk Ck ( r′; v′, i ′→ v, i)  ,  pk = Σk

Σt
with summation over the index k for the different types of collision processes under consideration and pk defined as the probability for a collision to be of type k. The normalizing factor
ck (x ′) =

i 

d v Ck (r′, v′, i ′→v, i )  ,  Ck = 1

ck
Ck
was the mean number of secondaries for this collision process. The function Ck then is a conditional probability density for (v,i), given the pre-collision coordinates (r′,v′,i′).
Sampling from C (given that a collision of some kind has occurred) proceeds most conveniently by firstly sampling the type k of the process from the discrete distribution
(pk,     k=1,..,K),
and then by sampling the post-collision state of the test-particle from Ck. Finally the weight of the test-flight after collision is increased (or reduced) by multiplying it with the normalization constant ck.
The decomposition of C into sub-kernels Ck is somewhat arbitrary, and the criteria may also be computational aspects rather than the different physical nature of the various processes taken into consideration.
Sampling (v,i) from Ck can be done along the same idea: first factoring out the discrete distribution for the species index i, and then by sampling v from Ck,i, the conditional distribution for v given the type of the process is k and the species of the post collision trajectory is i. Let (nk,i,i′=1,...,Ik) be the number of post collision particles of species i′ from process k, and nk = ∑i nk,i. Then
(
~
n
 

k,i 
    i′=1,...Ik) = (nk,i/nk,     i′=1,...Ik)
is the discrete distribution for the post-collision particle species i′, given a collision process of type k.

1.3.7  elastic collisions

1.3.8  charge exchange

1.3.9  electron-impact collisions

1.3.10  general heavy-particle-impact collisions

1.3.11  photon processes (emission, absorption, scattering

1.4  Surface Reflection Models

Within the terminology fixed in section 1.2 the effects of the interaction of neutral particles (and escaping ions) with surfaces surrounding or inside the computational volume can be described by additional boundary conditions. It is, however, much more convenient for Monte Carlo applications to describe this interaction as just one special type of collision process in the collision kernel C of equation (2.7), i.e. as
C = pw ·Cw +

k 
pk Ck ,
(4.37)
with pw (r) = 1, if r is a point on a surface, and pw (r) = 0 elsewhere. The transport kernel T can be modified such that the maximum length lmax for free flight to the next point of collision is the distance to the nearest surface along the track of the particle. The reflection kernel Cw is further decomposed it into a kernel Cwf (fast particle reflection), Cwt (thermal particle re-emission) and Cwa (particle absorption) with respective probabilities, pf , pt and pa, such that
Cw = Cwf + Cwt + Cwa = pf Cwf + pt Cwt + paCwa ,     pf + pt + pa = 1 .
(4.38)
Here C are, as above, the normalized versions of the collision kernels C.
We discuss in detail only the fast particle reflection model Cwf since Cwt is generally a mono-energetic and cosine angular distribution or a Maxwellian flux distribution at wall temperature, and Cwa only describes the transition into the "limbo state" xa "absorbed particle".
It is usual in neutral gas models to replace Cwf with numerical or analytical fits to moments of Cwf, e.g., such as the particle and energy reflection coefficients CP and CE. The particle - wall interaction is often supplemented by simple assumptions on the angular distribution (cosine or specular) of the particles leaving the surface.
One has for the particle reflection coefficient:
CP =

i 

d v Cwf (r; v′, i ′→ v ,i)
(4.39)
Note that CP = pf = cwf in the terminology of equation 2.8.
The energy reflection coefficient is defined as:
CE = 1

E
·

i 

d v E ·Cwf (r; v′, i ′→ v,i) = 1

E
·
~
C
 

E 
(4.40)
Here E = m v2 / 2 is the energy of the reflected particle. Hence CE = [ˉ(E)]/E′·CP, with [ˉ(E)] denoting the mean energy of the reflected particles.

1.4.1  The Behrisch matrix reflection model

One model, the matrix model due to Behrisch [13], is hardwired in EIRENE (and in many other codes such as AURORA, BALDUR, TRANSP). This model has been used as a standard option in many benchmarks [14]. The model is based upon a table of values for CP (E ′) and a stochastic matrix B for the transition E ′→ E, for H atoms striking a stainless steel target at normal incidence. For other incident angles ϑin the moments are modified in EIRENE by the relations:
CP ( ϑin ) = 1 − ( 1 − CP) ·cose1 ( ϑin )
(4.41)
and
CE ( ϑin ) = 1 − ( 1 − CE) ·cose2 ( ϑin ) .
(4.42)
This latter moment equation can be satisfied by modifying the tabulated stochastic matrix B( E ′→ E) in many different ways. In EIRENE, we first sample E from B (given E ′) and then set
E = E ′− ( E ′− E ) ·cose2 ( ϑin ) .
(4.43)
The linearity of E in E gives an expectation value [ˉ(E)] with [ˉ(E)] / E ′·CP( ϑin ) = CEin ), with CP and CE as given by equations (4.38) and (4.39), respectively.
To describe the angular distribution of re-emitted particles, let ex , ey , ez define an orthonormal basis at the strike-point of a test-particle on a surface. Here let ex be the unit vector parallel to the outer surface normal and let the incident particle travel in the local xz-plane. Furthermore, let ϑr and ϕr be the polar and azimuthal angles sampled from a cosine distribution around − ex. The speed unit vector Ω of the reflected particle in EIRENE is then given by
x
=
− cos(
^
ϑ
 

r 
) f1 ( ϑin) + sin(
^
ϑ
 

r 
)sin( ϕr) f2 ( ϑin ) ,
y
=
sin(
^
ϑ
 

r 
)cos( ϕr ) ,
z
=
sin(
^
ϑ
 

r 
) sin( ϕr )f1( ϑin ) + cos(
^
ϑ
 

r 
) f2in ) ,
(4.44)
with
sin(
^
ϑ
 

r 
)
=
f1( ϑin) sin( ϑr ) ,
f1( ϑin )
=
cose3 ( ϑin ) ,
f2( ϑin )
=
( 1 − f1 ·f1 )[1/2] .
In total we have defined three parameters e1, e2, e3. The first two parameters e1 and e2 account for particle and energy reflection coefficients that continuously increase with incident angle (recommended: e1=1, e2=0.5 from comparison with TRIM code calculations, see below).
The third parameter e3 can be used to take into account an increasing contribution of specular reflection at near grazing incidence. e3=0 gives a pure cosine distribution, e3=1 reproduces the distribution given in [10]. In general this model describes a fraction of specular versus cosine reflection which increases with ϑin, and in the (purely mathematical) limit of ϑin = 90°, pure specular reflection. Furthermore, the parameter e3 controls the speed at which the specular part aspec (Ω) of the angular distribution a(Ω) = aspec ( Ω) + acosin ( Ω) increases with ϑin .
The interaction of neutrals and ions with a solid surface for target-projectile combinations other than H onto stainless steel are modelled using a reduced energy scaling.

1.4.2  TRIM code database reflection models

Complementary to the surface model described above, EIRENE is coupled to computer generated reflection databases, produced with the TRIM code (see references [15] and [16]). At present a discretized form of the reflection kernel Cwf, including all correlations between the vector components of v′ and v, is available for the target-projectile combinations listed in table 1.1. ZNML is a target material flag set for each surface in the input file, blocks 3a and 3b, and is described below in block 6b, "Data for local reflection models". These databases are, essentially, tables of conditional quantile functions obtained from large random samples of test particle trajectories in the solid.
Table 1.1: Surface reflection database (TRIM Code)
No Projectile Target ZNML
1 H Fe 5626.
2 D Fe 5626.
3 H C 1206.
4 D C 1206.
5 He Fe 5626.
6 He C 1206.
7 T Fe 5626.
8 T C 1206.
9 D W 18474.
10 He W 18474.
11 H W 18474.
12 T W 18474.
13 D Be 904.
14 D Mo 9642.
15 Ne C 1206.
16 Ne Be 904.
17 H Cu 6429.
18 H Mo 9642.
19 T Mo 9642.
20 He Mo 9642.
We consider these "database -" reflection models to be the most complete option available at present and recommend to further extend the databases to additional projectile - target combinations, and in particular to sputtering and self-sputtering data (such as, e.g., C onto C, or Be, etc.).
For an INTOR benchmark case for neutral particle Monte Carlo Codes [14] the choice of a particular surface reflection model had no strong impact on the results. This was shown by running the EIRENE code with all three models ("Behrisch Matrix", TRIM database and MARLOWE database (at that time available as a third option. Meanwhile the MARLOWE database is not available anymore).
It was found that this had little influence on global parameters as, e.g., the pumping efficiency for the particular geometry (5.4 %, 5.3 % and 5.2 % respectively.). On the other hand, it can easily be imagined that in other cases (different plasma conditions, more detailed geometries) the choice of the reflection kernel Cwf can be more important for the result. Certainly in all cases, in which the results are sensitive to the neutral particle velocity distribution near surfaces, details of the reflection kernel matter. This is, for example, the case for computed line shapes of certain electronic transitions (Hα lines etc.), see e.g., reference [17].

1.5  Surface sources

It has been found as a result of benchmark calculations with several different neutral gas transport Monte Carlo codes on the same input data that the main divergence in the results from the different codes tested was due to different primary source terms Q in the transport equation [equations (1.1a,1.1b) and (1.6a)] , although target fluxes and temperatures had been prescribed to be identical. Here we describe one particular EIRENE surface source option in detail. The way the source is modelled by EIRENE allows consistency with kinetic boundary conditions for plasma fluid equations at plasma facing surfaces. To describe this, we first write the volumetric source Q (particles per unit time and volume) in terms of a surface (wall) flux Γw and surface delta-function:
Q( r, v, i ) = Γw (r, v, i ) ·δ( π) ,
(5.45)
where π is a coordinate normal to the surface Sw: π(r)=0 , i.e.: eπ = ∇rπ(r), pointing away from the computational volume. Γw is a surface source (flux-) density distribution, backward directed (into the computational volume, i.e., only vπ < 0).
A typical example is a sonic parallel plasma flow (Mach number M||=1 along the magnetic field lines) entering the magnetic presheath. In this magnetic presheath the ion trajectories are bend over such that at the entrance of the electrostatic sheath the sound speed is already reached with respect to the surface normal: Mπ=1.
To convert from a forward directed ion flux distribution ΓSh,ion at the plasma-sheath interface SSh to a neutral flux distribution back from the wall surface Sw, we fold ΓSh,ion with a (magnetic plus electrostatic) sheath transmission kernel TSh and with the surface reflection kernel Cw, equation 4.34:
Γw ( r, v, i )
=


i 



d3 rd3 vd3v" ΓSh,ion ( r′,v" , i ′)
·TSh (i ′; r′,v" → r, v′) ·Cw ( r;v′, i ′→ v, i )
(5.46)
The summation over i ′ is performed over all ion species entering the sheath region.
A typical example for ΓSh,ion is a sonic parallel plasma flow (Mach number M||=1 along the magnetic field lines) entering the magnetic pre-sheath. In this magnetic pre-sheath the ion trajectories are bend over such that at the entrance of the electrostatic sheath the sound speed is already reached with respect to the surface normal: Mπ=1.
A commonly adopted simplification is made by ignoring the typically small spatial volume between the plasma sheath interface and the wall surface. Hence: TSh factorizes into a 3D delta function δ3(rr′) and a deterministic transition kernel for the velocities v" → v′.
Random numbers from Γw are generated conveniently by sampling, firstly, (r′, v" , i ′) from ΓSh,ion, next generating (r,v′) from TSh and then, finally, (v, i) from the conditional distribution Cw .
A frequently employed assumption for ΓSh,ion is a forward drifting Maxwellian ion flux distribution at the interface between plasma and electrostatic sheath SSh. In this case the bending of trajectories from parallel to normal (to the surface) sonic flow in the magnetic pre-sheath is already included in ΓSh,ion , e.g. via boundary conditions in a CFD model for plasma ion flow, and the action of operator TSh is solely the acceleration in the electrostatic sheath. Such a forward drifting Maxwelllian ion flux distribution is given as
Γ0Sh,ion = 1

α2
·vπ · exp
1

2 β2
(vVd )2
,    vπ > 0
(5.47)
with β = √{ [(kT)/(m)] }, normalizing constant α2 and with the drift velocity Vd. The superscript 0 indicates normalization of the flux to one.
Consider the three orthogonal velocity components v1,v2,vπ, then Γ0Sh,ion(v) factorizes in the three uni-variate distributions
Γ0Sh,ion(v)=Γ0Sh,ion,1(v1)·Γ0Sh,ion,2(v2) ·Γ0Sh,ion(vπ)
(5.48)
The first two are simply shifted Gaussians. However, sampling the π-component vπ of v from ΓSh,ion is not trivial because the cumulative distribution function F of a 1D forward drifting Maxwellian (with cut-off at vπ=0):
F ( vπ ) =
vπ

0 
dvπ ′ Γ0Sh,ion ( vπ ′)
(5.49)
cannot be inverted explicitly. Instead we sample this component [(v)\tilde] π from a "non-analog" truncated Maxwellian flux distribution F (see section 1.3 above) with zero drift in π-direction but with different temperature [(T)\tilde]π ,([(T)\tilde]πT , [(V)\tilde] d = 0 ). This can be done by setting, e.g.,
~
v
 

π 
=
~
α
 

π 
·

 

−ln(ξ) ·2
 
,     ( note:  
~
α
 

π 
=
~
β
 

π 
,
    since
~
V
 

d 
= 0 ),
(5.50)
ξ being a uniformly distributed random number between 0 and 1.
In order to find the weight correction factor associated with this procedure, we first note that the normalizing factor απ2 for the correct vπ distribution reads:
απ2 = β2 ·exp(−M2π ) g(Mπ ) ,
(5.51)
with Mπ = Vd/ (√{ 2 } ·β) and g(x) = 1 + √{π} x (1 + erf(x)) ·exp(x2).
The conditions
~
M
 

π 
= 0 ,
~
α
 

π 
=
~
β
 
then give the following result for the weight correction factor w ( [(v)\tilde]π ) to be applied for each sampled non-analog velocity component [(v)\tilde]π:
w (
~
v
 

π 
) =
Γ0Sh,ion (
~
v
 

π 
)

~
Γ
 
0
Sh,ion 
(
~
v
 

π 
)
=
~
β
 
2
 

β2
exp

~
v
 

π 
Vd, π

β2
~
v
 
2
π 

2 β2

1 − β2

[(β2)\tilde]



· 1

g(Mπ)
.
(5.52)
This non-analog sampling of the source term introduces additional statistical fluctuations in the results, since the initial test particle weights fluctuate with variance
σ2 =


0 
d
~
v
 

π 
 w2 (
~
v
 

π 
) ·
~
Γ
 
0
Sh,ion 
(
~
v
 

π 
) − 1
=
g
2Mπ

b

/g(Mπ)2 · 1

(2−b) b
− 1
(5.53)
where b = 2 − β2 / [(β2)\tilde]. We use the ansatz b = C ·Mπ + 1 and compute numerically that value of C which minimizes σ2 in the range 0 ≤ Mπ ≤ 1. We find C = 0.6026. This means that the ratio of the "real" temperature T and the non-analog temperature [(T)\tilde] should be chosen to be T / [(T)\tilde] = 1 − 0.6026 ·Mπ. This choice optimizes the statistical performance. In principle, of course, any other [(T)\tilde] could have been used without introducing bias into the algorithm.
The mean energy of ions generated by this sampling procedure is (note: Γ0 is the distribution already normalized to flux one):

E
 
(Mπ)
=
mi

2
·


−∞ 



−∞ 



0 
d3v′  v2 ·Γ0Sh,ion (v′) =
=
mi

2
·


−∞ 
dv1


−∞ 
dv2


0 
dvπ   (v12+v22+vπ2) ·Γ0Sh,ion (v′)
(5.54)
=
T ·γE ,
with the half sided integration for the π-component of v′, and:
γE = ( Mσ2 + 2 ) +
Mπ2 + 0.5· g(Mπ ) − 1

g(Mπ )

,
(5.55)
We have decomposed the drift velocity Vd into a normal (to the surface) π-component Vd and a σ-component Vd parallel to the wall surface.
Mσ = | VdVd |

√2 ·β
= | Vd |

√2 ·β
.
(5.56)
Note that for Mπ = 0 this reduces to the expected formula γE = 2 + Mσ2. Furthermore, if Mσ = 0 (normal incidence) and Mπ → 1 (Bohm sheath condition for Te = Ti), then γE for our forward sided fluxes approaches the value for total Maxwellian heat fluxes: γE = 2.449 + Mπ2 ≅ [5/2] +Mπ2, as it must.
We conclude that the above scheme is both an accurate and efficient random number generator for truncated shifted Maxwellian flux distributions of particles incident onto or emitted from surfaces. Of course, after having generated [(v)\tilde] with the weight w ([(v)\tilde] π) and before reflecting the particle via the kernel Cw , the acceleration of an ion in a sheath potential in direction π (normal to the target surface), as formalized in the sheath transmission kernel TSh mentioned above in Eq. (5.43), can easily be included.

1.5.1  The electrostatic sheath

The electrostatic sheath potential in front of a target surface is derived from assuming a given net electrical current jpl and a known ion particle current Γ+ (i.e., j+ = qiΓ+ electrical ion current, with qi=eZi being the ion charge, e the elementary charge and Zi the ion charge number) flowing over the target sheath edge. Both these currents, and the electron current j=qeΓ = −eΓ, are taken to flow parallel to the B-field at the plasma-sheath edge.
Often, but not necessarily, it is assumed: jpl = j+ + j = 0, i.e., locally ambipolar flow conditions.
We start with a Maxwell-Boltzmann density distribution ne(x) for the electrons, with electron temperature Te, in the electron retarding electric field with potential Φ(x). Here x is a coordinate parallel to the magnetic field B. The electron current density along the field is then (after reduction, possibly, due to secondary electron emission):
jT = −e ·1/4 ·ne,T ·veav ·(1−γs.e.e.) = −e ·1/4 ·ne,S ·exp[e∆ΦS,T/kTe] ·   ⎛


8 kTe

πme
 
·(1−γs.e.e.)
Here γs.e.e. is the secondary electron emission coefficient and veav is the average electron velocity. The subscripts S and T stand for the plasma-sheath interface and for the target surface, respectively and ∆ΦS,T is the (typically negative) voltage drop from the plasma sheath edge to the target.
In order to determine the sheath voltage drop ∆ΦS,T we equate the component normal to the target of this current density with the corresponding component of the net ion current density:
jT ·cos(Ψ) = (j+Tjpl) ·cos(Ψ)
Hence the cosine of the angle Ψ of field line inclination against the target surface cancels out, as does the elementary charge e. The ion electrical current j+T ( = j+S, no ion sources within the sheath region) is given as
j+T = e  

i 
Zi ·ni,S ·V||,i,S = e  

i 
Zi ·ni,S ·Mi,S ·ci,S.
The sum is over all ion species, Zi is the charge state of species i, ni,S is the corresponding ion density and V||,i,S the parallel (to the B-field) ion flow velocity of ion species i. Mi is the Mach number, and ci is the ion acoustic speed for species i.
Hence, the sheath potential difference ∆Φ in terms of given jpl, Te, γs.e.e. and ions flows Γi, reads:
e ∆Φ/kTe
=
ln






(1−γs.e.e.)



i 

Zi ni,S

ne,S
·V||,i,S

 

[(me)/(kTe)]
 

jpl

e ·ne,S ·


 
[ˉ([(kTe)/(me)])]



(5.57)
=
ln






(1−γs.e.e.)



i 

Zi ni,S

ne,S
·Mi,S ·ci,S

 

[(me)/(kTe)]
 

jpl

e ·ne,S ·


 
[ˉ([(kTe)/(me)])]



(5.58)
This expression (5.54) is evaluated by the function SHEATH of the EIRENE code, taking local plasma data for Te and ni and V||,i (ne from quasi-neutrality) at the point of impact of an ion at a wall boundary (e.g., the divertor target plate).
Special forms of (5.55) are often quoted in the literature. Writing for the ion acoustic speed ci explicitly
ci =   ⎛



γkTi + kTe

mi

 
(γ denoting the adiabatic coefficient) and replacing this in (5.55):
ci ·   ⎛


me

kTe
 
=

γkTi

kTe
+ 1
· me

mi

1/2

 
we recover well known expressions for simpler cases. Consider, e.g., a single ion fluid case, ne = ni, with Zi = 1, and Mi = 1 (Bohm sheath condition for isothermal flow, γ = 1), furthermore zero net electrical current: jpl = 0 and zero secondary electron emission γs.e.e = 0. Then we find:
e ∆Φ/kTe = 1

2
ln
me

mi

Ti

Te
+ 1

Hence, e.g., for a pure hydrogen plasma, and for TeTi, we have −e ∆Φ/kTe ≈ 2.5 and ≈ 2.84 for a pure deuteron plasma.

1.6  Combinatorial description of geometry

EIRENE is a Monte Carlo Code. Defining geometry in a Monte Carlo code is complex and laborious.
Of the three typical options for definition of the target geometry in Monte Carlo Codes: EIRENE uses a combination of the latter two concepts.
In CSG a solid object is "constructed" from the intersection, union or other boolean operations of several "half-spaces". Each half space in specified by a relation F(x,y,z) ≤ 0, typically F is a low order polynomial. For example the neutronics code MCNP used e.g. for ITER nuclear safety studies, is based on CSG.
In BREP geometry, surfaces and volumes are build up from constituent parts. These parts may be related with algebraic functions (elementary BREPs) or complex functions such as Bezier functions or B-splines (advanced BREPS). Most CAD software uses BREPs in their native definition of geometry.
In the EIRENE BREP options surfaces are build from (bounded) algebraic functions. These surfaces are referred to as "additional surfaces", see section 2.3.2. EIRENE uses only algebraic functions, up to second order (some extensions to raise the order to fourth order have been started recently but are not ready to use).
In Voxel geometry, a 2D or a 3D object is constructed from identically shaped volume elements ("voxels"). In EIRENE these may be triangles or quadrangles in 2D, or tetrahedrons in 3D. New options to accommodate trilinear hexaedra as 3D voxels are currently being developed in connection with 3D edge codes such as EMC3. The bounding surfaces of these voxels are referred to as "standard grid surfaces" in EIRENE, see section 2.2. These volume discretisation meshes (VOXELS) can be read into EIRENE from external files. For example the mesh in B2 CFD plasma fluid code is read into EIRENE directly from the CFD grid generator in coupled B2-EIRENE applications. Wall meshes are build from these by assigning a surface reflection model to some of the (voxel-) surfaces, whereas internal (grid-) surfaces remain transparent for flow of test-particles.
Note added in 2008:
An attempt has been made in 2008 to use CAD files directly for 3D wall surfaces. This was done via the already existing CAD-MCNP interface. We had then tried to turn the CSG input for MCNP (see above) into a BREP form for EIRENE. In principle this works. But in practice the de-tour via the CSG concept leads to prohibitively complex BREP input. A direct CAD-BREP interface seems now much more efficient to us and more natural anyway, but this has not been started yet in EIRENE due to lack of manpower.

A complete set of surfaces in an EIRENE geometry may consist of a combination of both: standard surfaces (hence: defining standard grid cells, (voxels), and additional surfaces, defining a general BREP discretisation (additional cells). A more complicated situation arises when additional surfaces intersect standard grid voxels. If these surfaces are transparent, they can be used to conveniently "measure" fluxes at any position. But if they are reflecting, or absorbing, e.g. to define a complex shaped bounding surface in an otherwise simple grid, then some care is needed because the automatic cell volume evaluation, which is available in EIRENE for standard grid cells (voxels), may not correspond anymore to the cell volume accessible for test particles. Cell averaged quantities (divided by cell volume) may then not necessarily be scaled properly. For a possible work-around see NLERG option in input block 1, section 2.1.
From the above it follows than in an EIRENE model surface elements building up the wall can be defined as bounded algebraic surfaces, with triangles as special case, i.e. as "additional surfaces, BREP", or can be bounding surfaces of the voxels, if the "grid of voxels" extends up to the real wall, or a combination of both.
As can be seen from the flowcharts, all the geometrical calculations needed for tracing test flights and for estimating volume- and surface averaged tallies are compiled in a "geometry block", which can easily be exchanged. In most cases (e.g., all installations of EIRENE outside FZ-Jülich) we load the most complete, fully 3D block "GEO3D", which allows fully 3 dimensional spatial resolution. Lower dimensional (0D, 1D or 2D) are contained as special cases, e.g. by choosing only grid surfaces with proper symmetry.
There is, in general, not a very large CPU benefit from running EIRENE with simpler specialized and geometry optimized blocks such as GEO2D or GEO1D for 2D or 1D models, respectively, because the saving in CPU costs in most cases is only around 10 - 20 %, so these options have not been supported since the late eighties of the last century anymore.
The following operations have to be executed by the block:
Suppose the three dimensional computational volume is discretized by a mesh of n surfaces Si, i=1,2,...,n . Each of these surfaces is defined by a set of Λi equations (unbounded surfaces):
fλi (x,y,z) = 0 ,         λ = 1,2,..., Λi ,
(6.59)
and, optional, for each unbounded surface λ a subset of Πλ inequalities (e.g. for turning the unbounded surfaces into finite segments):
gλ, πi (x,y,z) ≤ 0 ,         π = 1,2,..., Πλ .
(6.60)
This means that for all unbounded surfaces Si only the points, which fulfill all corresponding inequalities (6.57) are regarded by EIRENE as valid parts of the finite surface element.
Assume a test particle at position r0 = (X0,Y0,Z0) moving with speed unit vector Ω0 = (VELX,VELY,VELZ). The block then has to provide the nearest intersection r1 of the straight line ("sample trajectory")
G(t): r0 + t0
(6.61) amongst all possible intersections with the surfaces Si. Moving the "particle" from r0 to r1 and then repeating the block until the total track length l as sampled from the transport kernel T(l) (2.9a) is reached, allows to generate histories with all information available along the track to evaluate the estimators mentioned in section 1.2.
In EIRENE f and g are general 2nd order (with linear surfaces as special case) algebraic equations of the form
h(x,y,z) = a0 + a1 ·x + a2 ·y +a3 ·z
+
a4 ·x2 + a5 ·y2 +a6 ·z2 +
+
a7 ·xy + a8 ·xz +a9 ·yz
(6.62)
Hence in the geometrical block nothing else but second order equations
t2 + p ·t + q = 0
have to be solved accurately and as efficiently as possible. We note in passing that each of this surfaces may be transparent, purely absorbing, semi transparent or (partially) reflecting. Surface sources may be defined on each surface. These surfaces may be "invisible" from one side and transparent, absorbing or reflecting from the other and each surface can "operate switches" if intersected by a test flight, such as abandoning the evaluation of atomic or molecular reaction rates (entrance into vacuum regions) along the flight, abandoning evaluation of volume averaged responses (e.g., in some uninteresting regions) or abandoning geometrical calculations (for those surfaces, for which it can be known a priori that they will not intersect a flight path originating at a particular surface or in a particular cell).

1.7  time dependent mode of operation

The section is currently rewritten. Please refer to the J.Nucl.Mater. paper: D.Reiter et al., Vol 220-222 (1995), 987-992.
The following issues have to be considered:
The coupling is explicit, hence CFL-type conditions for the time-step have to be obeyed. Here this means: the time-step must be shorter than the time between re-ionization and subsequent neutralization (in the volume or at the targets), because the fate of a particle during its intermediate ionized phase is not included in the explicit Monte Carlo procedure.
The noise level for collision estimators increases with smaller time-steps. Hence: avoid all collision estimators in t-dependent mode.
Please contact us for an update on this situation, if you wish to use that option.

1.8  non-linear effects: coupling to plasma fluid models

The section is currently rewritten. Please refer to the report Jül-2872, Feb 1994, by G.Maddison and D.Reiter for details (ref. [9]).
flowchart9.gif
Figure 1.1: Structure: EIRENE code
flowchart7.gif
Figure 1.2: Structure: EIRENE code
flowchart8.gif
Figure 1.3: Structure: EIRENE code
converg.gif
Figure 1.4: Convergence of B2/EIRENE, measured by B2-residuals. Method: implicit coupling, method of "saturated residuals", ref.[9]

1.9  non-linear effects: neutral-neutral collisions

Neutral-neutral collisions make the Boltzmann collision integral non-linear (bi-linear). More generally, inclusion of any binary collisions between two test-particle species i0, j0, elastic or not, have this effect. Important examples are, of course, elastic self collisions (i0,i0)el, e.g., H2H2 collisions leading to viscous effects in the gas, elastic cross collisions (i0,j0)el, such as HH2 collisions, often leading to a heating of the molecular gas due to hot charge exchange atoms. Furthermore there may be relevant inelastic binary particle collisions (i0,j0)inel, such as (H2H+2H+H3+) which is an important channel in hydrogen plasma chemistry, and (hν+ H(1s) → H(n=2)), the absorption of resonance Lyman-alpha photons under non-LTE conditions. In large dense divertor plasmas the ratio H(1s) to H(n=2) may have to be calculated consistently with the radiation field (photon Boltzmann equation), competing electron impact collisions and neutral atom transport.
Two methods of solution for this non-linear problem have been tested in EIRENE, 1) a parametrization of the single particle distribution functions involved in non-linear collision terms and an iterative scheme (see next subsection: BGK model collision terms), and 2) a Direct Monte Carlo Simulation (DMCS) technique based upon a swarm simulation, an operator splitting ("Streaming" and "Collisions") and a random simulation of binary collisions in the swarm. Currently only the first of these two options is still being used because, despite its approximate character, it proved to be much more effective than the full DMCS method, for the cases relevant to fusion research applications studied so far. A simple estimate for the relevance of neutral-neutral gas collisions is given by the so called Knudsen number Kn:
Kn = λel

l
= 1

√2 σel nN l
(9.63)
Here λel is the mean free path for elastic neutral neutral collisions, σel is the typical cross section, nN the gas density (cm3) and l a characteristic dimension (cm). Fixing the hard sphere molecular diameter at d=4 ·10−8 cm results in a typical cross section of 1−2 ·10−15 cm2 to be used in this Knudsen number. For Kn << 1 a neutral fluid model (Euler, or Navier Stokes) is appropriate, while Kn >> 1 leads to the free molecular flow regime, in which only the linear collisions terms (collisions of neutrals with a given plasma host medium) are retained.

1.9.1  BGK approximation

currently under development. Please contact us for details and status.
See flowchart 9.1 (figure 1.12).
Further details can be found if ref. [18].


Consider first the elastic self collisions amonst particle species A. The BGK approximation to the Boltzmann collision integral reads:
fA

t
=
(9.64)

1.9.2  Direct Simulation (DMCS) of self-collisions

currently under development. Please contact us for details and status. Further details can be found in ref. [19]

1.10  Radiation transport, photon gas simulations

The theory of light and its interaction with matter is one of the best that physics can offer, and can predict virtually every observed phenomenon with great accuracy [Feynman, 1985, QED: The strange Theory of Light and Matter, Princeton University Press, Princeton]. In our simulations of radiation transport with the EIRENE code we assume a geometric optics model (i.e., essentially, "particle theory of light"), which is sufficient for all our purposes. Light is emitted, scattered, reflected and absorbed, but moves on straight lines between these events. I.e., a continuously varying index of refraction is not allowed, and we ignore most properties of light that depend on a wave or quantum model for their explanation (e.g. diffraction, or interference). However, the linear wave-optics phenomenon of polarization and the linear quantum optics phenomenon of fluorescence [absorption of a certain wavelength (line), and re-emission at another wavelength (line)] can be added to our linear geometric optics model.
We are concerned with the kinetic theory of interacting particles and photons, where the behaviour of each species is governed by a kinetic equation: the kinetic equation for photons being nothing else but the well known equation of radiation transfer, i.e., the "strangely normalized photon-Boltzmann equation". In contrast to plasma radiation (e.g., Bremsstrahlung) the radiation processes studied here are due to single, uncorrelated particles such that emission and absorption of the plasma is obtained by simple summation of all contributions of all individual particles. We therefore consider all particles as uncorrelated and in well defined one-particle states.
For continuum radiation (bound-free or free-free) the frequency of the photon in the atoms rest frame may be replaced by the frequency in the lab. frame, because all cross sections are slowly varying functions of frequency. By contrast, for line-radiation due to bound-bound transitions, the Doppler effect must be taken into account in all quantities that vary rapidly as function of frequency, such as cross sections, line-profile, or redistribution functions
The key atomic parameters for radiation transport are the Einstein (or Einstein-Milne) coefficients Amn, Bmn and Bnm of spontaneous emission, induced (stimulated) emission and absorption, respectively. We will discuss them here first for a gas of stationary atoms and include Doppler- and other line broadening effects later.
For a thermal radiation field (temperature T) in a gas of atoms with density n1 (lower state) and n2 (upper state) the rate equation expressing balance between emission and absorption reads:
n1 B12 Rν(T) = n2[A21+B21 Rν(T)]
.
Rν(T) is a specific function characterizing the wavelength and temperature dependence of the thermal radiation field (i.e., the Planck-function). For example the specific intensity Iν (energy/area/time/solid-angle/frequency-interval) is often used, or the (angle)-integrated intensity Jν = ∫Iν dΩ, or the specific energy density uν = 1/c Jν (energy/volume/frequency-interval), etc. Also the wavelength dependence may be given either using frequency ν (Hz), ω (rad/s), wavelength λ or energy E = h ν = (h/2p) ω.
Depending upon all these choices the numerical factors in the definitions of the Bnm coefficients (sometimes even in the Anm) differ in the literature. For our purpose (Monte Carlo solution of the full radiation transfer equation) we need to define monocromatic mean free pathes for photons, rates and rate coefficients and cross sections for the individual processes.
In order to take advantage of the analogy between radiation and particle transport equations as much as possible, we will choose the numerical constants in the Einstein coefficients such that these parameters have the same meanings and even the same units in both cases of radiation and particle transport. I.e., we will use the "absorption coefficient" (better: "extinction coefficient", if scattering is allowed) αν = n σ ≡ Σt, (invers monocromatic mean free path), which directly corresponds to the "total macroscopic cross section" (dimension: 1/length) defined earlier for particle transport problems.

1.10.1  Line shape options

Emission of photons from a particular line is simulated by sampling firstly the location of emission, and secondly the frequency and direction of emission. Spatial distribution of photon emission is treated in EIRENE in exactly the same way as for any other particle type (neutrals, ions), and actually using the same modules of code for that. Emission from the transition ik from an upper state i=nl of an atom is treated, by abuse of language, as "volume recombination source": The position is sampled from the spatial distribution AikPnl([(r)\vec]), which, because the Einstein emission coefficient Aik is constant, is the same as the spatial distribution Pnl([(r)\vec]) of upper state particle density. ..... Given the birth point [(r)\vec] of the photon, and hence all local parameters of the host medium at this point, the frequency ν (in fact: the energy E=hν) is sampled from the normalized line shape function Φ(ν), .... The following line shape options are currently available:

1.11  Charged Particle Transport

EIRENE also follows charged particles since EIRENE1987. The particle tracing is carried out in Subroutine FOLION. The differences of this module to the module FOLNEUT for neutral particles (and photons) are:

1.11.1  Orbit integration

Particles following the B-field

A: no electric field  

Guiding centre approximation

1.11.2  Coulomb Collision Models

Simple Coulomb Collision Models

Strongly simplified Coulomb collision models are usually sufficient for molecular ions, because of their very short lifetime until further fragmentation (dissociative excitation, dissociative recombination, etc...) to neutral products. In order to roughly account for thermalization effects and background plasma cooling or momentum transfer the energy, parallel and perpendicular velocity of such ions can be modified "continuously" during particle orbit integration, hence approximating the velocity space diffusion (Fokker Planck equation) by mean values of energy and momentum of the test particle. There are two classes of simple collision models: deterministic and stochastic.
A: Deterministic relaxation in velocity space   The energy and/or velocity of charged test particles are modified in a fully deterministic way along the particle trajectory. I.e.: along with orbit integration also energy, or certain velocity components are evolved according to ordinary (non-stochastic) differential equations, using appropriate relaxation times.
   A1: Only energy relaxation  
The simplest Coulomb Collision model is an averaged BGK-type relaxation of energy of test particles to the mean energy of the Maxwellian background ions. In the earliest versions of the EIRENE code (mid eighties) it was originally based upon the hydrocarbon ion equilibration model given by Langer, [20] and it is a slight generalization thereof. The equation for the energy εa of a test-ion a in a background of ions b with mean energy εb = 3/2 Tb is given as:
dεa

dt
=−νεa,b ·εa     ,     εa(t=0)=εa0
(11.65)
This is a non-linear equation because the energy exchange collision rate (energy transfer rate) νεa,b depends on εa itself. The full expression for νεa,b is given below, it involves the Maxwell integral Ψ and its derivative Ψ′, see below.


In the limit of small test particle velocities (compared to thermal velocities of field particles b), i.e.: va << √{(2Tb/mb)}, i.e. xa/b = μbva2/2kTb << 1, as often appropriate for molecular ions, one has [21]:
νεa,b = 2 νsa,b − νa,b − ν||a,b.
(11.66)
Here the energy transfer rate νεa,b is given via the "slowing down rate" νsa,b, the transverse diffusion rate νb and the parallel diffusion rate ν||b. In this limit on has for the basic "Spitzer rates" (loc. cit.):
νsa,b
=
nb Za2 Zb2λa,b·6.8 ×10−8  μb1/2

μa

1+ μb

μa

Tb−3/2
(11.67)
νa,b
=
nb Za2 Zb2λa,b·1.4 ×10−7  μb1/2

μa
Tb−1/2ε−1
(11.68)
ν||a,b
=
nb Za2 Zb2λa,b·6.8 ×10−8  μb1/2

μa
Tb−1/2ε−1
(11.69)
and hence, using Equation (11.62) :
νεa,b
=
nb Za2 Zb2λa,b·6.8 ×10−8  μb1/2

μa
1

Tb1/2

2 1

Tb

1+ μb

μa

−2 1

ε


a 
1

ε


a 

(11.70)
=
νcεvε
(11.71)
with the "constant" and "variable" contribution νcε and νvε, respectively, defined as
νcε
=
2 nb Za2 Zb2λa,b·6.8 ×10−8  μb1/2

μa
1

Tb3/2

1+ μb

μa

=
~
ν
 

ε 

1+ μb

μa

(11.72)
νvε
=
2 nb Za2 Zb2λa,b·6.8 ×10−8  μb1/2

μa
1

Tb3/2

3Tb/2

εa

=
~
ν
 

ε 

3Tb/2

εa

.
(11.73)
Using this decomposition and definition of [(ν)\tilde]ε in equation (11.61) we find:
dεa

dt
=−
~
ν
 

ε 

1+ μb

μa

·εa +
~
ν
 

ε 
· 3Tb

2
(11.74)
The solution of this linear differential equation is
εa(t)=εa0 ·exp(−
~
ν
 

ε 
[1+μba] t)+ 3Tb

2

1−exp(−
~
ν
 

ε 
t)
(11.75)
With μb=1 for protons, μa=16 for CH4, λa,b ≈ 10, and [1+μba] ≈ 1, hence [(ν)\tilde]ε ≈ 8.8 ×10−8 npTp−3/2 this is also the solution Eq. (11) given in [20] for thermalization of hydrocarbons in a Maxwellian hydrogen plasma. And this is exactly the approximation which was also used in EIRENE since about 1987 for all test ions traveling in a bath of background ions.
To be done: in case of drifting Maxwellian background: first transform into frame such that stationary Maxw. background, then relax test particle energy in this frame, then transform back...


The full expression for the energy relaxation frequency νεa,b, without the approximation of slow particles a, i.e. for all values of xa/b is:
νεa,b(xa/b) = 2 [μab Ψ(xa/b) − Ψ′(xa/b)] ν0a/b
(11.76)
where xa/b has been defined above, ν0a/b = ... and
Ψ(x) =
2




π

x

0 
dy eyy
= erf(x) 2




π
exx
(11.77)
Ψ′(x) =
dΨ/dx
= 2




π
exx
(11.78)
With this general expression for the collision frequency Equation 11.61 can then only be integrated numerically along the particle trajectory.

1.11.3  The full Fokker-Planck Collision Model, A

The full Fokker-Planck Coulomb Collision Model, which was originally developed for a stand alone trace impurity ion transport code DORIS [22], is accommodated now as collision kernel in EIRENE: Thesis J. Seebacher, Univ. Innsbruck, soon to come

1.11.4  The full Fokker-Planck Collision Model, B: binary Monte Carlo collision procedure

1.12  EIRENE flow charts



flowchart1.gif
Figure 1.5: Structure: EIRENE code
flowchart2.gif
Figure 1.6: Flowchart: Program EIRENE
flowchart3.gif
Figure 1.7: Flowchart 2: Subroutine INPUT
flowchart4.gif
Figure 1.8: Flowchart 6: Subroutine MCARLO
flowchart5.gif
Figure 1.9: Flowchart 6.3: Particle loop in subr. MCARLO
flowchart6.gif
Figure 1.10: Flowchart 9.1: Iterative mode for neutral-neutral interactions

Chapter 2
Description of formatted input file


General Remarks

All input data from unit IUNIN are read in subroutine INPUT using formatted I/O. There are 14 "blocks", each one starting with a card

*** n. TEXT

where n is the number of the input block, n=1,2,...,14. Some blocks are subdivided into so called ßub-blocks", each one starting with a card

** TEXT .

Each input block is described in one of the following 14 sections 2.1 to 2.14:

2.1 Input data for operating mode
2.2 Input data for standard mesh
2.3A Input data for "Non-default Standard Surfaces"
2.3B Input data for Ädditional Surfaces"
2.4 Input data for species specification and atomic physics module
2.5 Input data for plasma background
2.6 Input data for surface interaction models
2.7 Input data for initial distribution of test particles
2.8 Additional data for some specific mesh zones
2.9 Data for statistics and non-analog methods
2.10 Data for additional volumetric and surface averaged tallies
2.11 Data for numerical and graphical output
2.12 Data for plasma diagnostic module DIAGNO
2.13 Data for nonlinear and time-dependent mode
2.14 Data for interfacing with external codes

This last block 14 may be read in from the user supplied part (with any format specified there) from this same unit IUNIN, (but equally well from any other unit specified there), e.g., from the subroutine INFCOP for interfacing with other codes.


Units
cgs units are used, with two exceptions:

All temperatures and energies are in eV.
All particle fluxes are in Ampere (i.e. #/s ·1.602210−19), even neutral particle fluxes.
E.g., to convert a gas flow rate of x sl/min (standard liters per minute) first divide x by 22.4 (then: mol/min) next multiply by Avogadro's no. NA = 6.0221 ·1023, (i.e., then particles per minute), then divide by 60 (then: particles per second), and finally multiply by the elementary charge 1.6022 ·10−19 (then Ampere, as used for fluxes in EIRENE).
All densities are in cm−3.
All velocities are in either cm/s or in (isothermal) Mach-number units.
All geometrical data are in cm.
Note: consequently, e.g., energy densities are in eV/cm3, and energy fluxes are given in eV ·Amp, i.e., in Watt.
Hence: In order to convert from energy density units into pressure units in N/m2 (i.e., Pascal: Pa) one must multiply by 1.6022 ·10−19 (eV to Nm) and multiply by 106. Check: 1 Pa gas at 273 K corresponds to about 2.7 ·1014 ×0.026  eV/cm3 ≈ 7 ·1012  eV/cm3
For example, energy densities as computed by EIRENE defaults tallies 4, 5, 6 (see table 5.2) must be converted into "temperature densities" (a factor 2/3, if one neglects the energy of the directed motion) and then be re-scaled to pressure units as described above.
For further scaling to other pressure units note, e.g.:
101.3 Pa = 760 mTorr
Further: momentum is in g cm/s, and a momentum flux or momentum rate of change is in g cm/s ·Amp (per cell) and the momentum source density in the EIRENE tallies for interfacing with plasma codes is then in g cm/s Amp /cm3.
Hence, conversion from g cm/s Amp into Pa ·m2 (momentum source per cell in plasma momentum balance equations in SI units) is done by firstly multiplying with 10−5 (then: kg ·m/s ·Amp) and then dividing by 1.6022 ·10−19 (hence: kg ·m/s2). After dividing by the cell volume (m3) the momentum source is in Pa/m, or N/m3 (force density).

Input format

The format statement numbers in subroutine INPUT start with 666... for reading and with 777... for writing. The following conventions are used:
Standard Fortran naming conventions, i.e., variable names starting with the letters I,J,...,N are Integer, all other variables are Real.
In addition to these standard convention the following rules are employed:
Character strings start with the letter C... or with T...
Logical variables start with NL..., LG... or with TRC...
The format for a card containing only real variables: (6E12.4)
The format for a card containing only integer variables: (12I6)
The format for a card containing only logical variables: (12(5L1,1X))
The format for a card containing text: (A72)
The format for a card containing K (K < 6) integer variables first and up to 6-K real variables next: (K(I6,6x),(6-K)E12.4)
An input card starting with '*' is recognized as a comment line, i.e., it does not contain input data. These comment lines should not start with '**' or '***', because in this latter case EIRENE would assume that the input for the current block is completed. It would expect the first card of the following block (or '* comment...' lines belonging to this next block) as next card. Any data not read from the input file, before the following block is read, are set to default values.
An arbitrary number of such comment lines may be included in the input file, but each block of comment lines must always be put at the beginning of a block or sub-block. I.e., comment lines are only identified by EIRENE if preceded by a card starting with '**' or '***' indicating a new sub-block or block respectively.

Example (see section 2.7 below):
*** 7. Data for initial distribution of test particles
* this is a comment
* there are NSTRAI=2 strata in this run
* this is a comment
2
** Data for first stratum
* this is a surface recycling source of helium ions, IPLS=2
* this is a comment
FFFF
.
.
.
.
** Data for second stratum
* this is a hydrogen ion volume re-combination source, IPLS=1
FFFF
.
.
.
*** 8. Data for some specific zones
.
.
.
.
and so on.

In very few cases formats other than these are used. They are then explicitly mentioned in this manual and in case of doubt the user should check in subroutine INPUT.

2.1  Input data for operating mode


General Remarks

The variables in this block control some of the more general options in EIRENE such as overall running time, usage of dump files but also a few parameters depending on the simulation model (drifts included or not, etc.).

The Input Block

TXTRUN
*** 1. Data for operating mode
first card: integer flags controlling global options for the entire run.
NMACH NMODE NTCPU NFILE NITER0 NITER NTIME0 NTIME
next input line is only for EIRENE2002 and younger, and optional in these versions (defaults given below).
NOPTIM, NOPTM1, NGEOM_USR, NCOUP_INPUT, NSMSTRA, NSTORAM, NGSTAL, NRTAL, NREAC_ADD
next line (second mandatory line): logical flags for global options.
NLSCL NLTEST NLANA NLDRFT NLCRR NLERG NLIDENT NLONE LTSTV
next input lines are only for EIRENE2005 and younger, and optional in these versions. There can be any number of these cards starting with character string CFILE in the input file.
"CFILE" DBHANDLE DBFNAME

Meaning of the input flags for operating mode

TXTRUN
At least one line of text to identify the run on printout and plot files.
Each text card must start with *. The first of these text lines will appear on all plots, the full text will be echoed at the beginning of the printout file
NMACH
Code-number for the computer used
= 1
CRAY
= 2
IBM
= 3
FACOM
= 4
VAX
This flag is currently not in use. It only affects the round-off error margin used for geometrical computations. In case NMACH=1, the error tolerated in the geometry routines is EPSGEO=1.D-10, and EPSGEO=1.D-6 for all other values of NMACH.
NMODE
Operating mode
= 0
EIRENE run as stand-alone-code. Code coupling segment  couple_Dummy.f  may be used. Input block 14 has a fixed format, see section 2.14.
≠ 0
EIRENE calls the code coupling subroutine INFCOP in the code coupling segment  couple_Name.f  where 'Name' is a character string identifying the particular external code, to which EIRENE is to be coupled (e.g.: Name=B2, Name=DIVIMP, Name=U-file, Name=FIDAP, Name=EMC3, Name=OSM, etc.).
Hence: the routine INFCOP is called by EIRENE for communication with external data sources, e.g., other codes. The calling program for the first 3 entries of INFCOP is subroutine INPUT, and the call to subroutine INFCOP is after reading 13 blocks from the formatted input file (READ (IUNIN,...)). A 14th block of the input file is read from subroutine INFCOP with the format (if any) specified there. At entry IF0COP geometrical data are provided (overruling corresponding data in input block 2).
At entry IF1COP plasma profiles are defined (overruling the background data specified in block 5).
Any other data (e.g., surface- or volume source distributions overruling the data in input block 7) are expected from entry IF2COP.
> 0
If NMODE > 0, subroutine INFCOP is called once again after each completed stratum (at the entry IF3COP(ISTRAA,ISTRAE)) to return data to another code (post-processing). The call to IF3COP is from subroutine MCARLO, at the end of the DO 1000 -loop over the strata. One final call to the interfacing routine (entry IF4COP) is implemented after the calls to the EIRENE printout- and plot routines, e.g. to perform global balances etc. after summation of the contributions from the individual strata.
NTCPU
Maximum number of CPU seconds allowed for this run. NTCPU must be less than or equal to the time parameter in the job-card (if any).
If more than one iteration is carried out (NITER, see below, this section) or more than one time cycle (NTIME, see below, this section), then each iteration or cycle can take up to NTCPU seconds.
In 2008 the definition of NTCPU was slightly changed: the initialisation overhead is not any longer included in NTCPU. I.e., this variable NTCPU now is close to the true Monte Carlo sampling time. The total cpu-time, including initialisation overhead as well as post-processing is printed at the end of an EIRENE run (see: "total cpu-time of this run" in printout file).
NFILE
Flag for the use of dump files FT10, FT11, FT12, FT13, FT14 and FT15.
= 0: Neither reading nor saving of data is done.
= JKLMN:
N = 1
EIRENE writes output data from this run into files FT10 and FT11 to save them for other plot or printout options in later 'read only' runs with the same input file
N = 6
same as N=1, but only the data for the sum over all strata are written (sufficient, e.g., for BGK-iterations, or for post processing, (subroutine DIAGNO, see input block 12) as long as this post processing only is to be done on total results (not on contributions from individual strata).
N = 2
EIRENE reads output data from an earlier run from files FT10 and FT11. No new particle histories are computed, only the requested output is printed and plots are produced. Iteration cycles or time cycles (if any) are abandoned.
N = 7
same as N=2, but only the data for the sum over strata are read. See N=6 option described above.
M = 1
EIRENE writes geometry data into file FT12. These data are the output from subroutines GRID and VOLUME in the initialization phase.
M = 2
EIRENE reads geometry data from file FT12. The geometry subroutines GRID and VOLUME are not called. This option should be used if the geometry has not changed as compared to an earlier run. It reduces the CPU costs for the overhead.
L = 1
EIRENE writes plasma data and atomic and molecular data ("A&M data") into file FT13. These data are output from subroutines PLASMA, XSECTA, XSECTM, XSECTI, XSECTP in the initialization phase, or at the end of a run, if some data have been modified in subroutine MODUSR, see NITER flag below. Also the primary source parameters (input block 7) are saved, for later iterations or time-steps.
L = 2
EIRENE reads plasma data, A&M data from file FT13. It also reads the entire input block 7 from FT13, and overwrites the input read from this block 7 by those data. Routines PLASMA, XSECTA, XSECTM, XSECTI, XSECTP are not called. This option should be used if neither the plasma background nor the selection of atomic processes to be used, nor the primary source model (block 7) has changed as compared to an earlier run. It reduces the CPU costs for the overhead.
L = 3
Acts as if both NFILE-L=1 and NFILE-L=2. For continuation of iterative calculations, for example.
L = 4
Same as NFILE-L=3, except: primary source data (input block 7) are not read from fort.13, but are taken as specified in input block 7. This allows to modify these primary sources parameters during iterations or time-steps not only via module MODUSR, but directly via input file.
L = 6,7,8,9
Same as L=1,2,3,4, respectively, but XDR file format is used.
K = 1
EIRENE saves some data for optimizing non-analog sampling and stratified source sampling on file FT14.
K = 2
EIRENE reads from file FT14 and optimizes operation. Currently only allocation of CPU time in stratified source sampling is optimized.
K = 3
Acts as if both NFILE-K=1 and NFILE-K=2.
J = 1
Only for time-dependent option (see block 13). EIRENE writes "census data" at the end of last time-step onto file FT15.
J = 2
EIRENE reads "census data" from file FT15, and uses it as initial distribution for the coming next time-step.
J = 3
Acts as if both NFILE-J=1 and NFILE-J=2.
NITER0
Initial iteration number: (Default: NITER0=1) Irrelevant parameter. Only needed for book keeping and printout. EIRENE labels the iterations from NITER0 to NITER.
NITER
Number of iterations, if EIRENE runs in "iterative mode".
> 0
EIRENE calls user supplied subroutine MODUSR after completing the run; some model parameters may be modified here for the next iteration step, and some results from the previous step may be saved on a file.
> 1
EIRENE recalls itself but does not read from the formatted input file again. This recalling is repeated NITER times (including the first iteration). The CPU time NTCPU is used for each iteration. Hence the true CPU time then is NTCPU ·NITER .
NTIME0
Initial time-cycle number: (default: NTIME0=1). Irrelevant. Only needed for book keeping and printout. EIRENE labels the time steps from NTIME0 to NTIME.
NTIME
Total number of iterations ("cycles") in time carried out in one single run. The total time per cycle is defined as NTMSTP · DTIMV (see below, input block 13).
After each time-cycle the subroutine TMSTEP is called. In this routine the "census arrays", which store the test particle population at time ti:
ti = ti−1 + ∆t = t0 + it = TIME0 + ITIME·[NTMSTP ·DTIMV]
are filled and prepared for the next time-cycle. The census arrays from the previous time cycle (if any), i.e., at t = ti−1, are overwritten here.
After the last time-cycle, the census arrays are written on file fort.15, in order to permit continuation in time in a next run.
The background conditions (and source distributions or any other input parameters) for the next time cycle can be modified in subroutine TMSUSR(ti), which is called from subroutine TMSTEP.
If the population on the census array is not empty or known from a previous run (NFILE-J flag, see above), then this census population defines one additional stratum for the current cycle. I.e., the census population then determines the initial condition for the distribution function f(r,v,i,t=t0). The source strength FLUX is computed from that initial condition.
NOPTIM
Default: 1
NOPTM1
Default: 1
NGEOM_USR
for value =1: user defined (external) geometry package (LEVGEO=10), then no grid storage is provided in EIRENE. Default: 0
NCOUP_INPUT
=1: Storage for data transfer via coupling routines, =0: no such storage. Default: 1
NSMSTRA
Sum over strata disabled for value 0, enabled for value 1. Default: 1
NSTORAM
Storage vs. speed in atomic data evaluation. Maximum storage, fastest computation: =9. Minimum storage, maximum work (slowest option) =0. Default: 9
NGSTAL
Storage for spatial distribution of surface tallies on non-default standard surfaces for value =1. For value =0: only total (spatially integrated) surfaces fluxes. Default: 0
NRTAL
Condensing mesh cells into fewer larger cells, for output volume tallies. The underlying fine mesh has NRAD cells (see input block 2). The coarser mesh, obtained from condensing cells into one larger cell, has NRTAL cells. Default: 0: Then internally: NRTAL=NRAD, and no condensation is carried out.
NCLTAL(IRAD) = IRTAL: grid cell IRAD is condensed into the larger cell IRTAL. I.e.: output is average over a larger cell IRTAL, which is comprised of all cells IRAD such that NCLTAL(IRAD) = IRTAL, IRAD=1, NRAD
The input data in input block 5 (background medium) are always given on the fine mesh (size: NRAD)
For output tallies (cell averaging) several cells IRAD1, IRAD2,... can be condensed into one larger cell IRTAL. Cell volumes, scoring, statistics are automatically done on the coarser grid (size: NRTAL).
The index array NCLTAL(NRAD) can be defined in the problem specific "user" routines (see section 3), e.g.: INIUSR, GEOUSR, etc..
Default: NCLTAL(IRAD)=IRAD for IRAD=1,NRAD
NREAC_ADD
Storage for additional reaction decks read onto EIRENE arrays in USR-routines, post-processing, etc. Default: 0
NLSCL
Some volume averaged tallies are re-scaled in order to exactly preserve the total number of particles, which otherwise would be the case only up to statistical precision (due to the use of track-length estimators). EIRENE computes three factors FATM, FMOL and FION such that particle balances for atoms, molecules and test ions, respectively, are accurately observed, if NLSCL = TRUE.
NLTEST
Tests for consistency between cell numbers and geometrical data along the particle tracks are carried out at each point of collision. If inconsistencies are detected, the history is stopped and an error message is printed. The contribution of these particles to the particle- and energy balances is stored in the bins "PTRASH" and "ETRASH" respectively.
NLANA
De-activates (NLANA=.TRUE.) all non-analog sampling distributions, such as biased source sampling, splitting, etc.. Select NLANA=.TRUE., if particle trajectory plots are used to get an intuitive picture of what is going on physically.
NLDRFT
Drift component in the bulk ions velocity distribution is included. (see input block 5). Otherwise an isotropic Maxwellian distribution is assumed for the background particles.
NLCRR
Correlation sampling is used.
NLERG
The case is automatically reduced to a case for estimating cell volumes by utilizing an "ergodic property".
NLIDENT
In multi-processor calculation mode NLIDENT forces all processors working on the same stratum to use the same sequence of random numbers and hence to carry out exactly identical work. This flag can be used to test the parallelized code version.
NLONE
The case is automatically reduced to a single species and "one speed transport" problem. (not ready, don't use)
LTSTV
free flag used for testing purposes
Optional input cards, for pathways to external databases. Their presence is identified by the starting character string CFILE of these cards.
DBHANDLE
Name of the database which is specified in this "CFILE" card. The format of a data file is identified in EIRENE by its name. Possible database names currently recognized are:
AMJUEL, HYDHEL, METHAN, H2VIBR, HYDRTC, ADAS, SPECTR, PHOTON, POLARI,


SPUTER, TRIM, TRMSGL,
with volumetric collision databases in the first block, and surface interaction databases in the second.
DBFNAME
Absolute or relative path and name of file to be used for this database.
Example:
CFILE AMJUEL /home/path/AMdata/amjuel.tex
CFILE TRIM /home/path/Surfacedata/TRIM/trim.dat
Default: If the specification of an external database name and path, which is later referred to in the run, is not given here, then these data files are expected, usually with the same name, in the directory in which the calculation takes place. Due to historical reasons and for backward compatibility for some data files also different default names are recognized.
Default file names to be used in this directory currently are
AMJUEL,
HYDHEL,
METHAN or "METHANE", for database name METHAN
H2VIBR,
HYDRTC,
SPECTR,
PHOTON,
POLARI,
SPUTER,
TRIM or "fort.21", for database name TRIM
For ADAS (AMdata) and TRMSGL (Surfacedata) there is an exception from this scheme. In these cases no default file names are available. And input variable DBFNAME specifies only the path to the directory which is the root of the ADAS and TRIM data tree, respectively.
Example:
CFILE ADAS /home/path/AMdata/Adas_Eirene_2010/adf11/
CFILE TRMSGL /home/path/Surfacedata/TRIM/
The particular data file from these trees (e.g.: SCD96 in case of ADAS, or A_on_B in case of TRMSGL), the chemical element and the charge stage of a particular ion Z=1,... Z+1 (e.g.: C, 4), are detailed later in input block 4 (for volumetric collision processes based on ADAS adf11 format), and input block 6 (TRMSGL, for the surface reflection database based on TRIM) see below, sections 2.4, 2.6, respectively.

2.1.1  The NLERG option for cell volumes

All non-transparent surfaces are made perfectly reflecting (mono-energetic, cosine distribution). All volumetric collision processes are de-activated. Except, possibly, for the very first flight, there is only either one atomic species (IATM=1) or one molecule species (IMOL=1). Unless otherwise specified in input block 13, a single time-step, with time limit DTIMV=1.0 (s) is set and up to NPRNLI=10 test flights are launched. Under such conditions, the particle density should be constant throughout the grid. Statistically significant deviations from that constancy indicate wrong cell volumes as compared to the volumes seen by the test particles (e.g. due to additional surfaces intersecting the grids, or complicated shapes of some additional cells (see input blocks 2 and 3). In a second run the volumes of these cells can then be set explicitly, e.g. in input block 8.

2.1.2  The NLMOVIE option for making movies of trajectories

documentation to be written

2.2  Input for Standard Mesh


General Remarks

EIRENE follows atoms, molecules or test ions in a 3-dimensional computational box. This box is discretized by zones (mesh cells), the boundaries of which are defined either by regular "standard mesh surfaces", i.e., co-ordinate surfaces, which are described here, and/or by zones whose boundaries are defined more generally by "additional surfaces" (see below block 3B).
As long as test particles travel inside the "standard mesh", all cell indexing computations are done automatically. At transition into the more general "additional mesh" and inside these additional cells, this indexing has to be specified by the flags ILSWCH, ILCELL etc. by the user, in input block 3B.
There are up to 3 sets of standard surfaces defined by the arrays RSURF, PSURF and TSURF.
Here RSURF(1), RSURF(2), ..., RSURF(NR1ST) are grid-points in the radial or x direction (depending on the geometry level, see below) defined by the input data in sub-block 2A. I.e., there are NR1STM= NR1ST-1 cells in radial- or x direction. With regard to the terminology in 1.6, eq. 6.56, a corresponding co-ordinate surface is labelled with a double index 1,IR and is defined by the equation
f11,IR (x,y,z) =constant=RSURF(IR).
PSURF(1), PSURF(2), ..., PSURF(NP2ND) are grid-points in the poloidal or y direction (sub-block 2B), and there are NP2NDM=NP2ND-1 cells in this direction. A corresponding co-ordinate surface is labelled 2,IP and is defined by the equation
f12,IP (x,y,z) =constant=PSURF(IP).
In case of the NLPLG option ( (mesh in x-y plane generated by a set of polygons) for simplicity and by an abuse of language we sometimes refer to the polygons themselves as radial surfaces or "radial polygons" RSURF and refer to the polygons obtained by connecting all points with a particular index along the various radial polygons as "poloidal polygons" PSURF. No use is made in EIRENE of the arrays RSURF and PSURF in connection with the polygon mesh option. The NLPLG option permits to run EIRENE on 2D computer generated meshes with grid cuts in one direction.
Furthermore, TSURF(1), TSURF(2), ..., TSURF(NT3RD) are grid-points in toroidal or z direction (sub-block 2C). A co-ordinate surface is labeled 3,IT and is defined by the equation f13,IT (x,y,z) =constant=TSURF(IT).
In addition to these grids and, depending on the geometry options chosen, EIRENE then computes further "derived" grid arrays, for example a "(radial) surface labeling grid" RHOSRF, which may or may not be identical to the RSURF grid, and a "zone centered (radial) surface labeling grid" RHOZNE(IR) defined by:
RHOZNE(IR) = 0.5 · (RHOSRF(IR)+RHOSRF(IR+1))
These grids may be used for the input of closed form radial- or x direction plasma profiles or as abscissae in plots of e.g. poloidally (or y) and toroidally (or z) averaged tallies.
We have found it convenient to allow for several (NBMLT) identical copies of such "standard meshes", separated and bounded by arbitrary "additional surfaces". Input flags for this "mesh multiplication" option are comprised in sub-block 2D.
As mentioned above, in addition to these regular grids one can define cells of almost arbitrary complexity by using the "additional surfaces" defined in sub-block 3B. Such surfaces are labeled 0,IA in EIRENE. Appropriate cell number switching flags must be set on transparent additional surfaces separating these general "additional cells". Data relevant for the additional cells (e.g. the volume) are read in sub-block 2E. The number of additional cells is NRADD.
Therefore, the total number of cells in an EIRENE run is NSBOX, with
NSBOX = (NR1ST · NP2ND · NT3RD) · NBMLT + NRADD .
Cell volumes in the standard mesh region, as well as the center of mass vector in each of these cells are computed automatically. The corresponding data in the additional cell region must be specified by the user, e.g. in the input block 2E or 8, or in the user supplied routine GEOUSR (section 3.6), which is called by EIRENE in the initialization phase.

The Input Block

*** 2. Data for Standard Mesh
 (INDGRD(J), J=1,3)
 ** 2A. x- or radial co-ordinate surfaces
 NLRAD
 IF (NLRAD) then
    NLSLB  NLCRC  NLELL  NLTRI  NLPLG  NLFEM  NLTET NLGEN
    NR1ST  NRSEP  NRPLG  NPPLG  NRKNOT
    IF (INDGRD(1).LE.5) THEN
       IF (NLSLB.OR.NLCRC.OR.NLELL.OR.NLTRI) THEN
          RIA  RGA  RAA  RRA
          IF (NLELL) THEN
             EPIN  EPOT  EPCH  EXEP
             ELIN  ELOT  ELCH  EXEL
             IF (NLTRI) THEN
               TRIN  TROT  TRCH  EXTR
            ENDIF
          ENDIF
       ELSEIF (NLPLG) THEN
          XPCOR  YPCOR  ZPCOR  PLREFL
         (NPOINT(1,K) NPOINT(2,K), K=1,NPPLG)
          DO 21 I=1,NR1ST
             (XPOL(I,J) YPOL(I,J),  J=1,NRPLG)
 21       CONTINUE
       ELSEIF (NLFEM) THEN
         XPCOR  YPCOR  ZPCOR
         NRKNOT
         (XTRIAN(I),I=1,NRKNOT)
         (YTRIAN(I),I=1,NRKNOT)
         DO ITRI=1,NR1ST
           I,NVERT(1,ITRI),NVERT(2,ITRI),NVERT(3,ITRI),
             NEIGH(1,ITRI),NSIDE(1,ITRI),IPROP(1,ITRI),
             NEIGH(2,ITRI),NSIDE(2,ITRI),IPROP(2,ITRI),
             NEIGH(3,ITRI),NSIDE(3,ITRI),IPROP(3,ITRI)
         ENDDO
       ENDIF
    ENDIF
 ENDIF
 ** 2B. y- or poloidal grid surfaces
 NLPOL
 NLPLY  NLPLA  NLPLP
 NP2ND  NPSEP  NPPLA  NPPER
 IF (INDGRD(2).LE.5) THEN
    YIA  YGA  YAA  YYA
 ENDIF
 ** 2C. z- or toroidal grid surfaces
 NLTOR
 NLTRZ  NLTRA  NLTRT
 NT3RD  NTSEP  NTTRA  NTPER
 IF (INDGRD(3).LE.5) THEN
    ZIA  ZGA  ZAA  ZZA  ROA
 ENDIF
 ** 2D. mesh multiplication
 NLMLT
 NBMLT
 IF (NBMLT GT 1) (VOLCOR(NM), NM = 1,NBMLT)
 ** 2E. additional cells outside standard mesh
 NLADD
 NRADD
 IF (NRADD.GT.0) (VOLADD(NM), NM = 1,NRADD)


Meaning of the Input Variables

INDGRD
This index controls the meaning of input variables of different standard grid options.
INDGRD(1) for the radial (or x-direction) grid
INDGRD(2) for the poloidal (or y-direction) grid
INDGRD(3) for the toroidal (or z-direction) grid
Data for first standard mesh: radial or x grid RSURF
NLRAD= .TRUE.
 
A radial or x grid is defined. Otherwise the complete sub-block 2A may be omitted. Depending upon the logical parameters in the next input card the "geometry - level" variable LEVGEO is set internally.
LEVGEO=1
cartesian coordinates x (and y)
LEVGEO=2
polar coordinates r (and θ)
LEVGEO=3
general curvilinear coordinates: a full 2D mesh (polygonal coordinate lines) is used in the x - y plane. Grid cuts are permitted in the y-direction.
LEVGEO=4
a 2D "finite element" mesh of triangles is used in the x - y plane
LEVGEO=5
a 3D "finite volume" mesh of tetrahedrons used
LEVGEO=6
a general, user defined geometry block is used. All geometrical calculations are performed in problem specific routine VOLUSR, TIMUSR, ...etc.
If NLRAD=.FALSE., then no spatial grid is defined and the default geometry level LEVGEO = 1 is used. Volume discretisation may still be achieved "by hand" by defining "additional surfaces" (input block 3b) and appropriate cell number switching.
INDGRD(1)
= 1
standard grid option; the input parameters are used as described below.
= 2
As for INDGRD(1)=1, but in case of LEVGEO = 2 by this option a radial grid is defined such that the spacing of radial surfaces is not equidistant at some poloidal position, but instead such that the area enclosed between two neighboring surfaces is kept constant. The input variable RGA is irrelevant in this case.
= 3,4,5
not in use
= 6
Data for NR1ST radial surfaces are read from the work array RWK. These data must have been written onto RWK in the user supplied subroutine INFCOP. By this option grid parameters may directly be transferred into EIRENE from other files, e.g. from plasma transport codes (see below: section 2.14. Data for interfacing routine INFCOP).
One and only one of the next 6 logical variables must be .TRUE.
NLSLB = .TRUE.
 
Geometry level: LEVGEO = 1
Cartesian geometry, the x co-ordinate is discretized by setting
xI=RSURF(I) I=1,NR1ST .
Furthermore, the flux-surface labeling grid RHOSRF(I) is identical with the grid RSURF(I).
NLCRC = .TRUE.
 
Geometry level: LEVGEO = 2
Cylindrical or toroidal geometry, mesh of concentric, circular surfaces. Polar coordinates are used in the x-y plane. The radial surfaces are given by r2 = x2 + y2 = const. and r is discretized by setting rI=RSURF(I) I=1,NR1ST. Furthermore RHOSRF(I) = √{ [(AREA)/(π)] } where AREA is the area inside surface number I. Thus for this option one has again: RHOSRF(I) = RSURF(I), I=1,NR1ST .
NLELL = .TRUE.
 
Geometry level: LEVGEO = 2
Mesh of nested, but not necessarily concentric or confocal elliptical flux surfaces. The equation for the "radial" surface is (xEP)2 + ( y/EL )2 = r2. r is discretized by setting rI=RSURF(I) I=1,NR1ST.
EP and EL may vary with r. These parameters are stored in the arrays EP(I),EL(I), I=1,NR1ST which now are used in addition to RSURF to define one surface.
RHOSRF: as in NLCRC option.
Note: RHOSRF and RSURF may differ in this case.
NLTRI = .TRUE.
 
Geometry level: LEVGEO = 2
to be written: triangularity in mesh of nested closed algebraic surfaces
NLPLG = .TRUE.
 
Geometry level: LEVGEO = 3
The mesh in the x-y plane is described by NR1ST polygonal arcs of length NRPLG each. A polygon may consist of several "valid" and "invalid" parts (to account for "grid cuts" in CFD meshes). The "invalid" parts of a polygon are not seen by test particles and are allowed for in EIRENE only in order to facilitate index mapping in case of runs coupled to plasma transport models, which resort to computer generated meshes including grid cuts.
The polygons must not intersect each other.
In this case RHOSRF(1)=0., and RHOSRF(I) is the area enclosed by polygon number 1 and polygon number I.
NLFEM = .TRUE.
 
Geometry level: LEVGEO = 4
The mesh in the x-y plane consists of NR1ST triangles, composed from NRKNOT knots.
In this case a flux surface labeling gird RHOSRF is not defined.
NLTET = .TRUE.
 
Geometry level: LEVGEO = 5
3D discretisation of volume by tetrahedrons. For this grid option please make contact to the authors.
NLGEN = .TRUE.
 
Geometry level: LEVGEO = 6
Arbitrary geometrical configuration. Mesh consists of NR1ST arbitrarily shapes cells (in any dimension). Particle tracing routines must be provided by user (VOLUSR, SAMUSR, TIMUSR, LEAUSR)
NR1ST
Number of grid-points in the radial (or x-direction) standard mesh
if NR1ST ≤ 1, no radial (or x-direction) standard mesh is defined.
NRSEP
This flag is active for LEVGEO = 1 or LEVGEO = 2. Otherwise it is irrelevant.
The standard mesh is composed by two equidistant x- or radial grids of co-ordinate surfaces with different grid density. There are NR1ST-NRSEP+1 grid-points in the first, and NRSEP grid-points in the second part. The grid-point RSURF(NR1ST-NRSEP+1) belongs to both parts.
RIA
left endpoint of standard grid (internally set ≥ 0 if LEVGEO =2); RSURF(1)=RIA
RGA
boundary separating first and second part of standard grid with different grid-point densities; RSURF(NR1ST-NRSEP+1)=RGA
RAA
right endpoint of standard grid: RSURF(NR1ST)=RAA
RRA
if RRA > RAA, one additional zone is defined
RSURF(NR1ST+1)=RRA, and NR1ST is increased by one.
(irrelevant, if RRA ≤ RAA)
if NLELL = .TRUE. :
EPIN
Value of EP(r) for cylindrical co-ordinate surface number 1 with r1=RIA (see: NLCRC = .TRUE. option above)
EPOT
Value of EP(r) for cylindrical surface number NR1ST with
rNR1ST=RAA
EPCH
Value of EP(r) for cylindrical surface number NR1ST+1 with
rNR1ST+1=RRA
(irrelevant if RRA ≤ RAA)
EXEP
The variation of the "shift function" EP(r) with r is given by
EP(r) = EPIN + ( [(rRIA)/(RAARIA)] ) EXEP·(EPOTEPIN)
ELIN
Value of EL(r) for cylindrical surface number 1 with
r1=RIA (see: NLELL = .TRUE. option)
ELOT
Value of EL(r) for cylindrical surface number NR1ST
with rNR1ST=RAA
ELCH
Value of EL(r) for cylindrical surface number NR1ST+1 with
rNR1ST+1=RRA
(irrelevant for RRA ≤ RAA)
EXEL
The variation of the "ellipticity function" EL(r) with r is given by
EL(r) = ELIN + ( [(rRIA)/(RAARIA)] ) EXEL·(ELOTELIN)
if NLTRI = .TRUE. :
to be written
if NLPLG = .TRUE. :
NR1ST
number of polygons for discretisation in "radial" or x direction
NRPLG
Number of points per polygon
NPPLG
Number of valid parts on each polygon. Each polygon is described by the x and y co-ordinates of NRPLG points. It is not necessary that all this points are used for the polygon. One can cut the polygon into several valid parts interrupted by parts which are not seen by the test particles. ( Default : NPPLG = 1 ). This option facilitates the use of 2-d computer generated meshes which contain topological grid cuts.
XPCOR,YPCOR
 
shift whole mesh by that vector in x,y-plane
RFPOL
if RFPOL > 0., one additional polygon zone is defined, at a distance RFPOL outside the polygon NR1ST, and then NR1ST is increased by one.
(irrelevant, if RFPOL ≤ 0.)
NPOINT(1,J)
 
Index of the first point of the valid part number J (same for each radial polygon)
( Default : NPOINT(1,1) = 1 )
NPOINT(2,J)
 
Index of the last point of the valid part number J (same for each radial polygon)
( Default : NPOINT(2,1) = NRPLG )
XPOL(K,I)
x-co-ordinate of the polygon point number K on polygon number I
YPOL(K,I)
y-co-ordinate of the polygon point number K on polygon number I
if NLFEM = .TRUE. :
NR1ST
number of triangles for discretisation in x-y plane
XPCOR,YPCOR
 
shift whole mesh by that vector in x,y-plane
NRKNOT
There are NRKNOT knots, by which the triangles are defined
XTRIAN,YTRIAN
 
x and y co-ordinates of the knots, respectively.
NVERT(I,ITRI)
 
Each triangle ITRI is defined by 3 points P1, P2 and P3 from the set of NRKNOT knots.
NVERT(I,ITRI) is the number of point PI (I=1,2,3) in the set of knots for triangle ITRI.
NEIGH(I,ITRI)
 
The three sides of each triangle S1, S2, S3 are defined such that S1 connects P1 and P2, S2 connects P2 and P3 and S3 connects P1 and P3.
NEIGH(I,ITRI) is the number of the neighboring triangle at side SI for I=1,2,3.
NSIDE(I,ITRI)
 
NSIDE(I,ITRI) is the number (1,2 or 3) of the side of the neighboring triangle, which corresponds to side SI of the triangle ITRI to be written
IPROP(I,ITRI)
 
ISTS = ABS(IPROP) is the integer, by which a particular surface property is assigned to side I of the triangle ITRI. ISTS=0 stands for default grid option (transparent surface, cell indexing is done automatically). Otherwise ISTS is the number of an additional (ISTS < NLIMI) or non-default standard (NLIM < ISTS < NLIM+NSTSI) surface option as read in sub-blocks 3a or 3b, respectively. By default the normal vector of each side of a triangle points out of the triangle. In case IPROP < 0, this vector points into the triangle. This is relevant at surface options with ILSIDE ≠ 0.
if NLTET = .TRUE. :
Documentation not available here. Make contact with the authors.
if NLGEN = .TRUE. :
NR1ST
number of cells in otherwise arbitrary mesh option NLGEN.
Data for second standard mesh: poloidal or y grid PSURF
NLPOL
A poloidal or y grid is defined. Otherwise the complete block 2B may be omitted and the volume averaged tallies are then automatically integrated over this co-ordinate.
INDGRD(2) = 1
 
standard grid option
INDGRD(2) = 2,3,4,5,6
 
not in use (default: INDGRD(2)=1)
NP2ND
Number of grid-points in y- or poloidal direction
YIA,YGA,YAA,YYA
 
for the LEVGEO=1 option: the y grid PSURF is defined in the same way as the x grid, using the parameters YIA,YGA,.... (cm) instead of RIA,RGA,....
for the LEVGEO=2 option: the θ grid PSURF is defined in the same way as the r grid, using the parameters YIA,YGA,...(poloidal angle in degree) instead of RIA,RGA,...
for all options LEVGEO > 2: this input card is irrelevant.
Defaults: (needed for scaling, i.e., cell volumes):
YIA=0., YGA=0., YAA=1., YYA=1. in case of LEVGEO=1,
and YIA=0., YGA=0., YAA=360., YYA=360. in case of LEVGEO=2.
Data for third standard mesh: toroidal or z grid TSURF
NLTOR
A toroidal or z grid is defined. Otherwise the complete block 2C may be omitted and the volume averaged tallies are then automatically integrated over this co-ordinate.
In case NLTOR = TRUE, sub-block 2C must be read.
INDGRD(3) = 1
 
standard grid option
INDGRD(3) = 2,3,4,5,6
 
not in use (default: INDGRD(3)=1)
One and only one of the next four boolean variables must be TRUE
NLTRZ=TRUE
 
cylindrical approximation is used, i.e., TSURF is a grid in z direction. The co-ordinate surfaces are given by z=TSURF(L)
(Default: NLTRZ = TRUE)
NLTRA = TRUE
 
toroidal approximation is used. The coordinate line is a polygonal approximation of a circle, or a segment thereof.
In case NLTOR = TRUE, the 3rd grid TSURF is a grid of toroidal angles. The toroidal segment (or the full torus) is approximated by NT3RD-1 straight cylinders.
In case NLTOR = FALSE, there are NTTRA toroidal periodicity boundaries, such that the toroidal segment is approximated, again, by NTTRAM=NTTRA-1 straight cylinders, but without toroidal resolution in the results. (Note: If NLTOR, NTTRA=NT3RD, internally.)
The torus axis of the entire mesh can be shifted in radial direction by adding a radial offset ROA (see below) to the x coordinates of the poloidal mesh (RSURF,PSURF).
The radial shift of the poloidal mesh RMTOR of the approximated torus is computed from ROA such that the volume inside radial surface NR1ST is exactly equal to the volume of an exact torus with poloidal cross section defined by the shifted radial grid (first standard mesh: RSURF).
Due to the approximations made by defining a torus by NTTRAM = NTTRA - 1 straight cylinders, this condition is fulfilled only approximately for the other radial surfaces. RMTOR converges to ROA with increasing NTTRA. NTTRA ≅ 30 is already a very good approximation.
(Default: NLTRA = FALSE).
NLTRT = TRUE
 
torus co-ordinates R,PHI,THETA. Presently being developed for NLSLB,NLPLG and NLTRI options. Not ready for use.
NT3RD
Number of grid-points in z- or toroidal direction
(default: NT3RD = 1, i.e. no grid is defined)
NTTRA
only needed in case NLTRA and .NOT.NLTOR. See above.
ZIA,ZGA,ZAA,ZZA,ROA
 
The 3rd grid ZSURF is defined in the same way as the x grid, using the parameters ZIA,ZGA,.... (cm) instead of RIA,RGA,....
In case of NLTRZ = TRUE , a z-grid is defined. ROA is irrelevant.
In case of NLTRA = TRUE , ZIA and ZAA are toroidal angles (in degrees). A grid of toroidal angles is defined. For example use ZIA=0.0 and ZAA=360.0 for a full torus. In case NLTOR this grid also defines the toroidal resolution. If .NOT.NLTOR, then periodicity at the endpoints ZIA and ZAA is automatically enforced.
(Defaults: NLTRA = FALSE, ZIA = 0 , ZAA = 1)
Data for mesh multiplication
NLMLT
the complete Standard mesh data are copied NBMLT times
NBMLT
Number of identical copies of the standard mesh. Transition from one such mesh (called "block" in EIRENE) into another one has to be defined by transparent additional surfaces (see block 3B)
VOLCOR
The volumes of all cells of the standard mesh as computed by EIRENE (in subroutine. VOLUME) are multiplied by one common factor VOLCOR for each "block".
Data for additional zones outside the Standard mesh
NLADD
There are cells in the computational volume, which are defined through "additional surfaces" as cell boundaries. E.g. a standard mesh (is there is one) is augmented by "additional cells" in this case. If NLADD = FALSE , the complete block 2D may be omitted and the defaults are used.
NRADD
Number of additional zones. The cell indexing along test flights in these zones has to be specified explicitly by making use of the ILSWCH, ILCELL parameters (block 3B)
(Default: NRADD = 0 ).
VOLADD
Volume (cm−3) of each additional zone as seen by the test-particles.

2.2.1  Mesh Parameters

As stated above, the computational volume in an EIRENE run is subdivided into NSBOX cells,
NSBOX = (NR1ST · NP2ND · NT3RD) · NBMLT + NRADD .
The can mesh consist two different parts.
The first is the so called "standard mesh" part, defined by the grids RSURF, PSURF and TSURF. There may be NBMLT copies of that mesh, separated by additional surfaces (see below, section 2.3.2 (default: NBMLT=1).
The second part is the so called "additional cell region". Up to NRADD additional cells, of arbitrary shape, are defined by their boundaries: the "additional surfaces" defined in section 2.3.2.

NR1ST is the number of surfaces in the 1st (radial -or x-) grid. There are NR1STM = NR1ST - 1 cells.
The cell index of a particular cell is called NRCELL.
1 ≤ NRCELL ≤ NR1STM
NP2ND is the number of surfaces in the 2ND (poloidal -or y-) grid. There are NP2NDM = NP2ND - 1 cells.
The cell index of a particular cell is called NPCELL.
1 ≤ NPCELL ≤ NP2NDM
NT3RD is the number of surfaces in the 2RD (toroidal -or z-) grid. There are NT3RDM = NT3RD - 1 cells.
The cell index of a particular cell is called NTCELL.
1 ≤ NTCELL ≤ NT3RDM
For the cells of the standard mesh, NACELL = 0
For the cells in the "additional cell region" :
1 ≤ NACELL ≤ NRADD
and
NRCELL = 0, NPCELL = 1, NTCELL = 1

The last radial (or x-) cell (number NR1ST), for any NPCELL, NTCELL inside the standard mesh, is not a real geometrical cell. It is used to store the radial (or x-) average of the volume averaged tallies.
Likewise, the last poloidal (or y-) cell (number NP2ND) is not a real geometrical cell, but used to store the poloidal (or y-) average of the volume averaged tallies (for any NRCELL, NTCELL inside the standard mesh)
NTCELL = NT3RD: analogically.

A particular cell can be specified in one of two possible ways:
Either by giving the 5 cell numbers:
NRCELL, NPCELL, NTCELL, NBLOCK, NACELL
or, alternatively, by giving the position in the 1-dimensional cell array
NCELL

The relation between these two options is:
NCELL = NRCELL + ((NPECLL-1)*NR1P2) + (NTCELL-1))*NP2T3 + NBLCKA
with
NBLCKA = (NBLOCK -1) * NSTRDT +NRADD

2.3  The Input Block for Surfaces

Grid surfaces may be assigned special properties (e.g.: reflecting, absorbing, periodicity, modified cell index switching, etc...). Their definition is described in subsection 2.3.1.
In addition to these grid surfaces also additional surfaces can be seen by the histories (vacuum boundaries, special surfaces for scoring fluxes, diagnostic surfaces, ....). Such surfaces can be general linear or second order surfaces in 3D space. Their definition and properties are described in subsection 2.3.2.

2.3.1  The Input Block for "Non-default Standard Surfaces"


General remarks

Some of the "standard grid surfaces" RSURF, PSURF and TSURF may be defined as reflecting or absorbing (rather than the default transparent character of co-ordinate surfaces), or as transparent but with other switching features (cell indexing, transition into additional cell region etc.) than the default settings. E.g., surface averaged tallies (see block 2.11, end of section 3.2 and Table 5.3) are only evaluated on either "Additional Surfaces" or on these "Non default Standard Surfaces", whereas they are not computed for those standard surfaces which are not explicitly identified in this block.
The geometrical properties of these "Non default Standard Surfaces" are specified here. This is described below.
Particle-surface interaction models
Although the (local) data for particle-surface interaction models (PSI-models) for each specific surface can be read in this input block, their meaning is described in block 2.6 together with the globally valid input data for particle-surface interactions.

*** 3A. Data for "Non-default Standard Surfaces"
 NSTSI
 DO 31 ISTSI=1,NSTSI

unless otherwise stated, N = NLIM+ISTSI is the index of the following data:
    TXTSFL
    ISTS IDIMP INUMP(ISTSI,IDIMP) IRPTA1 IRPTE1 IRPTA2 IRPTE2 IRPTA3 IRPTE3
    ILIIN ILSIDE ILSWCH ILEQUI ILTOR ILCOL ILFIT ILCELL ILBOX ILPLG

optional for non transparent surfaces (ILIIN > 0):
The next 3 (or 4) lines comprise the block for local particle-surface interaction data (in analytic terminology: the boundary condition at this surface element). If they are omitted, the default particle-surface model is activated for this particular surface element, see section 2.6.
    ILREF  ILSPT ISRS  ISRC
    ZNML EWALL EWBIN TRANSP(1,N) TRANSP(2,N) FSHEAT
    RECYCF  RECYCT  RECPRM  EXPPL  EXPEL  EXPIL
    RECYCS  RECYCC  SPTPRM  (this line may be omitted,
                             then: default sputter model, see \ref{sec2.6})
 31 CONTINUE

also, optional for non-transparent surfaces (ILIIN > 0),
read a surface interaction model identifier to link one of the surface "local reflection models" defined in block 2.6 below to this current surface. The presence of such a link is identified by the string ′SURFMOD ′, followed by a name ′modname′. Later, in input block 2.6, a "local reflection model" block with that name ′modname′ must be included. This option allows quick changes of particle-surface interaction parameters, affecting many surfaces at once, by changes in just one location of the input file.
   SURFMOD_modname


Meaning of the Input Variables for "non-default standard surfaces"

NSTSI
Total number of non-default standard surfaces that do not act as prescribed by the default transparent standard co-ordinate surface model.
TXTSFL
Text to characterize a surface ("name of the surface") on the printout file.
ISTS
irrelevant; labelling index
IDIMP
flag to identify mesh from which this particular surface is chosen.
= 1
surface from the x- (radial) standard mesh (RSURF) Note that for the unstructured grid options NLTRI and NLTET (i.e. for the 2D triangular grid option or for the general 3D grids of tetrahedra) all surfaces are referred to as 1st grid (x or radial) surfaces, by abuse of language.
= 2
surface from the y- (poloidal) standard mesh (PSURF)
= 3
surface from the z- (toroidal) standard mesh (TSURF)
INUMP
Number of the surface in mesh RSURF, PSURF or TSURF respectively
IRPTA,IRPTE
 
Only a subregion of the surface acts by the "non-default options" specified for this particular surface. This subregion is defined by these flags.
If JMP is a surface from the first mesh, then IRPTA2→IRPTE2 and IRPTA3→IRPTE3 are the surface index ranges of the 2nd and 3rd mesh, respectively, for which this surface acts as non-default surface. IRPTA1 and IRPTE1 are irrelevant.
If JMP is a surface from the 2nd mesh, then IRPTA1→IRPTE1 and IRPTA3→IRPTE3 are the surface index ranges of the 1st and 3rd mesh, respectively, for which this surface acts as non-default surface. IRPTA2 and IRPTE2 are irrelevant.
If JMP is a surface from the 3rd mesh, then IRPTA1→ IRPTE1 and IRPTA2→ IRPTE2 are the surface index ranges of the 1st and 2rd mesh, respectively, for which this surface acts as non-default surface. IRPTA3 and IRPTE3 are irrelevant.
The third card ILIIN, ..., ILPLG is identical to the corresponding card for "additional surfaces", see block 2.3.2 below, "Input Data for Additional Surfaces". One exception is the flag ILSIDE, which controls the sign of the surface normal vector (hence the orientation of a surface). In case of unstructured "standard grids" NLTRI or NLTET (triangles in 2D and tetrahedrons in 3D) there is no well defined default surface orientation and the flag ILSIDE is irrelevant in such cases.

The input data in the block for the local reflection model are described below, see 2.6 : "Input Data for Particle-Surface Interaction Models".

2.3.2  Input Data for "Additional Surfaces"


General remarks

Internally each additional surface is defined by an algebraic equation and some algebraic inequalities specifying the boundary of that surface, i.e., that part of the surface which is seen by the test particles. By changing the sign of all coefficients in the algebraic equation the orientation of the surface normal vectors are reversed.
The intersection with the nearest surface along a trajectory is found by checking surfaces in the sequence of their input (in subroutine TIMEA of the geometry block GEO3D). This must be taken into consideration, if there are two parts of one surface specified by different boundaries and with non-empty intersection. In this case always the surface later in the input sequence is seen by the test particles.
One can define two distinct plane surfaces as one surface of second order, provided that this is compatible with the options available for surface boundaries.
We will refer to positive and negative directions of flights for particles intersecting a surface. By "positive" it is meant that the angle between the trajectory of the particle and the surface normal at the point of intersection is less than 90 degrees, "negative" has the opposite meaning.
speeding up geometry calculations:
Checking surfaces along a test flight can be abandoned depending upon the current position of a test particle.
For particles in cell no. NCELL all surfaces MSURF with IGJUM3(NCELL,MSURF)=1 are not checked. For particles on surface MS all other surfaces MSURF with IGJUM1(MS,MSURF)=1 are not checked. These matrices IGJUM1 and IGJUM3 can be set either in this block, see CH1 cards and CH3 cards described below, or in some user-specified problem specific routines (e.g. GEOUSR).
ignorable coordinates:
Surfaces with ignorable coordinates are specified either by setting the corresponding coefficients in the surface equation to zero, or, in case of 2-point, 3-point, 4-point of 5-point options, by setting the corresponding coordinates of the points to -1.D20 and +1.D20, respectively.
coordinate systems, transformations
All surfaces are specified in cartesian coordiantes.
In case of NLTRA (toroidal geometry approximation), surfaces must be defined in the local coordinate system of toroidal cells centered at the "magnetic axis", (xa,ya) = (RMTOR,0.), i.e., excluding the major radius of the torus.
To facilitate input of the geometrical data, each single (or a set of) surface(s) can be transformed by a Cartesian mapping after specification of the surface coefficients and boundaries in some "convenient" coordinate frame, by including "TRANSFORM cards" at the end of an input block for a particular surface. One such "TRANSFORM-deck" can act on an entire range of surfaces, but only on those which have been read previous to the "TRANSFORM-deck". Hence, in order to transform the entire set of additional surfaces by one deck, this deck must come after the last surface (no. NLIMI, see below).
Particle-surface interaction models
Although the (local) data for particle surface interaction models for each specific additional surface can be read in this input block, their meaning is described in block 2.6 together with the globally valid input data for particle surface interactions.

The Input Block

*** 3B. Data for Additional Surfaces
 NLIMI
 ``CH0-cards" (may be omitted)
 (format: 3A,69A)

arbitrary number of strings ±n/m, separated by blanks. n and m must be integer variables 1 ≤ n,mNLIMI.
 DO  ILIMI=1,NLIMI
   TXTSFL
   ``CH1-cards" (may be omitted)
   (format: 3A,69A)

arbitrary number of strings ±n/m, separated by blanks. n and m must be integer variables 1 ≤ n,mNLIMI.
   ``CH2-cards" (may be omitted)
   (format: 3A,69A)

arbitrary number of strings ± n/m, separated by blanks. n and m must be integer variables 1 ≤ n,mNLIMI.
   RLBND  RLARE  RLWMN  RLWMX
   ILIIN ILSIDE ILSWCH ILEQUI ILTOR ILCOL ILFIT ILCELL ILBOX ILPLG
   IF (RLBND.LT.0.) THEN
     A0LM  A1LM  A2LM  A3LM  A4LM  A5LM
     A6LM  A7LM  A8LM  A9LM

let RLBND = -KL, then first read L cards:
     ALIMS  XLIMS  YLIMS  ZLIMS

and then read K blocks next:
     ALIMS0  XLIMS1  YLIMS1  ZLIMS1  XLIMS2  YLIMS2
     ZLIMS2  XLIMS3  YLIMS3  ZLIMS3
   ENDIF
   IF (RLBND.EQ.0.) THEN
     A0LM  A1LM  A2LM  A3LM  A4LM  A5LM
     A6LM  A7LM  A8LM  A9LM
   ENDIF
   IF (RLBND.GT.0..AND.RLBND.LT.2.) THEN
     A0LM  A1LM  A2LM  A3LM  A4LM  A5LM
     A6LM  A7LM  A8LM  A9LM
     XLIMS1  YLIMS1  ZLIMS1  XLIMS2  YLIMS2  ZLIMS2
   ENDIF
   IF (RLBND.GE.2.) THEN
     P1(1,..)  P1(2,..)  P1(3,..)  P2(1,..)  P2(2,..)  P2(3,..)
     IF (K .GT. 2) THEN
         P3(1,..)  P3(2,..)  P3(3,..)  P4(1,..)  P4(2,..)  P4(3,..)
         IF (K .GT. 4) THEN
             P5(1,..)  P5(2,..)  P5(3,..)
         ENDIF
     ENDIF
   ENDIF

optional for non transparent surfaces (ILIIN > 0):
The next 3 (or 4) lines comprise the block for local particle-surface interaction data (in analytic terminology: the boundary condition at this surface element). If they are omitted, the default particle-surface model is activated for this particular surface element, see section 2.6.
    ILREF  ILSPT ISRS  ISRC
    ZNML EWALL EWBIN TRANSP(1,N) TRANSP(2,N) FSHEAT
    RECYCF  RECYCT  RECPRM  EXPPL  EXPEL  EXPIL
    RECYCS  RECYCC  SPTPRM  (this line may be omitted,
                             then: default sputter model,
                             see \ref{sec2.6})

also optional for non transparent surfaces (ILIIN > 0):
read a surface interaction model identifier to link one of the surface "local reflection models" defined in block 2.6 below to this current surface. The presence of such a link is identified by the string ′SURFMOD ′, followed by a name ′modname′. Later, in input block 2.6, a "local reflection model" block with that name ′modname′ must be included. This option allows quick changes of particle-surface interaction parameters, affecting many surfaces at once, by changes in just one location of the input file.
   SURFMOD_modname

optional: read one or several blocks of five cards each for orthogonal mapping. The presence of each such block is identified by the first card of that block containing the string ′TRANSFORM′ followed by the other four cards:
   TRANSFORM
   ITINI,ITEND
   XLCOR,YLCOR,ZLCOR
   XLREF,YLREF,ZLREF
   XLROT,YLROT,ZLROT,ALROT

 ENDDO   (end of ILIMI loop)


Meaning of the Input Variables for additional surfaces

CH0 n1/m1 n2/m2 ...
surfaces from the range n1 to m1, n2 to m2, ..., are ignored by EIRENE. Specifying a surface in such a CH0-card is identical to taking it out from the input file. It may be more convenient in some cases, however, to use the CH0 option, because the labelling index of the remaining valid surfaces is not altered then. No input is read for these surfaces, and the input segment for the next valid surface (identified by the string '*text') is read next.
NLIMI
number of surfaces in the input block
TXTSUR
Text to identify a surface ("name of the surface") on the printout file
CH1(ILIMI) n1/m1 n2/m2 ...
surfaces from the range n1 to m1, n2 to m2, ..., are considered invisible for a particle located on this current surface ILIMI. Intersection of trajectories starting from surface ILIMI with those "invisible" surfaces is not checked.
CH2(ILIMI) n1/m1 n2/m2 ...
Only for second order surfaces ILIMI, n1-m1, ... The first of the two possible intersections is ignored for particles located on surface no. ILIMI.
General Data for Surfaces
RLBND
flag for different options to define the boundary of the surface
RLARE
Area (in cm2) of the surface element which is seen by the test particles. (Default: 666.0) (needed only for scaling of non default surface averaged tallies) If RLARE is not specified here, (i.e., if a value less than or equal to zero is read) then EIRENE tries to evaluate this area itself. For some surfaces this is still not possible automatically.
RLWMN
lower weight limit for space weight window for particles crossing the surface in positive direction. (not in use)
RLWMX
upper weight limit for space weight window for particles crossing the surface in positive direction. (not in use)
ILIIN
defines the type of surface
> 0
non-transparent surface
= 1
reflecting, partly or purely absorbing surface.
local reflection model has to be specified unless default model is to be used; all surface tallies (see Table 5.3) are updated and a switch can be operated.
= 2
purely absorbing surface ;. surface tallies for incident fluxes (i.e., POT... and EOT... tallies in Table 5.3) are updated and the particle history is stopped then.
= 3
mirror for incident test particles. I.e., specular reflection for neutral test particles, and for charged test particles the sign of the velocity component parallel to the B-field is reversed.
=m4
periodicity surface, with regard to x, y, or z coordinate, depending upon whether this surface is a standard x, y, or z grid surface, respectively. Move particle to x / radial grid surface no. m, m integer (or to y / poloidal or to z / toroidal surface no. m, respectively) and continue track from there with otherwise identical particle parameters.
This option is currently implemented only for Cartesian grids (NLSLB and NLTRZ) and for non-default standard grid surfaces only.
The periodicity options are not fully implemented yet. Please contact the author for the current status of your particular version.
≤ 0
transparent surface (for example: hole in one of the other "additional surfaces"). Particle and energy fluxes onto and from these surfaces do not contribute to global balances.
= 0
Particle history is not interrupted
No surface tallies are updated, no switches can be operated. Fastest option.
= -1
Particle history will be stopped and restarted. A switch can be operated. I.e., this surface is used only for switching (see below: ILSWCH) or re-initializing the particle's track at the point of intersection. No surface tallies are updated.
= -2
as -1, and, additionally:
if a particle is crossing the surface in the positive direction, (one sided-) surface tallies are updated, e.g., by default: partial particle and energy currents J+ (Amp) and K+ (Watt). These are stored in the POT... and EOT... tallies of Table 5.3. If the particle crosses the surface in the direction opposite to the surface normal, then negative partial particle and energy currents J (Amp) and K (Watt) are updated. These are stored in the PRF... and ERF... tallies of Table 5.3.
= -3
Net currents (e.g. J+J), are evaluated, and stored on the POT... and EOT... tallies (see Table 5.3). The PRF... and ERF... tallies are empty for these surfaces.
≤ -4
Not in use. Currently: same as ILIIN=-2 option.
ILSIDE
 
= 0
both sides of the surface act as described by ILIIN option (default).
= 1
particles incident on the surface in the negative direction will be absorbed (i.e., ILIIN = 2 option from that side).
= 2
particles incident on the surface in the negative direction will be killed and the message
"ERROR IN ADDCOL"
or
"ERROR IN STDCOL"
will be printed. The contribution of these particles to the particle- and energy flux balances will be called PTRASH and ETRASH respectively. This option should be used for geometry testing whenever the user expects particles incident only from one side.
= 3
particles incident on the surface in the negative direction will not see the surface, i.e., this surface acts like a (semi) transparent surface (ILIIN = 0 option) from that side.
= -1
as 1, but with the opposite direction of the surface normal
= -2
as 2, but with the opposite direction of the surface normal
= -3
as 3, but with the opposite direction of the surface normal
ILSWCH
= IJKLMN, i.e. six digits I, J, K, L, M and N
= 0
no switch is operated
N
EIRENE flag ITIME
N = 1
The calculation of the step sizes in the standard mesh is abandoned for a particle which crosses the surface in the positive direction, and is reactivated, if the particle strikes in the negative direction
N = 2
as 1, but with the direction of the surface normal reversed for this option.
M
EIRENE flag IFPATH
M = 1
Abandon the calculation of the collision rates (entry into the vacuum) for a particle which is striking the surface in the direction of the surface normal. For particles incident from the other direction, evaluation of collision rates is reactivated.
M = 2
as 1, but with the direction of the surface normal reversed.
L
EIRENE flag IUPDTE
L = 1
Abandon the updating of volume-averaged tallies for a particle which is striking the surface in the direction of the surface normal. For particles incident from the other direction, updating of volume averaged tallies is reactivated.
L = 2
as 1, but with the direction of the surface normal reversed for this option.
I,J,K flags for switching cell numbers at transition into a different mesh cell.
K
for particles in an additional cell, i.e., not in one of the "standard mesh" blocks:
K = 1
Increase the actual additional cell number NACELL for a particle striking the surface in the direction of the surface normal by ILACLL. Decrease NACELL by ILACLL if the particle is striking in the negative direction. Specification of ILACLL is via the input variable ILCELL, see below.
K = 2
as K = 1, but with the direction of the surface normal reversed for this option.
for particles inside the "standard mesh ", i.e., not in the "additional cell region"
K = 1
Increase the standard mesh block number NBLOCK for a particle striking the surface in the direction of the surface normal by ILBLCK. Decrease NBLOCK by ILBLCK if the particle is striking in the negative direction. Specification of ILBLCK is via the input variable ILCELL, see below.
K = 2
as K = 1, but with the direction of the surface normal reversed.
J
for particles at the boundary between "additional" and "standard" mesh regions.
J = 1
entrance into standard mesh, block no.
NBLOCK = ILBLCK
or exit from standard mesh into additional cell
NACELL = ILACLL.
Specification of ILACLL and ILBLCK is via the input variable ILCELL, see below. If ILACLL = 0, then no switch to additional cell is operated. (E.g.: for surfaces which are reflecting from this side).
J = 2
as J = 1. The direction of the surface normal does not matter here.
I
similar to J-flag, i.e., for transitions between standard and additional meshes, but different cell number switching.
I = 1
Entrance into standard mesh, block no.
NBLOCK = NACELL+ILBLCK,
if the particle is striking in the positive direction, or
NBLOCK = NACELL-ILBLCK,
if the particle is striking in the negative direction. Exit from standard mesh into additional cell
NACELL = NBLOCK+ILACLL,
for a particle striking the surface in the positive direction, or
NACELL = NBLOCK-ILACLL,
if the particle is striking in the negative direction.
Specification of ILACLL and ILBLCK is via the input variable ILCELL, see below.
I = 2
as I = 1, but with the direction of the surface normal reversed.
If a test particle history starts from a surface (NLSRF option), then ILSWCH acts as if this particle had struck the surface prior to the birth process in the positive direction. This default setting is only available for ILSIDE ≠ 0 and can (must) be overruled by the SORIFL flag (see section 2.7), e.g. if a surface source needs to be defined on a surface with ILSIDE = 0.
ILEQUI
The algebraic equations for the surfaces J and IABS(ILEQUI(J)) will be described by exactly the same coefficients (up to a common sign, if ILEQUI(J) .lt. 0). For example a triangle can be specified by the three corners and another part of the same plane surface can be specified directly by its algebraic coefficients. To avoid round-off errors one should use the ILEQUI option in such cases, in particular if surface J is a transparent "hole" in surface ILEQUI(J), or vice versa.
Default: ILEQUI = 0
ILTOR
For NLTRA option only (see block 2c):
if ILTOR > 0 :
the surface is defined with respect to the local coordinate system of the toroidal segment with "cell-number" ILTOR, hence: 1 ≤ ILTOR ≤ NTTRAM.
if ILTOR=0 :
the surface is defined with respect to any local coordinate system. I.e., the surface equations are taken to be the same in each local system.
If the surface equations are z-independent, then this surface is toroidally symmetric (within the NLTRA-approximation).
Otherwise the surface has NTTRAM-fold periodicity.
This flag is irrelevant for NLTRZ (i.e., if cylindrical coordinates are used) or for NLTRT.
Default: ILTOR = 0
ILCOL
Flag for the color that is used for plotting this surface on 2d or 3d geometry plots. If ILCOL ≤ 0 than -ILCOL is used and the surface area is filled in by that color on the 3d geometry plots.
Default: ILCOL=1
ILFIT
= MN
This option is relevant only for surfaces with one ignorable coordinate, i.e. it only works for the 2. ≤ RLBND ≤ 3. surface boundary options.
It is a tool to facilitate a neat fitting of surfaces, in particular for connecting curved and plane surfaces (i.e. to avoid particle leakage due to numerical round-off errors in the algebraic surface coefficients.
M and N (3 digits each, M may be omitted if not needed) are the numbers of the surfaces (which must have the same ignorable coordinate) the boundaries of which should match to those of the actual surface J. The boundaries of these neighboring surfaces M and N must be specified by the RLBND = 1 or RLBND = 1.5 option.
The fitting is achieved by a small automatic internal modification of the surface data P1 and/or P2 of surface number J in subroutine SETFIT. Printout of the modifications made there is activated with the TRCSUR flag (input block 11).
ILCELL
Parameter ILBLCK and ILACLL for the ILSWCH flags described above. Let ILCELL = NM, with N and M being integers with 3 digits each. Then N = ILBLCK and M = ILACLL.
ILBOX
ILPLG EIRENE can write out information for a finite element mesh generator to produce a grid of triangles for a muliply connected 2D domain with cracks and holes. The various (inner and outer) boundaries are given as polygonal lines, which are composed of selected standard grid surface segments (NLPLG option) and/or additional surfaces (2 ≤ RLBND < 3 option).
This flag identifies closed polygonal lines composed of additional surfaces given by the 2-point option and/or of standard surfaces in the x-y-plane. For example if ILPLG(I)=NN, for surfaces I = I1, I2, ...IN, (NN a positive integer) then these N surfaces form a closed polygonal line in the x-y-plane. The region inside this closed line is part of the computational domain. By a negative integer value of NN a closed polygonal region can be excluded from the computational domain, i.e., a hole in the domain is specified by these surfaces. EIRENE writes an output file appropriate for a finite element mesh generator (available from FZ-Juelich) to produce a triangular discretization of the resulting (possibly multiply connected) domain. This option can be used to discretize arbitrarily complex 2D domains with internal and external boundaries given by the additional or non-default standard surfaces.
These finite element grids can be combined with the regular grids by using the problem specific geometry routines (see section 3) or the code interfacing routines INFCOP (see section 4).

Surface coefficients and boundaries of surfaces

The surface equation:
A0LM
+
A1LM ·x + A2LM ·y + A3LM ·z +
+
A4LM ·x2 + A5LM ·y2 + A6LM ·z2 +
+
A7LM ·xy + A8LM ·xz + A9LM ·yz = 0
(3.1)
The positive surface normal (nx , ny , nz) depends upon the point of impact (x,y,z) and is defined by the vector
nx
=
A1LM + 2 ·A4LM ·x +A7LM ·y + A8LM ·z
ny
=
A2LM +A7LM ·x + 2 ·A5LM ·y +A9LM ·z
nz
=
A3LM +A8LM ·x + A9LM ·y +2 ·A6LM ·z
For a plane surface the following reduction is valid:
(nx , ny , nz) = (A1LM,A2LM,A3LM)

The boundary of the valid part of the surface may be described by 4 different options, depending upon the value of the flag RLBND.
RLBND = 0
 
No boundary inequalities specified, i.e. the whole surface is seen by the test particles.
0 < RLBND < 2
 
= 1
Only that part of the surface, which lies inside the right parallelepiped defined by the two vectors (XLIMS1, YLIMS1, ZLIMS1) and (XLIMS2, YLIMS2, ZLIMS2), is seen by the particles. I.e. the three inequalities
XLIMS1 ≤ xXLIMS2
YLIMS1 ≤ yYLIMS2
ZLIMS1 ≤ zZLIMS2
are checked at the point of intersection (x,y,z).
= 1.5
Complement to RLBND = 1.
Only the surface element outside the parallelepiped is seen by the particles.
RLBND ≥ 2
 
In this case the surface will be defined by the input of the coordinates of at least 2 and at highest 5 points on a plane surface. If there are only 2 points, the surface is parallel to one axis. If there are 3 or more points, then the boundary of this plane surface is a closed polygon (P1 ,..., Pn , P1). Therefore, the correct order of points at input is relevant. The orientation of the positive surface normal vector is defined by the first 3 points, and it is given by the vector product (P3 − P1) ×(P3 − P2). Thus, the orientation can be reversed e.g. by interchanging P2 and P3.
2.1
plane surface parallel to z axis. The surface equation of this plane reads ax+by+c=0 with the coefficients a,b and c such that the points P1, P2 lie on this surface and the valid part of that surface ranges from P1 to P2 in the xy-plane. The z-coordinates of these two points define the boundaries in z direction
= 2.2
Complement to RLBND = 2.1
= 2.4
as RLBND=2.1 option, but with z and y exchanged. I.e., now the y coordinates of the points P1, P2 are the boundaries of the surface ax+bz+c=0 in y direction.
= 2.5
Complement to RLBND = 2.4
= 2.7
as RLBND=2.1 option, but with z and x exchanged. I.e., now the x coordinates of the points P1, P2 are the boundaries of the surface ay+bz+c+0 in x direction.
= 2.8
Complement to RLBND = 2.7
= 3
plane triangle defined by the corners P1 ,P2 , P3
P1=(P1(1),P1(2),P1(3))
P2=(P2(1),P2(2),P2(3))
P3=(P3(1),P3(2),P3(3))
= 3.5
complement to RLBND = 3; only The plane surface outside the triangle is seen by the test particles.
= 4
plane quadrangle; surface inside the polygon
(P1 , P2 , P4 , P3 , P1).
Here P1, P2, P3 are as in the RLBND=3 option, and P4 = (P4(1), P4(2), P4(3))
Thus this surface is the union of the triangles with vertices P1, P2, P3 and P2, P4, P3 respectively.
= 4.5
complement to RLBND = 4; only the part of the plane surface outside the quadrangle is seen by the test particles
= 5
plane quint-angle; surface inside the polygon (P1, P2, P4, P5, P3, P1) P1, P2, P3, P4 as RLBND=4, and P5 = (P5(1), P5(2), P5(3))
= 5.5
complement to RLBND = 5; only the part of the plane surface outside the quint-angle is seen by the test particles.
RLBND < 0
 
-KL
The surface is bounded by L linear inequalities and by K second order inequalities.
ALIMS + XLIMS * x + YLIMS * y + ZLIMS * z ≤ 0
(L inequalities)

ALIMS0
+
XLIMS1 ·x + YLIMS1 ·y + ZLIMS1 ·z
+
XLIMS2 ·x2 + YLIMS2 ·y2 + ZLIMS2 ·z2
+
XLIMS3 ·xy + YLIMS3 ·xz + ZLIMS3 ·yz ≤ 0
(K inequalities)
The meanings of the input variables for the local reflection model are described below (see: 2.6: "Input Data for Surface Interaction Models").
The meanings of the input variables for a transformation block are:
ITINI, ITEND
 
The transformation defined by the next 3 cards is carried out for additional surfaces from number ITINI through ITEND The transformation is carried out as soon as this transformation deck is found. Hence, if such a transformation deck is found after "additional surface" no. IS, then one must guarantee: ITINI ≤ IS and ITEND ≤ IS.
XLCOR, YLCOR, ZLCOR
 
Translation:
The origin of the coordinate system is shifted by the vector
XLCOR,YLCOR,ZLCOR
XLREF, YLREF, ZLREF
 
Reflection:
to be written
No transformation if XLREF,YLREF,ZLREF = (0,0,0)
XLREF, YLREF, ZLREF
 
Rotation:
The vector XLROT,YLROT,ZLROT defines the axis of rotation.
ALROT is the angle of rotation (in degrees)
No transformation if ALROT=0 or axis of rotation= (0,0,0)

2.4  Input Data for Species Specification and Atomic Physics Module


General remarks

EIRENE can handle up to NATM "atom" species, NMOL "molecule" species, NION "test ion" species, NPHOT "photon" species (lines) and NREAC different atomic, molecular or photonic reactions between these "test particles" and the "bulk ions" or electrons. There may be up to NPLS "bulk ion" species, and one electron gas derived internally from the assumption of local charge neutrality. Amongst the heavy background particles (the "bulk ions") may be species with charge state zero, i.e., neutral particles. By abuse of language, we will refer to them as "bulk ions" as well, but meaning in this case: heavy background particles.
NATM, NMOL, NION, NPHOT, NPLS and NREAC are specified in the parameter block "PARMUSR", see: "Parameter Statements" (section 3.1 below, for versions EIRENE2000 and older), or are determined automatically from the input file.
Masses in EIRENE (RMASSA, RMASSM, RMASSI, RMASSP for atoms, molecules, test ions and bulk ions, respectively) are in units of the proton mass, which is taken to be 1.0073 in atomic mass units.
First EIRENE reads "non-default" atomic data (if any, i.e., if NREAC > 0) specified in so called "reaction cards", IR ≤ NREACI ≤ NREAC

IR  FILNAM  H123  REAC  CRC  MASSP  MASST  DP RMN  RMX

(format: I3,1X,A6,1X,A4,Axxx,A3,2I3,3E12.4)

from external A&M data files such as FILNAM = HYDHEL, = METHAN, or = AMJUEL, or other data files of appropriate format.
For collision reaction rates, electron cooling rates, etc., from the "ADAS database format AFD11", or any other properly tabulated data source, i.e. for FILNAM = ADAS, an additional card is read for each IR entry, see below, to identify the species and ion charge state within the ADF11 file.

IR  ADAS  H123  REAC  CRC  MASSP  MASST  DP

(format: I3,1X,A6,1X,A4,Axxx,A3,2I3,E12.4)
ELNAME, IZ

(format: 4X,A2,1X,I3)

For photonic emission and absorption data (line shapes), i.e. for FILNAM = PHOTON, the line is shortened to

IR  FILNAM  H123  REAC

(format: I3,1X,A6,1X,A4,Axxx)

for reading from the spectroscopic line-shape database PHOTON, but additional lines are needed to specify the line broadening options. See below.
There also exist an option for specifying constant (or very simple functional dependencies) cross sections, reaction rate coefficients, reaction rates, etc. directly via the input file, without resorting to an external database. This has proven useful for testing purposes, e.g. comparison with simple analytic or numerical solutions. In this case: FILNAM = CONST, further details: see below.
Later EIRENE will assign the relevant atomic molecular of photonic processes to each test particle (and also bulk particle) from either this set of NREACI processes, or from a small set of "default processes", which are hard wired in EIRENE.
In versions younger than 2002 each reaction in these databases can contain a string 'fit-flag = value', with IFTFLG=value. IFTFLG is used in EIRENE to identify the type of fitting expression to be evaluated with the fitting coefficients from the database.
By default: IFTFLG=0 for all data, i.e., single or double polynomial fits.
All atomic rate coefficients and cross sections can be scaled with a constant factor (FREAC, see below), for sensitivity studies.
Excluded from this scaling option are all photonic processes and those elastic collisions for which EIRENE uses an interaction potential (H.0-type data), because here the scaling would not have the expected effect on transport, but rather it would only modify the effective small angle scattering cut-off in the binary collisions.
Atomic and molecular processes are always of the following type:

a ·A + b ·Bm ·M + n ·N + ∆E
Here A,B,M and N are labels for the type of pre- and post collision particles. a,b,m and n are the stoichiometric coefficients, and ∆E is the amount of internal energy transferred into (or at the expense of) the kinetic energy of the collision products M and N.
The following conventions are always in use:
At least one of A, B, M or N must stand for a "test particle", for otherwise this process is not relevant for the transport problem solved by EIRENE.
Next EIRENE expects one so called "species block" for each test particle species. Later, in input block 5, it will also expect one species block for each of the heavy background particles, i.e., for the "bulk ions".
A "species block" has the format:
ISPZ$ TEXT$ NMASS$ NCHAR$ NPRT$ NCHRG$ ISRF$ ISRT$ ID1$
NRC$  NFOL$ NGEN$  NHSTS$ ID3$
 (format: I2,1X,A8,1X,12(I2,1X))

In case ID1 ≠ 3, i.e., two or less post collision particle (not counting electrons)
 DO  K= 1, NRC$
   IREAC$  IBULK$  ISCD1$  ISCD2$  ISCDE$  IESTM$  IBGK$
   EELEC$  EBULK$  ESCD1$  EDUMMY  FREAC$  FLDLM$
 ENDDO

New option in 2006: In case ID1 = 3, i.e., three post collision particles (not counting electrons)
 DO  K= 1, NRC$
   IREAC$  IBULK$  ISCD1$  ISCD2$  ISCD3$ ISCDE$  IESTM$  IBGK$
   EELEC$  EBULK$  ESCD1$  EDUMMY FREAC$  FLDLM$
 ENDDO

New option in 2006:
In case ID1 = 4, i.e., four post collision particles (not counting electrons)
 DO  K= 1, NRC$
   IREAC$  IBULK$  ISCD1$  ISCD2$  ISCD3$ ISCD4$ ISCDE$  IESTM$  IBGK$
   EELEC$  EBULK$  ESCD1$  EDUMMY FREAC$  FLDLM$
 ENDDO

where $ stands for either A (atoms), M (molecules), I (test ions), PH (photons) or P (bulk ions). I.e., a species block consists of one species specification card ISPZ$ ..., and NRC$ "reaction decks" of two cards each.
For some particle species (in particular for hydrogenic atoms, molecules and molecular ions, and for helium atoms) EIRENE has default A&M data, to which it resorts, if no reaction cards are in the input deck (i.e., if NRC$=0, see below) for a particular species. These default models are described at the end of this section. They are overruled by the reaction cards.
In order to de-activate all possible reactions (also the default reactions), e.g., to simulate the collision-less "Knudsen flow" for all or a particular test particle species, one must set NRC$ =−1.

Usually, a particular particle type and species in the species blocks is identified by an integer IPART$=LMN (3 digits). Here N fixes the type of the particle, M is the number of particles characterized by IPART$ and L is the species index within the specified group (type) of particles.
The following values of N are currently in use:
The Input block

*** 4. Data for Species Specification and Atomic Physics Module
Note: in EIRENE2003 or later the format of input flag REAC described below was generalized from A9 to Axxx, with xxx ≤ 50, to accommodate the longer reaction information for photonic processes into the same format. The old format A9 is of course automatically still recognized as special case.
NREACI
DO

for "real particles", databases: FILNAM = HYDHEL, AMJUEL, METHAN, H2VIBR
   IR  FILNAM  H123  REAC  CRC  MASSP  MASST  DP RMN  RMX
   (format: I3,1X,A6,1X,A4,Axxx,A3,2I3,3E12.4)
     IF (RMN.GT.0.) READ IFEXMN, FPARM(J),J=1,3
     IF (RMX.GT.0.) READ IFEXMX, FPARM(J),J=4,6

for "real particles", database: FILNAM = ADAS (or any equivalent ADF11 format)
   IR  ADAS  H123  REAC  CRC  MASSP  MASST  DP
   (format: I3,1X,A6,1X,A4,Axxx,A3,2I3,3E12.4)
   ELNAME, IZ
   (format: 4X,A2,1X,I3)

i.e.: one additional input card is read to identify the chemical element and charge state. Extrapolation flags RMN and RMX are not in use in this case and may be omitted. Default (hard wired) extrapolation schemes are used if the plasma density and temperature is outside the tabulated range.
for "real particles", database: FILNAM = CONST. Fit parameters are directly read from input file, up to nine coefficients. In EIRENE2005 or later: Optional : Further parameter FTFLAG, length: not more than 9 characters.
   IR  CONST  H123  FTFLAG(optional) CRC  MASSP  MASST  DP
   (format: I3,1X,A6,1X,A4,(A9),xxxX,A3,2I3,3E12.4)

i.e.: Reading of FTFLAG is optional. Default for FTFLAG: =0. Parameter REAC does not exist. Extrapolation flags RMN and RMX are not in use in this case and may be omitted.
for "photons", database FILNAM = PHOTON
   IR  PHOTON  H123  REAC
   (format: I3,1X,A6,1X,A4,Axxx)
   IPRFTYPE IPLSC3 IMESS IFREMD NRJPRT
   DO IFREMD
     II KENN  IK6
    (format: I6,1X,A2,3X,I6)
   ENDDO

I.e.: after the first line there is a special format for this set of input cards in case of photonic processes, read from the spectral database PHOTON. In case IFREMD > 0 the additional cards specify options for "foreign pressure line broadening".

Then the subroutine SLREAC is called, which picks the atomic data (fit coefficients) for reaction "IR" from the file FILNAM. It then stores this information on the arrays in Module COMAMF with label IR.

 * 4A. atoms species cards
 NATMI
 DO 44  IATM= 1, NATMI

* read NATMI species blocks with $ = A
 44 CONTINUE
 * 4B. molecules species cards
 NMOLI
 DO 46  IMOL= 1, NMOLI

* read NMOLI species blocks with $ = M
 46 CONTINUE
 * 4C. test ions species cards
 NIONI
 DO 48  IION= 1, NIONI

* read NIONI species blocks with $ = I
 48 CONTINUE

and, for versions younger than 2003:

 * 4D. test ions species cards
 NPHOTI
 DO 49  IPHOT= 1, NPHOTI

* read NPHOTI species blocks with $ = Ph
 49 CONTINUE


Meaning of the input variables

NREACI
Total number of different reactions to be read.
The next block has different meanings for "real particles" and "photons". Cross section and rate coefficients are specified for particles, but emission and absorbtion line shapes are specified for photons.
"real particles"
An interaction potential V(r), cross section σ plus a reaction rate coefficient 〈σv〉 for one process counts as one reaction, but higher order rate coefficients such as energy or momentum weighted rate coefficients for the same process count as new reaction and must be labelled by a different index IR (see below).
Storage is provided for up to NREAC different additional reactions (see "Parameter Statements", section 3.1), i.e., one must guarantee NREACI.LE.NREAC
IR
Labeling index of the reaction that is read in. The condition
IR.LE.NREACI
must be fulfilled (otherwise: error exit).
FILNAM
Name of the data-set that contains the required reaction.
HYDHEL
Hydrogen and Helium data [23]
METHAN
Hydrocarbons data [24]
H2VIBR
Data for H2 molecules and their isotopomeres, including effects of vibrational and electronic excitation, as well as rates needed for radiation trapping calculations.
AMJUEL
supplement to HYDHEL and METHAN for neutral gas transport Monte Carlo codes, e.g. multi-step reaction rates, etc.
CONST
reaction IR is a collision process with explicitly specified fit coefficients for cross sections or reaction rate coefficients, (depending upon input flag "H123"), e.g., constant, power law, etc. These fitting coefficients are directly read from the formatted input file rather than from an external file.
ADAS
Collisional radiative rate coefficients from ADAS ADF11 files, which must be located in a directory, the path to which is specified in input block 1, section 2.1, by one of the "CFILE" cards described there: CFILE ADAS path/adf11/
PHOTON
H123
Identification flag for the type of data: interaction potential parameters, cross section, rate coefficient, momentum loss rate coefficient, energy loss rate coefficient, etc.
case 0: FILNAM = CONST
currently available only for: H123 = H.1, = H.2, = H.5, or = H.8, i.e., only for single parameter fits.
in case IFTFLG = 10, 110, 210,... , "single parameter", constant collision parameter. One more line
F(0), REAL
is read.
For all other values of IFTFLG, including the default IFTFLG=0, two more input lines with 9 fitting coefficients
F(I), I=0,5 (REAL)
F(I), I=6,8 (REAL)
are read, in subroutine SLREAC from the formatted input file.
The natural logarithm of cross-section: ln(σ) (H123 = H.1) or of a rate coefficient: ln(R) (H123 = H.2, = H.5, or = H.8) is computed as:
ln(σ) = ∑I=08 F(I) ·ln(Elab)I
and, likewise, a rate coefficient R is evaluated as:
ln(R) = ∑I=08 F(I) ·ln(T)I
Here Elab is the relative energy of impact, but with the mass of the charged particle (i.e., for a target of neutral particles at rest, see below), and T is the electron or ion temperature, depending on the type of impacting plasma particle.
This option permits specification of constant cross sections or rate coefficients (only the first of the nine parameters nonzero), or, e.g., specific power law energy dependencies or temperature dependencies (second of the nine parameters).
case 1: FILNAM = HYDHEL, METHAN, AMJUEL, H2VIBR
H.1
single parameter fit for cross section σ(cm2) as function of energy ELAB (eV), with ELAB = mLab / 2 ·vrel2 (For the definition of mLab = MASSP : see below.
H.2
single parameter fit for rate coefficient 〈σv 〉(cm3/s) as function of target temperature (eV), assuming "zero velocity" projectile
H.3
double parameter fit of rate coefficient 〈σv〉(cm3/s) as function of projectile energy (eV) and target temperature (eV)
H.4
double parameter fit of rate coefficient 〈σv 〉(cm3/s) as function of target density (cm−3) and target temperature (eV)
H.5
single parameter fit of target particle momentum weighted rate coefficient 〈 σ v · mp · |vp| 〉 (cm3/s ·AMU ·cm/s) as function of target temperature (eV)
H.6
double parameter fit of target particle velocity weighted rate coefficient 〈σv ·mp ·| vp | 〉(cm3/s ·AMU ·cm/s) as function of projectile energy (eV) and target temperature (eV)
H.7
double parameter fit of target particle velocity weighted rate coefficient 〈σv ·mp ·| vp | 〉(cm3/s ·AMU·cm/s) as function of target density (cm3) and target temperature (eV)
H.8
single parameter fit of target particle energy weighted rate coefficient 〈σv ·mp /2 ·vp2 〉(cm3/s ·eV) as function of target temperature (eV)
H.9
double parameter fit of target particle energy weighted rate coefficient 〈σv ·mp /2 ·vp2〉(cm3/s ·eV) as function of projectile energy (eV) and target temperature (eV)
H.10
double parameter fit of target particle energy weighted rate coefficient 〈σ v · mp/2 · vp2〉 (cm3/s ·eV) as function of target density (cm3) and target temperature (eV)
H.11
single parameter fit for any other data, e.g. to be used in special user supplied programs.
H.12
double parameter fit for any other data, e.g. to be used in special user supplied programs, (i.e. not understood by EIRENE)
case 2: FILNAM = ADAS
H.4
double parameter table of rate coefficient 〈σv 〉(cm3/s) as function of target density (cm−3) and target temperature (eV) read from ADAS adf11 files. Filenames starting with scd... (ionization rate coefficients contain ionization rate coefficients to charge state Z, Z=1,... Zmax) and filenames starting with acd...... contain recombination rate coefficients, from charge state Z, Z=1, Zmax. The particular value of Z is specified in the next input card.
case 3: FILNAM = PHOTON to be written
REAC
Name or number of the reaction as used in the file FILNAM (e.g.: REAC = 2.15.2 in file METHAN for the reaction e + CH4+CH3+ + H + e ). If FILNAM = CONST, then REAC can be used to input the flag IFTFLG. Whether or not REAC is to be interpreted as IFTFLG is identified by presence of the string FT (e.g.: 'REAC' = 'FT 110' would lead to IFTFLG = 110 for this reaction).
CRC
Identification for the type of the reaction process. Depending upon the value of this flag various assumptions are automatically made concerning the atomic data in the initialization phase.

CRC=EI electron impact collision, i.e., ionization, excitation or de-excitation or dissociation. (In older EIRENE version CRC=DS was also in use. This is now automatically identified with CRC=EI)
CRC=CX (quasi-) resonant charge-exchange
CRC=EL elastic collision
CRC=PI in-elastic ion impact collision (not fully implemented)
CRC=RC re-combination
CRC=OT other
MASSP
Mass number (AMU) of the first particle involved in the collision, for the original data as being read from the data-file. EIRENE automatically re-scales data according to the mass number of the actual first particle involved in this particular collision process (e.g. if data are given for H atoms in the data-file, but are used for D or T atoms in an EIRENE run).
MASST
Mass number (AMU) of the second particle involved in the collision, for the original data as being read from the data-file. EIRENE automatically re-scales data according to the mass number of the actual second particle involved in this particular collision process.
The next input deck is read only in case FILNAM = ADAS:
ELNAME
Name of element in ADF11 file, e.g. Fe for iron, C for carbon, W for tungsten, etc....
IZ
Charge state in ADF11 file. This value is always between 1 and Zmax. For ionization rate coefficients IZ specifies the ionization rate coefficient for the ionization process from IZ−1 to IZ. For recombination process IZ specifies the recombination rate coefficient for the recombination process from IZ to IZ−1.
The next input decks are read only in case FILNAM = PHOTON:
IPRFTYPE
IPLSC3
IMESS
IFREMD
NRJPRT
to be written
Then IFREMD cards are read
II, KENN, IK6
 
II: labelling index, irrelevant
KENN: to be written
IR: to be written


Note:
The nomenclature used in reference [23] has lead to a certain confusion with regard to the masses of the particles involved in a particular collision process. A series of test calculations has revealed the following definitions implicit in the tables of references [23] and [24]:
For the cross section energy scale, the relevant (laboratory frame) mass is that of the charged particle, assuming an ion- or electron beam incident onto a cold neutral gas at rest (i.e., the mass in the energy scale is neither the reduced mass nor is the energy given in units energy/AMU).
For rate coefficients, depending upon both the beam energy and the target temperature, however, the neutral particles are considered to be the beam particles, i.e., their mass is the relevant mass for the energy scale now, whereas the charged particles are considered as target, with their mass being the relevant mass for the temperature scale.
Following these conventions, EIRENE assumes that cross sections have been measured with the charged particle as projectile and the neutral target at rest. Thus MASSP is assumed to be the relevant mass number of the original data for the energy scale in cross sections (H.1) and for the temperature scale in the rate coefficients (H.2, H.3, H.4). If MASSP = 0 , MASSP is defaulted to the electron mass (AMU). I.e., MASSP is the mass number of those collision partners in the database, which would play the role of bulk particles in an EIRENE run, unless the automatic re-scaling to the true EIRENE bulk ions mass RMASSP(IPLS) of the bulk particle is carried out.
MASST is assumed to be the relevant mass number for the projectile energy scale in H.3, H.6 and H.9, i.e., for the test particles in an EIRENE run.
EIRENE then automatically converts the energy/temperature scales in the data fits to the correct scales for the particular particles masses (isotopes) involved in a collision event during the simulation process, if these do not happen to coincide with MASSP and MASST.

DP
(only for H.8, H.9, H.10) additional (e.g., potential) energy lost or gained, which is not already included in the rates. This may be needed due to the logarithmic fits used and if changes in sign arise. For example, in case of recombination of hydrogen ions, AMJUEL H.10, 2.1.8, DP=+13.6 must be specified.
In reaction decks H.8, H.9 or H.10 in AMJUEL, this value of DP is now automatically read (and overwrites the value specified here). Hence: in the EIRENE versions later than June96 this input flag is redundant.
The next flags control the options to extrapolate atomic data fits read from files. The default data in EIRENE and some reactions in the files AMJUEL already contain that information. EIRENE searches for the string ELABMIN and ELABMAX for cross section data. If it finds them, it uses them as RMN and RMX, respectively. In such cases the next card IFEXMN,.... and IFEXMX,.... may also be omitted, because the corresponding information is found from the atomic data file as well. The extrapolation expression is that of option IFEXM. = 5 (see below).
Likewise, in case of reaction rates, EIRENE searches for TMIN, TMAX (for single parameter fits H.2, H.5, H.8 and H.11) and additionally for PMIN and PMAX (if H.3, H.4, H.6, H.7, H.9, H.10 or H.12) and the extrapolation parameters again are expected in the atomic data file.
RMN
minimum energy or temperature for data as read from file. Below RMN the data are extrapolated using the input card
IFEXMN,FPARM(J),J=1,3.
See below, and e.g., subroutine CROSS for the various options.
Some cross section data in AMJUEL already contain the extrapolation information, and hence the default RNM=0 can be used there.
RMX
same as above, but for high parameter range extrapolation.
IFEXMN, FPARM(J), J=1,3
 
various extrapolation expressions exlow(x) at the low end (x < RMN, x = Elab or x = T) are available:
IFEXMN = 1
 
exlow(x) = 0
(e.g., cross section with nonzero threshold at RMN)
IFEXMN = 2
 
y=x/FPARM(1)
exlow(x) = FPARM(2) ·yFPARM(3) ·log(y)
recommended for cross section extrapolation at high energy end, for reactions with nonzero threshold at FPARM(1) [eV].
IFEXMN = 3
 
y=log(x)
ln(exlow(x)) = FPARM(1) + y ·FPARM(2)
IFEXMN = 4
 
not in use
IFEXMN = 5
 
y=log(x)
ln(exlow(x)) = ∑I=13 FPARM(I) ·yI−1
IFEXMN < 0
 
linear extrapolation in log-log scale. Coefficients FPARM(J), J=1,2 are automatically determined, e.g., in function CROSS, FPARM(3) = 0.D0, and then extrapolation option IFEXMN = 5 is used with these coefficients (same as IFEXMN = 3 in this case).
IFEXMX, FPARM(J), J=4,6
 
same as above, but for high parameter range extrapolation exhigh(x).

*4A. Atoms Species Cards
NATMI
Total number of atomic species blocks
IATM
irrelevant; labelling index
*4B. Molecules Species Cards
NMOLI
Total number of molecule species blocks
IMOL
irrelevant; labelling index
*4C. Test Ions Species Cards
NIONI
Total number of test ion species blocks
IION
irrelevant; labelling index
*4D. Photon Species Cards
NPHOTI
Total number of photon species blocks
IPHOT
irrelevant; labelling index
The meaning of the variables in a species block is as follows:
TEXT$
Name of the species on printout and plots
NMASS$
Mass number
NCHAR$
Nuclear charge number
NPRT$
Flux units carried by one particle of this type and species. The "WEIGHT" of a test flight has dimensions: "atomic flux", i.e., "equivalent atoms per second". For example, a methane molecule CH4 should have NPRTCH4 = 5, if H atoms and C atoms have NPRTH = NPRTC = 1.
NPRT is used to convert fluxes into equivalent atomic fluxes, for scaling, (see input flag FLUX in block 7), and for flux conservation in non-diagonal (species changing) events at surfaces and in the volume. (NPRT is irrelevant for atoms, and always set to one for them.)
NCHRG$
Charge state (irrelevant for atoms and molecules, always set to zero for them)
[ISRF$ ] Species index flag for "fast particle reflection model" (see block 6A), irrelevant for molecules
[ISRT$ ] Species index flag for "thermal particle re-emission model" (see block 6A)
ID1$
not in use in versions 98 to 2002. Was "sputtered species index" in versions older than "98", but this species index has then become a surface property, see input block 3. In versions younger than 2002 this flag can be used to increase the number of secondary test particle groups from 2 or less (default) to 3, if ID1=3. This option then allows more complex fragmentation processes of large molecules as compared to the default.
NRC$
 
> 0
total number of reaction decks to be read for this species
= 0
default model is to be used.
= -1
no collision processes for this particle species at all
NFOL$
controls the motion of test particles.
≥ 0
default test particle tracing model is to be used.
= -1
motion of test particle is not followed (static approximation). The test particle is destroyed immediately at it's point of birth by a collision. A collision estimator is used rather than a track-length estimator for all default volumetric tallies, as described in section 3.2.
NGEN$
Maximum number of generations for this test particle species.
> 0
For each particle history the generation counter XGENER is reset to zero at birth, after surface events and after a non-diagonal event (modification of type and/or species of a particle in a collision event). It is increased at entropy producing events (elastic and diagonal charge exchange collisions). If XGENER > NGEN.. after a collision, no test particle secondaries are generated. The particle flux, parallel momentum flux and energy flux is put into the tallies PGENA, VGENA and EGENA for atoms, resp., PGENM, VGENM and EGENM for molecules, resp., PGENI, VGENI and EGENI for test ions, respectively and PGENPH, VGENPH and EGENPH for photons, respectively.
= 0
In case NGEN, (default) no generation limit is activated for atoms (NGENA=0), molecules (NGENM=0) or test ions (NGENI=0).
NHSTS$
(only in versions 2004 and younger): NHSTS=-1 turns off the trajectory plot for this particular species. (default: NHSTS=0)
ID3$
not in use
IREAC$
Identification flag for collision data. IREAC$ = IR, and IR is the labelling index from the reaction card (see above).
The next three flags control number, species and type of particles involved in this particular collision process.
IBULK$
pre collision bulk particle identifier
= NLM
M
type flag ITYP for impacting bulk particle (electron (ITYP=5) or bulk ion (ITYP=4),
irrelevant, defaulted to M = 4 for bulk ion impact collision and defaulted to M = 5 for electron impact collisions
L
irrelevant, defaulted to L = 1, because number of pre collision bulk particles is known from the type CRC of each collision process.
N
Species index of pre collision bulk ion (corresponds to IPLS in bulk ion species cards, see block 5). Irrelevant for electron impact collisions, CRC=EI.
ISCD1$
first heavy secondary particle group identifier
= IJKLM
M
type flag ITYP for these first secondaries group (atoms (ITYP=1), molecules (ITYP=2), test ions (ITYP=3) or bulk ions (ITYP=4))
L
number of secondaries of this type and species
JK
Species index of secondary (IATM, IMOL, IION, or IPLS), two digits
I
relative importance of this first secondary group as compared to the second secondary group. If I ≤ 0, I is defaulted to I = 1
(currently not in use)
ISCD2$
second heavy secondary particle group identifier
= IJKLM.
Same as ISCD1$, but for second secondary group.


Note:
The number of secondary electrons need not be specified, it is computed from charge conservation.
In case of collisions with only one heavy particle secondary (electron impact collision CRC=EI, or re-combination CRC=RC) ISCD1 is used and ISCD2 is irrelevant.
In case of charge exchange (CRC=CX) ISCD1 is used for the new state of the impacting bulk particle after the collision, whereas ISCD2 controls the options for the post collision state of that particle which was the test particle prior to the collision. Consistency of the particle masses of pre and post collision particles with this convention is checked in the initialization phase of each run.
In case of elastic collision (CRC=EL), the ISCD1 and ISCD2 flags are are irrelevant, because the colliding particles retain their identity by default.
In case of electron impact collision (CRC=EI), the ISCD1 and ISCD2 flags are symmetric, i.e. they can be interchanged without any effect on the calculation.
ISCDE$
flags for post collision velocity space distributions for all particles involved in the collision event. Each of the five digits controls a different type of particle.
Let us write JKLMN = ISCDE
Let then furthermore the character # stand for J, K, L, M, or N respectively. Then J controls electrons, K controls pre collision (plasma) bulk ions (if any involved), L the secondary particles (if any). Each of these single integer flags controls the meaning of the energy parameters
EP=EELEC (# [^=] J),
EP=EBULK (# [^=] K),
EP=ESCD (# [^=] L),
for the electrons, for the pre collision bulk ions, and for the heavy secondary particles, respectively.
# = 0
constant loss or gain of EP (eV) per collision event.
# = 1
bulk temperature dependent loss -(1.5 ·T + EDrift) per collision, where
T = Te for # [^=] J and T = Ti for # [^=] K;
Te and Ti are the local electron and ion temperatures (eV) resp. at the point of collision, and EDrift is the kinetic energy of the drift motion (VXIN,VYIN,VZIN) of the background ions (only in case NLDRFT=TRUE), see input block 5.
If # stands for a heavy particle secondary, i.e. # [^=] M and/or # [^=] N, then a fraction EP of the energy loss of the impacting bulk particle is distributed equally over all (if more than one) heavy particle secondaries of group 1 and 2 resp.
# = 2
Let # stand for a pre collision bulk particle: # [^=] K or # [^=] L. The energy loss of the impacting bulk particle is calculated from the velocity and energy weighted rate coefficients. In this case EP must be the labelling index IR of the reaction card by which these moments have been read from the data-file.
Let now # stand for a post collision heavy particle group, i.e # [^=] M and/or # [^=] N. Then the velocity vector of the secondary particle is sampled from a cross section weighted (and optional, if NLDRFT, shifted by the local drift velocity of the pre collision bulk particle) Maxwellian distribution at the local ion temperature Ti. The cross section is taken at the relative velocity of the impacting test particle and a particle sampled from the above mentioned (shifted) Maxwellian. This option permits to identify one particular collision partner from the background population, correctly accounting for the energy dependence of the cross section.
# = 3
to be written
# = 4
to be written
# = 5
to be written
IESTM
Three digits IESTM=LMN. N, M and L are flags for the choice of estimators for particle, momentum and energy sink and source term contributions from the collision process. (Default: =0 track-length estimators.)
IBGK
Three digits IBGK=NML. Particle identifier for BGK self and cross collisions. Format as for IBULK, ISCD1 and ISCD2 species identifier flags. I.e., it has three digits, pointing to the type and the species index within that type-group. The second digit is irrelevant and defaulted to one (only binary collisions are considered). This flag controls options for non-linear test-particle - test-particle collision.
Let ISPZ be the species index of a test-particle. If the collision is a self-collisions, this flag must point to the species ISPZ itself. Otherwise it must point to the 2nd test particle species ISPZ2, which is involved in the BGK-cross collision term.
IBGK must be consistent with IBULK, which in this case is the "artificial background species" (= result from previous iteration) in the linearization of the collision operator.
I.e.: if test particle species A collides with test particle species B (of same or of different species and type), then a bulk species ABbulk must be present in input block 5, such that species A and ABbulk have the same mass, nuclear charge and charge numbers. The density, flow field and temperature of collision partner ABbulk are iterated, using either the corresponding parameters estimated for species A (in case of self collisions) or using parameters obtained from the formulas for TAB, VAB (see section 1.9.1) for cross collisions between species A and B.
The flag IBULK must point to the corresponding species IPLS=ABBULK in block 5.
An example for input specifications of non-linear BGK collisions is given below in section 2.4.2. (Default: = 0, no iteration for non-linearity in collision kernel, no "artificial background species" involved in this collision, and no BGK-tallies are updated for iterating the artificial background species.)
EELEC
parameter EP for electron energy loss per collision
EBULK
parameter EP for pre collision bulk ion energy loss per collision
ESCD1
parameter EP for velocity space distribution of secondaries
EDUMMY
(was earlier: ESCD2) in versions 1999 and older: parameter EP for velocity space distribution of second secondaries group. Now: this parameter is not in use anymore. Distribution of energy EP over secondaries is now by default inversely proportional to the secondary particle masses (from momentum conservation in collision). For backward compatibility of input files now: EP = ESCD1 + EDUMMY.
FREAC
multiplier to scale the cross section (and rate coefficients) of this process. Default: FREAC = 1.0. If FREAC ≤ 0, it is also defaulted to 1.0. To turn off this process, set FREAC to a very small number: e.g.: FREAC = 1.0000 E-30
FLDLM
Flag for "generation limit" or "fluid-limit", Default: FLDLM = 0.0. This flag allows to cut trajectories after a certain maximum number of CX or EL collisions (generations) (FLDLM > 0.0) or if the mean free path compared to a geometric dimension falls below a certain value (FLDLM < 0.0) (fluid limit). The precise status of this option should be inquired from the code authors.

2.4.1  Default atomic and molecular data

If default atomic data are requested for some test particle species, these are activated by setting the flag NRCM(IATM)=0 (or NRCM(IMOL)=0, NRCI(IION)=0, resp.) for a particular atom IATM (molecule IMOL or test ion IION), and by omitting the corresponding cards
IREAC$,... and
EELEC$,...
Then EIRENE tries to find, automatically the corresponding species types and indices of the collision products in the species blocks. It then tries to define all variables in the cards
IREAC$,... and
EELEC$,...
for collision rates and collision kinetics, using default assumptions.
Assume that the bulk ion H+ is specified as bulk ion species no. "a", D+ as bulk species "b", T+ as bulk species "c" and He+ as bulk ion species no. "d", then the default atomic collision models for H, H2, H2+ (and isotopes) and He are identical to a model that would result from the following specifications in input block 4.
For atoms D (likewise for H or T), e.g., IATM=1, and atoms He (e.g., IATM=2):
* ATOMIC REACTION CARDS  NREACI=
5
  1 HYDHEL H.2 2.1.5     EI  0  1
  2 HYDHEL H.1 3.1.8     CX  1  1
  3 HYDHEL H.2 2.3.9     EI  0  4
  4 HYDHEL H.1 5.3.1     CX  4  4
  5 HYDHEL H.1 6.3.1     CX  4  4
*NEUTRAL ATOMS SPECIES CARDS:  NATMI SPECIES ARE CONSIDERED,
NATMI= 2
 1 D         2  1  1  0  1 -1  0  2
     1   115   *14     0 00000
 -1.3600E 01  0.0000E 00
     2   *14   111   *14 00000
  0.0000E 00  0.0000E 00  0.0000E 00
 2 He        4  2  1  0  2  2  0  3
     3   115  **14     0 00000
 -2.4588E 01  0.0000E 00
     4  **14   211  **14 00000
  0.0000E 00  0.0000E 00  0.0000E 00
     5 ***14   211 ***14 00000
  0.0000E 00  0.0000E 00  0.0000E 00

Here ∗ is the species index of the D+ bulk ion in input block 5, ∗∗ is the species index of the He+ bulk ion in input block 5, and ∗∗∗ is the species index of the He++ bulk ion in input block 5. If a corresponding background species is not found in block 5, then the corresponding default process is de-activated.
Hence: D and He atoms are ionized by electron impact, using the Corona data 2.1.5 and 2.3.9, respectively, from reference [23], and with constant electron energy loss per ionization of 13.6 and 24.588 eV, respectively. D atoms also undergo resonant charge exchange with D+ ions, utilizing the cross section data for reaction 3.1.8 (loc.cit.).
The ISCDE parameters for CX processes are zero: = 00000 (or: = 00001, which has the same meaning because the fifth digit is presently irrelevant). The second digit (i.e., here = 0) controls the options for the velocity of the background ion going into the collision. For this choice the following model is activated:
With respect to ions going into a CX collision the ion velocity distribution fi(vi) is assumed to be an isotropic, mono-energetic distribution , with vi0 = √{1.5   kTi}, then shifted by vDrift,i.
The mean energy of ions undergoing charge exchange is taken to be 1.5·Ti eV plus the kinetic energy in their drift motion mi/2 (vDrift,i)2. This is used for the corresponding part in the CX momentum- and energy exchange rate coefficient. The reaction rate coefficient itself is evaluated as
〈σ·vrel〉 = σ(veff) ·veff
with an effective relative velocity

veff =

 

3/2 kTi/mi + (v0vDrift,i)2
 
This approximation to the rate coefficient, for this particular choice of fi, is almost exact. It is assuming that the effect of the scalar product −vi·v0 in the relative velocity between ion- and neutral velocity becomes negligible after integrating σvrel over solid angle, which it would indeed exactly if σ ∝ 1/vrel.
The velocity of the impacting ion is sampled, consequently, from a drifting, isotropic and mono-energetic distribution weighted by σ·|vrel|, with vrel the relative velocity between the two collision partners.
Alternatively to the weighting mentioned above, a rejection method can be used to avoid the weighting and still simulate the same collision integral. Check in subr. VELOCX to find out which of the two physically equivalent methods are in use.
Default reactions 5.3.1 and 6.3.1 (added in April 2006, to simplify input for pure He plasma simulations) are the two resonant charge exchange processes

He + He+He+ + He

He + He++He++ + He
The weighting (or rejection-technique) was absent in versions younger than 99 for this particular type of (default) charge exchange collision integral approximation, which, strictly speaking, had therefore led to a slight violation of the second law of thermodynamics (H-Theorem), due to an inconsistency between the in-scattering term (determined by σCX and the out-scattering term (determined by 〈σvrel〉) in the Boltzmann CX collision integral, although mass and energy had been strictly conserved in each collision.
Alternative to the choice ISCDE = 00000 made in the default model one may also use ISCDE = 01000 (with all the rest kept identical). In this case the rate coefficients are evaluated in the same way as described above, but neutrals emerging from CX collisions are sampled from the local drifting Maxwellian distribution of ion collision partners rather than from a drifting mono-energetic distribution.

For hydrogenic molecules (H2, D2, HT,...) or molecular ions (H2+, D2+, HT+,....) default dissociation, ionization and dissociative recombination data are available.
EIRENE uses the 6 reaction rates 2.2.5, 2.2.9, 2.2.10, 2.2.11, 2.2.12 and 2.2.14 from the data-set HYDHEL (loc.cit.) and again tries to identify the reaction products from the mass and nuclear charge number of the respective molecule IMOL (or test ion IION). In order to distinguish D2 from HT, is also uses the name TEXTM (or TEXTI), by looking for the appearance of the character "D" in the name (then: D2, or D2+) or for "H" or "T" (then: HT, or HT+). The default reaction kinetics are set as if they would have been specified by the following species blocks:
* ATOMIC REACTION CARDS  NREACI=
6
  1 HYDHEL H.2 2.2.9     EI  0  2
  2 HYDHEL H.2 2.2.5     EI  0  2
  3 HYDHEL H.2 2.2.10    EI  0  2
  4 HYDHEL H.2 2.2.12    EI  0  2
  5 HYDHEL H.2 2.2.11    EI  0  2
  6 HYDHEL H.2 2.2.14    EI  0  2
  7 AMJUEL H.8 2.2.14    EI  0  2
       .
       .
       .
* NEUTRAL MOLECULES SPECIES CARDS:  NMOLI SPECIES, NMOLI=
1
 1 D2        4  2  2  0  0  1  0  3
     1   115   113     0 00000
 -1.5400E 01  0.0000E 00  0.0000E 00  0.0000E 00
     2   115   121   000 00000
 -1.0500E 01  0.0000E 00  3.0000E 00  3.0000E 00
     3   115   111   *14 00000
 -2.5000E 01  0.0000E 00  5.0000E 00  5.0000E 00
* TEST ION SPECIES CARDS:  NIONI ION SPECIES, NIONI=
1
 1 D2+       4  2  2  1  0  1  0  3 -1
     4   115   111   *14 00000
 -1.0500E 01  0.0000E 00  4.3000E 00  4.3000E 00
     5   115   *24       00000
 -1.5500E 01  0.0000E 00  0.2500E 00  0.2500E 00
     6   115   121   000 30300
  7.0000E 00  0.0000E 00  7.0000E 00  0.0000E 00

As above, ∗ stands for the species index of the D+ bulk ion. Note that for reaction 6, the energy dependence of the cross section leads to a mean electron energy loss per event [ˉ(E)]el of about 0.88 ·Te, see reference [25]. This approximation is used in the default model for the electron energy loss Eel per collision and for the total kinetic energy release EK shared by the two product atoms. The reaction no. 7 above: AMJUEL H.8 2.1.14, provides values very close to this, by an independent fit to the correct electron energy loss for this process
〈σve Eel〉 =

Eel
 
·〈σve〉 = kTe 〈σve〉·
3/2 + d ln〈σve

d ln(kTe)

(4.2)
The velocity distribution of the dissociation products is isotropic in the center of mass system (taken to be the system moving with the incident molecule), and the dissociation energy is shared by the dissociation products so as to preserve momentum. I.e., in case of unsymmetrical hydrogenic molecules the two dissociation products to not receive the same share of the dissociation kinetic energy release, but instead this is distributed inversely proportional to their masses.
In case of mixed molecules, such as DT, HT or HD in case of default reaction models some rate coefficients are automatically splitt into two halfs and assigned to the proper product atomic particles.

For hydrogenic bulk ions (H+, D+, T+) default volume recombination rates are available [26].
Further examples
to be written

2.4.2  Neutral-Neutral collisions in BGK approximation

In the example considered here we have the 4 neutral-neutral collision processes: D on D2, D on D and D2 on D2, D2 on D. In input block 4 there are three BGK relaxation rate coefficients (note: the rate coefficient for D2 on D is equal to the one for D on D2, hence 3 rate coefficients are sufficient).
     .
     .   some 20 other reaction cards in this example
     .

 21 CONST  H.2           EL  1  1
 -2.1091E+01  0.2500E 00  0.0000E 00  0.0000E 00  0.0000E 00  0.0000E 00
  0.0000E 00  0.0000E 00  0.0000E 00  0.0000E 00  0.0000E 00  0.0000E 00
 22 CONST  H.2           EL  2  2
 -2.0589E+01  0.2500E 00  0.0000E 00  0.0000E 00  0.0000E 00  0.0000E 00
  0.0000E 00  0.0000E 00  0.0000E 00  0.0000E 00  0.0000E 00  0.0000E 00
 23 CONST  H.2           EL  1  2
 -2.0357E+01  0.2500E 00  0.0000E 00  0.0000E 00  0.0000E 00  0.0000E 00
  0.0000E 00  0.0000E 00  0.0000E 00  0.0000E 00  0.0000E 00  0.0000E 00

In input block 4a (for atoms), we specify 4 collision processes for D atoms. Process no. 3 and 4 are neutral-neutral collisions.
1 D         2  1  1  0  1 -1  1  4  (i.e.: 4 processes to be specified for this D atom)
     .
     .  2 other process decks, e.g. CX and electron impact ionization
     .
    21  2014   (=IBULK)   1001     0   111  (=IBGK , self collision)
 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00
    23  2214   (=IBULK)   1001     0   112  (=IBGK, cross collision with IMOL=1)
 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00

In input block 4b (for molecules), we specify 7 collision processes for D2. Process no. 6 and 7 are neutral-neutral collisions.
1 D2       4  2  2  0  0  1  0  7   (i.e.: 7 processes to be specified for this D2 molecule)
     .
     .
     .   5 other process decks.
     .
     .
    22  2114  (=IBULK)    1001     0   112   (=IBGK, self collision)
 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00
    23  2314  (=IBULK)    1001     0   111   (=IBGK, cross collision with IATM=1)
 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00

In input block 5 there are at least 23 bulk ion species in this example. Of those species no. 20 to 23 are "artificial" BGK species for neutral-neutral self collisions specified above by IBULK = 2014, 2114, 2214 and 2314 in blocks 4a and 4b above.
    .
    .
    .  19 other bulk ion species decks.
    .
    .
20 D(B)      2  1  1  0  1  1  0  0
21 D2(B)     4  2  2  0  1  1  0  0
22 DD2(B)    2  1  1  0  1  1  0  0
23 D2D(B)    4  2  2  0  1  1  0  0

2.4.3  Fitting expressions (IFTFLG)

The default fitting expressions (IFTFLG=0) are single or double polynomial expressions, as described in [23] or [24] for the databases HYDHEL and METHANE, respectively.
The following options are available in recent versions of the code:
a) for cross sections, rate coefficients, rates:
IFTFLG < 100 : rate coeff. or cross section, [cm3/s] or [cm2].
IFTFLG > 100 : rate = density * rate coeff, [s] (also used for spontaneous decay, e.g. radiative decay.
mod(IFTFLG,100) = 10: only one fitting coefficient is read, i.e. the cross section, rate coefficient or rate is constant.
b) for interaction potentials (elastic processes):
to be written

2.5  Input for Plasma Background


General remarks

The background medium (mostly plasma) consists of NPLS (sometimes in the code: NPLSI) different so called "bulk particle" species, also referred to as "bulk ions", by abuse of language,. It is described by several blocks of NSBOX data each, (i.e. one datum per grid cell), namely
From the assumption of quasi-neutrality, the specified charge numbers of each ion species, and the data for ni, an array of NSBOX data for the electron density ne (cm−3 ) (DEIN) is computed (see next subsection: "derived background data").

The unit vector b = ( b1 , b2 , b3 ) (BXIN, BYIN, BZIN), parallel to the magnetic field is set to (0.,0.,1.) by default, i.e. pointing in z- (or toroidal-) direction. The default magnetic field strength is |B|=1 T in all grid cells. This default setting may be overwritten by using the INDPRO(5) flag and the corresponding input parameters (see below). Here either a (radial or x-) B-field "pitch" profile can be selected (INDPRO(5)=1,...4, and geometry level LEVGEO=1,2,3), with pitch = B2/Btot = b2. From this a cell centered B-field unit vector is internally constructed, by assuming that the first set of coordinate surfaces (x- or radial surfaces) are flux-surfaces (B-field aligned and constant pitch). The magnetic field direction then has components (0., pitch,√{1pitch2}) in the three coordinate directions.
Currently only INDPRO(5)=3 profile option allows to define also the B-field strength (BFIN) [T], solely by the input flags described below.
Alternatively and in all other options an external data source for the B-field vector in cartesian coordinates (INDPRO(5)=5,...,7, all geometry levels LEVGEO) is used directly. In this latter case the transfer of magnetic field data (BXIN,BYIN,BZIN and BFIN) for each cell into EIRENE proceeds from user supplied profile subroutine PROUSR (INDPRO(5)=5) or, from external file (INDPRO(5)=6,7), via work array RWK, and then from subroutine PROFR).

The same applies to the "additional plasma profile array" ADIN, INDPRO(6), to permit usage of EIRENE output routines for plasma profiles such as pressure, energy fluxes, etc., which are not directly needed in an EIRENE run but which may be available from an external plasma code, here: INDPRO(6)=5,...,7 only.
It also applies to the space and species dependent weight function WGHT (to be used for non-analog sampling techniques, INDPRO(7)), which is defaulted to 1.0D0 for all cells and all NSPZ species, and it applies to the zone volume array VOL cm−3, INDPRO(12). Defaults are the cell volumes computed in EIRENE subroutine VOLUME from the standard mesh data.
Plasma data in the additional zones IADD, IADD=NSURF+1,NSURF+NADD outside the standard mesh are defaulted to the "EIRENE vacuum data" given below. Plasma data other than these in these zones have to be specified either explicitly in input block 8 (see below), or in the user supplied subroutine PLAUSR or with the INDPRO=7 option (see below, this section).
Cell volumes in the additional cell region are defaulted to 1.0 cm−3, unless INDPRO(12)=4, 5, 6, 7.
A standard mesh zone ICELL is automatically identified as a vacuum zone with regard to plasma species IPL (no collisions with the bulk particles IPL there, LGVAC(ICELL,IPL)=.TRUE., for electrons: IPL=NPLS+1)
if at least one of the following conditions is met:
for electrons: IPL=NPLS+1:
TEIN(ICELL) ≤ TVAC ,
DEIN(ICELL) ≤ DVAC
for bulk ion species IPL=IPLS:
TIIN(ICELL,IPL) ≤ TVAC,
DIIN(ICELL,IPL) ≤ DVAC
and for all background species, IPL=0:
LGVAC(ICELL,I)=TRUE for I=1,NPLSI and for I=NPLS+1.
The EIRENE vacuum data are defaulted (in subroutine PLASMA) to:
DVAC = 1.0000E 02 cm−3
TVAC = 2.0000E-02 eV
Furthermore, zero plasma drift velocities are set in cells which are treated as vacuum zones.
VVAC = 0.0000E 00 cm/s
Note: A cell can be considered a vacuum cell with respect to electrons, (LGVAC(...,NPLS+1) = TRUE), without being a vacuum cell for all background ions. This is because, by abuse of language, also neutral particle species may be used as background "ion" species (NCHARP = 0), to include neutral-neutral collisions, e.g., by the iterative option NITER (input block 1).

The Input Block

*** 5. Data for Plasma background
 NPLSI
 DO 51  J= 1, NPLSI

* read NPLSI species blocks with $ = P
 51 CONTINUE
 (INDPRO(J), J=1,12)
 IF (INDPRO(1).LE.5) THEN
 TE0  TE1  TE2  TE3  TE4  TE5
 ENDIF
 IF (INDPRO(2).LE.5) THEN
 (TI0(I)  TI1(I)  TI2(I)  TI3(I)  TI4(I)  TI5(I)  I=1,NPLSI)
 ENDIF
 IF (INDPRO(3).LE.5) THEN
 (DI0(I)  DI1(I)  DI2(I)  DI3(I)  DI4(I)  DI5(I)  I=1,NPLSI)
 ENDIF
 IF (INDPRO(4).LE.5) THEN
 (VX0(I)  VX1(I)  VX2(I)  VX3(I)  VX4(I)  VX5(I)  I=1,NPLSI)
 (VY0(I)  VY1(I)  VY2(I)  VY3(I)  VY4(I)  VY5(I)  I=1,NPLSI)
 (VZ0(I)  VZ1(I)  VZ2(I)  VZ3(I)  VZ4(I)  VZ5(I)  I=1,NPLSI)
 ENDIF
 IF (INDPRO(5).LE.5) THEN
 B0  B1  B2  B3  B4  B5
 ENDIF
 IF (INDPRO(12).LE.5) THEN
 VL0  VL1  VL2  VL3  VL4  VL5
 currently option INDPRO=6 and INDPRO=7 are not available for volumes.
 ENDIF


Meaning of the Input Variables for Plasma Parameters

The meaning of the variables in the bulk ion species cards is as in block 2.4 for the species cards specified there.
New options since 2003:
However, after the ID3 flag, there may be 2 additional input flags: (only for Eirene2003 and younger):
..... CDENMODEL NRE

Format: ....,1X,A10,1X,I2.
These flags, if included, control additional options to set the density, temperature and flow field of the selected species IPLS. If the string CDENMODEL is found here for a species IPLS, then, after reading the species and reaction cards for IPLS, one (default) or NRE further input cards are expected.
CDENMODEL = 'Multiply'
docu to be written
CDENMODEL = 'Constant'
docu to be written
CDENMODEL = 'fort.13'
Read data for this species from file fort.13.
The additional card (only one) reads (format 2I6):
ISP, ITP

ISP is the number of a bulk species on the file fort.13 (e.g. written in an earlier EIRENE run, see NFILEL option in input block 1). The parameters (fields of density, temperature, flow velocity) for species IPLS are set from those of species ISP on fort.13
ITP is the type of the particle, i.e., always: ITP=4 for this option. Internally set: ITP=4, bulk particle type, independent of input value for ITP.
CDENMODEL = 'fort.10'
Read data for this species from file fort.10.
The additional card (only one) reads (format 3I6):
ISP, ITP, ISTR

ISP, ITP is the number and type of a test particle species on the file fort.10, respectively, from stratum no. ISTR (i.e. written onto fort.10 either in the present run or an earlier EIRENE run, see NFILEN option in input block 1). The parameters (fields of density, temperature, flow velocity) for species IPLS are derived from from those of species ISP, ITP, ISTR on fort.10.
Note: at the end of a full EIRENE run the corresponding bulk particle profiles are reset to those evaluated in this run, for further use in post processing routines such as the diagnostic module (see Section 2.11), printout, plotting or iterative mode (input flags NITERI, NITERE, and user subroutine MODUSR, see Section 2.1)
CDENMODEL = 'Saha'
Set parameters from Saha-equilibrium of ionization states. The additional card (only one) reads:
ISP, ITP, ISTR, ....

to be written
CDENMODEL = 'Boltzmann'
Set parameters from Boltzmann-equilibrium of excited states. The additional card (only one) reads (format: 3I6,6x,2E12.4)
ISP, ITP, ISTR, G_BOLTZMANN, DELTA_E

docu to be written
CDENMODEL = 'Planck'
(only for background photons) to be written
CDENMODEL = 'Corona'
Set parameters from Corona-equilibrium. The additional card (only one) reads (format: 3I6,1X,A6,1X,A4,A9,A3,E12.4):
ISP, ITP, ISTR, FILNAM , H123 , REACTION, CR, A_CORONA

ISP, ITP is the number and type of a particle species, either one of the already defined bulk species IPLS: ISP=IPLS, (for ITP=4), or from the file fort.10 (for ITP=0,1,2 or 3) from stratum no. ISTR (i.e. written onto fort.10 either in the present run or an earlier EIRENE run, see NFILEN option in input block 1). The parameters (fields of density, temperature, flow velocity) for species IPLS are set from those of species ISP, ITP, ISTR.
This model then constructs a background species IPLS which is in corona-equilibrium with these ISP,ITP, ISTR particles.
CDENMODEL = 'Colrad'
set parameters from collisional radiative equilibrium, using reduced population coefficients from atomic database. The NRE additional cards read:
ISP, ITP, ISTR, FILNAM  H123 ....

ISP, ITP is the number and type of a particle species, either one of the already defined bulk species IPLS: ISP=IPLS, (for ITP=4), or from the file fort.10 (for ITP=0,1,2 or 3) from stratum no. ISTR (i.e. written onto fort.10 either in the present run or an earlier EIRENE run, see NFILEN option in input block 1). The parameters (fields of density, temperature, flow velocity) for species IPLS are set from those of species ISP, ITP, ISTR.
This model then constructs a background species IPLS which is the sum of NRE species in collision-radiative-equilibrium with these ISP,ITP, ISTR particles.
INDPRO
Flag-array for the type of profile. The last digit (between 1 and 9) controls the type of profile. A second digit and/or the sign control further options, as described below. INDPRO is an array of length 12. Each element in this array controls one particular input tally, namely:
INDPRO(1)
for TEIN
INDPRO(2)
for TIIN By the default (0 < INDPRO(2) < 10): one common Ti profile for all "bulk ion" species is set. I.e., read only one profile card.
New options since 2001:
Values of INDPRO(2) larger than 10: use only the last digit, and one Ti profile card must be read for each bulk ion species IPLS. For example: INDPRO(2)=15 or =25, means: one separate ion temperature must be specified for each bulk ion species, and the profile type is 5. (INDPRO(2)=-5 would do the same.)
INDPRO(3)
read NPLSI cards, for DIIN , IPLS = 1,NPLSI
INDPRO(4)
read NPLSI cards, for VXIN, VYIN, VZIN , IPLS = 1,NPLSI
New options since 2001:
By the default (0 < INDPRO(4) < 10): one separate flow field for each bulk species is set, velocity is given in cm/sec.
Negative value of INDPRO(4) means: Mach number units instead. The sound speed cs is taken to be the isothermal ion acoustic speed of species IPLS.
ABS(INDPRO(4) is then used as flag for the choice of profile type.
Values of INDPRO(4) larger than 10: use only the last digit, and only one common flow field is set for all bulk ion species. Note the difference to the Ti options: there the meaning of INDPRO larger than 10 was exactly opposite to the meaning here for the flow fields (due to historical reasons and for backward compatibility of input files. EIRENE had originally by default one single common ion temperature, but one flow field for each bulk ion species).
INDPRO(5)
for PITCH (later, in initialization phase, converted into cartesian unit B-field vector BXIN,BYIN,BZIN)
Pitch is defined as By/Btot (LEVGEO=1), Bθ/Btot (LEVGEO=2), or as Bpol/Btot (LEVGEO=3), where Bpol is the direction along the polygons.
New options since 2001: In case INDPRO(5)=3 (flat profile) the two redundant input parameters B2, B3 are used to define a constant B-field strength [T], see below under profile type INDPRO=3.
INDPRO(6)
for ADIN
INDPRO(7)
for WGHT (to be written)
INDPRO(12)
for VOL.
For the profiles no. 6 and 7 only the options INDPRO=5 or INDPRO=6 exist.
For the profile no. 12 (cell volumes) the options INDPRO(12) = 4, 5, 6, or INDPRO(12) = 7 are active options. For all other values of INDPRO for these latter four profiles the default profiles described above ("General remarks") are set.
For each profile up to 6 parameters P0 , ..., P5 are read, e.g. TE0, ... , TE5 for the Te -profile, TI0, ... , TI5 for the Ti -profile, and so on.
Depending upon the value of INDPRO one of the profile routines PROFN, PROFE, PROFS, ... etc. is called from subroutine PLASMA.
INDPRO = 1-4
 
NR1STM plasma data are defined on the one- dimensional zone-centered grid
RHOZNE(J), J=1, ...,NR1STM (NR1STM = NR1ST - 1 ) .
Vacuum data are specified in zone NR1ST.
These NR1ST data are copied NBLCKS times to define
NBLCKS identical profiles, totally : NBLCKS · NR1ST = NSURF data (subroutine MULTI).
Here the number of copies is NBLCKS = NMULT · NP2ND · NT3RD. see "Input Data for Standard Mesh" (block 2).
INDPRO = 1  
(see subroutine PROFN)
RHOSRF(1) ≤ x ≤ P5:
P(x) = P1+( P0 − P1 ) · ( 1 −( [(xRHOSRF(1))/(P5 − RHOSRF(1))] ) P2) P3

in particular :
x = RHOSRF(1) → P(x) = P0
x = P5 → P(x) = P1

P5 ≤ x ≤ RHOSRF(NR1ST) :
P(x) = P1 · exp(- (x - P5) / P4)
INDPRO = 2
 
(see subroutine PROFE)
RHOSRF(1) ≤ x ≤ P5 :
P(x) = P0 ·exp(- (x - P1) / P2)
in particular : x = P1 → P(x) = P0
P5 ≤ x ≤ RHOSRF(NR1ST) :
P(x) = P(P5) ·exp(- (x - P5) / P4)
(P3 : no meaning)
INDPRO = 3
 
(see subroutine PROFS, PROFS(P0,P1,P5,PVAC)
RHOSRF(1) ≤ x ≤ P5 : P(x) = P0
P5 ≤ x ≤ RHOSRF(NR1ST) : P(x) = P1
Parameters P2, P3, P4 have no meaning, except for the magnetic-field (INDPRO(5)=3): Here PROFS(P0,P1,P5,PVAC) is used to define the pitch angle profile, and it is also used to set the B-field strength (Tesla) by calling PROFS(P2,P3,P5,PVAC)
INDPRO = 4
 
read from input steam fort.P0
INDPRO = 5
 
EIRENE calls a user supplied plasma profile routine:
Subroutine PROUSR (RHO, INDEX, P0, P1, P2, P3, P4, P5, PVAC, NDAT).
NDAT data must be defined on
RHO(J), J=1,NDAT e.g. by using the profile parameters P0,...,P5 and any user supplied profile function. See section 3.6.
(NDAT=NSURF)
The flag INDEX is as for the "INDPRO = 6" option, see below, and sections 3.6 and 4 . It determines, which of the background medium profiles has to be provided at a particular call to subroutine PROUSR.
PVAC is the EIRENE vacuum value for the profile in question.
INDPRO = 6
 
EIRENE calls a the routine:
Subroutine PROFR (RHO,INDEX,N1I,N1,NDAT).
N1I (e.g., NPLSI) profiles, of NDAT= NSURF data each, are read onto RHO(I1I,J), J=1,NDAT, I1I=1,N1I from a work array RWK. N1 (e.g., NPLS) is the leading dimension of the array PRO as specified in the calling program. The data must be written onto array RWK in the initialization phase, e.g., in subroutine INFCOP or MODUSR. The location of a particular profile on this work array is determined by the value of INDEX, see section 4 below. By this option plasma parameters may directly be transferred into EIRENE from other files, e.g. from plasma transport codes.
NDAT (= NSURF) is the number of cells in the "Standard Mesh". Parameters in the additional cell region
ICELL=NSURF+1,...NSURF+NRADD
are set to the "EIRENE vacuum values"
For further details of subroutine INFCOP see 2.1 "Input Data for operating mode", input variable NMODE and sections 2.14 and 4 for an example.
INDPRO = 7
 
Same as INDPRO=6 option, except that NDAT=NSBOX rather than NDAT=NSURF. Hence in this case background data are read from RWK also for the additional cell region
ICELL=NSURF+1,NSURF+NRADD.

2.5.1  Derived Background Data

Given the data describing the background medium (plasma) in each cell (on common block COMUSR) a set of further, "derived background data" profiles is computed and stored also on COMUSR. This is done by a call to subroutine PLASMA_DERIV. The following quantities are defined there:
DEIN
Electron density (cm3), derived from all NPLSI ion densities and the charge states NCHRGP(IPLS) of each ion species.
EDRIFT
Kinetic energy (eV) in drift motion, for each background species IPLS, derived from the mass MASSP(IPLS) and the flow velocity VXIN,VYIN,VZIN.
LGVAC
Vacuum flag (logical) to identify regions, in which no collision data for all or certain background species are computed, i.e., the collisionalities are set to zero in these cells for those background species. See also explanation above, with respect to the EIRENE vacuum data TVAC,DVAC,VVAC.
NSTGRD
flag for special treatment of some selected cells
=0
default
=1
This cell is a dead cell, not to be seen by the particles (isolated from the computational domain. NSTGRD(ICELL)=1 can be specified in problem specific routines (...USR) or in routines interfacing EIRENE with external codes: INFCOP (code segment: COUPLE....)
=2
indicates that this cell belongs to a grid cut, i.e., is not a valid cell for particle tracing.
=3
indicates that this cell is not a real cell but only the storage position for spatially averaged tallies. E.g.: cell no. NR1ST, 2*NR1ST,....etc. .

2.6  Input Data for Surface Interaction Models


General remarks

An outline of surface interaction models in general terms was given in section 1.4. As for the implementation of such models in EIRENE, there are two parts to the surface interaction data block. The first part contains data which are general to the EIRENE reflection model ("Block for General Reflection Data"). The second part may be different for each surface element and thus must be specified for each reflecting "non-default" surface of the "standard mesh" and for each reflecting "additional surface". It is referred to as "Block for Local Reflection Data". If this block is missing and if the surface MSURF is neither transparent (ILIIN < 0) nor purely absorbing (ILIIN=2) nor a "mirror surface" (ILIIN=3) nor a "periodicity surface", (ILIIN ≥ 4) then the default reflection model (FeTarget, ... ) is activated for this surface.
The surface interaction model comprises the following information:
  1. pf (RPROBF): probability for reflection of a "fast" particle
    (= 0. for incident molecules),
  2. pt (RPROBT): probability for re-emission as "thermal particle"
    (with surface temperature, see the flags EWALL)
  3. pa (RPROBA): probability for absorption
    (surface sticking, pumping, etc...)
  4. ps : probability for (physical) sputtering
  5. pc : probability for (chemical) sputtering
  6. For the reflected "fast particles" and for the sputtered particles the type, species and the distribution of energy, polar and azimuthal angle must be given.
  7. For the re-emitted thermal particles the type, species and only the distribution of energy must be given; the angular distribution follows the cosine law by default.
All these data may be functions of incident energy Ein, of incident polar angle θin against the surface normal and of projectile and target species. The three probabilities pf, pt and pa must add up to 1; ps and pc are sputtering yields per incident particle and, thus, may occasionally be larger than 1. They are called a probability here only by abuse of language.
All this information is contained in each of three so called "Reflection Models", namely the "Database Reflection model" (see references [15], [16]), the "Modified Behrisch Matrix model" (references [13], [27]) or the "User Supplied Reflection model" (see section 3.3), and in several so called "Sputter Models" ([28], [29], [30].
These models may, to some extend, be modified by the input flags described here. For example, a surface may be purely absorbing (for all test particles incident onto it, ILIIN = 2 option), acting like a mirror for the neutral test particles, by the ILIIN = 3 option (see section 2.3A and 2.3B), or enforce periodicity, e.g., because of symmetry conditions (ILIIN ≥ 4 option). In these two latter cases all test particles of all species are reflected with the species unchanged, with probability one and elastically: Eout = Ein. In case of the "mirror reflection option" the normal component vn of the incident velocity vector v is reversed: vn → −vn. In case of a "periodicity surface" both the position and the speed unit vector are altered according to the specific periodicity of the configuration.
If, instead, a surface reflection model is chosen (ILIIN = 1), then some of the input flags described here (RECYCF, RECYCT, RECYCS, RECYCC) as well as the flags (RINTEG, EINTEG, AINTEG) may be used to modify conveniently the otherwise rather unhandy reflection data and formulas.

The Input Block for General Reflection Data

*** 6A. Data for General Reflection Models
 NLTRIM
``Path-Card" for TRIM surface reflection files"
 (machine specific, may be omitted)

If a "Path Card" is included, then read an arbitrary number of "Target-Projectile Specification Cards" of the format
 A_on_B

Up to NHD6 (see PARAMETER statements, section 3.1) data files for different Target-Projectile combinations can be read.
If no "Path Card" has been specified, or after the "Target-Projectile Specification Cards", continue reading:
 (DATD(I) I=1,NATM)
 (DMLD(I) I=1,NMOL)
 (DIOD(I) I=1,NION)
 (DPLD(I) I=1,NPLS)
 ERMIN  ERCUT  RPROB0  RINTEG EINTEG AINTEG

optionally, an arbitrary number of surface models, labelled by the character string ′modname′, may be read next.
SURFMOD_modname
    ILREF  ILSPT ISRS  ISRC
    ZNML EWALL EWBIN TRANSP(1,N) TRANSP(2,N) FSHEAT
    RECYCF  RECYCT  RECPRM  EXPPL  EXPEL  EXPIL
    RECYCS  RECYCC  SPTPRM  (this line may be omitted,
                             then: default sputter model, see below)
next: within each SURFMOD-sub-block there may be an
arbitrary number of lines
VARNAME  SPZNAME   VALUE
(format: CHARACTER*8,X,CHARACTER*8,*)


Meaning of the Input Variables

NLTRIM
TRIM database is used, if "Database Reflection Model" is specified in at least one block for local reflection data. Data are read from data-set FT21 (no "Path Card" specified, old option), or from the domain specified by the "Path Card" (new option, see next card). If the old option is used, then the complete TRIM file is read, containing the first 12 TRIM target-projectile combination data-sets listed in section 1.4, i.e., the files H_on_Fe to T_on_W.
If the parameter NHD6 < 12, (section 3.1) then only the first NHD6 files are read from FT21.
"Path Card"
This card is machine specific. If EIRENE finds a card containing the string 'PATH' or 'path', it assumes that this card specifies the path to the domain containing the TRIM surface reflection data files.
A_on_B
Name of a particular TRIM data file in the domain specified by the path card. E.g., H_on_Fe would include the data file for hydrogen onto iron into the EIRENE run. Up to NHD6 such "Target-Projectile Specification Cards" may be included. For a complete list of such files currently available see again section 1.4.
Note: if during a Monte Carlo simulation a projectile A hits a target B, for which no TRIM data file has been specified, but still NLTRIM=TRUE, then EIRENE searches the "closest" of all its TRIM data files (with respect to a reduced mass argument) and uses this target-projectile combination together with a reduced mass scaling of incident particle energy. Hence, a TRIM data set is chosen such that the reduced mass scaling factor is as close to one as possible amongst the files available.
DATD
distribution for sampling the species index of reflected or otherwise emitted atoms. The NATMI relative frequencies
DATD(IATM) IATM = 1,NATMI
are used to produce the corresponding cumulative distribution DATM in order to facilitate sampling (inversion method).
DMLD
as for DATD, but for molecules. Cumulative distribution is DMOL.
DIOD
as for DATD, but for test ions. Cumulative distribution is DION.
DPLD
as for DATD, but for bulk ions. Cumulative distribution is DPLS.
The activation of these distributions at surface events during the particle history generation process is controlled by the surface species index flags ISRF$, ISRT$ read in the species sub-blocks of section 2.4 and 2.5. By default the following conventions are used (and can be overruled by calls to subroutines REFUSR, SPTUSR only, see section 3.3):
ISRF$
fast particle reflection species flag:
> 0
If ISRF$ ≤ NATMI, then ISRF$=IATM, the species labelling index for the reflected fast atom.
If ISRF$ > NATMI not in use, warning and error exit.
= 0
no fast particle reflection for this species: pf = 0
< 0
not in use, warning and error exit.
ISRT$
thermal particle re-emission species flag:
incident atoms, test ions and bulk ions:
> 0
If ISRT$ ≤ NATMI, then ISRT$ = IATM, the species labelling index for the re-emitted thermal atom.
If ISRT$ > NATMI, then IATM is sampled from the distribution DATM(IATM).
= 0
no thermal particle re-emission for this species: pt = 0
< 0
molecule is re-emitted, and -ISRT$ is used to identify the species labelling index IMOL for the re-emitted molecule, exactly as described above for re-emitted atoms. The relevant sampling distribution for species index IMOL in case -ISRT$ > NMOLI is DMOL(IMOL).
incident molecules:
> 0
If ISRT$ ≤ NMOLI, then ISRT$ = IMOL, the species labelling index for the re-emitted thermal molecule.
If ISRT$ > NMOLI, then IMOL is sampled from the distribution DMOL(IMOL).
= 0
no thermal particle re-emission for this species: pt = 0
< 0
not in use, warning and error exit
These latter two surface-species index flags are considered to be particle properties, hence they are read in the particle specification blocks 2.4 and 2.5. The flags in the next card can be used to modify the pre-programmed fast particle reflection models, to some extend at least.
ERMIN
For incident particle energies below ERMIN, the "fast" particle reflection model is switched off. Only the "thermal" particle model is used.
ERCUT,RPROBF
 
These variables may be used to modify the default "Behrisch Matrix" reflection coefficients for particles incident on a surface at low energies Ein. The original data [13] are used only for Ein > ERCUT and for normal incidence ϑin = 0 .
In the range ERMIN < Ein < ERCUT the particle reflection coefficient pf (Einin = 0) is replaced by a smooth cubic interpolation curve pf (Ein) such that pf (0) = RPROBF .
The original "Behrisch Matrix" is recovered by setting ERCUT ≤ 0.
The next three flags modify the particle, energy and momentum reflection coefficients, and/or the resulting distributions in post-reflection energy and angle, respectively. These flags only apply to incident particles of type 1, 3, 4 and 5, i.e., not for incident molecules because for those RPROBF = 0 by default.
RINTEG
> 0
Fixed (independent of energy and angle of incidence) particle reflection coefficient.
The fast particle reflection probabilities RPROBF are set to pf=MIN(1−pa,RINTEG), regardless of the reflection model selected by the flag ILREF in block 6B. pa is kept as specified, and pt is then recomputed as pt = 1 − pfpa.
RINTEG ≥ 1 − pa enforces the fast particle reflection model for all un-pumped incident particles, i.e., RINTEG is internally reset to 1 − pa.
= 0
Default: fast particle reflection probability as defined by the reflection model chosen.
< 0
The fast particle reflection probabilities RPROBF are set to 1.0, i.e., even pumping is turned off (as distinct from the choice RINTEG=1.0, which would preserve the pumping speed at a surface).
EINTEG
> 0
Fixed (independent of energy and angle of incidence) energy reflection coefficient.
This choice replaces the energy random sampling procedure in the fast particle reflection model by an reflection assumption: Eout = Ein ·EINTEG.
= 0
Default: no modification of energy distribution in the reflection model for fast particle reflection.
< 0
elastic (Eout = Ein) reflection for all particles reflected according to the fast particle reflection model. Hence: same as EINTEG=1.0
AINTEG
  (not ready to use)
> 0
Fixed (independent of energy and angle of incidence) momentum reflection coefficient.
This choice replaces the angle random sampling procedure in the fast particle reflection model by a momentum reflection assumption such that, on average,: vout = vin ·AINTEG.
= 0
Default: no modification of angular distributions in reflection model for fast particle reflection.
< 0
not in use
Note:
Some "General Reflection Model" data of input block 6A are copied identically NLIMI + NSTSI times onto appropriately dimensioned arrays (with the same names) in order to make them dependent upon the surface labelling index as well.
The first index is then the species index, the second index is the surface number.
Presently this "localization option" is available for the flags
to be written

RF0USR or SP0USR of the user supplied reflection routine REFUSR; RF0USR and SP0USR are called in the initialization phase of an EIRENE run (see section 3.3).
By a similar strategy, some of the species independent flags in the next sub-block 6B can be made species-dependent. See, for example, RECYCF, RECYCT, RECYCS and RECYCC below.

*** 6B. Data for Local Reflection and Sputtering Models

The next 3 (or 4) lines comprise the sub-block for local reflection data. Such sub-blocks can be included in each "surface deck" (block 3A, 3B) to overwrite the default reflection model for each individual surface.
ILREF ILSPT ISRS ISRC
ZNML EWALL EWBIN TRANSP(1) TRANSP(2) FSHEAT
RECYCF RECYCT RECPRM EXPPL EXPEL EXPIL
RECYCS RECYCC SPTPRM (this line may be omitted
then: default sputter model, see below)

An arbitrary number of such sub-blocks of 3 (or 4) lines each may also be defined under a certain label "SURFMOD_modname" and be included in the input file in block 6 directly after the ERMIN,... deck
In blocks 3a and 3b surfaces may be assigned a particular local reflection model by a card reading SURFMOD_modname. Many surfaces may then be linked to the same surface reflection sub-block.
Example:
SURFMOD_BERYL_SPT_300K
     1     2     0     0
 9.04000E+02-2.60000E-02 0.00000E+00 0.00000E+00 0.00000E+00 2.80000E+00
 1.00000E+00 1.00000E+00 1.00000E+00 1.00000E+00 5.00000E-01 1.00000E+00
 1.00000E+00 1.00000E+00 1.00000E+00
SURFMOD_CARB_SPT_1153K
     1    12     0     0
 1.20600E+03-1.00000E-01 0.00000E+00 0.00000E+00 0.00000E+00 2.80000E+00
 1.00000E+00 1.00000E+00 1.00000E+00 1.00000E+00 5.00000E-01 1.00000E+00
 1.00000E+00 1.00000E+00 1.00000E+00
TRANSP1  D2      0.5000E 00
TRANSP2  T2      0.2500E 00
RECYCF   D       0.0000E 00
RECYCT   D2      0.9500E 00
SURFMOD_CARB_SPT_812K
     1     2     0     0
 1.20600E+03-7.00000E-02 0.00000E+00 0.00000E+00 0.00000E+00 2.80000E+00
 1.00000E+00 1.00000E+00 1.00000E+00 1.00000E+00 5.00000E-01 1.00000E+00
 1.00000E+00 1.00000E+00 1.00000E+00

Meaning of the Input Variables

ILREF
Flag for choice of local reflection model
= 1
TRIM database reflection model is used. NLTRIM must be .TRUE..
= 2
"modified Behrisch Matrix model" is used
= 3
user supplied reflection model (see section 3.3: Subroutine REFUSR)
Default: ILREF = 2
ILSPT
Flag for choice of local sputtering model
Let ILSPT = MN, with M and N single digit integers each. Then N controls the options for physical sputtering, and M controls chemical sputtering. See subroutine SPUTER.
N = 0
no physical sputtering at this surface
N = 1
constant physical sputtering rate (see parameter RECYCS below)
N = 2
modified Roth-Bogdansky formula for sputter yield, Thompson energy distribution and cosine angular distribution for emitted particles (see references [29] and [30]).
N = 9
(was option N=3 in Eirene-2004 and older)
user supplied sputtering model (see section 3.3: Entry SPTUSR to subroutine REFUSR)
M = 0
no chemical sputtering at this surface
M = 1
constant chemical sputtering rate (see parameter RECYCC below)
M = 2
"Roth formula" for chemical sputter yield, thermal distribution for emitted particles (see reference [31]), "weak flux dependence option A6".
M = 3
"Roth formula" for chemical sputter yield, thermal distribution for emitted particles (see reference [31]), "strong flux dependence option A7".
M = 4
"Roth formula" for chemical sputter yield, thermal distribution for emitted particles (see reference [31]), "new flux dependence option A8 (2004)".
M = 5
not in use
M = 6
"Haasz-Davis 1998 formula" for chemical sputter yield
M = 7
"Haasz-Davis 1998 formula" for chemical sputter yield, and multiplicative factor for flux dependence (Roth, 2004).
M = 9 (was option N=3 in Eirene-2004 and older)
user supplied sputtering model (see section 3.3: Entry SPTUSR to subroutine REFUSR)
Default: ILSPT=0
The next two surface-species index flags ISRS$ and ISRC$ control the species of sputtered particles. Hence they are considered surface properties and are read in the surface specification decks in blocks 2.3.1, 2.3.2 and/or 2.6.
ISRS$
sputtered particle species flag (physical sputtering).
> 0
both the sputtered particle and the reflected particle (if any) will be followed. Their contribution to surface particle and energy fluxes is stored in surface averaged tallies 1 to 24, i.e., sputtered particles are not explicitly distinguished from reflected particles in the balances. Furthermore the "sputtered flux surface tallies" 25 to 28 are updated. The species index of the sputtered particle (atom) is IATM=ISRS. Hence, on input, ISRS ≤ NATMI.
= 0
There is no physical sputtering for the particular surface element and incident species (note: ISRS=ISRS(ISPZ,MSURF), i.e., ps = 0 here.
Only the reflected particles are followed. Their contribution to surface particle and energy fluxes is stored in surface averaged tallies 1 to 24.
< 0
Same as ISRS > 0, however, the species index of the sputtered particle is determined automatically from comparing the charge and mass numbers of the atomic species (input block 4a) with the corresponding data of the surface element.
ISRC$
sputtered particle species flag (chemical sputtering).
> 0
both the sputtered particle and the reflected particle (if any) will be followed. Their contribution to surface particle and energy fluxes is stored in surface averaged tallies 1 to 24, i.e., sputtered particles are not explicitly distinguished from reflected particles in the balances. Furthermore the "sputtered flux surface tallies" 25 to 28 are updated. The species index of the sputtered particle (atom) is IATM=ISRC, if ISRC ≤ NATMI, or (molecules) IMOL, if ISRC = NATMI+IMOL and NATMI < ISRC ≤ NATMI+NMOLI. Hence, on input, ISRC ≤ NATMI+NMOLI.
= 0
There is no chemical sputtering for the particular surface element and incident species (note: ISRC=ISRC(ISPZ,MSURF), i.e., pc = 0 here.
Only the reflected particles are followed. Their contribution to surface particle and energy fluxes is stored in surface averaged tallies 1 to 24.
< 0
Same as ISRC > 0, however, the species index of the sputtered particle is determined automatically from comparing the charge and mass numbers of the atomic species (input block 4a) with the corresponding data of the surface element. I.e., in case of Carbon surfaces the sputtered particle is a C-atom, if such an atom has been specified in input block 4a
ZNML
= KLMN (4 digits)
KL
atomic weight of wall material. Note: the nearest integer of the mass number in the TRIM runs is used. For example, a copper target is specified in the TRIM files with an atomic weight of 63.54, and the corresponding TRIM file is used for surfaces with KL=64.
MN
nuclear charge number of wall material
Example: Carbon: ZNML=1206.
Example: Molybdenum: ZNML=9642.
Example: Copper: ZNML=6429.
Default: ZNML = 5.626E3 (stands for Fe).
EWALL
 
< 0
-EWALL = TW is a (surface-) temperature (eV) in a Maxwellian flux distribution for the thermal particle energy. The resulting mean energy is Emean = 2 ·TW.
> 0
+EWALL = Energy of mono-energetic (thermal) particles.
The relation between surface temperature TW and the mean energy of particles then reads EWALL = Emean = 1.5 ·TW.
= 0
Energy is sampled from a Thompson distribution, using the flag EWBIN (see below) as parameter for the surface binding energy
Default: EWALL = +0.0388 ( ≅ TW = 0.026 eV ≅ 300 K)
Note that the EWALL > 0 option enables EIRENE to include boundary conditions in "one speed transport equation" approximations, which often are of great interest in general linear transport theory.
EWBIN
see above, EWALL = 0 option.
Default: EWBIN = 0.0 (irrelevant for "Default Model")
TRANSP(1)
Semi-transparency for particles incident from the positive side. Renders a non-transparent surface (ILIIN > 0) semi-transparent. The probability for passing through the surface is TRANSP. Hence: the probability for reflection/re-emission etc. is 1-TRANSP.
Default: 0.0 (i.e., fully reflecting surface).
Irrelevant for transparent surfaces.
TRANSP(2)
Semi-transparency for particles incident from the negative side on a non-transparent surface.
Default: 0.0 (i.e., fully reflecting surface).
Irrelevant for transparent surfaces.
FSHEAT
surface sheath potential factor. The sheath potential is FSHEAT·Te, with Te the electron temperature at the point of incidence. This sheath potential is applied if ions (test ions or bulk ions) hit a non-transparent surface.
If FSHEAT ≤ 0.0, then a sheath potential computed from the local background plasma flow conditions is used (function SHEATH), assuming ambi-polar flow, a Boltzmann distribution for electrons and zero secondary electron emission. See section 1.5. In case of zero background plasma flow velocity at the place of incidence, a default of FSHEAT = 2.8 is used (corresponding to Te = Ti, and a single ion species D+ plasma flowing at ion acoustic speed parallel to the [(B)\vec]-field into the sheath.
Default: FSHEAT = 0.0
RECYCF
Multiplier for reflection probability RPROBF: The probability
pf = RPROBF for the fast particle reflection model is modified to
RPROBF = AMIN( RECYCF ·RPROBF, RECYCT) ,
where RPROBF was evaluated from the reflection model specified by ILREF.
The total recycling coefficient RECYCT = pf + pt is unchanged. Hence, by the use of RECYCF the probability for thermal particle emission pt is altered.
Default: RECYCF = 1 for incident atoms, test ions and bulk ions.
Default: RECYCF = 0 for incident molecules.
RECYCT
Recycling coefficient (must not be negative):
A fraction pf = RPROBF of the incident particles is reflected as described by the "fast particle reflection model".
The fraction pt = RPROBT (RECYCT - RPROBF) will be re-emitted by the "thermal particle reflection model".
The fraction pa = (1 - RECYCT) will be absorbed at the surface.
The flag RECYCT is used to specify surface pumping in the following way:
Let A be the surface area [cm2], then the pumping speed L [liters/s] for particles with temperature T [K] and mass m [AMU] is
L = A ·(1 − RECYCT) ·3.638 ·

 

T/m
 
If the surface area is given in [m2], L in [m3/s], then the numerical factor becomes 36.38 .
Note: RPROBF = 0 for incident molecules (ITYP=2) by default.
Default: RECYCT = 1. , i.e. pa = 0
RECPRM
free model parameter for user supplied recycling models ILREF=9.
Default: RECPRM = 0.
EXPPL
(only for ILREF = 2 option)
angular dependence of fast particle reflection coefficient. The formula
R( Φ) = 1 − (1 − RPROBF) ·cosEXPPL (Φ)
is used, e1 = EXPPL, see equation 4.38, where:
RPROBF
Reflection probability from "Behrisch Matrix" model, which is valid only for normal incidence.
Φ Angle of incidence against surface normal
R(Φ) Reflection probability for particles incident with angle Φ
note: R(Φ) = 1 for Φ = 90° and EXPPL > 0.
Default: EXPPL = 1. (recommended from a comparison with the TRIM database)
EXPEL
as EXPPL, but for the energy reflection coefficient.
Default: EXPEL = 0.5 (recommended from a comparison with the TRIM database). e2 = EXPEL, see equations 4.39 and 4.40
EXPIL
Index for angular distribution of re-emitted atom or molecule; affects both models ILREF = 1 and ILREF = 2
EXPIL = 0
 
cosine distribution, independent of choice of fast particle reflection model
EXPIL > 0
 
mixed cosine-specular model.
In case of ILREF=1 the angular distribution given by the database is used.
In case of ILREF=2 the specular contribution increases according to equations 4.41 with angle of incidence Φ and with e3 = EXPIL (recommended: EXPIL ≤ 1).
Default: EXPIL = 0.
RECYCS
The meaning of this flag for the "physical sputtering" options depends upon the value of the first digit N of ILSPT:
N=0
no physical sputtering, YIELD1 = 0. RECYCS is irrelevant.
N=1
constant physical sputtering yield, YIELD1 = RECYCS
N=2
RECYCS is a multiplier for the sputtered particle flux YIELD1. YIELD1 is computed from the incident species, energy, angle and surface parameters by the sputter model N=2. Hence: the sputtered particle yield YIELD1 as computed from subroutine SPUTER is modified to
YIELD1 = RECYCS ·YIELD1 .
N=9
RECYCS is a free model parameter, which can be used in the user supplied sputter model for any particular surface element.
Default: RECYCS = 1.
RECYCC
The meaning of this flag for the "chemical sputtering" options depends upon the value of the second digit M of ILSPT:
M=0
no chemical sputtering, YIELD2 = 0. RECYCC is irrelevant.
M=1
constant chemical sputtering yield, YIELD2 = RECYCC.
M=2
RECYCC is a multiplier for the sputtered particle flux YIELD2. YIELD2 is computed from the incident species, energy, angle and surface parameters by the sputter model M=2. Hence: the sputtered particle flux YIELD2 as computed from subroutine SPUTER is modified to
YIELD2 = RECYCC ·YIELD2 .
M=9
RECYCC is a free model parameter, which can be used in the user supplied sputter model for any particular surface element.
Default: RECYCC = 1.
SPTPRM
free model parameter for user supplied sputtering models N=3, M=3.
Default: SPTPRM = 0.
Note:
All data in a block for "local reflection data" are, in general, independent of the type and species of the incident particle. Some are, however, copied identically NPHOTI+NATMI+NMOLI+NIONI+NPLSI times onto appropriately dimensioned arrays (with the same names). This is currently done for the parameters:
    ISRS  ISRC
    TRANSP(1,...)  TRANSP(2,...)
    RECYCF  RECYCT  RECPRM  EXPPL  EXPEL  EXPIL
    RECYCS  RECYCC  SPTPRM

The first index is the species index, the second index is the surface number.
Overwriting local reflection data for some specific incident particle species can be done via a call to the entry RF0USR of the user supplied reflection routine REFUSR. This entry is called in the initialization phase of an EIRENE run, from subroutine REFLEC. Likewise, the entry SP0USR of the user supplied sputter routine SPTUSR is called in the initialization phase from subroutine SPUTER. For further details on user supplied surface interaction routines see section 3.3.
For example: RECYCT(3,5) is the recycling coefficient for incident species 3 onto surface no. 5.
If surface models are defined in input block 6 by the SURFMOD_modname label, (rather than individually for each surface in blocks 3a or 3b), then these variables may be made species dependent by adding an arbitrary number of lines to a SURFMOD-deck, each of which overwriting the specification for a particular particle species. The name of the species (blocks 4 and 5) must be uniquely determining one of the test particle or bulk species.
In the example of SURFMOD decks given above, e.g., the first such additional line overwrites the original value of TRANSP(1,...) (=0.0) for species D2 with the value 0.5. I.e., all surfaces, to which the reflection model modname=CARB_SPT_1153K is assigned, have a recycling coefficient =1.0 for all incident species, except for the D2 molecules, for which these surfaces are made transparent with probability 0.5, if these molecules are incident from the positive side. For T2 molecules incident from the negative side this transparency is set to 0.25. The other species dependent modifications in this SURFMOD deck are self-explaining.

2.7  Input data for Initial Distribution of Test Particles


General Remarks

The primary source (and: initial distribution of test particles, in time dependent mode) is given as a function Q(i, r, v ,t). Q is the density of the probability distribution from which the species index i , the starting point r , the velocity vector v and the starting time t are sampled in subroutine LOCATE. (i,r , v ,t) is the state of the starting particle, which then will be followed in subroutine FOLNEUT or FOLION. There are four types of sources (: "Strata") , namely Point sources, Line sources (to be written), Surface sources and Volume sources.
As the transport equation is linear, various sources of test particles can be treated subsequently and the responses can then be linearly superposed. EIRENE can handle up to NSTRA (see: PARMUSR, 3.1) different strata and prints output from each single stratum as well as from the sum over strata. The source strength is prescribed for each stratum separately (input card: FLUX(ISTRA),...). Subdividing the total source into such strata can be useful to increase the efficiency of the code, ("stratified source sampling", see any textbook on Monte Carlo integration), or if the contribution of such sub-sources is of interest by itself.
In order to facilitate sampling each stratum can be subdivided further into a number (NSRFSI) of "sub-strata". Random sampling is done by firstly sampling the sub-stratum ISRFSI, and then (conditional) the initial state of the test flight within this sub-stratum.
The total CPU resources (and storage for the census array, see section 2.13) are distributed over the strata. This distribution is controlled by some of the input flags in this input block, as described below. EIRENE stops working on a particular stratum if either the assigned CPU-time for this stratum has been reached (Message: "No further CPU time for this stratum"), or if all requested histories have been calculated (Message: "All histories for this stratum completed") or, in case of time dependent problems, if the storage on the census array of this stratum has been filled up (Message: "Census array filled for this stratum").

The Input Block

 *** 7. Data for primary sources
 NSTRAI
 INDSRC(ISTRA), ISTRA=1,NSTRAI
 ALLOC
 DO 70, ISTRAI=1,NSTRAI
   TXTSOU
   NLAVRP  NLAVRT  NLSYMP  NLSYMT
   NPTS  NINITL  NEMODS  NAMODS
   FLUX  SCALV   IVLSF  ISCLS  ISCLT  ISCL1  ISCL2  ISCL3  ISCLB  ISCLA
 *Species index distribution
   NLATM  NLMOL  NLION  NLPLS NLPHOT
   NSPEZ
 *Distribution in physical space
   NLPNT  NLLNE  NLSRF  NLVOL NLCNS
   NSRFSI
     DO 75, J=1,NSRFSI
       INUM    INDIM   INSOR   INGRDA(1)  INGRDE(1)
                               INGRDA(2)  INGRDE(2)
                               INGRDA(3)  INGRDE(3)
       SORWGT  SORLIM  SORIND  SOREXP  SORIFL
       NRSOR   NPSOR   NTSOR   NBSOR   NASOR   NISOR
       SORAD1  SORAD2  SORAD3  SORAD4  SORAD5  SORAD6
 75  CONTINUE
 Distribution in velocity space
   SORENI  SORENE  SORVDX  SORVDY  SORVDZ
   SORCOS  SORMAX  SORCTX  SORCTY  SORCTZ
 70 CONTINUE

Meaning of the Input Variables for primary sources

NSTRAI
Number of different sources (Strata), which are computed one after the other and are linearly superimposed at the end of the run.
(NSTRAI ≤ NSTRA, see "Parameter-Statements")
INDSRC
INDSRC(ISTRA)=0-5
the input data for stratum ISTRA are read here, but may be modified in some user routine (SAMUSR) or interface routine (INFCOP, at entry IF2COP(ISTRA))
INDSRC(ISTRA)=6
no input data for stratum ISTRA are read here. The definition of this stratum must be entirely in some problem specific routine (IF2COP, etc.). See section 3.4 for one such example, namely the default surface recycling source model as specified in coupled B2-EIRENE runs.
INDSRC(ISTRA)=-1
the input data for stratum ISTRA are read here, and no attempt is made to modify these. I.e. IF2COP(ISTRA) is not called.
ALLOC
Allocation of CPU-time to stratum weighted as
(1-ALLOC)*NPTS+ALLOC*FLUX
TXTSOU
Text to characterize the stratum (name of the source) on the printout file.
NLAVRP
= .TRUE. not in use
NLAVRT
= .TRUE. not in use
NLSYMP
= .TRUE.
Symmetrize profiles with respect to poloidal (y-) co-ordinate x2, i.e., with respect to the poloidal surface x2= PSURF((NP2ND+1)/2) in case NP2ND is an odd integer, or with respect to the cell center x2= PZONE(NP2ND/2) in case NP2ND is an even integer.
NLSYMT
= .TRUE.
ditto, but for toroidal (z-) co-ordinate, i.e., for toroidal surface
TSURF((NT3RD+1)/2) or TZONE(NT3RD/2) respectively.
NPTS
NPTS > 0: Maximum number of test particle histories.
If there is more than one stratum (NSTRAI > 1) then the total CPU-time NTIME (input block 1) will be distributed proportional to NPTS to the single strata. NPTS is the maximum number of test-particles only if sufficient CPU time is available. Otherwise a message "NO FURTHER COMPUTATION TIME FOR THIS STRATUM" is printed and the particle loop for the respective stratum is stopped.
NPTS = 0: this stratum is "turned off".
NPTS < 0: no limitation in the number of particles. The entire CPU time assigned to this stratum will be used up. (NPTS is reset to the largest integer on the machine. Hence: some care is needed here in case of multiple strata, in combination with the ALLOC-options to assign CPU time to individual strata).
NINITL
If NINITL > 0 : seed for initialization of random number generator. The results for all those individual strata can be reproduced exactly for which the same number of test-flights is computed as in a previous run.
If NINITL = 0 : no initialization of random numbers for the particular stratum. In case of the first stratum, the default initialization is used. Runs can only be reproduced, if the same number of test-flights is computed for each stratum. Somewhat weakened correlation between subsequent runs as compared to the NINITL > 0 option.
If NINITL < 0: truly random initialization (determined by machine clock). These runs cannot be reproduced exactly. Subsequent runs are uncorrelated. (E.g.: recommended for stochastic approximation procedures in nonlinear applications.
NEMODS
Flag to select one of the preprogrammed source energy conditional distributions given the source particle's position and species. (See: "distribution in velocity space", below)
NAMODS
Flag to select one of the preprogrammed conditional source angular distributions given the position, species and energy of the source particle. (See: "distribution in velocity space", below)
FLUX, SCALV
 
SCALV=0
(default) FLUX = Source strength in Ampere.
FLUX is the scaling factor for all surface- or volume averaged tallies.
FLUX is an "atomic flux" (or: an "atomic ion flux"). Each source particle may carry a different flux NPRT(ISPZ) (initial weight) depending on the species ISPZ (see below: distribution for the species index). NPRT is specified in the blocks 4 and 5. The total "atomic" source particle flux for each stratum is scaled to be FLUX. For example, a H2 molecule source, with NPRTH2 = 2, is treated as if a flux of FLUX/1.602E-19/2 H2-molecules per second is emitted, resulting in an equivalent "atomic flux" FLUX/1.602E-19 per second.
SCALV ≠ 0
The default scaling of tallies with FLUX can be overruled by this flag. The common scaling factor for all surface- and volume averaged tallies is determined such that one particular tally (selected by the ISCL..-flags described below) has the prescribed value SCALV. This determines the scaling of all other volume averaged and surface averaged tallies. By this option, for example, one can set the neutral particle density to a prescribed value in one particular cell. Hence, one can prescribe the local Knudsen number for nonlinear applications including neutral-neutral interactions.
IVLSF
=1
The following ISCL..-flags select one particular volume averaged tally
=2
The following ISCL..-flags select one particular surface averaged tally
ISCLS
species index of selected tally
ISCLT
tally number of selected tally (refer to tables 5.2,5.3)
ISCL1, ISCL2, ISCL3, ISCLB, ISCLA
 
IVLSF=1
 
cell numbers NRCELL, NPCELL, NTCELL, NBLOCK, NACELL, respectively.
if (NPCELL = 0) or (NTCELL = 0), then ISCL1 = NCELL, the cell number in the 1-dimensional arrays (see end of section 2.2.1).
The additional cell region is specified by NRCELL=0, NPCELL=1, NTCELL=1, NBLOCK=NBMLT+1 (see section /refsec2.2) and the proper value of NACELL.
IVLSF=2
to be written

Distribution for the species index

NLATM
= .TRUE.
Atomic source. History starts in subroutine FOLNEUT with type index ITYP=1, species index ISPZ = IATM and initial weight NPRTA(IATM) (see block 4A)
NLMOL
= .TRUE.
Molecule source. History starts in subroutine FOLNEUT with type index ITYP=2, species index ISPZ = IMOL and initial weight NPRTM(IMOL) (see block 4B)
NLION
= .TRUE.
Test ion source. History starts in subroutine FOLION with type index ITYP=3, species index ISPZ = IION and initial weight NPRTI(IION) (see block 4C)
NLPHOT
= .TRUE.
Photon source. History starts in subroutine FOLNEUT with type index ITYP=0, species index ISPZ = IPHOT and initial weight NPRTPH(IPHOT) (see block 4D)
Not all options for direct photon sources are fully programmed. Currently we mostly use the bulk particle volume recombination source (see next) to simulated radiative decay from excited states as birth profile for (bound-bound) line-photons.
NLPLS
= .TRUE.
Bulk ion source. Initial co-ordinates of a bulk ion with species index ISPZ = IPLS and initial weight NPRTP(IPLS) (see block 5) are generated, then a surface reflection model or a volume re-combination model is called and atoms, molecules or test ions with species index either IATM, IMOL or IION are created.
One and only one of these five variables must be .TRUE. .
NSPEZ
Species index of the source particle
1 ≤ NSPEZ ≤ NATMI, NMOLI, NIONI, NPLSI
 
NSPEZ is the (fixed) species index of the source particle. No random sampling for the species index is done.
NSPEZ > NATMI, NMOLI, NIONI, NPLSI
 
(depending upon the type of the source particle) the species index is sampled from the distribution DATM, DMOL, DION, DPLS, respectively. The distributions DATM, DMOL, DION and DPLS are read in the block "Data for General Reflection Models".
NSPEZ = 0
 
the species index of the particle is directly sampled from the "analog distribution" WEISPZ, i.e., no biased source species sampling. WEISPZ is defined internally by the code.
NSPEZ < 0
 
The distributions DATM, DMOL, DION and DPLS are considered as biased source species distributions, whereas the analog (physical) distribution is provided automatically by the array WEISPZ from the source sampling routines SAMPNT, SAMLNE, SAMSRF or SAMVOL respectively. An appropriate weight correction is carried out after sampling from DATM, DMOL, DION or DPLS, respectively, in subroutine LOCATE.
The distribution WEISPZ is defined only for NLPLS=TRUE sources, and here only for volume re-combination sources, or for surface re-combination sources (see below, this section). It is set according to the local bulk ion composition.
(This, currently, does not work for volume recombination sources.)
In all other cases NSPEZ must be positive.

Distribution in physical space

NLPNT
= .TRUE. Point Source
NLLNE
= .TRUE. Line Source
NLSRF
= .TRUE. Surface Source
NLVOL
= .TRUE. Volume Source
One and only one of this 4 variables must be .TRUE.

Point source
Flags for the "distribution in physical space" not mentioned here are irrelevant for point sources.
NPNTSI
Total number of different points, over which the starting points for this stratum are distributed.
INUM
irrelevant; labelling index
SORWGT
Relative frequency for starting point labelled INUM The sum of SORWGT for all NPNTSI points is normalized to one internally.
NRSOR
> 0
x- or radial cell number NRCELL of the zone containing the point source.
= 0
NRCELL is found automatically from the "standard mesh" zoning.
NPSOR
ditto, for y- or poloidal cell number NPCELL
NTSOR
ditto, for z- or toroidal cell number NTCELL
NBSOR
standard mesh block number NBLOCK. Defaulted to NBLOCK = 1, if NBSOR ≤ 0
NASOR
additional cell number NACELL, if point source is located outside the standard mesh. Defaulted to NACELL = 0, if at least one of the variables NRCELL, NPCELL or NTCELL are larger than zero.
NISOR
polygon index IPOLG. Meaningless if NLPLG = .FALSE.
SORAD1
x-co-ordinate of source point X0
SORAD2
y-co-ordinate of source point Y0
SORAD3
z-co-ordinate of source point Z0
SORAD4, SORAD5, SORAD6
 
are the x,y and z coordinates of a vector C = (CRTX,CRTY,CRTZ) which may be used to distinguish one particular direction for the distribution in velocity space (see below). Internally this vector is normalized to length 1. Irrelevant for an isotropic velocity distribution.

Line source
to be written

Surface source
Flags for the "distribution in physical space" not mentioned here are irrelevant for surface sources.
NSRFSI
Total number of different surfaces, over which the starting points for this stratum are distributed.
INUM
irrelevant; labelling index
INDIM
= 0
source on "additional surface" ASURF (see block 3B)
= 1
source on "standard surface" RSURF, x- (or radial) mesh
(see block 2A and 3A)
= 2
source on "standard surface" PSURF, y- (or poloidal) mesh
(see block 2B and 3A)
= 3
source on "standard surface" TSURF, z- (or toroidal) mesh
(see block 2C and 3A)
= 4
source on a surface composed of one or more segments of radial and/or poloidal polygons. The further details of the spatial distribution are defined in code coupling routines, i.e., the code coupling routine IF1COP must be called. Special versions of IF1COP are available, e.g., in the code segments COUPLEB2, COUPLEB2.5 (coupling to BRAAMS multi-fluid plasma code) , COUPLEDIVIMP (coupling to DIVIMP impurity ion kinetic transport code) or COUPLEUfile (TRANSP-code format).
The position on the surface is sampled from a (piecewise constant) step function defined from plasma fluxes onto that surface vs. arclength. The flags INSOR, INGRDA and INGRDE described below are set automatically in this option and hence need not be specified.
INSOR
number of the surface in the mesh RSURF, PSURF, TSURF or ASURF respectively. (Redundant in case INDIM=4)
INGRDA, INGRDE
same as IRPTA, IRPTE flags in input block 3a. Defines subrange on standard surfaces, on which the source is distributed. Irrelevant for sources on additional surfaces.
SORWGT
Relative frequency for starting points on surface labelled INUM. The sum of SORWGT for all NSRFSI surfaces is normalized to one internally.
SORLIM
= KLMN
if SORLIM ≤ 0, the user supplied Subroutine SAMUSR is called to sample all 3 initial co-ordinates (X0,Y0,Z0), see section 3.4.
if SORLIM > 0, then one of the preprogrammed options is used (the digits L,M and N are relevant only for surface sources). In this case:
N
Index to select one of the preprogrammed distributions in radial or x-direction on the surface.
M
Index to select one of the preprogrammed distributions in poloidal or y-direction on the surface.
L
Index to select one of the preprogrammed distributions in toroidal or z-direction on the surface.
K
Index to select one of the preprogrammed distributions for the starting time.
M,N,L = 0
 
The respective co-ordinate is computed from the 2 others and from the equation for surface number INSOR.
Thus, one and only one of these 3 digits must be equal to 0, because the birth-point for a surface source is determined already by two co-ordinates and the labelling o index of the surface.
If INDIM=0, any one of the 3 digits can be the 0, depending upon the particular equation for the surface ASURF(INSOR).
In case INDIM=1, one has to set N=0, and the poloidal (or y) and toroidal (or z) co-ordinate is sampled according to the flags M and L.
In case INDIM=2 one must specify M=0, and L=0 has to be set in case INDIM=3.
L,M,N = 1
δ-distribution at (a+b)/2
L,M,N = 2
Uniform distribution on the interval [a,b]
L,M,N = 3
Truncated exponential decay with decay length λ on the interval [a,b]. I.e. the sampling distribution reads:
f(x) = c ·exp( − x/ λ) if x ∈ [a,b] and f(x) = 0 elsewhere,
with normalizing constant
c = { λ(exp[ −a/ λ] − exp[−b/λ])}−1
L,M,N = 4
Step-function (see below: Function STEP, subsection 2.7.1) (only one of either L or M or N should be 4)
K = 1
δ-distribution at TIME0 for time of particle birth. (A delta function source in time for the kinetic equation in integral form corresponds to an initial condition for time-dependent linear kinetic integro-differential equation).
K = 2
Uniform distribution in [TIME0,TIME0+DTIMV] for time of particle birth.
Default: K=2 in time-dependent mode (NTIME > 0) and K=1, TIME0=0 in time-independent mode (NTIME = 0), see section 2.1.
SORIND
Flag to choose one from the various step functions (option 4), which have been defined in the initialization phase. Up to NSTEP (PARMUSR, see section 3.1) step functions can be described there. SORIND is the labelling index of the selected step function.
Each step function ISTEP can consist of step functions for fluxes of up to NSPZ species, see 2.7.1. NSPZ depends upon the initialization of this function. By default the source species index NSPEZ is used when sampling from step functions.
New option (Aug. 2006): If SORIND ≥ 100, then the 3rd digit is used to choose the species index from step function ISTEP. I.e.: Let SORIND = LMN, then NM is used to sample from flux distribution for species ISPZ = L from step function ISTEP = NM.
SOREXP
Decay length λ in the exponential distribution (option 3)
SORIFL
The first of the 4 digits can be used to overrule the default orientation of the surface normal at the birth point, or if ILSIDE = 0 for this particular surface. If this digit is nonzero, a value 1 would lead to a test flight originating from the surface as if a particle has been incident onto this surface in the positive direction, and the value 2 means that this imaginary particle has been striking in the negative direction.
The last 3 digits of SORIFL act as LMN of the ILSWCH flag described in section 2.3B assuming incidence in the positive direction.
If any of this 3 digits equals zero, than the ILSWCH flag for this particular surface is activated. (See also: section 2.3B, input flag ILSWCH)
NRSOR
as for point source, but additionally:
If NRSOR < 0, NRCELL is found from the step-function data (see below: Function STEP, section 2.7.1) (if N is equal to 4) or is returned from SAMUSR (if SORLIM < 0)
NPSOR
as for point source, but additionally:
If NPSOR < 0, NPCELL is found from the step-function data (see below: Function STEP, section 2.7.1) (if M is equal to 4) or is returned from SAMUSR (if SORLIM < 0)
NTSOR
as for point source, but additionally:
If NTSOR < 0, NTCELL is found from the step-function data (see below: Function STEP, section 2.7.1) (if L is equal to 4) or is returned from SAMUSR (if SORLIM < 0)
NBSOR
as for point source, but additionally:
If NBSOR < 0, NBLOCK is found from the step-function data (see below: Function STEP, section 2.7.1) (if N is equal to 4) or is returned from SAMUSR (if SORLIM < 0)
NASOR
as for point source, but additionally:
If NASOR < 0, NACELL is found from the step-function data (see below: Function STEP, section 2.7.1) (if N is equal to 4) or is returned from SAMUSR (if SORLIM < 0)
NISOR
as for point source, but additionally:
If NISOR < 0, IPOLG is found from the step-function data (see below: Function STEP, section 2.7.1) (if N is equal to 4) or is returned from SAMUSR (if SORLIM < 0)
The six parameters in the next card SORAD.. are used to define the sampling intervals in the three co-ordinate directions x, y and z. For some geometry options and surface types (i.e., radial, poloidal, toroidal, or additional) these boundaries of the sampling interfaces, in some co-ordinates, are automatically found from the specified range [INGRDA, INGRDE] in the corresponding grid, and the corresponding SORAD... values are then not used for those coordinates. In case of doubt see initialization phase of subroutine SAMSRF to find out which options precisely are available, or contact the EIRENE team at FZ-Juelich.
Only in case of additional surfaces the information on this deck is always fully used.
SORAD1
Left endpoint a of interval [a,b] for x- or radial co-ordinate
SORAD2
Right endpoint b of interval [a,b] for x- or radial co-ordinate
SORAD3
as SORAD1, for y- or poloidal co-ordinate
SORAD4
as SORAD2, for y- or poloidal co-ordinate
SORAD5
as SORAD1, for z- or toroidal co-ordinate
SORAD6
as SORAD2, for z- or toroidal co-ordinate
The direction unit vector C for the velocity space distribution is by default the "positive outward normal vector" of surface INUM at the birth point by default, thus need not be specified for the surface source option. (see "Standard Mesh Surfaces" and/or "Additional Surfaces").

Volume source
Flags for the "distribution in physical space" not mentioned here are irrelevant for volume sources.
NSRFSI
Total number of subregions of the standard mesh in which the starting points for this stratum are distributed.
INGRDA, INGRDE
same as IRPTA, IRPTE flags in input block 3a. Defines subregion of standard mesh, on which the source is distributed.
SORLIM
if SORLIM ≤ 0, the user supplied Subroutine SAMUSR is called to sample all 3 initial co-ordinates (X0,Y0,Z0), see section 3.4.
If SORLIM > 0, then the preprogrammed option is used.
SORIND
identifies volume recombination reaction IRRC for bulk plasma species IPLS, as specified in input block 5, reaction decks for bulk ions. (E.g., to distinguish between effects from three-body, radiative and di-electronic recombination).
SORIND=KREC=IRRC
If more than one recombination process is specified for bulk ion species IPLS, then IRRC is the number of one particular such process, counted by the sequence of input in input block 5. See printout activated by the TRCAMD flag (block 11) for the correct value of IRRC in case of doubt.
In case SORIND=0 the sum over all relevant IRRC for the selected background species IPLS is taken as "`recombination'' source for IPLS. (Only for EIRENE version 2001 or younger).
Note: Both the source strength FLUX and the relative weight of subregions (if any) SORWGT are automatically determined from the volume source data on the atomic data array TABRC1(IRRC,ICELL).
SORAD1
parameter for user supplied sampling routine SAMUSR
SORAD2
parameter for user supplied sampling routine SAMUSR
SORAD3
parameter for user supplied sampling routine SAMUSR
SORAD4
parameter for user supplied sampling routine SAMUSR
SORAD5
parameter for user supplied sampling routine SAMUSR
SORAD6
parameter for user supplied sampling routine SAMUSR

Distribution in velocity space

Together with a position of a source particle also a specific vector C in velocity space is selected, e.g.: a surface normal vector for surface sources, or a preferential direction of emission from a point source or volume source, etc.
Let C = (CX,CY,CZ) be this direction unit vector defined together with the point of birth of the test particle.
Furthermore, a set of local plasma data ni, Te, Ti, V is either set [in case of step-function sampling, FUNCTION STEP, or in case of user-source-sampling (SAMUSR), i.e., if SORLIM < 0], or computed from the known cell numbers and the input background tallies at the place of birth.
Depending upon the value of the flag NEMODS, the following energy distributions f(E) are available. Note that f(E) may also depend upon the input parameters
SORENI, SORENE, SORVDX, SORVDY, SORVDZ
and on the birth position of the test particle via local plasma parameters Te , Ti , V. Both Ti and V may be different for different background ion species IPL. The choice of IPL is described below, digit K of the NEMODS flag.
Furthermore, let V and V|| be the components of the velocity drift vector V normal and parallel, respectively, to a (possibly fictious) surface element, the orientation of which is locally defined at the initial position of the test particle by the above mentioned "outward normal unit vector" C, see above.
NEMODS
= KLMN
The choice of one of the following energy distributions is made depending upon the value of the first digit N of NEMODS:
N = 1
Mono-energetic source f(E) = δ(EE0) with energy
E0 = SORENI (eV)
N = 2
Mono-energetic source f(E) = δ(EE0) with energy
E0 = SORENI ·Ti + SORENE ·Te
N = 3
Mono-energetic source f(E) = δ(EE0) with energy
E0 = SORENI ·Ti + SORENE ·Te + ESHEAT
and ESHEAT is given by equation 5.54 in section 1.
N = 4
Mono-energetic source f(E) = δ (E-E0) with energy
E0 = EMAX(Ti ,V⊥,i ,V||,i)
where EMAX is the mean energy from a truncated Maxwellian flux at temperature Ti shifted by a velocity
(V⊥,i ,V||,i).
One obtains by integration EMAX = γE Ti
with γE = (M2 + 2 + M||2 ) + 0.5[(g(M ) − 1)/(g (M ))] ,
M = V / √{ [(2 Ti)/(mi)] }, g(x) = 1 +√{π} x ( 1 + erf(x) ) exp(x2 )
N = 5
Mono-energetic source f(E) = δ(E-E0) with energy
E0 = EMAX(Ti ,V ,V||) + ESHEAT
N = 6
surface source
The velocity vector V0 = (VX0,VY0,VZ0) is sampled from a truncated Maxwellian flux fmax (Ti ,V, C) at temperature Ti and which is shifted by a velocity V . The flux is through a surface element described locally by the outward normal vector C. The mean energy from this sampling distribution is that given by option N=3.
point or volume source
The velocity vector V0 = (VX0,VY0,VZ0) is sampled from a truncated Maxwellian density distribution fmax (Ti ,V, C ) at temperature Ti and which is shifted by a velocity V
N = 7
(only for surface sources)
as 6, but additionally the particle is accelerated towards the target normal in a sheath by setting
V1 = V0 + VS, VS = VS ·C and VS such that
mi ·VS ( V0C) + [(mi)/2]VS2 = ESHEAT(ni,[(v)\vec]||,i ,Te),
i.e., the energy of the particle is increased by ESHEAT (eV) as compared to option N = 6. The sheath voltage is computed according to the sheath formula given in equation 5.54 in section 1.
N = 8
Mono-energetic source f(E) = δ(EE0) with energy
E0 = EFWL, with EFWL defined in connection with the spatial "step-function" option, see section 2.7.1.
N = 9
Mono-energetic source f(E) = δ(EE0) with energy
E0 = EFWL + ESHEAT. See option N=8 for EFWL,
and ESHEAT is given by equation 5.54 in section 1.
The choice of temperature parameters Te and Ti in the energy distributions N=4,5,6 or 7 of the plasma fluids entering the sheath region is controlled by the second digit M of NEMODS:
M =0
Te is the local electron temperature taken from input tally TEIN on the grid.
In case of NLPLS, the default parameter Ti is the local ion temperature for bulk ion species IPL, IPL is the species index of the source particle.
In case of NLION, the default parameter Ti is the local ion temperature for bulk ion species IPL, IPL is determined such that the mass and charge number and the charge state of the source particle IION match the mass, charge number and charge state of the bulk ion IPL. If no such bulk ion is found, Ti = 0.
These default choices of IPL can be overruled by the K digit of this input flag, see below.
In case of .not.(NLPLS.or.NLION), Ti =0.
M =1
The local ion temperature Ti is replaced by the input constant SORENI (eV) and Te is replaced by the constant SORENE (eV) in options N = 4 to N = 7.
M =2
not in use
M =3
Te is the local electron temperature, and Ti is the local background ion temperature of ion species IPL=K, K is the fourth digit of the NEMODS flag, see below.
The choice of velocity parameters V in the energy distributions N=4,5,6 or 7 is controlled by the third digit L of NEMODS:
L =0
In case of NLPLS, the parameter V is the local ion drift velocity for bulk ion species IPL, IPL is the species index of the source particle.
In case of .NOT.NLPLS, V =0.
L =1
The local drift velocity vector V is replaced by the constant vector (SORVDX,SORVDY, SORVDZ) (cm/sec), regardless of the point of birth.
L =2
The local drift velocity vector V is replaced by the constant vector (SORVDX, SORVDY, SORVDZ) · CS, where CS is the ion sound velocity for the species and at the temperatures chosen above (cm/s).
Therefore, (SORVDX,SORVDY,SORVDZ) are now understood as Mach numbers in x,y and z direction respectively.
L =3
V is the local background ion drift velocity of ion bulk species IPL=K, K is the fourth digit of the NEMODS flag, see below.
K options
 
The digit K (unless zero) is used to specify one of the background ion species IPL, from which the Ti(IPL), V(IPL) parameters in the sampling distributions described above are taken.
SORCOS, SORMAX
 
Depending upon the value of the flag NAMODS various different angular distributions may be selected. Each one depends upon the two parameter P = SORCOS and Q = SORMAX.
NAMODS = 1
 
The polar angle ϑ against the unit vector (CX,CY,CZ) of the source particle's velocity is sampled from a cosine**P distribution around the "inner normal vector" (-1.0) ·C, i.e., f( ϑ) d ϑ ∼ sin(ϑ) ·cosp ( ϑ) d ϑ.
Important special cases:
P = 0
isotropic distribution
P = 1
cosine distribution
P >> 1
close to δ-distribution around −1 ·[(C)\vec]
NAMODS = 2
 
The polar angle against −1 ·C is sampled from a Gaussian distribution with zero mean value, and the parameter P now is used for the standard deviation (degree) of that distribution.
The second parameter Q is the cut-off angle (degree) for the polar angle distribution
note:
Q ≤ 180° is enforced internally
Q ≤ 90° is enforced internally for surface sources
Q = 0 for a beam, i.e., for an angular δ-distribution at −1 ·C
SORCTX, SORCTY, SORCTZ
 
The vector C mentioned above is given by normalization of SORCTX, SORCTY, SORCTZ (if this vector is not zero) or else by the surface normal vector (in case of surface sources) or else by the default (1.,0.,0.) (point, line, or volume sources).
By this option, for example, the main direction of emission from a surface can be influenced. The new distribution of the polar angle is then not necessarily centered around the inner surface normal vector any longer, in case of surface sources.
In all preprogrammed cases the azimuthal angle (around the axis [(C)\vec]) is equally distributed from 0° to 360°.

2.7.1  Piecewise constant "Step-functions" for sampling

The statement:
A = STEP(NSPZI,NSPZE,NSMAX(ISTEP),ISTEP)
initializes step functions for random sampling by the inversion method, and the statement:
B = STEP1(IINDEX,ISTEP,RNF,ISPEZ)
converts a uniformly distributed random number RNF into a random number sampled from such step functions.

Sampling of the birth-point of a trajectory is sometimes done from piecewise constant functions (EIRENE function STEP(....) ), e.g., if one digit of the flag SORLIM has been set to the value 4. The random sampling of a coordinate u is from the step-function FLSTEP(RRSTEP). There is storage for up to NSTEP (see PARMUSR) such step-functions.
RRSTEP(i,ISTEP), i=1,...NSMAX(ISTEP)-1, is a discrete set of abscissae ui, at which the piecewise constant step-function has a jump to FLSTEP(RRSTEP(i)).
The final interval ends at RRSTEP(NSMAX(ISTEP),ISTEP)
Let RNF be a uniform random number on the interval
0 [=FLSTEP(RRSTEP(1))] to FLSTEP(RRSTEP(NSMAX)),
or on a sub-interval thereof.
By calls to the entry STEP1(IINDEX,ISTEP,RNF,ISPEZ) of Function STEP the randomly sampled index i=IINDEX is returned, as well as a coordinate u sampled from an uniform distribution on the ith increment ∆ui = RRSTEP(i+1,...)-RRSTEP(i,...): u=STEP1
In case of LEVGEO=1 or LEVGEO=2 u has the simple meaning of one of the spatial coordinates in an EIRENE run.
However, u need not necessarily be one of the 3 spatial coordinates. RRSTEP can also stand, e.g., for an arc-length along a polygon (LEVGEO=3), or for the cumulated length of an element in a selected list of sides of triangles (LEVGEO=4) or for the cumulated area of a surface element in a selected list of surfaces of tetrahedrons (LEVGEO=5). In these latter cases only the index IINDEX is used, and a point from an uniform distribution on the line-, or surface element, to which IINDEX points, must still be sampled.
FLSTEP is taken as cumulative sampling distribution, hence it is monotonically non-decreasing.
It is set in function STEP from a piecewise constant distribution function (e.g., from a surface flux density distribution), by integration over RRSTEP and normalization.
These step-functions have to be set in the initialization phase (by calls to function STEP from SAMUSR, INFUSR, etc.).
The initialization call to function STEP reads:
FLUX = STEP(NSPZI,NSPZE,NSMAX(ISTEP),ISTEP)
This call will initialize the step-function no. ISTEP, for species ISPZ=NSPZI, NSPZE.
In function STEP the distribution density FLSTEP is converted into a cumulative distribution by
FLSTEP(ISPZ,ISTEP,i) = ∑j=1j=i RRSTEP(j) ·FLSTEP(ISPZ,ISTEP,j)
for each species index separately. This cumulative flux-distribution is then in [Amp]
The cumulative distribution of the sum over the species index is stored on
FLSTEP(0,ISTEP,i), i=1,NSMAX(ISTEP).
After this FLUX=FLSTEP(0,ISTEP,NSMAX) is returned.
The cumulative distributions FLSTEP themselves are stored in module CSTEP.f, the normalized invers of the cumulative distributions, which are needed for random sampling, are only stored locally in function STEP.
Default initializations of functions STEP are carried out in the initialization of surface source sampling routine SAMSRF, entry SMSRF0.
Random sampling using such step-functions STEP is done, e.g., from surface source sampling routine SAMSRF, entry SMSRF1.
In addition to the value of the distribution FLSTEP(i) in each interval some further quantities may be defined as function of the interval index "i":
TESTEP
electron temperature at the surface segment "i"
TISTEP
ion temperature at the surface segment "i" (array of length NPLS )
DISTEP
ion density at the surface segment "i" (array of length NPLS)
IRSTEP
cell number in 1st (x or radial) grid of the surface segment "i".
IPSTEP
cell number in 2nd (y or poloidal) grid of the surface segment "i".
ITSTEP
cell number in 3rd (z or toroidal) grid of the surface segment "i".
IBSTEP
block number, see section 2e
IASTEP
additional cell number of the surface segment "i"
ELSTEP
ion energy flux at the surface segment "i" (array of length NPLS)

2.8  Additional Data for some Specific Zones


General remarks

Input data in this block permit explicit specification of plasma parameters Te , Ti , Di, Vx , Vy , Vz and of zone volumes VOL in selected cells ICELL. Furthermore, information may be given to the geometrical block of EIRENE that some "additional surfaces" are "invisible" for a particle located in cell ICELL and, therefore, possible crossings need not be checked for advancing this particle at the next step. (Intelligent use of this option can lead to a considerable speeding up of the code, less intelligent use will lead to dramatic errors.) All this information will be included in the EIRENE arrays after the initialization phase (Subroutines INPUT, PLASMA, GRID, VOLUME) and before setting the derived profiles (De, flux-surface labelling grids,...)

The Input Block

*** 8. Data for some specific zones
NZADD
DO 81 IZADD=1,NZADD
  INI INE

then read an arbitrary number of cards each starting with either T, D, V, M, VL or CH3 in any order
81  CONTINUE

The following specifications are applied to each cell with cell number ICELL in the range INIICELLINE.
"CH3-cards"
(format: 3A,69A)
arbitrary number of strings ± n/m, separated by blanks. n and m must be integer variables 1 ≤ n,m ≤ NLIMI. By default EIRENE assumes that any additional surface is "visible" from any cell of the computational box. A string n/m (or +n/m) has the effect that during particle tracing possible crossings of additional surfaces number n to number m are not checked whenever a track starts in cell ICELL. By -n/m these surfaces are activated again (in principle this option is not needed due to default setting). A particle history can be forced to stop and then to restart in a cell e.g. by making appropriate use of the ILIIN = -1 option for additional- or non default standard surfaces.
"T-cards"
T, IDION, TEADD, TIADD(IDION)
format: 1A,1I6,6X,2E12.4
plasma temperatures Te and Ti in cell ICELL are reset to:
TEIN(ICELL)=TEADD
TIIN(IDION,ICELL)=TIADD(IDION)
"D-cards"
D, IDPLS, DIADD(IDPLS)
format: 1A,1I6,6X,1E12.4
plasma ion density Di for species IDPLS in cell ICELL is reset to:
DIIN(IDPLS,ICELL)=DIADD(IDPLS)
"V-cards"
V, IDPLS, VXADD(IDPLS), VYADD(IDPLS), VZADD(IDPLS)
format: 1A,1I6,6X,3E12.4
plasma drift velocity in x direction Vx for species IDPLS in cell ICELL is reset to:
VXIN(IDPLS,ICELL)=VXADD(IDPLS)
VYIN,VZIN: likewise, for the drift velocities in y and z direction respectively.
"M-cards"
M, IDPLS, MXADD(IDPLS), MYADD(IDPLS), MZADD(IDPLS)
same as "V-cards", but drift velocity in cell ICELL is given in Mach number units:
VXIN = MXADD ·[(√{ Te + Ti })/(mi)] ,
mi being the mass of bulk ions of species IDPLS.
VYIN,VZIN are computed in the same way from MYADD and MZADD respectively.
"VL-cards"
VL, VLADD
format: 2A,1E12.4
The zone volume in cell ICELL is explicitly set to:
VOL(ICELL)=VLADD

2.9  Data for Statistics and non-analog Methods


General remarks

The statistical performance (FOM, "figure of merit", see equation 3.21 in section 1.3.3) of an EIRENE run (as for any Monte Carlo application in general) is very sensitive to the non-analog methods used by EIRENE. Therefore the input parameters in this block, which define the non-analog setting of an EIRENE run, should only be used, if the user has carefully worked through the code and has a detailed knowledge of the Monte Carlo techniques activated by setting the flags in this block.
Only the "Cards for Standard Deviation", which allow to obtain graphical and printed output regarding statistical standard deviation for all tallies estimated by EIRENE, can be used with no risk, except that evaluations of variances and covariances generally tend to slow down the code a bit (few percent) in case of large meshes.
Hence, as a rule, one should generally try to find the optimal setting of the non-analog sampling flags in this block and estimate the FOM from test runs, and then use this setting, but without evaluation of standard deviations, in production runs.
The input flag NLANA in block 1 (section 2.1) de-activates all non-analog sampling distributions. This option should, for example, be used to derive an intuitive but physically correct picture from plots of selected particle trajectories (input block 11, section 2.11), which otherwise, e.g. in case of suppression of absorption, may be grossly misleading.

The Input Block

*** 9. Data for Statistics and non-analog Methods
 (NLPRCA(IATM)  IATM=1,NATM) , (NLPRCM(IMOL)   IMOL =1,NMOL) ,
 (NLPRCI(IION)  IION=1,NION) , (NLPRCPH(IPHOT) IPHOT=1,NPHOT)
 NPRCSF
 next: read NPRCSF integers (FORMAT 12I6) IPRSF(J) J=1,NPRCSF
 MAXLEV  MAXRAD  MAXPOL  MAXTOR  MAXADD
 DO IN=1,MAXRAD
   READ (IUNIN,66665) ID,NSSPL(IN),PRMSPL(IN)
 ENDDO
 DO IN=1,MAXPOL
   READ (IUNIN,66665) ID,NSSPL(N1ST+IN),PRMSPL(N1ST+IN)
 ENDDO
 DO IN=1,MAXTOR
   READ (IUNIN,66665) ID,NSSPL(N1ST+N2ND+IN),PRMSPL(N1ST+N2ND+IN)
 ENDDO
 DO IN=1,MAXADD
   READ (IUNIN,66665) ID,NSSPL(N1ST+N2ND+N3RD+IN),
                        PRMSPL(N1ST+N2ND+N3RD+IN)
 ENDDO
 WMINV  WMINS  WMINC WMINL
 SPLPAR

* Cards for Standard Deviation
 NSIGVI  NSIGSI  NSIGCI  NSIGI_BGK  NSIGI_COP  NSIGI_SPC
 DO  93  J=1,NSIGVI
    IGH  IIH
 93 CONTINUE
 DO  94  J=1,NSIGSI
    IGHW  IIHW
 94 CONTINUE
 DO  95  J=1,NSIGCI
    IGHC(1,J) IIHC(1,J) IGHC(2,J) IIHC(2,J)
 95 CONTINUE


Meaning of the Input Variables for Statistics and non-analog Methods

NLPRCA
conditional expectation estimator (eq. 3.18) is used for atom species IATM
NLPRCM
conditional expectation estimator is used for molecule species IMOL
NLPRCI
conditional expectation estimator is used for test ion species IION (not ready to use)
NLPRCPH
conditional expectation estimator is used for photon species IPHOT (in versions 2004 and younger)
IPRSF
conditional expectation estimator is used, if trajectory points towards additional surface IPRSF. IPRSF ≤ NLIMI, the total number of additional surfaces read in input block 3B.
NPRCSF surfaces have that property of "attracting trajectories".
The next lines define so called Splitting and Russian Roulette surfaces (S&R-surfaces). Any test-particle crossing a S&R-surface in the negative direction is split into SPLPAR identical but independent particles with properly reduced weight. If a particle crosses a S&R-surface in the positive direction, then it is either killed or continues it's flight with properly increased weight. The surface orientation can be reversed by using a negative value for the the splitting parameter SPLPAR.
MAXLEV
Maximum number of levels for splitting ( ≤ 15)
MAXRAD
Total number of radial splitting surfaces (-NR1ST ≤ MAXRAD ≤ NR1ST)
MAXRAD < 0
-MAXRAD is used, the position of the radial splitting surfaces is automatically defined, and a constant splitting parameter (SPLPAR, see below) is used for radial splitting and RR.
MAXRAD > 0
radial surfaces with numbers NSSPL(IN), IN=1,MAXRAD are S&R-surfaces. The splitting parameter for surface NSSPL(IN) is PRMSPL(IN).
MAXPOL
Total number of poloidal splitting surfaces (0 ≤ MAXPOL ≤ NP2ND). The S&R-surfaces and splitting parameters are selected as in the case of radial surfaces, see above.
MAXTOR
Total number of toroidal splitting surfaces (0 ≤ MAXTOR ≤ NT3RD). The S&R-surfaces and splitting parameters are selected as in the case of radial surfaces, see above.
MAXADD
Total number of additional splitting surfaces (0 ≤ MAXADD ≤ NLIMI). The S&R-surfaces and splitting parameters are selected as in the case of radial surfaces, see above.
WMINV
minimum weight used for suppression of absorption at collisions ("survival biassing"). If a particle goes into a collision with weight less than WMINV, then suppression of absorption or any other non-analog weight correction is abandoned, and the analog game is played. WMINV acts only for events in the volume including volume source birth events, but not for events at surfaces.
WMINS
Same as WMINV, but for surface events (including surface source birth events).
WMINC
minimum acceptable weight for conditional expectation estimators (by abuse of language). More precisely, WMINC is the minimal acceptable probability for a test flight to reach a particular cell without collision. If this probability is smaller than WMINC, the particle track is stopped and restarted. E.g. for WMINC ≥ 1, the estimator used in the NIMBUS code results (ref. [11]), whereas for WMINC = 0 each particle path is integrated according to equation 3.18, until the nearest non transparent surface along the track is reached, regardless of any collisions. Periodicity surfaces are regarded as "transparent" in this context.
Note: strictly speaking this is not a non-analog method, but rather a particular choice of an unbiased estimator. Hence: the flag NLANA in input block 1 does not affect flags for conditional expectation estimators.
WMINL
to be written
SPLPAR
splitting parameter for default radial splitting option (MAXRAD < 0)
NSIGVI
number of standard deviation profiles for volume averaged tallies to be estimated. NSIGVI must be less than or equal to the parameter NSD in PARMUSR 3.1.
NSIGSI
number of standard deviation profiles for surface averaged tallies to be estimated. NSIGSI must be less than or equal to the parameter NSDW in PARMUSR 3.1.
NSIGCI
number of correlation coefficients between volume tallies to be estimated. NSIGCI must be less than or equal to the parameter NCV in PARMUSR 3.1.
NSIGI_BGK
if NSIGI_BGK > 0, then the standard deviations are evaluated for all tallies needed for the iteration procedure for the non-linear BGK collision terms. See subroutine STATIS_BGK in code segment BGK.F
NSIGI_COP
if NSIGI_COP > 0, then the standard deviations are evaluated for all tallies needed for the iteration procedure for the coupling to a plasma fluid model. The relevant tallies are selected in subroutine STATIS_COP in code segment COUPLE_....F, section 4.2
NSIGI_SPC
if NSIGI_SPC > 0, then the standard deviations are evaluated for all surface flux spectra defined in sub-block 10F below.
IGH
Index of species for selected volume averaged tally
IIH
Index of volume averaged tally for which empirical standard deviation is to be calculated (see table 5.2).
IGHW
Index of species for selected surface averaged tally
IIHW
Index of surface averaged tally for which empirical standard deviation is to be calculated (see table 5.3)
IGHC1 IIHC1 IGHC2 IIHC2
 
Species and tally index for first and second tally, respectively, between which the correlation coefficient is evaluated
Note: On printout the NSIGVI and NSIGSI standard deviations are printed as relative standard deviations, in percent. The standard deviations for the two tallies involved in the NSIGCI arrays are printed as absolute tallies, i.e., with the same units as the two tallies themselves.

2.10  Data for additional volume and surface averaged tallies


General remarks

There is a large number of preprogrammed "default" volume or surface averaged tallies, which have been selected mainly to allow assessment of global particle and energy balances for all test particle species, as well as coupling of neutral gas and plasma transport equations. These tallies are estimated at each EIRENE run unless they are explicitly abandoned by the surface crossing switches ILSWCH (section 2.3.2), or are turned off in input block 2.11.
There is, however, a very general option to allow for estimation of many more moments of the test particle μ -space distribution function by resorting to appropriately prepared problem specific routines UPTUSR, UPCUSR and UPSUSR. These are described in more detail in section 3.2. Furthermore there are options to form algebraic expressions from tallies, and, since Eirene2003 also for particle and energy flux spectra evaluated from the fluxes on selected surfaces or in selected cells of the computational grid. The input data in block 10 described here are flags for activating and controlling these routines.
Default: If the first card in this block: NADVI, ....., contains only zeros, then the rest of this block can/must be omitted.

The Input Block

*** 10. Data for additional tallies
NADVI  NCLVI  NALVI  NADSI  NALSI NADSPC

* 10A. Data for additional track-length estimated volumetric tallies
 DO 101 IADVI=1,NADVI
     IADVE(IADVI)  IADVS(IADVI)  IADVT(IADVI)  IADVR(IADVI)
     TXTTAL(IADVI,NTALA)
     TXTSPC(IADVI,NTALA)  TXTUNT(IADVI,NTALA)
 101 CONTINUE

* 10B. Data for additional collision estimated volumetric tallies
 DO 102 ICLVI=1,NCLVI
     ICLVE(ICLVI)  ICLVS(ICLVI)  ICLVT(ICLVI)  ICLVR(ICLVI)
     TXTTAL(ICLVI,NTALC)
     TXTSPC(ICLVI,NTALC)  TXTUNT(ICLVI,NTALC)
 102 CONTINUE

* 10C. Data for algebraic function of volumetric tallies
 DO 103 IALVI=1,NALVI
     ALSTRNG
     TXTTAL(IALVI,NTALR)
     TXTSPC(IALVI,NTALR)  TXTUNT(IALVI,NTALR)
 103 CONTINUE

* 10D. Data for additional surface crossing tallies
 DO 104 IADSI=1,NADSI
     IADSE(IADSI)  IADSS(IADSI)  IADST(IADSI)  IADSR(IADSI)
     TXTTLS(IADSI,NTLSA)
     TXTSPS(IADSI,NTLSA)  TXTUNS(IADSI,NTLSA)
 104 CONTINUE

* 10E. Data for algebraic function of surface crossing tallies
 DO 105 IALSI=1,NALSI
     ALSTRNG
     TXTTLS(IALSI,NTLSR)
     TXTSPS(IALSI,NTLSR)  TXTUNS(IALSI,NTLSR)
 105 CONTINUE

optional, in versions Eirene2003 and younger:
* 10F. Data for energy spectra
 DO 106 IADSP=1,NADSPC
     ISPSRF, IPTYP, IPSP, ISPTYP, NSPS, ISRFCLL, IDIREC
     SPCMN, SPCMX, SPC_SHIFT, SPCPLT_X, SPCPLT_Y, SPCPLT_SAME
     if (idirec.ne.0) SPCVX, SPCVY, SPCVZ
 106 CONTINUE

Meaning of the input variables for additional volume and surface averaged Tallies

NADVI
Total number of additional volume averaged, track-length estimated tallies
NCLVI
Total number of additional volume averaged, collision estimated tallies
NALVI
Total number of tallies defined as algebraic expressions of other volume averaged tallies
NADSI
Total number of additional surface averaged tallies
NALSI
Total number of tallies defined as algebraic expressions of other surface averaged tallies
NADSPC
Total number of surface or cell averaged energy spectra

2.10.1  Additional volume averaged tallies, tracklength estimator

IADVE
flag for scaling factor for this tally (carried out in subroutine MCARLO)
= 1
scale tally per unit volume [1/cm3]. The tally is printed and plotted in the units
[1/cm3] ·[units of g*] ·[cm] ·[source strength FLUX]
however, with FLUX converted to units [1/s] (rather than input units [Ampere]). For the definition of the detector functions g and g* see section 3.2, the variable FLUX is explained in input block no. 7. This scaling is default for "density tallies" of particles, momentum and energy.
= 2
scale tally per unit cell. Same units as above, however not per cm3 but per cell instead.
= 3
same as IADVE = 1, but with FLUX in Ampere, rather than 1/s. This scaling is default for "source rate tallies", e.g. for particle, momentum and energy sources.
= 4
same as IADVE = 2, but with FLUX in Ampere, rather than 1/s.
else
no re-scaling done, units as chosen in subroutine UPTUSR.
Note: scaling of EIRENE default tallies 1 to 6 (particle and energy densities, respectively) is as for IADVE=1 option. Scaling of all default source and sink terms is as for IADVE=3 option.
If instead also for particle- or energy densities tallies 1 to 6 the scaling IADVE=3 would have been used, then, for example, particle densities would have been in units [AMP ·s / cm3] ("atomic charge density") rather than [1/cm3]. Energy densities would have been in [W·s/ cm3] rather than [eV/cm3].
IADVS
species index of default volume averaged tally, which is to be replaced by this additional track-length estimated tally. In case of tallies with no species index, IADVS must be set equal to 1.
IADVT
number of default volume averaged tally, which is to be replaced by this tracklength estimated tally.
If either IADVS or IADVT is out of range, no default tally is replaced by this additional tally.
IADVR
If automatic re-scaling of volumetric tallies is performed (i.e. if NLSCL = TRUE), then re-scale this tally with EIRENE recommended factor FATM (IADVR = 1), FMOL (IADVR = 2) or FION (IADVR = 3) (see block 1 for the flag NLSCL and the variables FATM,FMOL,FION)
TXTTAL
Text to label tally on numerical or graphical output.
TXTSPC
Text describing the species of particles contributing for this tally in output routines.
TXTUNT
Text describing the units of this tally in output routines.

2.10.2  Additional volume averaged tallies, collision estimator

ICLVE
as IADVE above, for collision estimated tally (subroutine UPCUSR).
ICLVS
species index of default volume averaged tally, which is to be replaced by this collision estimated tally. In case of tallies with no species index, ICLVS must be set equal to 1.
ICLVT
number of default volume averaged tally, which is to be replaced by this collision estimated tally.
If either ICLVS or ICLVT is out of range, no default tally is replaced.
ICLVR
as IADVR above, for collision estimated tally (subroutine UPCUSR).
TXTTAL, TXTSPC, TXTUNT
: as above

2.10.3  Algebraic expression in volume averaged tallies

ALSTRNG
character string which is interpreted as an algebraic expression in some volume averaged tallies. An operant < i,j > stands for tally number j, first (species) index i, in tables 5.1 and 5.2. Note that the first index for tallies with no species index must read 1. Expressions < c > with an integer or real constant c are interpreted as scalars. The string may contain an arbitrary (but ≤ 20) number of operands, and of operators +,-,*,/,**, and of properly nested parentheses (...).
E.g., the total electron particle source due to test particle - plasma interaction in units: #/s/m3 can be obtained by the line:
( < 1,7 > + < 1,12 > + < 1,17 > ) * < 1.e6 > / < 1.6022e−19 >
in code versions older than 2002 (see tables in section 5.1.2), and the same expressions in versions 2002 and younger, i.e. after implementation of photons as further species type (and the related default tallies, tables in section 5.1.1):
( < 1,9 > + < 1,15 > + < 1,21 > ) * < 1.e6 > / < 1.6022e−19 >
and it would be stored on the tally: "ALGV" with the first (labelling) index IALVI.
Note that the cell volume array VOL is regarded as a volume averaged tally, by abuse of language (tally number = -14, see table 5.1).
TXTTAL, TXTSPC, TXTUNT
as above.

2.10.4  Algebraic expression in surface averaged tallies

as in sub-block 10A or 10B, but for surface averaged tallies rather than volume averaged tallies.
Note: for surface averaged tallies collision and track-length estimators are identical, see section 3.2.4.

2.10.5  Algebraic expression in surface averaged tallies

as in sub-block 10C, but for surface averaged tallies rather than volume averaged tallies. The corresponding tally numbers are listed in table 5.3.
There is one generalization available here compared to the options for volume tallies, which permits algebraic expressions not only between different complete surface tallies (expression evaluated for all NLIMPS surfaces), but also between different individual surfaces.
If the first index I is out of range, i.e., larger than the first dimension N1 of the tally J as listed in table 5.3, then the operant < I,J > identifies the following estimate:
surface index ILIMPS = (IN1−1)/N1 + 1
species index ISPZ = IILIMPS ·N1
The other way round: in order to identify species ISPZ and surface no. ILIMPS for a particular tally J, on must set:
first operand I = ILIMPS ·N1 + ISPZ
second operand J
The algebraic expression is stored on the ALGS tally for all surfaces ILIMPS, which occurred in at least one of the operands.
Example: let there be up to 3 atom species (N1=NATM=3), and assume, that additional surfaces 7,8,9,10 and 11 comprise the pump. Let furthermore IATM=2 stand for helium atoms. The total pumped flux of helium atoms from these surfaces is evaluated by the string:
< 23,1 > − < 23,2 > + < 26,1 > − < 26,2 > + < 29,1 > −
< 29,2 > + < 32,1 > − < 32,2 > + < 35,1 > − < 35,2 >
The value found for this expression is stored on ALGS (..,ISURF), and is the same for ISURF=7, =8, =9, =10 or =11, and zero for all other surfaces.

2.10.6  Energy spectra in selected cells or surfaces

ISRFCLL
flag to choose between surface and cell averages.
=0: surface averaged spectrum
=1: volume (cell) averaged spectrum
ISPSRF
number of surface or cell, for which spectra are to be evaluated. Positive for additional surfaces, negative for non-default standard surfaces.
IPTYP
Type of particle (0 for photons, 1 for atoms, 2 for molecules, 3 for test ions, 4 for bulk ions)
IPSP
species index of particle, within the specified type-category. If IPSP=0, then sum over species, for this type of particles.
ISPTYP
type of spectrum:
for surface averaged spectra (i.e. ISRFCLL=0):
flux-spectrum (ISPTYP=1) , [Amp/eV]
or energy-flux spectrum (ISPTYP=2) [Watt/eV]
Currently only "ingoing fluxes". Spectra for "outgoing fluxes" are not yet available.
for cell averaged spectra (i.e. ISRFCLL=1):
case a: no direction specified: IDIREC=0
energy distribution (ISPTYP=1) , [cm**-3/eV]
energy weighted energy distribution (ISPTYP=2) [eV*cm**-3/eV]
velocity weighted energy distribution (ISPTYP=3) [cm/s *cm**-3/eV]
case b: direction specified: IDIREC=1
velocity distribution along specified direction, binned in energy units (ISPTYP=1) , [cm**-3/eV]
energy weighted velocity distribution along specified direction, binned in energy units (ISPTYP=2) [eV*cm**-3/eV]
velocity weighted velocity distribution along specified direction, binned in energy units (ISPTYP=3) [cm/s *cm**-3/eV]
IDIREC, SPCVX, SPCVY, SPCVZ
These flags are only for cell averaged spectra (otherwise: not in use):
=0: no direction specified
=1: cell averaged spectra are along direction SPCVX, SPCVY, SPCVZ. The vector defining this direction is normalized internally.
NSPS, SPCMN, SPCMX
Number of equidistant energy bins (eV) for spectra. The contributions with energies below the minimum energy SPCMN are stored in bin no. 0, those with energies above the maximum energy SPCMX are stored in bin NSPS+1.
SPC_SHIFT
shift spectrum by SPC_SHIFT (eV) in printout and plots.
SPCPLT_X, SPCPLT_Y
to be written
SPCPLT_SAME
plot this spectrum into previous frame
The surface flux spectra are printed together with the other surface averaged tallies, for those surfaces, which are selected for printout in sub-block 11A. They are all automatically plotted as soon as at least one further volume tally plot (input sub-block 11B.2) is selected.

2.11  Data for numerical and graphical Output


General remarks

The input flags in this block control all the numerical and graphical output of an EIRENE run. This comprises diagnostics during the initialization phase (e.g. 2d and 3d geometry plots) as well as selected test particle histories printed and plotted during their generation. All numerical output of a run is arranged in so called "tallies". There are volume averaged tallies, surface averaged tallies ("surface crossing tallies") and global tallies. These latter tallies are derived from the former ones by integration over the total computational volume, or over all non-transparent surfaces, respectively.
Each volume averaged tally is an array TALLYV(I) of NSBOX data, comprising the responses for the respective detector function gV in each zone of the computational mesh (see section 2.2, "General Remarks").
Each surface averaged tally is an array TALLYS(I) of NLIMPS data, comprising the responses for the respective detector function gS integrated over each (non default standard or additional) surface.
Each volume or surface tally is characterized by its index ITALV or ITALS respectively, augmented by a first (species) index in some cases. The first index, if there is one, is always referred to as "species index" (by abuse of language), even for additional tallies ADDV or ALGV in which cases it might have a different meaning.
As for the volume tallies there are NTALV preprogrammed detector functions, up to NADV user supplied detector functions for track-length estimators (tally no. ITALV) and NCLV user supplied detector functions for collision estimators (tally no. ITALV). Furthermore there are NSNV snapshot tallies (tally no. ITALV), NCPV tallies for coupling with plasma background codes (tally no. ITALV) and NBGV tallies for the (non-linear) BGK collision integrals, needed for the iteration procedure (tally no. ITALV). Up to NALV algebraic expressions in these tallies (tally no. ITALV) can be stored.
There is also one tally no. 0, which is evaluated in subroutine TALUSR (section 3.7). This tally is printed immediately after evaluation, i.e., it is not put onto any storage (unless explicitly done so in subroutine TALUSR).
The input volume tallies for the background medium are listed in table 5.1. They are selected for printout or graphical output by the negative value of their tally number. E.g., the choice ITALV = 5 selects tally no. 5 from table 5.2, and the choice ITALV = -5 selects tally no. 5 from table 5.1.
Furthermore, there are NTALS preprogrammed detector functions for surface averaged tallies, and there may be up to NADS additional user supplied surface averaged tallies (tally no. ITALS).
The preprogrammed tallies and their default units are given in table 5.2 (volume averaged tallies) and in table 5.3 (surface averaged tallies).
Table 5.1 lists the NTALI (volume-) tallies which are computed from the input data in block 5 and which describe the background medium (plasma). By an abuse of language the cell volumes (cm−3) stored in the array VOL(I) are also referred to as an input volumetric tally (no. ITALI=13 in table 5.1).

The Input Block

* 11 Data for numerical and graphical output
* 11A Block for numerical output written on unit 6 (IUNOUT)
 TRCPLT  TRCHST  TRCNAL  TRCREA  TRCSIG
 TRCGRD  TRCSUR  TRCREF  TRCFLE  TRCAMD
 TRCINT  TRCLST  TRCSOU  TRCREC  TRCTIM
 TRCBLA  TRCBLM  TRCBLI  TRCBLP  TRCBLE
 TRCBLPH TRCTAL
 TRCSRC(J), J= 0, NSTRAI
 NVOLPR
 DO 101 J=1,NVOLPR
         NPRTLV(J) NFLAGV(J) NSPEZV(J,1) NSPEZV(J,2) NTLVFL(J)
 101 CONTINUE
 NSURPR
 DO 102 J=1,NSURPR
    NTLS NPRTLS(J) NFLAGS(J) NSPEZS(J,1) NSPEZS(J,2) NTLSFL(J)
 102 CONTINUE

optional: unless block 11B starts:
NLTVOUT
  NUMTAL(J),J=1,NLTVOUT  (12 values per card, FORMAT 12I6)
NLTSOUT
  NUMTAL(J),J=1,NLTSOUT  (12 values per card, FORMAT 12I6)

* 11B Data for graphical output
* 11B.1 Data for 2D and 3D Geometry plot
 PL1ST     PL2ND     PL3RD     PLADD  PLHST
 PLCUT(1)  PLCUT(2)  PLCUT(3)  PLBOX  PLSTOR
 PLNUMV    PLNUMS    PLARR
 NPLINR NPLOTR NPLDLR NPLINP NPLOTP NPLDLP NPLINT NPLOTT NPLDLT
 DO 1140 J=1,5
    PL3A(J)  TEXTLA(J) IPLTA(J) (IPLAA(J,I) IPLEA(J,I) I=1,IPLTA(J))
 1140 CONTINUE
 DO 1141 J=1,3
    PL3S(J)  TEXTLS(J) IPLTS(J) (IPLAS(J,I) IPLES(J,I) I=1,IPLTS(J))
 1141 CONTINUE
 CH2MX  CH2MY         CH2X0  CH2Y0  CH2Z0
 CH3MX  CH3MY  CH3MZ  CH3X0  CH3Y0  CH3Z0
 ANGLE1  ANGLE2  ANGLE3
 I1TRC  I2TRC  (ISYPLT(J)  J=1,8)  ILINIE

* 11B.2 Data for plots of volume tallies
 NVOLPL
 PLTSRC(J), J= 0, NSTRAI
 DO 116 N=1,NVOLPL
 optional: one text card starting with *...... to label the  plot
    NSPTAL(N)
    PLTL2D(N)  PLTL3D(N)  PLTLLG(N)  PLTLER(N)
    TALZMI(N)  TALZMA(N)  TALXMI(N)  TALXMA(N)  TALYMI(N)  TALYMA(N)
  IF (PLTL2D(NTL)) THEN
    LHIST2(N) LSMOT2(N)
    DO 118 I=1,NSPTAL(N)
       ISPTAL(N,I) NPTALI(N,I)  NPLIN2(N,I)  NPLOT2(N,I)
       NPLDL2(N,I)
    118 CONTINUE
  ENDIF
  IF (PLTL3D(N)) THEN
    LHIST3  LCNTR3  LSMOT3  LRAPS3  LVECT3  LRPVC3 LRAPS3D LR3DCON
    LPRAD  LPPOL  LPTOR
    DO 119 I=1,NSPTAL(N)
       ISPTAL(N,I)  NPTALI(N,I) IPROJ3(N,J)
       NPLI13(N,I)  NPLO13(N,I)
       NPLI23(N,I)  NPLO23(N,I) IPLANE(N,I)
    119 CONTINUE
    TALW1(N)  TALW2(N)  FCABS1(N)  FCABS2(N) RAPSDEL(N)
  ENDIF
 116 CONTINUE


Meaning of the Input Variables for numerical and graphical Output

* 11A. Block for numerical output written on unit 6
TRCPLT
Trace-back from plot routines
TRCHST
Printout of trajectories of selected test particle histories into geometry plots. These histories are selected by the flags I1TRC and I2TRC, see below, sub-block 11B.2.
TRCNAL
Trace-back for non-analog methods, i.e. splitting surfaces, suppression of absorption, weighted post-collision species sampling etc.
TRCMOD
Trace-back from routines for iterative mode (MODUSR, and problem specific routines call from MODUSR).
TRCSIG
Trace-back from line integral diagnostics block DIAGNO
TRCGRD
Printout of "standard mesh surface data"
TRCSUR
Printout of data for "additional surfaces"
TRCREF
Printout of reflection model related data. In particular a list of all non-perfect recycling surfaces is printed, i.e., a list of surfaces for which there is some absorption at least for one incident particle species.
TRCFLE
Trace-back from subroutines WRSTRT, WRGEOM, WRPLAS (writing on and reading from the dump files FT10, FT11, FT12, FT13 etc.
TRCAMD
Trace-back from atomic and molecular data routines
XSECTA, XSECTM, XSECTI
TRCINT
Traceback from user specified interfacing routine INFCOP, e.g. of data related to coupling of EIRENE to other codes.
TRCLST
Printout of information during the last history of each stratum. E.g., sampling efficiencies, and other accumulated information, which is only available in the history generation routines during particle tracing.
TRCSOU
Traceback from primary source sampling routines, e.g. from LOCATE, SAMPNT, SAMLNE, SAMSRF, SAMVOL and SAMUSR
TRCREC
Printout of EIRENE recommendations for next run on same case:
A) stratified source sampling, at present: for proportional allocation of weights.
B) weight windows, at present: to be written
TRCTIM
Printout cpu-time information for each history
TRCBLA
Global particle and energy balance for atoms is printed.
TRCBLM
Global particle and energy balance for molecules is printed.
TRCBLI
Global particle and energy balance for test ions is printed.
TRCBLP
Global particle and energy balance for bulk ions is printed.
TRCBLE
Global particle and energy balance for electrons is printed.
TRCBLPH
Global particle and energy balance for photons is printed.
TRCSRC(ISTRA), ISTRA=0,NSTRAI
 
The selected global, volumetric and surface crossing tallies are printed for those strata for which TRCSTR(ISTRA) = .TRUE.. In case TRCSTR(0) = .TRUE., the results after summation over all strata is printed for these tallies.
NVOLPR
Total number of volume averaged tallies to be printed.
NPRTLV
Index of the tally to be printed (first column in table 5.1 or 5.2). If the tally has a species index, it is printed for all species, for which the integral of the tally over the computational area is nonzero. Otherwise the statement
ZERO INTEGRAL FOR SPECIES ISPZ = ......
is printed below the header for this tally. The term "species index" is used here in general for the first index (if any) for any given tally. In case of some "additional tallies" or other tallies, in which the first index does not label a particle species but something else, this term "species index" then is to be understood in a more general sense.
If NPRTLV = 0, then the user defined post processing routine TALUSR is called (3.7.
NFLAGV
Flag to specify the level of printout.
=−1
print only header
=0
additionally: print global quantities (total and block averages)
=1
additionally: print 1D profiles (if any), averaged over all (if any) higher dimensions
=2
additionally: print 2D profiles (if any), averaged over all (if any) higher dimensions
=3
additionally: print 3D profiles (if any), averaged over all (if any) higher dimensions
=4
print 3D profiles, but no lower dimensional averages
NSPEZV
If NSPEZV(..,1) ≠ 0, then this tally is printed only for the species index range:
I1 = NSPEZV(...,1) to I2 = MAX(I1,NSPEZV(...,2)),
rather than for all species relevant for the specified tally.
NTLVFL
In addition to the standard output stream fort.IUNOUT, this tally is also printed onto output stream fort.NTLVFL, for all species selected, and also the corresponding standard deviations are printed, if available. The format for this extra output stream is specified in subroutine PRTTAL, in code segment EIRASS.
NSURPR
Total number of surfaces, for which surface averaged tallies are to be printed.
NTLS
Index of the surface to be printed. By default all tallies listed in table (5.3) are printed for this surface.
NPRTLS(J) NFLAGS(J) NSPEZS(J,1) NSPEZS(J,2)
These next flags are only needed for those surfaces, for which a further spatial resolution within one surface is provided (this is enabled by providing storage through setting the flag NGSTAL = 1 in input block 1). Their meaning then corresponds to the meaning of flags NPRTLV(J), NFLAGV(J), NSPEZV(J,1), NSPEZV(J,2) for volume tallies, respectively. If the NPRTLS,... flags are not specified (i.e.: default=0), then no spatially resolved surface tallies are printed.
NTLSFL(J)
The spatially resolved tallies (if any) and/or the flux energy spectra (if any, see input block 10F) are printed on additional output stream fort.NTLSFL(J) for this surface.
* 11B.1 Data for 2D plot of geometry
PL1ST
plot the x- (radial) standard grid surfaces into a 2D geometry plot
PL2ND
plot the y- (poloidal) standard grid surfaces into a 2D geometry plot
PL3RD
plot the z- (toroidal) standard grid surfaces into a 2D geometry plot
PLADD
plot the additional surfaces into a 2D geometry plot
PLHST
Plot the track of some selected test particle histories into the geometry plot (2D or 3D).
PLCUT
Flag for the choice of a plane, in which the 3 dimensional geometrical configuration is plotted in case of a 2D geometry plot. This plane may be defined by either x = CONST, y = CONST or by z = CONST.
PLCUT(1)
= .TRUE.
x = CONST ; plotting plane is the yz-plane.
y is the ordinate, z is the abscissa
PLCUT(2)
= .TRUE.
y = CONST ; plotting plane is the xz plane.
z is the ordinate, x is the abscissa
PLCUT(3)
= .TRUE.
z = CONST ; plotting plane is the xy plane.
y is the ordinate, x is the abscissa
PLBOX
plot box defined by surface inequalities in addition to valid part of surface
PLSTOR
produce file of coordinates along 2D projections of "additional surfaces" for later use in some graphics ("PATRAN format", also for RAPS-graphics, see below, sub-block: 11B3). These coordinates are stored on arrays XPL2D, YPL2D in subroutine STCOOR called from subroutine PLTADD.
PLNUMV
print cell number into standard mesh cells
PLNUMS
print numbers near additional surfaces
PLARR
plot arrows to indicate surface normal vector
CH2MX
horizontal half width of 2D plot window (cm)
CH2MY
vertical half width of 2D plot window (cm)
CH2X0
horizontal co-ordinate of midpoint of 2D plot window (cm).
CH2Y0
vertical co-ordinate of midpoint of 2D plot window (cm).
CH2Z0
distance CONST of plotting plane to origin.
NPLINR NPLOTR NPLDLR
 
radial standard surfaces with labels
IR1ST = NPLINR, NPLOTR, NPLDLR
are plotted.
NPLINP NPLOTP NPLDLP
 
poloidal standard surfaces with labels
IP2ND= NPLINP, NPLOTP, NPLDLP
are plotted.
NPLINT NPLOTT NPLDLT
 
toroidal standard surfaces with labels
IT3RD= NPLINT, NPLOTT, NPLDLT
are plotted.
* 11B.2 Data for 3D plot of geometry
CH3MX
half width of plot chamber in x- direction, used for 3D geometry plot
CH3MY
half width of plot chamber in y- direction, used for 3D geometry plot
CH3MZ
half width of plot chamber in z- direction, used for 3D geometry plot
CH3X0
x-co-ordinate of midpoint of plot-chamber in user co-ordinates, 3D geometry plot only
CH3Y0
y-co-ordinate of midpoint of plot-chamber in user co-ordinates, 3D geometry plot only
CH3Z0
z-co-ordinate of midpoint of plot-chamber in user co-ordinates, 3D geometry plot only
ANGLE1,ANGLE2
 
First and second viewing angle for 3D geometry plot
The following 5 cards specify up to 5 groups of additional surfaces to be plotted on the 3D geometry plot. Each group may consist of subgroups, and each subgroup is defined by an interval of additional surface labelling indices ILIMI, from the full range of all (i.e NLIMI) additional surfaces.
PL3A
logical flag, indicating if the additional surfaces specified in this card are to be plotted or not. If PL3A=.FALSE., the rest of this card is irrelevant
TEXTLA
text written onto plot, characterizing this group of additional surfaces
IPLTA
number of different subgroups of additional surfaces comprising this group
IPLAA,IPLEA
 
each subgroup consists of additional surfaces ranging from no.
IPLAA(J) to IPLEA(J), J=1,IPLTA
The following 3 cards reading PL3S,..... specify a group of standard mesh surfaces to be plotted on the 3D geometry plot. The meaning of the flags in each card is the same as above for the additional surfaces. The first card refers to the first (x or radial) standard mesh, the second card refers to the second (y or poloidal) standard mesh, the third card refers to the third (z or toroidal) standard mesh. Each group may consist of subgroups, and each subgroup is defined by an interval of standard surface labelling indices ISURF, from the full range of all (i.e NR1ST, NP2ND or NT3RD, resp.) standard surfaces.
I1TRC
Number of first particle history to be traced in printout and/or 2D or 3D plot
I2TRC
Number of last particle history to be traced in printout and/or 2D or 3D plot
ISYPLT(J), J=1,8
 
Indices to plot symbols along the particle tracks for different events. Up to 8 different events can be picked in any order in the array ISYPLT.
0
no symbol
1
symbol at particle's birth point (at primary source)
2
symbol at the point of an electron impact collision event
3
symbol at the point of a hard elastic collision event
4
symbol at the point of a charge exchange event
5
symbol at the point of a soft elastic collision event
6
symbol at an intersection with a "non-default" or "additional" surface
7
symbol at a non-analog particle splitting point
8
symbol at a non-analog particle killing point
("Russian Roulette")
9
symbol at a periodicity surface intersection point
10
symbol at restart after splitting
11
symbol at collision point saved for conditional exp. estimator
12
symbol at a continuation of track for cond. exp. estimator
13
symbol at a particle stopped at time limit (t-dep. mode)
14
symbol at a particle stopped at generation limit (t-dep. mode)
15
If an error is detected, by default a symbol is always plotted. Plotting this symbol cannot be abandoned.
ILINIE
 
≠ 0
connect two successive events by a straight line. If a continuation of a track is computed for the conditional expectation estimators, this part is represented by a dotted line, see eq. (1.2.5).
= 0
only symbols (if any selected) will be plotted along the history
* 11B3 Graphical output of volume averaged tallies
NVOLPL
Total number of pictures from volume averaged tallies.
PLTSRC(ISTRA), (ISTRA=0,NSTRAI)
 
Profiles of the selected volumetric tallies are plotted for those strata for which PLTSRC(ISTRA) = TRUE. In case PLTSRC(0) = TRUE, the summation over all strata is plotted for these tallies.
NSPTAL
Number of different "species" (quantities) to be plotted for this tally into one picture.
For 3D plots, NSPTAL = 1, except for the LVECT3 or LRPVC3 vector field options, in which case NSPTAL = 2. See below.
PLTL2D
Switch to activate a 2D plot
PLTL3D
Switch to activate a 3D plot
PLTLLG
The tally is plotted on a logarithmic scale.
PLTLER
Standard deviation is plotted if available. In case of 2D plot error bars are plotted along the curves. In case of 3D plot a full standard deviation profile is plotted on a separate picture.
TALZMI
Minimum ordinate value for the plot.
If TALZMI = 666.0 then the minimum is searched for in the data array.
Even if PLTLLG (log. scale), the true minimum ordinate value (not the logarithm thereof) must be specified.
If TALZMI = 666.0 and PLTLLG, ZMIN=1.E-48 is used as cut-off value.
TALZMA
like TALZMI, but maximum ordinate value for the plot.
If TALZMA = 666.0 then the maximum is searched for in the data array.
Even if PLTLLG (log. scale), the true maximum ordinate value (not the logarithm thereof) must be specified.
The following input variables are needed only if PLTL2D = TRUE
TALXMI, TALXMA
If both are zero, then the radial (x-) grid is used as abscissa for plotting (default).
if TALXMI < TALXMA, then a grid equidistant on a linear scale is used, TALXMI is then the minimum abscissa value for the plot, TALXMA is then the maximum abscissa value for the plot.
if TALXMI > TALXMA and both are positive, then a grid equidistant on a log. scale is used. TALXMI is then the minimum abscissa value for the plot, TALXMA is then the maximum abscissa value for the plot.
if TALXMI > TALXMA and at least one of them is negative, then a user defined grid XXP2D_USR is used. This must have been defined in one of the user-routines for this figure no. N=IBLD, i.e., the array XXP2D(J,IBLD) must have been set, J the grid index.
ISPZTL
Index of the species of the tally that will be plotted.
If ISPZTL = 0, the tally obtained by summation over its species index is plotted.
NPTALI
Index of tally to be plotted.
NPLIN2
Index of the first cell that is displayed on the plot, for 2D plot only.
NPLOT2
Index of the last cell that is displayed on the plot, for 2D plot only.
NPLDL2
Increment for the cell indices, for 2D plot only.
The following input variables are needed only if PLTL3D = TRUE
LHIST3
make a 3D histogram plot.
LCNTR3
make a contour plot.
LSMOT3
make a surface plot in a 3D cube.
LRAPS3
produce files for RAPS graphics system. If additional surfaces are to be indicated in these blocks, PLSTOR =.TRUE., see sub-block 11B1.
LVECT3
make a vector field plot.
NSPTAL must be 2 in this case. The first of these 2 tallies is taken as field of x - coordinates of the vector field to to be plotted, and the second tally is the y - coordinate field.
LRPVC3
produce files for RAPS graphics system for vector field plot. Co-ordinates of vectors as in LVECT3 option. If additional surfaces are to be indicated in these blocks, PLSTOR=TRUE, see sub-block 11B1.
LPRAD3
radial (x) co-ordinate is fixed. Plot tally versus poloidal (y) and toroidal (z) co-ordinate. See IPROJ3 flag below.
LPPOL3
poloidal (y) co-ordinate is fixed. Plot tally versus radial (x) and toroidal (z) co-ordinate
LPTOR3
toroidal (z) co-ordinate is fixed. Plot tally versus radial (x) and poloidal (y) co-ordinate
ISPTAL
species index of tally to be plotted. ISPTAL = 0 means: sum over species index.
NPTALI
Index of tally to be plotted.
IPROJ3
in case of 3d calculation, IPROJ3 is the index of the mesh cell of the grid, for which the corresponding co-ordinate is fixed. (See LPRAD3, LPPLO3, LPTOR3 flags above).
NPLI13
NPL013
NPLI23
NPLO23
TALW1
first viewing angle for 3D plot
TALW2
second viewing angle for 3D plot
FCABS1
FCABS2

2.12  Data for Diagnostic Module


General remarks

The data in this block are used to define a line-of-sight (LOS) across the computational domain, along which line integrals



LOS 
g(l) dl =
P2

P1 
g(l) dl
(12.3)
are evaluated. This is done in subroutine LININT, which is called from subroutine DIAGNO at the end (post processing phase) of an EIRENE run. The spatial dependence of the function g(l) is defined as function of one or more of the estimated volume averaged tallies (e.g., atom density), and/or input tallies (e.g. plasma temperatures). At present there are two (version 2004 and older) or three preprogrammed functions g(l), and the option to call a user supplied integrant. Firstly there are the Lyman- and Balmer series volume source rates (emissivity), see Subr. SIGAL. Secondly the neutral atom charge exchange source rate can be integrated along a line of sight for a given energy of the impacting plasma ion (Subr. SIGCX). This routine includes re-absorption along the line of sight. A LOS spectrum (also: "side-on spectrum") of up to NCHEN energies may be obtained by this procedure. Thirdly (version 2005 and younger) the side-on radiances of selected lines (photon test particle species), including reabsorption, can be obtained (Subr. SIGRAD).

The Input Block

*** 12. Data for Diagnostic Module
NCHORI  NCHENI
IF (NCHORI.GT.0) THEN
DO 121 ICHORI=1,NCHORI
  TXTSIG
  NSPTAL NSPSCL NSPNEW NSPCHR
  NSPSTR NSPSPZ NSPINI NSPEND NSPBLC NSPADD
  EMIN1  EMAX1 ESHIFT
  IPIVOT  XPIVOT  YPIVOT  ZPIVOT
  ICHORD  XCHORD  YCHORD  ZCHORD
121 CONTINUE
PLCHOR PLSPEC
ENDIF


Meaning of the Input Variables for Diagnostic Module

NCHORI
Total number of different line of sights
NCHENI
ABS(NCHENI) is the total number of energies, at which the spectrum is evaluated (irrelevant e.g. for total signals, such as Lyman and Balmer emissivity without line shape resolution).
The energy grid is equidistant on a linear scale, if NCHENI ≥ 0, and equidistant on a logarithmic scale otherwise.
TXTSIG
Text in printout at the beginning of the data from this line of sight integral.
NSPTAL
Flag for choice of preprogrammed function which is "line integrated".
= 1
charge exchange source rate (SIGCX)
= 2
Hydrogen line emission source rate (SIGAL)
= 3
spectral radiance of photonic lines (SIGRAD) (new in versions 2005 and younger)
= 10
user supplied integrand (SIGUSR)
(this was option NSPTAL =3, in versions 2004 and older)
NSPSCL
Flag for choice of linear or logarithmic axes in plots of spectra (vs. energy or wavelength, resp.) and of source term distribution along line of sight.
= 0
both axes linear
= 1
x axis linear, y axis logarithmic
= 2
x axis logarithmic, y axis linear
= 3
both axes logarithmic
NSPNEW
Flag for the choice whether a spectrum is plotted on the same picture as the previous one (NSPNEW = 0) or onto a new graph (otherwise).
NSPCHR
if .gt. 0: then automatically all cells along chord are identified, and energy resolved spectra (input block 10f) are computed in all these cells by automatically augmenting input block 10f correspondingly. These spectra are line-of-sight spectra in the direction of the chord specified here (direction SPCVX, SPCVY, SPCVZ in augmented input block 10f is taken to be a unit vector along this present line of sight).
NSPSTR
Index for stratum, which is to be used for line integration (NSPSTR = 0: sum over strata).
NSPSPZ
In case NSPTAL=1:
Index for atomic species IATM, with IATM ≤ NATM, for which charge exchange spectrum is to be computed (NSPSPZ = 0: sum over atom species index)
In case NSPTAL=2:
Number of contribution to line intensity, as programmed in Subr. BaAlpha, BaGamma, LyBeta, etc. (Currently up to 5 contributions for each line, and the total)
= 1
coupling to ground state: H(1s)
= 2
coupling to continuum: H+
= 3
coupling to: H2
= 4
coupling to: H2+
= 5
coupling to: H
= 6
total
In case NSPTAL=3:
Index for photon species (line), i.e. for IPHOT, with IPHOT ≤ NPHOT, for which side-on spectrum is to be computed (NSPSPZ = 0: sum over photon species index, not ready)
NSPINI
only for NSPTAL=1:
Multiplier for the maximum ion temperature found along line of sight, for temperature fitting
NSPEND
only for NSPTAL=1:
Multiplier for the maximum ion temperature found along line of sight, for temperature fitting
NSPBLC
Standard mesh block number of 2nd point on line of sight.
NSPADD
Additional cell number of 2nd point on line of sight.
If NSPADD = 0 , then this 2nd point must lie in standard mesh block NSPBLC.
If NSPADD ≠ 0, then the block number NSPBLC must be NSPBLC = NBMLT+1, i.e. the second point on the line of sight is in the "additional cell region".
EMIN1
for NSPTAL=1,3,10:
minimum energy for spectral resolution.
for NSPTAL=2:
Parameter to identify the particular hydrogen line:
EMIN1 = 12.089: Lyman-beta line
EMIN1 = 2.8560: Balmer-gamma line
EMIN1 = 1.8889: Balmer-alpha line
EMAX1
for NSPTAL=1, 3, 10:
maximum energy for spectral resolution
ESHIFT
for NSPTAL=1, 3, 10:
energy shift for spectral resolution in printout, and plot
The line integration is carried out along a line defined by two points, a pivot point Ppivot and a second point Pscnd. The second point must lie inside mesh block no. NSPBLK. Starting from this second point, and moving in the direction to the first point Ppivot, the first intersection P1 with a non transparent additional or non default standard surface is computed. This is the starting point for line of sight integration. Then the line integration is carried out starting from this point P1, into the computational area, until the next intersection P2 with any non transparent additional or non default standard surface is found.
IPIVOT
number of local toroidal co-ordinate system, in which this pivot point is specified (only needed for NLTRA option, sub-block 2c)
XPIVOT
x co-ordinate of pivot point for line of sight
YPIVOT
y co-ordinate of pivot point for line of sight
ZPIVOT
z co-ordinate of pivot point for line of sight
The second point on the line of sight must either be inside the first (radial or x-) mesh, or the additional cell number of the mesh cell, to which this point belongs, must be specified by the NSPBLC and NSPADD flags.
(For otherwise the initial point for the line integration cannot be found automatically.)
ICHORD
number of local toroidal co-ordinate system, in which this second point is specified (only needed for NLTRA option, sub-block 2c)
XCHORD
x co-ordinate of second point for line of sight
YCHORD
y co-ordinate of second point for line of sight
ZCHORD
z co-ordinate of second point for line of sight
PLCHOR
the lines of sight are plotted into (2D or 3D) geometry plots. This, however, is automatically turned off if other plots are done between geometry plots (initialization phase) and line-of-sight integration (post processing phase).
PLSPEC
the spectra along the lines of sight are plotted (irrelevant in case of NSPTAL = 2).

2.12.1  Line of sight: charge exchange spectrum

2.12.2  Line of sight: line emissivity

2.12.3  Line of sight: line shape

2.12.4  Line of sight: user defined integral

2.13  Data for nonlinear and time dependent Options


General remarks

The data in this block are used to define a discretisation in time, and the test-particle self interaction effects. These latter options are based upon the "Bird's Direct Monte Carlo Simulation" (DMCS) procedure, and are currently not in use (see [19] for a detailed description of its implementation in EIRENE). They can be activated by replacing the current dummy routine STOSS, which is called after each time-step from subroutine EIRENE, by a routine that reads the particle population from the "census arrays" described below, and which then carries out the binary self-collisions (modification of the individual particle velocity vectors). The rest of the code for time dependency and the DMCS algorithm is the same and described in this section. Note that, currently, with the use of a dummy routine STOSS, non-linear self collision effects can still be simulated, in BGK approximation, by using the iterative mode of operation (NITERI, NITERE, input block 1), see section 1.9.
As for the time-dependence options, it is important to note that there are two kinds of time-steps. One is the so called "time-cycle". Each time cycle is a more or less complete EIRENE run in its own, even if several (NTIME, see section 2.1) such time-cycles are carried out in one single job. In each time-cycle, a time-horizon is set and the trajectories are stopped (at latest) if they have survived until then. All relevant particle coordinates (position, velocity, type and species, cell indices, etc....) are stored at this time-horizon on the so called "census-arrays".
Each time cycle may consist of one or more than one (NTMSTP, see below) "internal time steps". At the end of each of these time-steps, the relevant tallies are updated (subroutine TIMCOL). These are the "snapshot tallies", the default "time-surface tallies" and the "census arrays". Hence: these tallies are averaged over NTMSTP (internal) time-steps. For more details on snapshot tallies see Section 3.2.3.
This distinction between complete "time cycles" and "internal time steps" is particularly relevant for obtaining truly steady state results on the census arrays, e.g., in order to continue a stationary case in the time-dependent mode (see below).

The Input Block

*** 13. Data for nonlinear and time dependent Options
NPRNLI
IF (NLERG.AND.NPRNLI.EQ.0) NPRNLI=100
IF (NPRNLI.GT.0) THEN
  NPTST,NTMSTP
  DTIMV,TIME0
** 13A. DATA FOR SNAPSHOT TALLIES
  NSNVI
  IF (NSNVI.GT.NSNV)
  DO 1320 J=1,NSNVI
    ISNVE(J),ISNVS(J),ISNVT(J),ISNRC(J)
    TXTTAL(J,NTALT)
    TXTSPC(J,NTALT),TXTUNT(J,NTALT)
1320  CONTINUE
ENDIF


Meaning of the Input Variables for this block

NPRNLI
Total number of test particles in time dependent arrays ("census arrays") (NPRNLI must be ≤ NPRNL, see: PARMUSR).
If NPRNLI > 0, but the rest of the data in this block are not specified, then a default time-horizon is defined. See default values specified below.
In case NLERG = TRUE (see input block 1), a time horizon is absolutely necessary in order to prevent infinite histories. Therefore, in case NLERG=TRUE and NPRNLI=0 an automatic correction to NPRNLI=100 is carried out.
NPTST
As NPTS in block 7. This is the number of histories, which are continued from a previous time-cycle ("Time dependence stratum ISTRA=NSTRAI+1"). The initial coordinates are randomly sampled (with replacement) from the census-array data from an earlier time-cycle. The probability for sampling a particular particle from the census array is proportional to its weight stored on the census array as well. Due to "sampling with replacement" an individual particle, which is on census, may be sampled more than once, or not at all, with the likelihood for these events given by its weight ("warm restart"). This census array is either defined at the end of the previous time cycle in the same run (subr. TMSTEP), or it is read from an earlier run from stream 15 (via a call to subr. RSNAP from subr. INPUT) in the initial phase of the run, for the very first time-cycle (continuation of an earlier sequence of time-cycles).
If NPTST = 0 , then NPTST is reset to IPRNL. IPRNL is the the number of scores on the census array in the previous time cycle.
If NPTST < 0 , then NPTST is reset to IPRNL, and the random sampling from the census array is now replaced by a one-to-one re-launch of all particles from the census array without random sampling ("cold restart"). This option is, for example, used for the NLMOVIE option (movies of trajectories).
Default: NPTST=0
NTMSTP
Total number of time-steps for particle tracing. Each trajectory can score on census up to NTMSTP times. Particle trajectories are stopped after NTMSTP time-steps.
Default: NTMSTP=1
For convenience and by abuse of language, we refer to the 3-dimensional hyper-surface t=tn of the four dimensional (r,t)-space as "time-surface", and, hence, tallies evaluated at fixed time tn ("snapshot-tallies") are surface averaged tallies in this terminology.
Fluxes onto this surface are stored on the arrays for a surface no. NLIM+NSTSI+1, which is added automatically to the NLIM additional and NSTSI non-default standard surfaces.
The time-surface is transparent for NTMSTP · DTIMV seconds, and absorbing afterwards. Snapshot tallies are averages over NTMSTP time-steps.
Default: NTMSTP=1
If NTMSTP < 0, then each particle can score an unlimited number of times on census, i.e., the time-surface is always transparent. This option can be used for initialization of census arrays for time dependent runs. The census arrays then represent a stationary distribution corresponding to a certain constant (in time) influx of particles, rather than an estimate at a fixed time. Hence, for any fixed detector function (volume averaged tally), the snapshot estimator should give the same results (up to statistical precision) as the track-length estimator or the collision estimator. Note that in order to obtain this stationary estimate from snapshot estimates an additional multiplicative factor DTIMV (s) (see next) is applied to snapshot tallies in case NTMSTP < 0.
DTIMV
Length of each individual internal time-step (seconds)
Default: DTIMV=1.D-02
TIME0
Initial time t0 of the first time-step. (irrelevant, only for printout and book-keeping)
Default: TIME0=0.
NSNVI
Number of snapshot tallies computed from census arrays. In old EIRENE versions without dynamic allocation of storage NSNVI must be less or equal NSNV (see PARMUSR), and the detector functions are user supplied in subroutine UPNUSR, see Sub-section 3.2.3.
Default: NSNVI=0
The meaning of the next three cards is the same as for the corresponding cards in block 10A, 10B or 10D.


Census Arrays
All particle co-ordinates at time ti for history number IHIST, i.e., position, cell indices, velocity etc. are stored on arrays RPART(IHIST,...) (Real) and IPART(IHIST,...) (Integer) in subroutine TIMCOL. This subroutine TIMCOL is called if "a collision with the time surface t=ti" has occurred.
The number of scores on the old census arrays (from a previous completed time-cycle in a current run or from an earlier run) is IPRNL.
The actual number of a score in subroutine TIMCOL is IPRNLI, and after the score IPRNLI is increased by one. IPRNLI is set to zero at the beginning of a run.
The actual number of a score in subroutine TIMCOL for the present stratum ISTRA is IPRNLS, and after the score IPRNLS is increased by one. IPRNLS is reset to zero at the beginning of sampling for each stratum.

2.14  Data for interfacing Subroutine "INFCOP" (example)


General remarks

Data in input block 14 control additional input for an EIRENE run.
In case NMODE=0 (see input block 1), i.e., no call to interfacing subroutine INFCOP, only the additional input tallies ADIN (see table 5.1), if any, are specified here.
Otherwise the data in this block are read from the code interfacing subroutine INFCOP (at entry IF0COP) rather than from subroutine INPUT. They may be used to modify or complete the model defined by the formatted input file so far. For example, by this option the entire geometry specification (blocks 2,3) can be modified or overwritten by a few geometry parameters without rewriting input blocks 2 and 3. This allows rapid geometry optimization (geometry parameter studies), which otherwise would require to generate a large set of different geometry input blocks. As this routine is problem specific, it must be written by the user and, therefore, input can be from any file and in any format chosen there.
Subroutine INFCOP is also used for interfacing with other codes, such as plasma transport codes. By use of the flags INDGRD (block 2), INDPRO (block 5) and INDSRC (block 7) data may be transferred from subroutine INFCOP into EIRENE geometry arrays, background medium arrays and source distribution arrays, respectively, in a preprogrammed format. This is described in section 4 in general terms. Here we give examples for one frequently used option, namely the coupling of EIRENE to the 2 dimensional plasma transport code B2 [1] (the "B2-EIRENE" code system, [2],[3]). A corresponding version of INFCOP is available from the author.

2.14.1  Version B2-EIRENE-1999 and older


The data transferred from B2 into EIRENE are either from Common BRAEIR, (a module common to both B2 and EIRENE) or from the stream FORT.31. They are read in the following sequence,
= 1
DI :plasma ion density [m−3], cell centered
= 2
UU :poloidal velocity [m/s], x-surface (across field, E,W ) centered
= 3
VV :radial velocity [m/s], y-surface centered (along field, N, S)
= 4
TE :electron temperature [J], cell centered
= 5
TI :ion temperature [J], cell centered
= 6
PR :plasma pressure [N/m2], cell centered
= 7
UP :parallel velocity [m/s], x-surface (across field, E,W ) centered
= 8
RR :pitch angle [1], cell centered
= 9
FNIX: Particle fluxes along the field [1/s], x-surface (across field, E,W ) centered
= 10
FNIY Particle fluxes across the field [1/s], y-surface centered (along field, N, S)
= 11
FEIX Ion energy fluxes along the field [Watt], x-surface (across field, E,W ) centered
= 12
FEIY Ion energy fluxes across the field [Watt], y-surface centered (along field, N, S)
= 13
FEEX Electron energy fluxes along the field [Watt], x-surface (across field, E,W ) centered
= 14
FEEY Electron energy fluxes across the field [Watt], y-surface centered (along field, N, S)
= 15
VOL: cell volume [m3], cell centered
= 16
BFELD: magnetic field [T], cell centered
and thereafter index mapping, units conversion are carried out to turn them into EIRENE bulk ion tallies as well as to derive recycling target fluxes and boundary conditions from them.
The Input Block

***14. Data for interfacing Subroutine "INFCOP"
IF (NMODE.EQ. 0) THEN

  NAINI,NCOPI
  DO  IAIN=1,NAINB
    NAINS(IAIN) NAINT(IAIN)
    TXTPLS(IAIN,11)
    TXTPSP(IAIN,11) TXTPUN(IAIN,11)
  ENDDO

ELSEIF (NMODE.NE. 0) THEN

LSYMET LBALAN
NFLA NCUTB NCUTL
DO 20 IPLS=1,NPLSI
  I IFLB(IPLS) FCTE(IPLS) BMASS(IPLS)
20 CONTINUE
NDXA NDYA
NTARGI
(NTGPRT(IT),IT=1,NTARGI)
DO 30 IT=1,NTARGI
  DO 33 IPRT=1,NTGPRT(IT)
    I NDT(IT,IPRT) NINCT(IT,IPRT) NIXY(IT,IPRT) NTIN(IT,IPRT) NTEN(IT,IPRT)
      NIFLG(IT,IPRT) NPTC(IT,IPRT) NSPZI(IT,IPRT) NSPZE(IT,IPRT)
33 CONTINUE
30 CONTINUE
CHGP CHGEE CHGEI CHGMOM
NAINB
DO 40 IAIN=1,NAINB
  I NAINS(IAIN) NAINT(IAIN)
  TXTPLS(IAIN,11)
  TXTPSP(IAIN,11) TXTPUN(IAIN,11)
40 CONTINUE
NAOTB
DO 50 IAOT=1,NAOTB
  I NAOTS(IAOT) NAOTT(IAOT)
50 CONTINUE

Meaning of the Input Variables for interfacing Subroutine "INFCOP"

LSYMET
=.TRUE.
Upside-down symmetry of all tallies transferred to external code via common block EIRBRA) is enforced.
Symmetry plane is the PSURF/2. surface, i.e., the poloidal (or y) co-ordinate surface PSURF(NP2ND/2) at the center of the computational interval in this co-ordinate.
This option has historical reasons. The very first B2-EIRENE runs ever have been performed for "upside-down symmetric" ITER double null configurations (Reiter et al., 1991, [2]). In more recent versions this option may not be available anymore.
=.FALSE.
no such symmetry is enforced
LBALAN
=.TRUE.
Global particle and energy flux balance is performed and printed at the end of an EIRENE stand alone run (steady state or single time-step) and at the end of a short cycle between a plasma transport code and EIRENE. These balances compare plasma particle and energy fluxes at the boundaries, volume sources in plasma balance equations and neutral-plasma interaction sources and sinks.
=.FALSE.
no such balances are computed
NFLA
Number of different (bulk) ion species in plasma code.
NCUTB
Number of mesh cells in each grid cut in plasma code (specific to grid generator used in connection with B2 fluid code).
NCUTL
Number of mesh cells in each grid cut in EIRENE
Note: if NCUT ≠ NCUTL, the index mapping routines INDMAP and INDMPI are called at each call to the interfacing routines.
I
irrelevant, labelling index for EIRENE bulk ion species IPLS
IFLB
> 0
labelling index of bulk ion species in plasma code. EIRENE bulk ion species IPLS corresponds to plasma code species IFLB(IPLS). Hence: IFLB ≤ NFLA, otherwise: error exit.
FCTE
bulk ion density (and flux) multiplication factor. The EIRENE bulk ion density (and fluxes) for species IPLS are obtained by multiplying the corresponding plasma code profiles for species IFLB(IPLS) with the factor FCTE. This option is needed, e.g., if the plasma code treats one ion species of mass 2.5 AMU, while EIRENE treats D ions and T ions separately.
The drift velocity vector for all EIRENE species IPLS is set identical to the drift velocity of the plasma code species IFLB(IPLS).
Only one common ion temperature is available from B2, B2.5 code runs, even for multi-species applications. The bulk ion temperature TIIN(IPLS,....) for all EIRENE species IPLS, which are read from the plasma code data files, i.e., for all species with IFLB > 0
< 0
The plasma density, flow field and temperature field for EIRENE species IPLS is read from the input stream fort.II, with II=-IFLB. (Currently only II=13). This file fort.13 must be available from a previous EIRENE run, in which NFILEL = 1 or NFILEL = 3 was used (see input block 1). This option permits iteration on some species, which are not treated in the plasma code, e.g.: for neutral-neutral interactions.
= 0
The corresponding bulk ion species IPLS in EIRENE has zero density, i.e. bulk ions of this species are not present in this EIRENE run. Note the issue re. electron density and quasi-neutrality mentioned above.
Note: in an iterative mode all plasma species in the plasma code should also be in EIRENE. There may be more in EIRENE, with charge state zero (see introduction to section 2.4), but not less, because otherwise the electron density computed in EIRENE from quasi-neutrality (and used, e.g., for ionization mean free paths), may be inconsistent with the electron density in the plasma code.
BMASS
Mass of plasma code species IFLB(IPLS) is BMASS(IPLS) in AMU.
NDXA,NDYA
 
grid size in 2D plasma code. NDXA is the size of the grid tangential to the flux surfaces, and NDYA is the size of the grid normal to the flux surfaces.
These grid sizes have to be equal to the grid sizes (1st and 2nd grid RSURF and PSURF) of the mesh, on which plasma code data are specified for EIRENE.
I.e., NDYA=NR1ST-1 and NDXA=NP2ND-1 must be obeyed.
NTARGI
Number of different surface recycling sources defined from the plasma code surface effluxes at specified boundaries.
NTGPRT
Number of different surface segments (radially or poloidally), by which this target recycling stratum no. ITARGI is composed.
The following NTGPRT(ITARG) cards are used to specify these selected recycling boundaries and to set up the appropriate EIRENE surface source flags. These flags partially overrule those specified in block 2.7 (surface sources), see below. If even INDSRC = 6 for that particular stratum in block 2.7, then no further data must be read for this stratum in input block 2.7 and the full specification of that recycling source is done in subroutine INFCOP automatically from the plasma code data and the next NTGPRT input cards for this stratum.
IT
irrelevant, surface source labelling index
NDT
number of surface in plasma code mesh, either in tangential or in normal direction. If the plasma code uses cell centered indexing, then the north and the east surfaces of a cell are labeled by the indices of the cell. In EIRENE cell indexing, the south and the west surface have the same index as the corresponding cell in the first (radial) and second (poloidal) mesh, respectively. Therefore NDT may be different from the surface labelling index in EIRENE input block 2.3.1. Note also that NDT refers to cell numbers after index mapping, if NCUTL is not equal to NCUTB.
NINCT
= 1
positive (i.e., outer) surface normal is in the positive co-ordinate direction (as it is the case by default for EIRENE standard co-ordinate surfaces).
= -1
positive surfaces normal is in the negative co-ordinate direction.
NIXY
= 1
surface in the direction normal to the flux surface, i.e., it belongs to the 2nd EIRENE mesh PSURF (usually: divertor target)
= 2
surface is in the tangential direction, i.e., it belongs to the 1st EIRENE mesh RSURF (usually: vessel, liner, interface to vacuum region)
NTIN,NTEN
 
The surface source is restricted to the cells ranging from cell number NTIN to cell number NTEN-1, along the co-ordinate surface.
Note that NTIN and NTEN label cell boundaries, hence the NTEN-1 above.
Note further: the total number of surface cells in one surface recycling source ITARG (i.e., summed over NTGPRT(ITARG)) must not be larger then NR1ST+NP2ND (see definition of parameter NGITT in Common Deck PARMMOD).
NIFLG
This corresponds to the SORIFL flag in input block 7, and is needed only if INDSRC=6, i.e., if the source is specified by data from block 14 alone.
NPTC
This corresponds to the NPTS flag in input block 7, and is needed only if INDSRC=6, i.e., if the source is specified by data from block 14 alone.
NSPZI,NSPZE
 
Species range for this stratum. Only the EIRENE fluids IPLS corresponding to plasma code fluids IFL with NSPZI < IFL < NSPZE are sampled from this stratum. See index map ILFB(IPLS) specified above in this same input block.
One (geometrical) target may appear several times, with different species ranges. This permits to apply stratified sampling within the species distribution, and hence to remove statistical noise resulting from species source sampling.
The following automatic adjustments to input flags from block 7 are then carried out for strata ISTRA = 1, NTARGI (species and birth point sampling) The other input flags for birth-point sampling in input block 7 have then become irrelevant by this new settings of the modified parameters listed above.
The sampling of the velocity of the incident ions is as specified in input block 7 for that stratum.
CHGP
The short cycle between EIRENE and the plasma code (i.e., only recomputing of source term profiles in subroutine EIRSRT at each time-step, but no new random walks) is stopped, if the total volume integrated particle source rate has changed by more than CHGP per cent as compared to the previous full EIRENE run.
CHGEE
as above, but for total electron energy source rate.
CHGEI
as above, but for total ion energy source rate.
CHGMOM
as above, but for total ion parallel momentum source rate. (to be written, May 1995)
NAINB
total number (=NAINI) of additional plasma code tallies transferred onto EIRENE input tally ADIN (e.g. in order to utilize EIRENE output facilities for plasma code data, or for the options described in sub block 10c.
I
irrelevant, labelling index
NAINS
species index of tally in B2 arrays.
NAINT
flag to determine which particular quantity is put onto input tally ADIN(I,...).
In the current version of subroutine INFCOP for interfacing to B2 the following "B2-quantities" can be selected.
1 ≤ NAINT ≤ 16 :
= 1
DI :plasma ion density [m−3], also on DIIN, by IPLS species
= 2
UU :poloidal velocity [m/s]
= 3
VV :radial velocity [m/s]
= 6
PR :plasma pressure [N/m2]
= 7
UP :parallel velocity [m/s]
= 8
RR :pitch angle [1]
= 9
FNIX: Particle fluxes along the field [1/s]
= 10
FNIY Particle fluxes across the field [1/s]
= 11
FEIX Ion energy fluxes along the field [Watt]
= 12
FEIY Ion energy fluxes across the field [Watt]
= 13
FEEX Electron energy fluxes along the field [Watt]
= 14
FEEY Electron energy fluxes across the field [Watt]
= 15
VOL: cell volume [m3]
= 16
BFELD: magnetic field [T]
17 ≤ NAINT ≤ 30 : EIRENE atomic data profiles. These can be selected also in the NMODE=0 (subroutine INFCOP not called) option.
currently revised. Do not use.
= 17
= 18
= 19
= 20
= 21
= 22
recombination rate < σv > ·ne  [1/s]
1 ≤ NAINSNPLS : recombination process KREC=1 for background species IPLS=NAINS,
1+NPLSNAINS ≤ 2 ·NPLS : recombination process KREC=2 for background species IPLS=NAINS, and so on.
= 122
electron energy weighted recombination frequency  [eV/s]
TXTPLS, TXTPSP, TXTPUN
 
as described for additional output tallies in bock 10.
NAOTB
total number of additional EIRENE surface tallies transferred to B2 code (e.g. in order to allow re-scaling in B2 such that total number of particles (neutrals and ions) is conserved.
NAOTS
not in use
NAOTT
not in use

2.14.2  Version B2-EIRENE-2000 and younger


Additional data to those described in previous sub-section 2.14.1 are read, basically to account for non-orthogonal grids and for direct transfer of surface recycling boundary conditions into EIRENE.
From input stream FORT.29 two angles are read for each cell:
= 1
ALPHXB: angle of B-field against R-coordinate (x-coordinate in EIRENE, [radians], evaluated at B2-x-surface (East, West) surface-centered
= 2
ALPHYB: angle of B field against R-coordinate (x-coordinate in EIRENE, [radians], evaluated at B2-y-surface (North, South) surface-centered
eirene-coord-2.gif
Figure 2.1: Definition of angles αx=ALPHXB and αy=ALPHYB, respectively, for inclined (non-orthogonal) B2-grids to be used in EIRENE code
Then there are 14 arrays for definitions of boundary conditions (stream FORT.31 or Common BRAEIR), in order to achieve full symmetry of boundary condition options between east-west and north-south cell faces. This is in particular useful for cases with wide grids (up to the real vacuum vessel) in which boundary conditions on strongly inclined surfaces are defined.
1
v_par,x: parallel velocity [m/s], x-surface (across field, East) centered
2
v_par,y: parallel velocity [m/s], y-surface (along field, North) centered
3
v_rad,x: plasma ion density [m/s], x-surface (across field, East) centered
4
v_rad,y: poloidal velocity [m/s], y-surface (along field, North) centered
5
δe_par,x: x-surface (across field, East) centered
6
δe_par,y: y-surface (along field, North) centered
7
δe_rad,x: x-surface (across field, East) centered
8
δe_rad,y: y-surface (along field, North) centered
9
δi_par,x: x-surface (across field, East) centered
10
δi_par,y: y-surface (along field, North) centered
11
δi_rad,x: x-surface (across field, East) centered
12
δi_rad,y: y-surface (along field, North) centered
13
sheath_x: x-surface (across field, East) centered
14
sheath_y: y-surface (along field, North) centered
On any particular surface element only either the x or the y values are set, depending upon whether this surface is a x or y surface. One cell, however, may have either one or two recycling surfaces, one north- and one east surface.

Chapter 3
Problem specific Routines


General remarks

As mentioned earlier, already the hard wired options in EIRENE allow a large variety of linear transport problems to be studied. In most cases of neutral gas transport in a prescribed background plasma the only problem specific FORTRAN that is required consists of a few parameter statements (i.e., the COMMON deck PARMUSR described below in section 3.1). It defines the storage requirements for this particular case.
In versions EIRENE2002 and younger this pre-assignment of storage has been removed, by a dynamical allocation of storage throughout.
The user-controllable storage options (e.g.: CPU - vs. storage - optimization), formerly under: "parameters for storage reductions" in PARMUSR, can now be set in an additional, but optional input line at the beginning of input block 1 (as new second line in this block), see section 2.1.
The names of all other routines in the user specified block end with ...USR.
The description of the "additional tally" routines UPTUSR, UPCUSR, UPSUSR and UPNUSR given below (section 3.2) is meant as a guide for the more experienced users of the code only. These routines allow to extend the number of responses estimated by EIRENE almost arbitrarily.
The number of options for fast particle surface interaction models can be increased by adding subroutines REFUSR and SPTUSR, which have to provide the particle data (after reflection or sputtering, respectively) (velocity vector, weight, type, species, etc.) after a test particle has collided with a non-transparent surface and neither absorption, nor specular reflection nor the "thermal particle re-emission" is identified as surface event by the flags and the random sampling procedure. The use of this routine REFUSR is described in section 3.3.
By including a birth point sampling routine SAMUSR, one can easily model any spatial distribution of the primary source, in addition to the preprogrammed options described in section 2.7. This is explained in section 3.4.
Some geometrical variables, such as cell volumes, surface coefficients, etc., may be re-defined or modified after reading the input data. This is done by a call to routine GEOUSR, called from EIRENE subroutine INPUT. See section 3.5.1 below. Similarly, any background data (plasma profiles) may explicitly be modified in routine PLAUSR (see section 3.5.2).
The routine for additional background profiles PROUSR (called for those background tallies, for which INDPRO=5, see block 5, is described in section 3.6. It is recommended to use this option, if a particular closed form expression for the background profile is needed. It is then more convenient than the external data file options INDPRO=6, or INDPRO=7, see section 4.
The various routines needed for the general user supplied geometry option (NLGEN, LEVGEO=10, see block 2a) are described in section 3.8. Simple examples are also given there.

3.1  Parameter Statements (for EIRENE-2001 or older)

The deck "PARMUSR" is the first part of the user supplied Fortran file. It contains parameter statements used in an EIRENE run and it determines the storage required to run EIRENE on a particular problem. It reads: (... stands for an integer not less than 1)
*COMDECK PARMUSR
C
C  Geometry
      PARAMETER (N1ST=..., N2ND=..., N3RD=...)
      PARAMETER (NADD=..., NTOR=...)
      PARAMETER (NLIM=..., NSTS=...)
      PARAMETER (NPLG=..., NPPART=...)
      PARAMETER (NKNOT=..., NTRI=...)
      PARAMETER (NCOORD=..., NTETRA=...)
C  Primary Source
      PARAMETER (NSTRA=..., NSRFS=...)
      PARAMETER (NSTEP=...)
C  Species and Tallies
      PARAMETER (NATM=..., NMOL=..., NION=..., NPLS=...,
                 NADV=..., NADS=...)
      PARAMETER (NCLV=..., NSNV=..., NALV=..., NALS=..., NAIN=...)
      PARAMETER (NCOP=..., NBGK=...)
C  Statistics
      PARAMETER (NSD=..., NSDW=..., NCV=...)
C  Atomic Data
      PARAMETER (NREAC=..., NRRC=..., NREI=...)
      PARAMETER (           NRCX=..., NREL=..., NRPI=...)
C  Surface Reflection Data
      PARAMETER (NHD1=..., NHD2=..., NHD3=..., NHD4=...,
                 NHD5=..., NHD6=...)
C  e.g.: TRIM Database
C     PARAMETER (NHD1=12, NHD2=7, NHD3=5, NHD4=5, NHD5=5, NHD6=...)
C  Diagnostic Chords Data
      PARAMETER (NCHOR=..., NCHEN=...)
C  Interfacing routines:
      PARAMETER (NDX=..., NDY=..., NFL=...)
C  Census Arrays
      PARAMETER (NPRNL=...)
C
C  PARAMETERS FOR STORAGE REDUCTIONS
C
C  1.) IGJUM-FLAGS FOR SPEEDUP OF GEOMETRICAL CALCULATIONS
C
C  NOPTIM: REDUCES IGJUM3-ARRAY: IGJUM3(NOPTIM,NLIMPS)
C          NOPTIM=N1ST*N2ND*N3RD+NADD:  NO STORAGE OPTIMIZATION,
C                                       SPEEDUP OF GEOMETRICAL
C                                       CALCULATIONS POSSIBLE
C          NOPTIM=1 MINIMAL STORAGE, NO SPEEDUP OF GEOMETRICAL CALCULATION
C  DEFAULT:
      PARAMETER (NOPTIM=...)
C
C  NOPTM1: BIT-ARITHMETIC/INTEGER, E.G. 32 FOR IBM RISK, 46 FOR CRAY
C          DEFAULT: NOPTM1=1: NO STORAGE OPTIMIZATION
C  DEFAULT:
      PARAMETER (NOPTM1=...)
C C  2.) EXTERNAL GEOMETRY? C C  NGEOM_USR = 1  ==> EXTERNAL
GEOMETRY ROUTINES (...USR), LEVGEO=10 C                     NO
STORAGE FOR GEOMETRY DATA IN EIRENE C  NGEOM_USR = 0  ==> ELSE, NO
STORAGE OPTIMIZATION C  DEFAULT:
      PARAMETER (NGEOM_USR=...)
C
C  3.) SUM OVER STRATA
C  NSMSTRA = 0  ==> SUM OVER STRATA IS NOT PERFORMED
C  NSMSTRA = 1  ==> SUM OVER STRATA IS PERFORMED
C  DEFAULT:
      PARAMETER (NSMSTRA=...)
C
C  4.) CALCULATION OR STORAGE OF ATOMIC DATA
C
C  NSTORAM=0,1,2...,8,9.    =0: MINIMUM STORAGE, MAXIMUM CALCULATION
C                           =9: MAXIMUM STORAGE, MINIMUM CALCULATION
C  DEFAULT:
      PARAMETER (NSTORAM=...)
C
C  5.) SPATIALLY RESOLVED SURFACE TALLIES?
C
C  NGSTAL = 0  ==> NO STORAGE FOR SPATIALLY RESOLVED SURFACE TALLIES
C  NGSTAL = 1  ==> SPATIALLY RESOLVED SURFACE TALLIES ARE COMPUTED
C  DEFAULT:
      PARAMETER (NGSTAL=...)

Meaning of the Parameter Variables (and Defaults)
N1ST
Maximum number of standard mesh points in x- (radial) direction (block 2a)
N2ND
Maximum number of standard mesh points in y- (poloidal) direction (block 2b)
N3RD
Maximum number of standard mesh points in z- (toroidal) direction (block 2c)
NADD
Maximum number of additional zones defined by the additional surfaces (block 2d)
NTOR
Maximum number of toroidal segments for approximation of torus by cylindrical segments (block 2c)
NLIM
Maximum number of "additional surfaces" (block 3b)
NSTS
Maximum number of non-default standard surface models (block 3a)
NPLG
Maximum number of points in one polygon (block 2a)
NPPART
Maximum number of valid parts in one polygon (block 2a)
NKNOT
Maximum number of knots for mesh of triangles (block 2a)
NTRI
Maximum number of triangles (block 2a)
NCOORD
Maximum number of knots for mesh of tetrahedrons (block 2a)
NTETRA
Maximum number of tetrahedrons (block 2a)
NSTRA
Maximum number of strata (sources) (block 7)
NSRFS
Maximum number of sub-strata in one stratum (block 7)
NSTEP
Maximum number of different step functions used for primary source sampling (block 7)
NATM
Maximum number of different atom species (block 4a)
NMOL
Maximum number of different molecule species (block 4b)
NION
Maximum number of different test ion species (block 4c)
NPLS
Maximum number of different bulk ion species (block 5)
NADV
Maximum number of additional volume averaged tallies, track-length estimated (block 10a)
NADS
Maximum number of additional surface averaged tallies (block 10d)
NCLV
Maximum number of additional volume averaged tallies, collision estimated (block 10b)
NSNV
Maximum number of additional volume averaged tallies, snapshot estimated (in time dependent mode only) (block 13)
NALV
Maximum number of algebraic tallies obtained from volume averaged tallies (block 10c)
NALS
Maximum number of algebraic tallies obtained from surface averaged tallies (block 10e)
NAIN
Maximum number of additional input tallies, not needed by EIRENE, but to facilitate presentation (block 14)
NCOP
Maximum number of tallies for coupling to external codes (block 14)
NBGK
Maximum number of tallies for iterative BGK scheme for neutral-neutral interactions, see MODUSR, below.
NSD
Maximum number of standard deviation profiles for volume averaged tallies (block 9)
NSDW
Maximum number of standard deviation profiles for surface averaged tallies (block 9)
NCV
Maximum number of covariance estimates (block 9)
NREAC
Maximum number of atomic reactions from external files (block 4)
NRRC
Maximum number of re-combination processes (blocks 4,5)
NREI
Maximum number of electron impact processes (blocks 4,5)
NRCX
Maximum number of charge exchange reactions (blocks 4,5)
NREL
Maximum number of elastic reactions (blocks 4,5)
NRPI
Maximum number of ion impact reactions (blocks 4,5)
Reflection database parameters: see example above. NHD6 is the maximum number of different target-projectile combinations, for which databases can be included.
NCHOR
Maximum number of lines of sight for diagnostics module (block 12)
NCHEN
Maximum number of energy values for spectra computed in diagnostics module (block 12)
NDX, NDY, NFL
 
Problem specific, in case of coupling to external code. See input block 14. Otherwise (stand alone mode): just set to 1.
NPRNL
Maximum number of particles stored on census array, for time dependent mode (block 13)
In addition to these parameters, which depend upon the size of the particular problem under investigation, there are a few further parameters in PARMUSR, which can be used to optimize storage versus CPU performance. E.g., atomic data can either be stored in great detail, or they can be recomputed whenever they are actually needed. This is controlled by the parameter NSTORAM. The latter choice (e.g., NSTORAM=0, or NSTORAM=1) may be the better one on very large meshes (above, say, 20000 cells, as are commonly encountered in 3D Stellarator applications).

3.2  The "Additional Tally" routines UPTUSR, UPCUSR, UPSUSR and UPNUSR

Let f(r, v,jS) be the distribution function in the 6 dimensional μ -space for particle species jS, S = PH: Photons, S = A: Atoms, S = M: Molecules, S = I: Test Ions, S = P: Bulk Ions
e.g.:
(2.1)
jA
=
H , D , T , He , C , O , ...
jM
=
H2 , D2, HD , CH4 , H2 O , ...
jI
=
H2+ , CH3+ , C+ , O++ , ...
jP
=
H+ , D+ , He+ , He++ , C+ , ...
The distinction between "Test Ions" and "Bulk Ions" is problem specific, see input blocks 4 and 5. The "volume averaged tallies" estimated by EIRENE (see table 5.2) are profiles of "responses"
Rg = < f | g > =

j 

d3 v


volume 
d3 r g(r, v , j) ·f(r, v, j)
for several preprogrammed and an arbitrary number of additional user supplied "detector functions" g. Here the summation over j is only over test particle species, i.e., atoms, molecules or test ions, and not over background particles ("bulk ions", electrons). The default EIRENE estimators are not based upon moments of distribution function f but upon moments of the flux
Φ( jS , r,v) = |v| f(jS , r, v),
hence on detector functions g* = g / | v|.
Occasionally also moments of the pre-collision density
Ψ( jS ,r, v) = Φ( jS , r, v) ·Σ( jS , r, v)
are utilized, then with detector functions [^(g)] = g /(| v|  Σ) . Here Σ (dimension: 1/length) is the local total macroscopic cross section, i.e., the inverse of the local mean free path length. The estimators may, in general, be composed of
a "track-length estimate"
kRt = kn−1

i=0 
 k wi*  Il,i = kn−1

i=0 
 k wi*
ri+1

ri 
dl  g* (l) ,
(2.2)
and a "collision estimate" :
kRc = kn

i=1 
 k
^
wi
 
 
^
g
 
( ri ) .
(2.3)
Here k[^(wi)] is the weight of history number k before going into collision number i and kwi* is the weight of history number k when coming out of collision number i. In Rt the sum is over line integrals along the track of a test flight from point of collision ri to the next one at ri+1 , i=0,1,... , kn−1 , whereas in Rc the sum is over the points of collisions ri , i=1,2, ... ,kn. Here i=0 corresponds to the point of birth, and kn the number of the last collision along the track (i.e., the collision which leads into the final state "absorbed particle").
The tallies are estimated as arithmetic means
R = 1

N

N

k=1 
(kRt + kRc )
(2.4)
of the contributions of each test particle history k.

3.2.1  Tracklength estimated volume tallies, UPTUSR

The track-length estimators Rt are updated in subroutine UPDATE (defaults) and UPTUSR (WV) (additional user supplied tallies), with
WV = kwi* / | v|     .
In EIRENE variables:
WV = WEIGHT/VEL     .
Then, in order to estimate a response for a detector function g on additional tally number ITALV, a statement in subroutine UPTUSR should read:
 DO IC=1,NCOU
   ICELL=NRCELL+NUPC(IC)*NR1P2+NBLCKA
   ADDV(ITALV,ICELL) = ADDV(ITALV,ICELL) + WV * CLPC(IC) *  g
 ENDDO

Here CLPC is the length l of the flight in the cell ICELL, g is assumed to be a constant in this cell in this example.

3.2.2  Collision estimated volume tallies, UPCUSR

The default collision estimated contributions Rc are updated in subroutine COLLIDE. Subroutine COLLIDE is called from the particle tracing subroutines FOLNEUT and FOLION (defaults). Non default collision tallies are updated in UPCUSR(WS,IND) (additional user supplied tallies, called from COLLIDE). Here we have
WS = k
^
wi
 
/ ( | v| Σ)     .
In EIRENE variables:
WS = WEIGHT/SIGTOT = WEIGHT/VEL ·ZMFP     .
IND=1 indicates a call before sampling from the collision kernel, and IND=2 indicates calls with the parameters (velocity, weight, ...) of the particle emerging from the collision. At each collision, the subroutine UPCUSR is called once before and once after the collision.
Then, in order to estimate a response for a detector function g on additional tally number ICOLV, a statement in subroutine UPCUSR should read:
 COLV(ICOLV,ICELL) = COLV(ICOLV,ICELL) + WS * g  .

Here g is evaluated at the point of a collision, which is known to have taken place in cell ICELL in this call to subroutine UPCUSR.
We note that track-length estimates ADDV reduce to collision estimates COLV, if ADDV is updated at the points of collision only and if the EIRENE variable ZMFP (local mean free path length) is used rather than CLPD. This fact is used by EIRENE for "condensed particle species" (NFOL$ flag in block 4). This is used, for example, if the motion of test ions along field lines is not followed explicitly but if, instead, the particles undergo a next collision immediately at their places of birth (i.e.: quasi steady state approximation "QSSA" for this species).

3.2.3  Snapshot estimated volume averaged tallies, UPNUSR

By default snapshot tallies are only scored in time dependent mode, see input flags in Section 2.13. They can, however, also be used as a third alternative to tracklength and collision estimators for any stationary response. In particular for diffusive processes, as e.g. ion transport with Fokker Planck type Coulomb collision operators, such "snapshot averaging" is the most frequent option used in Monte Carlo applications to estimate stationary moments. See paragraph B below.

A: time dependent estimates

The default snapshot estimated tallies at a fixed time t*, see Section 2.13, are updated in subroutine TIMCOL. Currently these are only the census tallies and the particle- and energy fluxes at census. Subroutine TIMCOL is called from the particle tracing subroutines FOLNEUT and FOLION (defaults), in case of time dependent mode (see input block 13). Non default snapshot tallies can be scored in UPNUSR (additional user supplied tallies, called from TIMCOL). Here we have
WSNAP = k
^
wi
 
    .
In EIRENE variables:
WSNAP = WEIGHT     .
Then, in order to estimate a response for a detector function g on snapshot tally number ISNV, a statement in subroutine UPNUSR should read:
 SNAPV(ISNV,ICELL) = SNAPV(ISNV,ICELL) + WSNAP * g(...)  .

E.g., with g=1 this is an unbiased estimate of cell averaged particle density at time t=t*, see (3.2), i.e., just counting the particle weights at t=t* provides an unbiased estimate of the particle density. This is intuitively clear, but also mathematically correct since these snapshot estimators are formally derived as special cases of tracklength- collision or surface flux estimators (interpreting the time-horizon sub-manifold as "time-surface", by abuse of language) by including in g a delta function in time : g(t,r,v)=δ(t*)[(g)\tilde](r,v).
Subroutine UPNUSR must at least include module COMPRT (for the particle weight WEIGHT). Here g is evaluated at the point of time t* at which TIMCOL is called. Scaling of snapshot tallies is done by interpreting the linear source strength "FLUX" scaling factor (given in input block 2.7 for each stratum) as a total number of particles, rather than as flux (particles/s), i.e. "FLUX is the integral of the source distribution not only over physical space, but also over time interval DTIMV from initial time t0 to time t* (Section 2.13).

B: stationary snapshot tallies

A stationary value of snapshot tallies, to be compared with other tallies in stationary mode, is obtained by setting the flag NTMSTP of block 2.13 to negative values. Stationary results in this "time dependent mode" are obtained by launching all test flights at time t0, but scoring snapshot tallies not only at t*=t1=t0+DTIMV, but also at t2=t0+2 DTIMV, t3=t0+3 DTIMV, ..., i.e. at all times tn=t0+n DTIMV until the flight terminates. If the source distribution and the background medium parameters are constant in time, then the snapshot score contribution from time ti can be interpreted as score at t*=t1 resulting from the source at earlier time t0−(i−1) DTIMV. Hence this stationary snapshot score at t* is in fact an integration over all contributions from earlier times t < t0.
When scaling the time- snapshot tallies at t=t* in this stationary mode to absolute units, then an extra multiplicative factor DTIMV (i.e., the time interval between subsequent scores along a particle history) is applied for snapshot tallies, because the stationary (time-averaged) volume averaged tallies are scaled interpreting the stratum source strength FLUX as flux: "atomic particles per second", whereas the snapshot tallies require this same scaling factor FLUX to be the absolute number of (atomic) particles (flux integrated over one time interval from t0 to t1=t0+DTIMV).
Further considerations regarding the scaling factors for volume averaged tallies in EIRENE, with respect to dimensionality of phase space of the problem (1D, 2D, 3D, stationary or time-dependent) are given in Section 1.3.2.

3.2.4  Surface averaged tallies, UPSUSR


Finally we note that "surface averaged tallies" (table 5.3) may be considered just as special cases of the "volume averaged tallies" described above, if appropriate use is made of δ -functions. Let therefore ρ be a co-ordinate normal to a surface S at the strike point rS of a test flight from ri to ri+1 with speed unit vector Ω = v /(| v |). I.e., the surface is described locally by the equation ρ = 0 at the point rSS, at which we may define an orthonormal basis eρ, eρ′ ,eρ". Furthermore, rS = ri+1 , which means that one may treat surface events exactly as collisions with the background medium in our terminologies. Then a "surface response function" gS defined as

gS (j, r, v) = δ(ρ) ·g(j, r, v)
is the detector function for the same response Rg as previously g was, but now surface averaged instead of volume averaged:




surface 
d2 s  g ·f =


volume 
d3 r  gS ·f
Therefore, the line integrals Il,i in the formula given above for track-length estimates, equation 2.2, now reduce to:

Il,i =
ri+1

ri 
dl  δ(ρ) ·g* (l) = g* (ρ = 0) / cos( eρ, Ω)
(2.5)
if the surface is intersected during the test-flight from ri to ri+1 , and Il,i = 0 else. This can easily be seen by writing
rl,i
=
ri + l ·



cos(Ω,eρ)
cos(Ω, e ρ′ )
cos(Ω,e ρ")




(2.6)
i.e., ρ = rρ, i + l ·cos( Ω,eρ ) .
Consequently, a statement in subroutine UPSUSR(WEIGHT,IND) for this surface averaged tally must read:
ADDS(ITALS,IS)=ADDS(ITALS,IS) + WC ·g     ;
here IS is the index of the surface which is being crossed, ITALS is the labelling number of the surface tally. Furthermore,
WC = kω*i / [ |v| ·cos( Ω, eρ ) ] ,
g is evaluated at the strike point rS and, as above, kω*i is the weight of the history k after event i and before event i+1. Note:
WEIGHT = k w*i = k
^
wi+1
 
in our terminology.
The flag IND has the value 1, if the particle is incident onto the surface, and IND = 2 if the particle is emitted from the surface.
Some care is needed because the local surface normal unit vector eρ at the strike point rS is not known in subroutine UPSUSR unless the surface input variable ILIIN (see input block 3) is equal to 1 or equal to 3 for the surface S. In all other cases, this vector (defined by its Cartesian components CRTX,CRTY,CRTZ in EIRENE) has to be computed in subroutine UPSUSR at each entry, if it is needed for updating the surface averaged tally.
Subroutine UPSUSR is called whenever the default surface tallies are updated. For one sided surface tallies (ILIIN=-2 or ILIIN=-4), therefore, UPSUSR is also only called for one sided tallies only.
In addition to these calls, UPSUSR is also called from surface source routines. For test particles emitted from source surfaces (or generated from incident bulk ions after reflection or sputtering) the call is UPSUSR(WEIGHT,2). For bulk ions (ITYP=4) incident onto a source surface the call is UPSUSR(-WEIGHT,1).
Therefore, the tallies ADDS include the direct source contribution, if the source is a surface source, whereas the default surface tallies don't.

3.3  The user surface reflection model REFUSR


General remarks:

This subroutine is called in the initialization phase of an EIRENE run, at entry RF0USR, from subroutine REFLEC, and at entry SP0USR, from subroutine SPUTER. At these entries the user supplied reflection models and sputtering models (if any), respectively, may be initialized.
Later, during the Monte Carlo sampling phase, it is called via entry RF1USR, whenever a test flight intersects a surface NLLI, for which the fast particle reflection model flag ILREF(NLLI) has been set equal to ILREF(NLLI)=3.
Furthermore, if for a certain surface NLLI a user specified "sputter model" is activated by the flag ILSPT(NLLI)=3, then REFUSR is called at the entry SP1USR, whenever this surface is intersected by a test flight.

Format of subroutine

      SUBROUTINE REFUSR
C USER SUPPLIED SURFACE INTERACTION ROUTINE
C INPUT : CO-ORDINATES OF INCIDENT PARTICLE
C OUTPUT: CO-ORDINATES OF EMITTED PARTICLE
* CALL PARMMOD
     :
     :
C  INITIALIZE USER SUPPLIED REFLECTION MODEL
      ENTRY RF0USR
     :
C  DEFINE SPECIES DEPENDENT RECYCLING COEFFICIENT HERE
C     RECYCT(ISPZ,MSURF)=.....
     :
      RETURN
      ENTRY RF1USR (XMW,XCW,XMP,XCP,IGASF,IGAST,ZCOS,ZSIN,EXPI,
     .              RPROB,E0TERM,*,*,*,*)
C  RETURN 1: EIRENE STANDARD ANGULAR DISTRIBUTION (DEP. ON ``EXPI")
C  RETURN 2: THERMAL MOLECULE MODEL (DEP. ON ``IGAST", ``E0TERM")
C  RETURN 3: THERMAL ATOM MODEL (DEP. ON ``IGAST", ``E0TERM")
C  RETURN 4: ABSORB PARTICLE AT THIS SURFACE
     :
     :
      RETURN
C
C  INITIALIZE USER SUPPLIED SPUTTERING MODEL
      ENTRY SP0USR
     :
C  DEFINE SPECIES DEPENDENT PHYSICAL SPUTTERING COEFFICIENT HERE
C     RECYCS(ISPZ,MSURF)=.....
C  AND ALSO CHEMICAL SPUTTERING COEFFICIENT
C     RECYCC(ISPZ,MSURF)=.....
     :
      ENTRY SP1USR
     :
     :
      RETURN
      END

3.4  The user source sampling routine SAMUSR


General remarks:

This subroutine is called from the point source sampling routine SAMPNT, the surface source sampling routine SAMSRF, or from the volume sampling routine SAMVOL, if the flag SORLIM(N, ISTRA) (input block 7) for the spatial distribution of birth points on sub-stratum N for stratum ISTRA has a negative value.
This subroutine returns to EIRENE the (cartesian) coordiantes of the birth point
X0,Y0,Z0
cell index information
IRUSR,IPUSR,ITUSR,IAUSR,IBUSR
as well as local plasma background data at this place of birth:
TIWL,TEWL,DIWL,VXWL,VYWL,VZWL,EFWL,SHWL,WEISPZ
The input parameters (EIRENE input block 7 for primary sources)
SORAD1,SORAD2,SORAD3,SORAD4,SORAD5,SORAD6
can be used in this problem specific routine.
Dimensions, Precision:

Format of subroutine

      SUBROUTINE SAMUSR (ISR,X0,Y0,Z0,
     .                   SORAD1,SORAD2,SORAD3,SORAD4,SORAD5,SORAD6,
     .                   IRUSR,IPUSR,ITUSR,IAUSR,IBUSR,
     .                   TIWL,TEWL,DIWL,VXWL,VYWL,VZWL,EFWL,SHWL,
     .                   WEISPZ)
      USE PRECISION
      USE PARMMOD
           :
           :  ! MORE MODULES, IF NEEDED
           :
      IMPLICIT NONE
      INTEGER, INTENT(IN) :: ISR, ISTR
      REAL(DP), INTENT(IN)   :: SORAD1,SORAD2,SORAD3,SORAD4,SORAD5,
     .                          SORAD6
      REAL(DP), INTENT(OUT) ::
     .          X0,Y0,Z0
      INTEGER,  INTENT(OUT) :: IRUSR,IPUSR,ITUSR,IAUSR,IBUSR
!   NPLS: NUMBER OF BULK ION SPECIES IN EIRENE INPUT BLOCK 5
!   NSPZ: TOTAL NUMBER OF PARTICLE SPECIES:
!         NSPZ=NPHOT+NATM+NMOL+NION+NPLS,
!         SEE INPUT BLOCKS 4 AND 5.
      REAL(DP), INTENT(OUT) ::
     .          TEWL,SHWL,
     .          TIWL(NPLS),DIWL(NPLS),
     .          VXWL(NPLS),VYWL(NPLS),VZWL(NPLS),
     .          EFWL(NPLS),WEISPZ(NSPZ)


!  INITIALIZE SAMPLING FOR SUBSTRATUM  ISR OF STRATUM ISTR
!  ISR:  NUMBER OF SUBSTRATUM (SEE INPUT BLOCK 7)
!  ISTR: NUMBER OF STRATUM
      ENTRY SM0USR (ISR,istr,sorad1,sorad2,sorad3,
     .                       sorad4,sorad5,sorad6)

      RETURN

      ENTRY SM1USR (ISR,X0,Y0,Z0,
     .              SORAD1,SORAD2,SORAD3,SORAD4,SORAD5,SORAD6,
     .              IRUSR,IPUSR,ITUSR,IAUSR,IBUSR,
     .              TIWL,TEWL,DIWL,VXWL,VYWL,VZWL,EFWL,SHWL,WEISPZ)
!  FIND BIRTH POINT COORDINATES. SUBSTRATUM ISR IF STRATUM ISTRA
!  HAS ALREADY BEEN IDENTIFIED. ISTRA (IF NEEDED) IS IN MODULE COMPRT.
!  INITIALIZE THOSE VARIABLES WHICH ARE NOT SET BELOW:
      X0  =0._DP
      Y0  =0._DP
      Z0  =0._DP

      IRUSR =0
      IPUSR =0
      ITUSR =1
      IAUSR =0
      IBUSR =1

      TEWL=0._DP
      SHWL=0._DP
      TIWL=0._DP
      DIWL=0._DP
      VXWL=0._DP
      VYWL=0._DP
      VZWL=0._DP
      EFWL=0._DP
      WEISPZ=0._DP

!  HERE COMES THE PROBLEM SPECIFIC DEFINITION OF BIRTH POINT SAMPLING


      RETURN

      END

Note: The parameters EFWL, SHWL have been introduced in 2005.
Note: Correction in May 2006: In previous versions of this manual the parameters TEWL and TIWL have been interchanged with respect to the calling statements in the EIRENE code.
(Thanks to Jose Guasp, (CIEMAT, Spain) for pointing this out.)

3.5  The user routines to overrule input data

3.5.1  The user geometry data routine GEOUSR

to be written

3.5.2  User supplied background data routine PLAUSR

to be written

3.6  The user routines for profiles PROUSR


General remarks:

This subroutine is called from the subroutine PLASMA if the input flag INDPRO (input block 5) has the value INDPRO(IPRO)=5 for a particular background tally IPRO. Only the data for cells from the standard mesh (ICELL=1,..,NSURF) are used. Default "vacuum data" are set for all cells in the "additional cell region" ICELL=NSURF+1,...,NSBOX.
PROUSR is called, furthermore, from subroutine INPUT to provide cell volumes for all cells (ICELL=1,...,NSBOX), if the input flag INDPRO(12) has the value INDPRO(12)=5

Format of subroutine

      SUBROUTINE PROUSR (RHO,INDEX,P0,P1,P2,P3,P4,P5,PVAC,NDAT)
* CALL PARMMOD
     :
     :
      IF (INDEX.EQ.0) THEN
C  DATA FOR TE-PROFILE, NDAT=NSURF
        DO ICELL=1,NDAT
          RHO(ICELL)=......
        ENDDO
      ELSEIF (INDEX.EQ.....) THEN
     :
     :
      ELSEIF (INDEX.EQ.5+5*NPLS) THEN
C  DATA FOR VOL, NDAT=NSBOX
     :
     :
      ELSE
        WRITE (6,*) 'INVALID INDEX IN PROUSR '
        CALL EXIT
      ENDIF
      RETURN
      END

Depending upon the value of INDEX, one has to specify a background tally on the array RHO, RHO(J),J=1,NDAT. These are:

3.7  User supplied post-processed tally routine TALUSR

to be written
      SUBROUTINE TALUSR(ICOUNT,VECTOR,TALTOT,TALAV,
     .                  TXTTL,TXTSP,TXTUN,ILAST,*)

3.8  User supplied "general geometry block"

The following routines have to be provided for the general geometry options (LEVGEO=10 option, NLGEN=TRUE), in which no specific geometry data are available from EIRENE input, and all the geometrical parameters for particle tracing and scoring of tallies are transferred from outside.
In case NLGEN, only a reduced set of the standard EIRENE options is available, and the five user routines mentioned above and described below may have to be supplemented by some further options from the problem specific segment USER.F .
Input block 5
only the INDPRO = 3, 5 and 6 options are available. INDPRO = 3 provides constant profiles, same value in each cell. Hence, in case of non-constant background parameters one has to resort to subroutine PROUSR (INDPRO=5), or to the code segment INFCOP (INDPRO=6) for coupling to another source (code) for the data of the background medium.
Input block 7
only the point source option is available. In case of surface sources or volume sources, the subroutine SAMUSR has to be called, see 3.4.
Input block 11
only the printout options are available, no graphics output options are available. However, subroutine PLTUSR(LOG,J) is called from the 2D geometry plotting routine PLT2D (LOG=.TRUE., J = number of surface to be plotted) and from the 3D geometry plotting routine PLT3D (LOG=.FALSE., J = number of surface to be plotted)

3.8.1  Subroutine INIUSR

This subroutine is called from subroutine INPUT, after reading from the formatted input file and after (optional) calls to interfacing routines INFCOP. Any initialization (including definition of COMMON blocks) for the user geometry package may be done here.

3.8.2  Subroutine LEAUSR

The function LEAUSR is called from functions LEARC1 and LEARCA in case of LEVGEO=10. The call is
NCELL=LEAUSR(X,Y,Z)

Here X,Y,Z are the Cartesian coordinates of a point inside the computational domain in centimeters. LEAUSR must then return the number of the cell to which this point belongs.

3.8.3  Subroutine TIMUSR

The subroutine TIMUSR is called from TIMER (block GEO3D). The call is
CALL TIMUSR (NRCELL,X0,Y0,Z0,VELX,VELY,VELZ,
             NJUMP,NEWCEL,TIM,ICOS,IERR)

Input
NRCELL
Actual cell number, for which the intersection to the cell boundary has to be found. If NJUMP=0, i.e., for the first call of a new trajectory (e.g., after a collision), the starting point X0,Y0,Z0 must be in that cell. In later calls for the same trajectory (NJUMP > 0), NRCELL has been automatically updated, i.e., it must not necessarily contain the starting point X0,Y0,Z0.
X0,Y0,Z0
Cartesian coordinates of the starting point of a trajectory.
VELX,VELY,VELZ
 
unit (speed-) vector pointing in the direction of the flight.
Output
NJUMP
= 0
this is the first call for a particular trajectory.
≠ 0
this is a later call for a particular trajectory. The initial position and speed unit vector are the same as in the previous call. Hence: the geometrical parameters depending only on those need not be evaluated again.
NEWCEL
< 0
trajectory has intersected one of the non-default surface (input block 3a). ABS(NEWCEL) is the number of that surface (corresponding to running index ISTSI in input block 3a).
> 0
number of next cell, in which the flight would continue, if no collision event stops the track already earlier. I.e., cell number of the neighbor cell in the direction of the flight.
TIM
distance (cm) from X0,Y0,Z0 to the nearest intersection of the trajectory with a boundary of cell NRCELL
ICOS
only relevant, if the trajectory has intersected a non-default surface. In this case, ICOS is the sign (+1 or -1) of the cosine of the angle of incidence against the surface normal (this later unit vector may, e.g., be found in TIMUSR by a call to NORUSR).
IERR
error flag. Presently any value different from 0 will lead to an immediate end of the run. See subroutine TIMER in code segment GEO3D.F

3.8.4  Subroutine VOLUSR

The subroutine VOLUSR is called from subroutine VOLUME in case of LEVGEO=10. The call is
CALL VOLUSR(N,A)

Here N is the number of cells in this run, and A is an array of length N, containing the N cell volumes in cm3.

3.8.5  Subroutine NORUSR

The subroutine NORUSR is called from subroutine STDUSR in case of LEVGEO=10. The call is
CALL NORUSR(M,X,Y,Z,CX,CY,CZ,SCOS)

Here X,Y,Z are the Cartesian coordinates of a point, located on non-default standard surface no. M. The routine must return the surface normal unit vector CX,CY,CZ.

Chapter 4
Routines for interfacing with other codes:
EIRCOP


General remarks

The names of all routines in the interfacing block end with ...COP.

4.1  Routine for interfacing INFCOP

To write an interfacing routine INFCOP in order to couple EIRENE to another code is already a quite formidable task and it is highly recommended that, in addition to the information given below, the user should ask for a few sample routines INFCOP, which are available from the authors.
Data are transported from subroutine INFCOP into EIRENE via the EIRENE work array RWK (Common CSPEI). They are read onto the EIRENE arrays for input tallies (5.1) by calls of subroutine PROFR in the initialization phase, if the flag INDPRO has the value 6 or 7 for a particular input tally (see section 2.5. The following addresses are foreseen on RWK for this data transferring procedure:
Plasma data (INDPRO = 6 option)
TEIN  :  (RWK ((0         ) * NRAD + J), J=1,NSBOX)
TIIN  :  (RWK ((1 + 0*NPLS) * NRAD + J), J=1,NSBOX,I=1,NPLS)
DIIN  :  (RWK ((1 + 1*NPLS) * NRAD + J), J=1,NSBOX,I=1,NPLS)
VXIN  :  (RWK ((1 + 2 NPLS) * NRAD + J), J=1,NSBOX,I=1,NPLS)
VYIN  :  (RWK ((1 + 3*NPLS) * NRAD + J), J=1,NSBOX,I=1,NPLS)
VZIN  :  (RWK ((1 + 4*NPLS) * NRAD + J), J=1,NSBOX,I=1,NPLS)
BXIN  :  (RWK ((1 + 5*NPLS) * NRAD + J), J=1,NSBOX)
BYIN  :  (RWK ((2 + 5*NPLS) * NRAD + J), J=1,NSBOX)
BZIN  :  (RWK ((3 + 5*NPLS) * NRAD + J), J=1,NSBOX)
BFIN  :  (RWK ((4 + 5*NPLS) * NRAD + J), J=1,NSBOX)
VLIN  :  (RWK ((5 + 5*NPLS) * NRAD + J), J=1,NSBOX)
ADIN  :  (RWK ((6 + 5*NPLS) * NRAD + J), J=1,NSBOX,I=1,NAIN)

Geometrical data (INDGRD = 6 option)
LEVGEO = 1 or LEVGEO = 2:
RSURF :  (RWK ((6+5*NPLS+NAIN) * NRAD +                 J), J=1,N1ST)
EP    :  (RWK ((6+5*NPLS+NAIN) * NRAD +   N1ST +        J), J=1,N1ST)
EL    :  (RWK ((6+5*NPLS+NAIN) * NRAD + 2*N1ST +        J), J=1,N1ST)
TR    :  (RWK ((6+5*NPLS+NAIN) * NRAD + 3*N1ST +        J), J=1,N1ST)
PSURF :  (RWK ((6+5*NPLS+NAIN) * NRAD + 4*N1ST +        J), J=1,N2ND)
TSURF :  (RWK ((6+5*NPLS+NAIN) * NRAD + 4*N1ST + N2ND + J), J=1,N3RD)
LEVGEO = 3
PGINTF:  (RWK ((6+5*NPLS+NAIN) * NRAD + J), J=1,NPMAX)
TSURF :  (RWK ((6+5*NPLS+NAIN) * NRAD + NPMAX + J), J=1,N3RD)
LEVGEO = 4
TRINTF:  (RWK ((6+5*NPLS+NAIN) * NRAD + J), J=1,NTMAX)
TSURF :  (RWK ((6+5*NPLS+NAIN) * NRAD + NTMAX + J), J=1,N3RD)
LEVGEO = 5
THINTF:  (RWK ((6+5*NPLS+NAIN) * NRAD + J), J=1,NHMAX)

4.1.1  entry IF0COP

Geometry data (INDGRD = 6 option)

In the LEVGEO=3 option PGINTF is an array of length NPMAX, which contains all relevant information to generate a 2D mesh of polygons in the x-y plane. It is equivalenced to the common block CPOLYG via the statement:
EQUIVALENCE (PGINTF(1),XPLG(1,1)),...
In the LEVGEO=4 option TRINTF is an array of length NTMAX, which contains all relevant information to generate a mesh of triangles in the x-y plane. It is equivalenced to the common block CTRIA via the statement:
EQUIVALENCE (TRINTF(1),XT(1)),...
In the LEVGEO=5 option THINTF is an array of length NHMAX, which contains all relevant information to generate a mesh of tetrahedrons in the 3d computational domain. It is equivalenced to the common block CTETRA via the statement:
EQUIVALENCE (THINTF(1),XT(1)),...

4.1.2  entry IF1COP

Plasma (background) data (INDPRO = 6 option)

to be written

4.1.3  entry IF2COP(ISTRA)

Primary source data (INDSRC = 6 option)

In case of an EIRENE run, in which input information is obtained from an external code (e.g.: B2, EMC3, DIVIMP, ...), the stratification of the primary source should be such that the first NTARGI (see 2.14) strata are determined by the plasma fluxes onto surfaces ("recycling surface sources"). In this case the source can be defined automatically from the interfacing routine, using the data specified in input block 14. The remaining primary sources NTARGI+1, ..., NSTRAI (e.g. gas puff, volume recombination sources, etc...) still have to defined in input block 7. The input flag INDSRC described below is irrelevant for those strata. Whether input block 7 or input block 14 is used for a particular surface source ISTRA ≤ NTARGI is controlled by the flag INDSRC.
if INDSRC(ISTRA) < 0 then interfacing routine IF2COP is not called. Input data are used from block 7, see 2.7.

if INDSRC(ISTRA) = 0-5, then the input flags described in section 2.7 are used to define the spatial distribution of a recycling source on a grid boundary (function STEP(ISTEP), see section 2.7.1) as well as the distribution in velocity space. The step function itself and the total source strength FLUX(ISTRA), however, are defined in IF2COP, using data from input block 14, see 2.14, for target recycling source ITARG. In this case the sampling range from the spatial surface distribution and the species distribution specified in input block 7 must be equal to or a subrange of the the step-function for target recycling source ITARG defined from the data in input block 14.

if INDSRC(ISTRA) = 6, then the input flags described in section 2.14 are used to define the entire surface recycling source automatically. The corresponding data in input block 7 for this stratum are not used and may be omitted. Stratum ISTRA corresponds to the target recycling source ITARG from block 14.

4.1.4  entry IF3COP(ISTRAA,ISTRAE)

Return data at the end of an EIRENE stratum

At this entry data are transferred back from EIRENE to the external code. This entry is called from the "strata-loop" (subr. MCARLO), after all trajectories for each particular stratum have been sampled and after all volume and surface tallies have been scaled and processed to their final form.
The call to IF3COP is controlled by the flag NMODE (input block 1).
At IF3COP data are expected and prepared for transfer to the external code for strata all ISTRA in the range ISTRA=ISTRAA,ISTRAE.

4.1.5  entry IF4COP

post-processing after one complete cycle: overall balances, etc.

4.2  Routines for cycling of EIRENE with external codes: EIRSRT

In this subroutine the "cycling" between EIRENE and external codes is controlled. There are various options, such as "full time dependent (explicit)", "quasi-stationary (explicit)", and "quasi-stationary (implicit)".

4.3  Routines for special tallies needed for code coupling: UPTCOP

In older versions of EIRENE (before 2002) in particular momentum exchange rates (i.e. friction terms) in the direction parallel to the magnetic field have been programmed here. Meanwhile these have become default tallies, see chapter 5.1. Still some particular coupling tallies, e.g. to render the coupling procedure more implicit, are scored in this routine.

4.4  Statistical noise in Monte Carlo terms for external code, noise-residuals: STATIS_COP

As pointed out in Section 2.9 for all primary (not derived) EIRENE tallies the empirical standard deviation can also be obtained, if requested.
The considerable CPU penalty for doing this was avoided in EIRENE versions 99 and younger, by major code optimization in these parts.
Subroutine STATIS_COP provides these estimates for those tallies which are specific to a particular coupled case. Usually these will be source terms for particle, momentum, and energy balance equations, summed over all donor species.
At entry IF4COP (see section 4.1.5 above) these may be further processed. For example, in case of coupling to the B2 plasma fluid code these noise estimates are integrated into global quantities (dimension: 1/time) and represent the contribution of statistical noise to the overall residuals of a B2 run.
These are printed from IF4COP, together with the overall balances of a coupled run (TRCBAL=.true.)
Hence: if the B2 estimated residuals are of the same order as these "statistical noise residuals", then a further convergence of the combined code can only be achieved by increasing the CPU-time for EIRENE.
Otherwise: The coupled B2-EIRENE run has failed to converge to the solution within the statistical noise.
This is also represented by the convergence measure of "saturated residuals"

Chapter 5
Default EIRENE tallies, and selected Modules

5.1  Tables of EIRENE tallies

The following three tables comprise the EIRENE "tallies". The term "tally" is adopted from neutron transport applications, a more precise terminology would be "response", see section 3.2. Because of the new type of particle introduced during 2002 (photon gas, ITYP=0) the numbering of tallies has changed significantly. Therefore the tables are given below once for the current EIRENE version (2002 and younger), and once for the versions older than 2001.
  Each volume averaged response is a spatial function, averaged over a grid cell, hence: piecewise constant in each grid cell ICELL:
ICELL=1,NRAD.
Surface averaged responses are also spatial functions, averaged over surfaces, hence: piecewise constant on each surface ISURF or surface segment:
ISURF=1,NLIMI.
and with some spatial resolution possible on standard mesh surfaces
ISURF=NLIM,NLIM+NSTSI
Emitted particle and energy surface averaged fluxes are split by the typ of the incident particle: photons (Phs.), atoms (Ats.), molecules (Mls.), test ions (T.I.) or bulk ions (B.I.). This permits scaling of these fluxes with the factors FPHOT, FATM, FMOL, FION, to eliminate statistical errors from the particle balances (see NLSCL option, input block 1).
If temporal resolution has been requested (input block 13), then NSTSI is increased by one: NSTSIP=NSTSI+1, and the last tally I2=NLIM+NSTSIP corresponds to the "Time-Surface" (the census array) then.

5.1.1  Current status, incl. photon gas tallies (Eirene-02 and younger)

Table 5.1: Input Tallies for Background, Input, Module: COMUSR


No Name Macroscopic quantity 1.Dim. Units Estim.
-1 TEIN Plasma Temperature, Electrons 1 eV /
-2 TIIN Plasma Temperature, Bulk Ions NPLS eV /
-3 DEIN Plasma Density, Electrons 1 cm−3 /
-4 DIIN Plasma Density, Bulk Ions NPLS cm−3 /
-5 VXIN Plasma Drift Velocity, x-component, Bulk IonsNPLS cm/sec /
-6 VYIN Plasma Drift Velocity, y-component, Bulk IonsNPLS cm/sec /
-7 VZIN Plasma Drift Velocity, z-component, Bulk IonsNPLS cm/sec /
-8 BXIN Magnetic field unit vector, x-component 1 / /
-9 BYIN Magnetic field unit vector, y-component 1 / /
-10 BZIN Magnetic field unit vector, z-component 1 / /
-11 BFIN Magnetic field strength 1 Tesla /
-12 ADIN Additional input tally NAIN see INFCOP /
-13 EDRIFT Kinetic energy in drift motion, Bulk Ions NPLS eV /
-14 VOL Zone Volume 1 cm3 /
-15 WGHT Space and species dependent importance NSPCMC 1 /

Note: DEIN and EDRIFT are "derived" input tallies, internally computed from the ion densities (quasi-neutrality), and the flow field, respectively.
Table 5.2: Volume Averaged Tallies, Output, Module: CESTIM
No Name Macroscopic quantity 1.Dim. Units Estim.
Table 5.3: (continued)
No Name Macroscopic quantity 1.Dim. Units Estim.
1 PDENA Particle density, Atoms NATM cm−3 T1
2 PDENM Particle density, Molecules NMOL cm−3 T2
3 PDENI Particle density, Test Ions NION cm−3 T3
4 PDENPH Particle density, Photons NPHOT cm−3 T3
5 EDENA Energy density, Atoms NATM eV*cm−3 T4
6 EDENM Energy density, Molecules NMOL eV*cm−3 T5
7 EDENI Energy density, Test Ions NION eV*cm−3 T6
8 EDENPH Energy density, Photons NPHOT eV*cm−3 T6
9 PAEL Particle Source (Electrons) from atom-plasma coll. 1 amp* cm−3 T7
10 PAAT Particle Source (Atoms) from atom-plasma coll. NATM amp*cm−3 T8
11 PAML Particle Source (Molecules) from atom-plasma coll. NMOL amp*cm−3 T9
12 PAIO Particle Source (Test Ions) from atom-plasma coll. NION amp*cm−3 T10
13 PAPHT Particle Source (Photons) from atom-plasma coll. NPHOT amp*cm−3 T10
14 PAPL Particle Source (Bulk Ions) from atom-plasma coll. NPLS amp*cm−3 T11
15 PMEL Particle Source (Electrons) from molecule-plasma coll. 1 amp*cm−3 T12
16 PMAT Particle Source (Atoms) from molecule-plasma coll. NATM amp*cm−3 T13
17 PMML Particle Source (Molecules) from molecule-plasma coll. NMOL amp*cm−3 T14
18 PMIO Particle Source (Test Ions) from molecule-plasma coll. NION amp*cm−3 T15
19 PMPHT Particle Source (Photons) from molecule-plasma coll. NPHOT amp*cm−3 T15
20 PMPL Particle Source (Bulk Ions) from molecule-plasma coll. NPLS amp*cm−3 T16
21 PIEL Particle Source (Electrons) from test ion-plasma coll. 1 amp*cm−3 T17
22 PIAT Particle Source (Atoms) from test ion-plasma coll. NATM amp*cm−3 T18
23 PIML Particle Source (Molecules) from test ion-plasma coll. NMOL amp*cm−3 T19
24 PIIO Particle Source (Test Ions) from test ion-plasma coll. NION amp*cm−3 T20
25 PIPHT Particle Source (Photons) from test ion-plasma coll. NPHOT amp*cm−3 T20
26 PIPL Particle Source (Bulk Ions) from test ion-plasma coll. NPLS amp*cm−3 T21
27 PPHEL Particle Source (Electrons) from photon-plasma coll. 1 amp*cm−3 T17
28 PPHAT Particle Source (Atoms) from photon-plasma coll. NATM amp*cm−3 T18
29 PPHML Particle Source (Molecules) from photon-plasma coll. NMOL amp*cm−3 T19
30 PPHIO Particle Source (Test Ions) from photon-plasma coll. NION amp*cm−3 T20
31 PPHPHT Particle Source (Photons) from photon-plasma coll. NPHOT amp*cm−3 T20
32 PPHPL Particle Source (Bulk Ions) from photon-plasma coll. NPLS amp*cm−3 T21
33 EAEL Energy Source (Electrons) from atom-plasma coll. 1 watt*cm−3 T22
34 EAAT Energy Source (Atoms) from atom-plasma coll. 1 watt*cm−3 T23
35 EAML Energy Source (Molecules) from atom-plasma coll. 1 watt*cm−3 T24
36 EAIO Energy Source (Test Ions) from atom-plasma coll. 1 watt*cm−3 T25
37 EAPHT Energy Source (Photons) from atom-plasma coll. 1 watt*cm−3 T25
38 EAPL Energy Source (Bulk Ions) from atom-plasma coll. 1 watt*cm−3 T26
39 EMEL Energy Source (Electrons) from molecule-plasma coll. 1 watt*cm−3 T27
40 EMAT Energy Source (Atoms) from molecule-plasma coll. 1 watt*cm−3 T28
41 EMML Energy Source (Molecules) from molecule-plasma coll. 1 watt*cm−3 T29
42 EMIO Energy Source (Test Ions) from molecule-plasma coll. 1 watt*cm−3 T30
43 EMPHT Energy Source (Photons) from molecule-plasma coll. 1 watt*cm−3 T30
44 EMPL Energy Source (Bulk Ions) from molecule-plasma coll. 1watt*cm−3 T31
45 EIEL Energy Source (Electrons) from test ion-plasma coll. 1watt*cm−3 T32
46 EIAT Energy Source (Atoms) from test ion-plasma coll. 1watt*cm−3 T33
47 EIML Energy Source (Molecules) from test ion-plasma coll. 1watt*cm−3 T34
48 EIIO Energy Source (Test Ions) from test ion-plasma coll. 1watt*cm−3 T35
49 EIPHT Energy Source (Photons) from test ion-plasma coll. 1watt*cm−3 T35
50 EIPL Energy Source (Bulk Ions) from test ion-plasma coll. 1watt*cm−3 T36
51 EPHEL Energy Source (Electrons) from photon-plasma coll. 1watt*cm−3 T33
52 EPHAT Energy Source (Atoms) from photon-plasma coll. 1watt*cm−3 T33
53 EPHML Energy Source (Molecules) from photon-plasma coll. 1watt*cm−3 T34
54 EPHIO Energy Source (Test Ions) from photon-plasma coll. 1watt*cm−3 T35
55 EPHPHT Energy Source (Photons) from photon-plasma coll. 1watt*cm−3 T35
56 EPHPL Energy Source (Bulk Ions) from photon-plasma coll. 1watt*cm−3 T36
57 ADDV Additional volume av. Tally, Track-length estimated NADV see UPTUSR TRL
58 COLV Additional volume av. Tally, Collision estimated NCLV see UPCUSR COL
59 SNPV Additional volume av. Tally, Snapshot estimated NSNV see UPSUSR SNP
60 COPV Tallies for coupling to ext. code, see: Subr. UPTCOP NCPV see UPTCOP COP
61 BGKV Volume averaged tallies for BGK-self-collision terms NBGV see BGK T41
62 ALGV Algebraic expression in volume averaged tallies NALV Input ALG
63 PGENA Generation limit, Atoms NATM amp*cm−3 T1
64 PGENM Generation limit, Molecules NMOL amp*cm−3 T1
65 PGENI Generation limit, Test ions NION amp*cm−3 T1
66 PGENPH Generation limit, Photons NPHOT amp*cm−3 T1
67 EGENA dito, Energy flux, Atoms NATM watt*cm−3 T1
68 EGENM dito, Energy flux, Molecules NMOL watt*cm−3 T1
69 EGENI dito, Energy flux, Test ions NION watt*cm−3 T1
70 EGENPH dito, Energy flux, Photons NPHOT watt*cm−3 T1
71 VGENA dito, momentum flux, Atoms NATM as MAPL T1
72 VGENM dito, momentum flux, Molecules NMOL as MMPL T1
73 VGENI dito, momentum flux, Test ions NION as MIPL T1
74 VGENPH dito, momentum flux, Photons NPHOT as MPHPL T1
75 PPAT primary particle sources rate, Atoms NATM amp*cm-3 C1
76 PPML primary particle sources rate, Molecules NMOL amp*cm-3 C1
77 PPIO primary particle sources rate, Test ions NION amp*cm-3 C1
78 PPPHT primary particle sources rate, Photons NPHOT amp*cm-3 C1
79 PPPL primary particle sources rate, Bulk Ions NPLS amp*cm-3 C1
80 EPAT primary energy sources rate, Atoms 1 watt*cm-3 C1
81 EPML primary energy sources rate, Molecules 1 watt*cm-3 C1
82 EPIO primary energy sources rate, Test ions 1 watt*cm-3 C1
83 EPPHT primary energy sources rate, Photons 1 watt*cm-3 C1
84 EPPL primary energy sources rate, Bulk Ions 1 watt*cm-3 C1
85 VXDENA momentum density, x-direction, Atoms NATM g*cm/s*cm-3 T1
86 VXDENM momentum density, x-direction, Molecules NMOL g*cm/s*cm-3 T1
87 VXDENI momentum density, x-direction, Test Ions NION g*cm/s*cm-3 T1
88 VXDENPH momentum density, x-direction, Photons NPHOT g*cm/s*cm-3 T1
89 VYDENA momentum density, y-direction, Atoms NATM g*cm/s*cm-3 T1
90 VYDENM momentum density, y-direction, Molecules NMOL g*cm/s*cm-3 T1
91 VYDENI momentum density, y-direction, Test Ions NION g*cm/s*cm-3 T1
92 VYDENPL momentum density, y-direction, Photons NPHOT g*cm/s*cm-3 T1
93 VZDENA momentum density, z-direction, Atoms NATM g*cm/s*cm-3 T1
94 VZDENM momentum density, z-direction, Molecules NMOL g*cm/s*cm-3 T1
95 VZDENI momentum density, z-direction, Test Ions NION g*cm/s*cm-3 T1
96 VZDENPL momentum density, z-direction, Photons NPHOT g*cm/s*cm-3 T1
97 MAPL parallel momentum source rate, Atoms NATM amp*g*cm/s*cm-3 TPM
98 MMPL parallel momentum source rate, Molecules NMOL amp*g*cm/s*cm-3 TPM
99 MIPL parallel momentum source rate, Test Ions NION amp*g*cm/s*cm-3 TPM
100 MPHPL parallel momentum sources rate, Photons NPHOT amp*g*cm/s*cm-3 TPM
Note: Source means: if the sign is positive, it is a gain for the specified type of particles; if it is negative, it is a loss.


Estimators EIRENE resorts, by default, to tracklength estimators (3.17). Default tallies are updated ("scoring") in routine UPDATE. All default estimators are constant within a cell m, i.e. depend only upon the cell index m but not on the position r in the cell: gt(s) = const(m). Hence they also do not depend on the position s along the track within a cell. UPDATE calls templates UPTUSR, in which any further quantity can be scored by programming the path integral of any function gt(s), see section 3.2.
In some instances still collision estimators (3.15) are employed but we are gradually removing them (and plan keep them in the code only to provide independent checks for code-verification runs.)
Table 5.4: Surface Averaged Tallies, Output, Module: CESTIM
No Name Macroscopic quantity 1.Dim. Units Estim.
Table 5.5: (continued)
No Name Macroscopic quantity 1.Dim. Units Estim.
1 POTAT Particle Flux, incident, AtomsNATM amp T/C
2 PRFAAT Particle Flux, emitted, Ats.⇒AtomsNATM amp T/C
3 PRFMAT Particle Flux, emitted, Mls.⇒AtomsNATM amp T/C
4 PRFIAT Particle Flux, emitted, T.I.⇒AtomsNATM amp T/C
5 PRFPHAT Particle Flux, emitted, Pht.⇒AtomsNATM amp T/C
6 PRFPAT Particle Flux, emitted, B.I.⇒AtomsNATM amp T/C
7 POTML Particle Flux, incident, MoleculesNMOL amp T/C
8 PRFAML Particle Flux, emitted, Ats.⇒MoleculesNMOL amp T/C
9 PRFMML Particle Flux, emitted, Mls.⇒MoleculesNMOL amp T/C
10 PRFIML Particle Flux, emitted, T.I.⇒MoleculesNMOL amp T/C
11 PRFPHML Particle Flux, emitted, Pht.⇒MoleculesNMOL amp T/C
12 PRFPML Particle Flux, emitted, B.I.⇒MoleculesNMOL amp T/C
13 POTIO Particle Flux, incident, Test IonsNION amp T/C
14 PRFAIO Particle Flux, emitted, Ats.⇒Test IonsNION amp T/C
15 PRFMIO Particle Flux, emitted, Mls.⇒Test IonsNION amp T/C
16 PRFIIO Particle Flux, emitted, T.I.⇒Test IonsNION amp T/C
17 PRFPHIO Particle Flux, emitted, Pht.⇒Test IonsNION amp T/C
18 PRFPIO Particle Flux, emitted, B.I.⇒Test IonsNION amp T/C
19 POTPHT Particle Flux, incident, PhotonsNPHOT amp T/C
20 PRFAPHT Particle Flux, emitted, Ats.⇒PhotonsNPHOT amp T/C
21 PRFMPHT Particle Flux, emitted, Mls.⇒PhotonsNPHOT amp T/C
22 PRFIPHT Particle Flux, emitted, T.I.⇒PhotonsNPHOT amp T/C
23 PRFPHPHT Particle Flux, emitted, Pht.⇒PhotonsNPHOT amp T/C
24 PRFPPHT Particle Flux, emitted, B.I.⇒PhotonsNPHOT amp T/C
25 POTPL Particle Flux, incident, Bulk IonsNPLS amp T/C
26 EOTAT Energy Flux, incident, AtomsNATM watt T/C
27 ERFAAT Energy Flux, emitted, Ats.⇒AtomsNATM watt T/C
28 ERFMAT Energy Flux, emitted, Mls.⇒AtomsNATM watt T/C
29 ERFIAT Energy Flux, emitted, T.I.⇒AtomsNATM watt T/C
30 ERFPHAT Energy Flux, emitted, Pht.⇒AtomsNATM watt T/C
31 ERFPAT Energy Flux, emitted, B.I.⇒AtomsNATM watt T/C
32 EOTML Energy Flux, incident, MoleculesNMOL watt T/C
33 ERFAML Energy Flux, emitted, Ats.⇒MoleculesNMOL watt T/C
34 ERFMML Energy Flux, emitted, Mls.⇒MoleculesNMOL watt T/C
35 ERFIML Energy Flux, emitted, T.I.⇒MoleculesNMOL watt T/C
36 ERFPHML Energy Flux, emitted, Pht.⇒MoleculesNMOL watt T/C
37 ERFPML Energy Flux, emitted, B.I.⇒MoleculesNMOL watt T/C
38 EOTIO Energy Flux, incident, Test IonsNION watt T/C
39 ERFAIO Energy Flux, emitted, Ats.⇒Test Ions NION watt T/C
40 ERFMIO Energy Flux, emitted, Mls.⇒Test Ions NION watt T/C
41 ERFIIO Energy Flux, emitted, T.I.⇒Test Ions NION watt T/C
42 ERFPHIO Energy Flux, emitted, Pht.⇒Test Ions NION watt T/C
43 ERFPIO Energy Flux, emitted, B.I.⇒Test Ions NION watt T/C
44 EOTPHT Energy Flux, incident, PhotonsNPHOT watt T/C
45 ERFAPHT Energy Flux, emitted, Ats.⇒Photons NPHOT watt T/C
46 ERFMPHT Energy Flux, emitted, Mls.⇒Photons NPHOT watt T/C
47 ERFIPHT Energy Flux, emitted, T.I.⇒Photons NPHOT watt T/C
48 ERFPHPHT Energy Flux, emitted, Pht.⇒Photons NPHOT watt T/C
49 ERFPPHT Energy Flux, emitted, B.I.⇒Photons NPHOT watt T/C
50 EOTPL Energy Flux, incident, Bulk IonsNPLS watt T/C
51 SPTAT Sputtered Flux, by incident AtomsNATM amp T/C
52 SPTML Sputtered Flux, by incident MoleculesNMOL amp T/C
53 SPTIO Sputtered Flux, by incident Test IonsNION amp T/C
54 SPTPHT Sputtered Flux, by incident PhotonsNPHOT amp T/C
55 SPTPL Sputtered Flux, by incident Bulk IonsNPLS amp T/C
56 SPTTOT Sputtered Flux, total1 amp T/C
57 ADDS Additional Surface Tally NADS Input T/C
58 ALGS Algebraic expression in surface averaged talliesNALS Input
59 SPUMP Pumped flux, by species NSPZ amp
Note: The tallies listed here are two dimensional arrays. The 2nd index I2 is the number of the surface or the surface segment. For I2=1,...,NLIMI the tallies correspond to the "Additional Surfaces", (input block 3B).
For I2=NLIM+1,NLIM+NSTSI*NGITT the data correspond to the "Non-default Standard Surfaces" (input block 3A). On each such surface of block 3A, there is a spatial resolution with up to NGITT surface segments, depending upon the standard grid dimensionality.

5.1.2  old version, w/o photon gas tallies (Eirene-01 and older)

Table 5.6: Input Tallies for Background, Input, Common: COMUSR


No Name Macroscopic quantity 1.Dim. Units Estim.
-1 TEIN Plasma Temperature, Electrons 1 eV /
-2 TIIN Plasma Temperature, Bulk Ions NPLS eV /
-3 DEIN Plasma Density, Electrons 1 cm−3 /
-4 DIIN Plasma Density, Bulk Ions NPLS cm−3 /
-5 VXIN Plasma Drift Velocity, x-component, Bulk IonsNPLS cm/sec /
-6 VYIN Plasma Drift Velocity, y-component, Bulk IonsNPLS cm/sec /
-7 VZIN Plasma Drift Velocity, z-component, Bulk IonsNPLS cm/sec /
-8 BXIN Magnetic field unit vector, x-component 1 / /
-9 BYIN Magnetic field unit vector, y-component 1 / /
-10 BZIN Magnetic field unit vector, z-component 1 / /
-11 BFIN Magnetic field strength 1 Tesla /
-12 ADIN Additional input tally NAIN see INFCOP /
-13 EDRIFT Kinetic energy in drift motion, Bulk Ions NPLS eV /
-14 VOL Zone Volume 1 cm3 /
-15 WGHT Space and species dependent importance NSPCMC 1 /
Table 5.7: Volume Averaged Tallies, Output, Common: CESTIM
No Name Macroscopic quantity 1.Dim. Units Estim.
1 PDENA Particle density, Atoms NATM cm−3 T1
2 PDENM Particle density, Molecules NMOL cm−3 T2
3 PDENI Particle density Test Ions NION cm−3 T3
4 EDENA Energy density, Atoms NATM eV*cm−3 T4
5 EDENM Energy density, Molecules NMOL eV*cm−3 T5
6 EDENI Energy density, Test Ions NION eV*cm−3 T6
7 PAEL Particle Source (Electrons) from atom-plasma coll. 1 amp* cm−3 T7
8 PAAT Particle Source (Atoms) from atom-plasma coll. NATM amp*cm−3 T8
9 PAML Particle Source (Molecules) from atom-plasma coll. NMOL amp*cm−3 T9
10 PAIO Particle Source (Test Ions) from atom-plasma coll. NION amp*cm−3 T10
11 PAPL Particle Source (Bulk Ions) from atom-plasma coll. NPLS amp*cm−3 T11
12 PMEL Particle Source (Electrons) from molecule-plasma coll. 1 amp*cm−3 T12
13 PMAT Particle Source (Atoms) from molecule-plasma coll. NATM amp*cm−3 T13
14 PMML Particle Source (Molecules) from molecule-plasma coll. NMOL amp*cm−3 T14
15 PMIO Particle Source (Test Ions) from molecule-plasma coll. NIONamp*cm3 T15
16 PMPL Particle Source (Bulk Ions) from molecule-plasma coll. NPLSamp*cm−3 T16
17 PIEL Particle Source (Electrons) from test ion-plasma coll. 1amp*cm−3 T17
18 PIAT Particle Source (Atoms) from test ion-plasma coll. NATMamp*cm−3 T18
19 PIML Particle Source (Molecules) from test ion-plasma coll. NMOLamp*cm−3 T19
20 PIIO Particle Source (Test Ions) from test ion-plasma coll. NIONamp*cm−3 T20
21 PIPL Particle Source (Bulk Ions) from test ion-plasma coll. NPLSamp*cm−3 T21
22 EAELEnergy Source (Electrons) from atom-plasma coll. 1 watt*cm−3 T22
23 EAATEnergy Source (Atoms) from atom-plasma coll. 1 watt*cm−3 T23
24 EAMLEnergy Source (Molecules) from atom-plasma coll. 1 watt*cm−3 T24
25 EAIOEnergy Source (Test Ions) from atom-plasma coll. 1 watt*cm−3 T25
26 EAPLEnergy Source (Bulk Ions) from atom-plasma coll. 1 watt*cm−3 T26
27 EMELEnergy Source (Electrons) from molecule-plasma coll. 1 watt*cm−3 T27
28 EMATEnergy Source (Atoms) from molecule-plasma coll. 1 watt*cm−3 T28
29 EMMLEnergy Source (Molecules) from molecule-plasma coll. 1 watt*cm−3 T29
30 EMIOEnergy Source (Test Ions) from molecule-plasma coll. 1 watt*cm−3 T30
31 EMPL Energy Source (Bulk Ions) from molecule-plasma coll. 1watt*cm−3 T31
32 EIEL Energy Source (Electrons) from test ion-plasma coll. 1watt*cm−3 T32
33 EIAT Energy Source (Atoms) from test ion-plasma coll. 1watt*cm−3 T33
34 EIML Energy Source (Molecules) from test ion-plasma coll. 1watt*cm−3 T34
35 EIIO Energy Source (Test Ions) from test ion-plasma coll. 1watt*cm−3 T35
36 EIPL Energy Source (Bulk Ions) from test ion-plasma coll. 1watt*cm−3 T36
37 ADDV Additional volume av. Tally, Track-length estimated NADV see UPTUSR TRL
38 COLV Additional volume av. Tally, Collision estimated NCLV see UPCUSR COL
39 SNPV Additional volume av. Tally, Snapshot estimated NSNV see UPSUSR SNP
40 COPV Tallies for coupling to ext. code, see: Subr. UPTCOP NCPV see UPTCOP COP
41 BGKV Volume averaged tallies for BGK-self-collision terms NBGV see BGK T41
42 ALGV Algebraic expression in volume averaged tallies NALV Input ALG
43 PGENA Generation limit, Atoms NATM amp*cm−3 T1
44 PGENM Generation limit, Molecules NMOL amp*cm−3 T1
45 PGENI Generation limit, Test ions NION amp*cm−3 T1
46 EGENA dito, Energy flux, Atoms NATM watt*cm−3 T1
47 EGENM dito, Energy flux, Molecules NMOL watt*cm−3 T1
48 EGENI dito, Energy flux, Test ions NION watt*cm−3 T1
49 VGENA dito, momentum flux, Atoms NATM as COP T1
50 VGENM dito, momentum flux, Molecules NMOL as COP T1
51 VGENI dito, Momentum flux, Test ions NION as COP T1

Note: Source means: if the sign is positive, it is a gain for the specified type of particles; if it is negative, it is a loss.
Table 5.8: Surface Averaged Tallies, Output, Common: CESTIM


No Name Macroscopic quantity 1.Dim. Units Estim.
1 POTATParticle Flux, incident, AtomsNATM amp T/C
2 PRFAATParticle Flux, emitted, Ats.⇒AtomsNATM amp T/C
3 PRFMATParticle Flux, emitted, Mls.⇒AtomsNATM amp T/C
4 PRFIATParticle Flux, emitted, T.I.⇒AtomsNATM amp T/C
5 PRFPATParticle Flux, emitted, B.I.⇒AtomsNATM amp T/C
6 POTMLParticle Flux, incident, MoleculesNMOL amp T/C
7 PRFAMLParticle Flux, emitted, Ats.⇒MoleculesNMOL amp T/C
8 PRFMMLParticle Flux, emitted, Mls.⇒MoleculesNMOL amp T/C
9 PRFIMLParticle Flux, emitted, T.I.⇒MoleculesNMOL amp T/C
10 PRFPMLParticle Flux, emitted, B.I.⇒MoleculesNMOL amp T/C
11 POTIOParticle Flux, incident, Test IonsNION amp T/C
12 PRFAIOParticle Flux, emitted, Ats.⇒Test IonsNION amp T/C
13 PRFMIOParticle Flux, emitted, Mls.⇒Test IonsNION amp T/C
14 PRFIIOParticle Flux, emitted, T.I.⇒Test IonsNION amp T/C
15 PRFPIOParticle Flux, emitted, B.I.⇒Test IonsNION amp T/C
16 POTPLParticle Flux, incident, Bulk IonsNPLS amp T/C
17 EOTATEnergy Flux, incident, AtomsNATM watt T/C
18 ERFAATEnergy Flux, emitted, Ats.⇒AtomsNATM watt T/C
19 ERFMATEnergy Flux, emitted, Mls.⇒AtomsNATM watt T/C
20 ERFIATEnergy Flux, emitted, T.I.⇒AtomsNATM watt T/C
21 ERFPATEnergy Flux, emitted, B.I.⇒AtomsNATM watt T/C
22 EOTMLEnergy Flux, incident, MoleculesNMOL watt T/C
23 ERFAMLEnergy Flux, emitted, Ats.⇒MoleculesNMOL watt T/C
24 ERFMMLEnergy Flux, emitted, Mls.⇒MoleculesNMOL watt T/C
25 ERFIMLEnergy Flux, emitted, T.I.⇒MoleculesNMOL watt T/C
26 ERFPMLEnergy Flux, emitted, B.I.⇒MoleculesNMOL watt T/C
27 EOTIOEnergy Flux, incident, Test IonsNION watt T/C
28 ERFAIO Energy Flux, emitted, Ats.⇒Test Ions NION watt T/C
29 ERFMIO Energy Flux, emitted, Mls.⇒Test Ions NION watt T/C
30 ERFIIO Energy Flux, emitted, T.I.⇒Test Ions NION watt T/C
31 ERFPIO Energy Flux, emitted, B.I.⇒Test Ions NION watt T/C
32 EOTPLEnergy Flux, incident, Bulk IonsNPLS watt T/C
33 SPTATSputtered Flux, by incident AtomsNATM amp T/C
34 SPTMLSputtered Flux, by incident MoleculesNMOL amp T/C
35 SPTIOSputtered Flux, by incident Test IonsNION amp T/C
36 SPTPLSputtered Flux, by incident Bulk IonsNPLS amp T/C
37 SPTTOTSputtered Flux, total1 amp T/C
38 ADDS Additional Surface Tally NADS Input T/C
39 ALGS Algebraic expression in surface averaged talliesNALS Input
40 SPUMP Pumped flux, by species NSPZ amp

Note: The tallies listed here are two dimensional arrays. The 2nd index I2 is the number of the surface or the surface segment. For I2=1,...,NLIMI the tallies correspond to the "Additional Surfaces", (input block 3B).
For I2=NLIM+1,NLIM+NSTSI*NGITT the data correspond to the "Non-default Standard Surfaces" (input block 3A). On each such surface, there is a spatial resolution with up to NGITT surface segments.

Bibliography

[1]
B. Braams. Computational Studies in Tokamak Equilibrium and Transport. PhD thesis, Rijksuniversiteit Utrecht, June 1986.
[2]
D. Reiter, H. Kever, G.H. Wolf, et al. Helium removal from tokamks. Plasma Phys. and Contr. Fus., 33:1579, 1991.
[3]
D. Reiter. Progress in 2-dimensional plasma edge modelling. J. Nucl. Mat., 196-198:241, 1992.
[4]
D. Reiter. The EIRENE code, Version Jan. 92, User manual, March 1992.
[5]
D. Reiter, P. Börner, B. Küppers, M. Baelmans, and G. Maddison. Final report on KFA-NET contract 428/90-8/FU-D (1991).
[6]
G.P. Maddison, E.S. Hotston, D. Reiter, et al. Towards fully authentic modelling of iter divertor plasma's. In Proc. 18th Eur. Conf. on Contr. Fus. and Plasma Phys., volume 15C, page 197, Berlin, 1991.
[7]
J. Spanier and E.M. Gelbard. Monte Carlo Principles and neutron transport problems. Addison Wesley Publication Company, 1969.
[8]
D. Reiter, Chr. May, et al. J. Nucl. Mat., 220:987, 1994.
[9]
G.P. Maddison and D. Reiter. Recycling source terms for edge plasma fluid models and impact on convergence behaviour in the braams b2 code. KFA-Jülich Report Jül- 2872, Forschungszentrum Jülich, March 1994.
[10]
D.B. Heifetz, D. Post, M. Petravic, et al. A monte carlo model of neutral particle transport in diverted plasmas. Princeton report PPPL 1843, PPPL, November 1981. J.Comput.Phys. 46, 309 (1982).
[11]
E. Cupini, A. de Matteis, and R.Simonini. EUR XII-324/9, April 1983.
[12]
L. Devroye. Non-Uniform Random Variate Generation. Springer Verlag, 1986.
[13]
R. Behrisch. Plasma-wall interaction. In Summer School of Tokamak Reactors for Breakeven, Erice, 1976.
[14]
Impurity Control, INTOR Workshop Phase IIA, Part 3.
[15]
W. Eckstein and D.B. Heifetz. Data sets for hydrogen reflection and their use in neutral transport calculations. MPI-Garching Report IPP 9/59, MPI-Garching, August 1986. J.Nucl.Mater. 145-147, p332 (1987).
[16]
G. Bateman. Distribution of neutrals scattered off a wall. PPPL Appl. Phys. Rep. No. 1, PPPL, 1980.
[17]
D. Reiter, P. Bogen, and U. Samm. J. Nucl. Mat., 196-198:1059, 1992.
[18]
D. Reiter, Chr. May, M. Baelmans, et al. J. Nucl. Mat., 241-243:342, 1996.
[19]
Th. Behringer. Einfluß nichtlinearer effekte auf den neutralgastransport in tokamaks. KFA-Jülich Report Jül- 2637, Forschungszentrum Jülich, June 1992. Dissertation.
[20]
W.D. Langer. Nuclear Fusion, 22(6):751, 1982.
[21]
D.L. Book. NRL Plasma Formulary. NRL Publication 0084-4040, Washington, DC 20375, 1987.
[22]
D. Reiser and D. Reiter. Nuclear Fusion, xx:xxx.
[23]
R.K. Janev, W.D. Langer, K. Evans, Jr., et al. Elementary Processes in Hydrogen-Helium Plasmas, volume 4 of Springer Series on Atoms + Plasmas. Springer Verlag, 1987.
[24]
A.B. Ehrhardt and W.D. Langer. Collisional processes of hydrocarbons in hydrogen plasmas. Princeton report PPPL 2477, PPPL, September 1987.
[25]
D. Reiter. Atomic and Plasma-Material Interaction Processes in Controlled Thermonuclear Fusion. Elsevier Science Publishers, 1993.
[26]
Gordeev et al. Pis'ma Zh. Ehksp. Teor. Fiz., (25):223, 1977.
[27]
A. Nicolai and D. Reiter. J. Comp. Phys., 55(1):129-153, 1984.
[28]
Nuclear Fusion, Special issue 1984, Data Compendium for Plasma-Surface interactions.
[29]
W. Eckstein, Garcia-Rosales C., J. Roth, et al. Sputtering data. MPI-Garching Report IPP-9/82, MPI-Garching, February 1993.
[30]
J. Roth and C. Gracia-Rosales. Nucl.Fus. 36, 12:1647, 1996.
[31]
J. Roth. J.Nucl.Mater., 266-269:51-57, 1999.



File translated from TEX by TTHgold, version 3.82.
On 28 May 2010, 11:06.