LSP User's Manual and Reference For LSP Version 8.7 (11 Aug 2005) R. E. Clark and T. P. Hughes Edited by Anat Sichel
Copyright (C) 1997-2005 Mission Research Corporation.
This document describes the procedures and parameters used for running the
LSP code. It is written in Texinfo format, which generates both a TeX file
for printed output, and a GNU Info file for viewing on a character-cell
terminal. An HTML version is generated using the
of Lionel Cons (CERN). Texinfo and Info are distributed by the Free Software
The LSP code package consists of the LSP simulation code, the GLSP graphical preprocessor, and the P4 graphical postprocessor. This section gives a brief description of each of these codes, and references some third-party codes which can be used in conjunction with LSP. The remainder of this document deals only with the LSP simulation code. The pre- and postprocessors have online documentation, and the third-party codes have their own manuals.
LSP is a 3-D electromagnetic particle-in-cell (PIC) code designed for large scale plasma simulations in either cartesian, cylindrical, or spherical coordinate systems. It can also be used in 1-D and 2-D geometries. The code is designed to perform on parallel as well as serial platforms. On parallel processors, domain decomposition with message-passing is used to divide the computational load among the processors. A unified decomposition of fields and particles is used; i.e., the particles reside on the same processor as the domain they occupy. The standard message-passing interface (MPI) is used for inter-process communication.
The decomposition scheme is based on a two-level hierarchy. The problem space is first divided into "regions" which are volumes that are conformal to the coordinate grid. Each region is then divided into "domains" by one-dimensional slicing along any one of the coordinate directions. The slicing direction can be different in each region. This method is flexible enough to deal with complex geometries while at the same time minimizing the number of processors needed at any given time. It has been found to be faster than a general 3-D decomposition. A queueing algorithm is used to manage inter-domain and inter-region communication: processors send a signal to a designated region or global master processor indicating the processors needed. The master processors maintain a queue of processes which are ready and signal the process pairs to exchange relevant data.
LSP is written in C using an object-oriented style. Thus, there are "classes" for Grid, Cell, Field, and Particle objects, consisting of data structures and "member functions" which operate on the data. Message-passing and physics functions are kept separate. The design allows new physics models to be added in a systematic manner.
Memory allocation for both fields and particles is fully dynamic. The code saves on memory by not allocating field storage inside conducting surfaces. An array of pointers is used to access data objects for each cell which contain all relevant field quantities. The particles are managed in groups in linked lists for each species, and groups are added as their population increases.
For electromagnetic simulations without particles, the code automatically skips both the particle memory allocation and the particle-pushing algorithm. There is essentially no run-time overhead associated with the presence of the particle-pushing code.
There are two electromagnetic field algorithms available: a standard (explicit) Yee leapfrog algorithm, and an implicit algorithm. The implicit algorithm is particularly useful in relaxing the courant limit on the timestep. An iterative electrostatic algorithm is also available for situations in which fields are slowly varying. Grids can be specified in which the spacing varies linearly in each coordinate; i.e., the cells can vary in size but the grid is still orthogonal. A first-order wave-absorbing boundary condition can be applied to openings (ports) at any of the spatial boundaries.
There are several options for pushing particles. The standard
momentum-conserving PIC algorithm is the most widely known. This algorithm
yields no self-particle forces but is subject to the so-called Debye-length
numerical instability that heats plasma electrons until their Debye length
reaches the grid cell size. An energy-conserving PIC algorithm is also available
that is not affected by the Debye length instability. A cloud-in-cell (CIC)
particle description is available that significantly reduces the noise level of
the simulation (see section
A direct implicit particle/field push can be used in either the PIC or CIC
Algorithms are implemented for field emission, auxiliary circuit models, dielectrics, dispersive magnetic materials (RF absorption), secondary electron generation in materials, multiple scattering and energy loss, surface heating and energy deposition, desorption of neutrals from surfaces, ionization of neutrals, and interparticle collisions. A hybrid fluid model has been implemented to work in concert with the collision algorithms. For all of the above particle push options, a hybrid kinetic-fluid model can be invoked for any charged particle species. The PIC or CIC method is used with either the usual kinetic equations or a set of fluid equations in which the particle, in addition to the usual attributes, retains an internal energy. A transition criteria is implemented that allows electron species to transition back and forth from the two descriptions while conserving momentum exactly.
LSP particle and field data files are written in XDR format, allowing binary data to be generated on a multiple-processor Unix computer and viewed on a different platform, e.g., a PC or Macintosh. The time history data file is an ASCII text file, and so is also portable. Output can be examined using the P4 postprocessor (see section P4 Postprocessor), which is written in the IDL language (Research Systems Inc.).
The design of LSP was begun in June 1995 by Tom Hughes, Ren Yao and Bob Clark under a DOE SBIR contract to investigate parallelization of particle methods.(1) Currently, LSP is maintained by Bob Clark, Tom Hughes, and Dale Welch. The code is licensed by Mission Research Corporation, for commercial, GSA, and academic users.(2)
GLSP is a point-and-click preprocessor for LSP. It functions as a tool to create a model while enabling 3-D visualizatin of the spatial elements. Values can be entered as symbolic expressions, allowing parametric specification of geometry, etc.
GLSP is the primary source of data entry and manipulation for LSP. An LSP simulation can be, and generally is, launched from GLSP, or the input data created within GLSP can be exported to a remote platform using an in-built FTP client. The P4 graphical postprocessor can also be launched from GLSP. GLSP is written with C and Tcl/Tk and uses OpenGL to render the objects in 3D space.
Development of GLSP was started by Tom Hughes in 1997. Since 1999, Chris Mostrom has been the primary developer. Development is ongoing and currently includes tutorials (in the form of movies) to enhance ease of use. These tutorials include
P4 is a point-and-click postprocessor for LSP. It is used to view and print the History, Particle, Vector, and Scalar dumps from LSP. It can also generate Particle and Scalar movies in multiple formats, which can be viewed with other programs such as a Web browser or Apple Quicktime. P4 is written in IDL and is cross-platform capable. It requires an IDL runtime license.(3)
Development of P4 was started in 1996 by Tom Hughes, Bob Clark, and Ren Yao. Bob Clark coded the first major release. Since 1999, Chris Mostrom has been the primary developer, in collaboration with Bob Clark and Tom Hughes.
The Monte Carlo treatment of electron transport in materials (see section Medium Models Input) uses the physics kernel of the Integrated Tiger Series (ITS) codes, developed by John Halbleib and co-workers at Sandia National Laboratories and the National Institute of Standards and Technology.(4) Using this part of LSP requires the XGEN program which comes with the ITS 3.0 distribution. ITS can be licensed from the Radiation Safety Information Computational Center at Oak Ridge National Laboratory. (5)
Go to the first, previous, next, last section, table of contents.