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 summaryProgram title: FELIX-1.0Catalogue identifier: AEYZ_v1_0Program summary URL:http://cpc.cs.qub.ac.uk/summaries/AEYZ_v1_0.htmlProgram obtainable from: CPC Program Library, Queen’s University, Belfast, N. IrelandLicensing provisions: GNU General Public License, Version 2No. of lines in distributed program, including test data, etc.: 1192325No. of bytes in distributed program, including test data, etc.: 10214787Distribution format: tar.gzProgramming 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.
Read full abstract