We describe the software package FELIX that solves the equations of the time-dependent generator coordinate method (TDGCM) in N-dimensions (N≥1) under the Gaussian overlap approximation. The numerical resolution is based on the Galerkin finite element discretization of the collective space and the Crank-Nicolson scheme for time integration. The TDGCM solver is implemented entirely in C++. Several additional tools written in C++, Python or bash scripting language are also included for convenience. In this paper, the solver is tested with a series of benchmarks calculations. We also demonstrate the ability of our code to handle a realistic calculation of fission dynamics. Program summary Program title: FELIX-1.0 Catalogue identifier: AEYZ-v1-0 Program summary URL:http://cpc.cs.qub.ac.UK/summaries/AEYZ-v1-0.html Program obtainable from: CPC Program Library, Queen's University, Belfast, N. Ireland Licensing provisions: GNU General Public License, Version 2 No. of lines in distributed program, including test data, etc.: 1192325 No. of bytes in distributed program, including test data, etc.: 10214787 Distribution format: tar.gz Programming language: C++. Computer: Intel Xeon, Intel Core. Operating system: LINUX. RAM: Memory usage depends on the number of nodes in the calculation mesh as well as on the degree of the interpolation polynomials. For a 1D calculation with linear polynomials on a mesh with 600 nodes, memory usage is approximately 3.3 MB; in a realistic simulation of fission on a 2D mesh with quadratic polynomials and 1.3 105 nodes, it reaches 1.5 GiB. Classification: 17.23. External routines: The solver itself requires the BLAS and LAPACK libraries, and a Fortran compiler with OpenMP support. Building the documentation requires DoxyGen-1.8.6 or higher. Building the full set of tools also requires GSL, PETSc, SLEPc and Boost. In particular, environment variables PETSC-DIR, PETSC-ARCH, SLEPC-DIR and SLEPC-ARCH must be set. Nature of problem: Nuclear fission is a relatively slow process compared to the typical timescale of the intrinsic motion of the nucleons. In the adiabatic approximation, it can be described as a large amplitude collective motion driven by only a few collective degrees of freedom. In the time-dependent generator coordinate method (TDGCM), the nuclear wave-function is thus described as a time-dependent, linear superposition of basis functions in this collective space. Further assuming a Gaussian overlap approximation (GOA) for the basis functions, the time-dependent Schrödinger equation can be reduced into a local, time-dependent, Schrödinger-like equation in collective space. This is the TDGCM+GOA equation. Scission configurations are defined as a hyper-surface in the N-dimensional collective space. Fission fragment distributions are then computed by integrating over time the flux of the collective wave-packet across the scission hyper-surface. This microscopic approach to fission fragment distributions is fully quantum-mechanical. Solution method: FELIX solves the TDGCM+GOA equation by using the Galerkin finite element method to discretize the N-dimensional collective space, and the Crank-Nicolson scheme to solve for the time evolution. At each time step, this procedure requires solving a linear system of equation involving sparse, complex, symmetric matrices. FELIX employs an iterative QMR algorithm to perform matrix inversion. Restrictions: Although the program can operate in an arbitrary number of dimensions N, it has only been tested in practice on 1, 2 and 3 dimensional meshes. Additional comments: The code has checkpointing capabilities: the collective wave-function, norm a and energy kernels are stored on disk every n iterations, ensuring that the program can resume where it stops. Running time: Running time grows linearly with the number of time-steps requested by the user. It is also highly dependent on the number of nodes in the space mesh. Two periods of a 1D harmonic oscillator (600 nodes, 800 time steps) are typically computed in a few seconds on one thread of a Intel(R) Core(TM) i5 CPU. A 2-dimensional realistic case of fission (105 nodes, 105 time steps) requires roughly 10 h on 10 threads of an Intel Xeon EP X5660 processor.
Regnier, D., Verrière, M., Dubray, N., & Schunck, N. (2016). FELIX-1.0: A finite element solver for the time dependent generator coordinate method with the Gaussian overlap approximation. Computer Physics Communications, 200, 350–363. https://doi.org/10.1016/j.cpc.2015.11.013