Name of the code.
FPP-3D is abbreviation of Fokker-Planck Package Three-Dimensional.
The development of the code started in 1991.
|Feodor S. Zaitsev||Professor, DCS, Moscow State University, Department of Computational Mathematics and Cybernetics, e-mail firstname.lastname@example.org|
|Martin R. O'Brien||UKAEA Fusion, Culham Science Centre|
|Martin Cox||UKAEA Fusion, Culham Science Centre|
|Chris A. Gardner||UKAEA Fusion, Culham Science Centre|
|Robert J. Akers||PhD, UKAEA Fusion, Culham Science Centre|
|Robert Tanner||PhD, Department of Theoretical Mechanics, Nottingham University|
Brief details of the physical model and options.
Brief description of numerical techniques employed.
The approach is based on a method of finite differences. The method includes two-cycle six stage splitting scheme and simultaneous inversion over two dimensions using Gaussian elimination for a sparse matrices. Mixed derivatives are taken implicitly. Details of the method and its justification are presented in . FPP-3D program foundation is organised using modern technology. In particular it includes program generator, which can construct a program for a particular physical problem. Many FPP-3D modules are written using object oriented technology. The code can be relatively easy upgraded for inclusion of different physical effects and for coupling with other codes. The code is parallelised using MPI with the aim to speed up calculations. FPP-3D can also be run on platforms without MPI support.
Range of applicability, limitations.
The code is applicable to description of particles in low collisionality plasmas, when the characteristic time of motion over drift trajectories is much less than the characteristic time of Coulomb collisions.
The code FPP-3D was developed using elements of package technology and object-oriented approach. Some ideas of object-oriented techniques were used for programming of difference operators, sources of external current, creating spline approximation of grid functions, etc.
Package technology implemented in FPP-3D includes a program generator, written in JAVA, which can construct a particular program from a cascading menu of options. The generator takes as input modules from the FPP-3D program foundation, tunes them for the particular problem according to the user choice and builds ready-to-run programs. The latest version of FPP-3D includes over 200 subroutines in Fortran-77. It is more than 100000 lines long and contains about 100 variants of physical models and several different numerical algorithms.
FPP-3D code has links to codes SCoPE (self-consistent equilibria evolution), TRANSP (transport and kinetics), NFREYA (neutral beam injection), TOPEOL (equilibrium), EFIT (equilibrium reconstruction using experimental measurements), LOCUST (Monte-Carlo kinetics).
Benchmarking and validation carried out.
Comparison with analytical results of neo-classical theory and other analytical results. Good agreement with code BANDIT-3D (kinetics of fast electrons) in calculation of neo-classical resistivity and code TRANSP in modelling alpha-particles in TFTR supershots . Good agreement with simple models and in qualitative agreement with experimental measurements in JET DT discharges . Numerical methods used are justified in . The code was successfully tested with different compilers in different operating systems and hardware platforms such as IBM RS, CRAY, VAX, SUN, DEC, HP, Intel and oth.
Some references where the code's theory, methods and applications are described.