This is a modified version of the ABC Quantum Reactive Scattering Programoriginally developed by the group of D. E. Manolopoulos [1].
Limit of 1000 Mb scratch files removed (setrec routine).
All local arrays are dynamically allocated.
The 'nmax' parameter moved to ABC's input file (driver routine).
Some Fortran 77 features promoted to Fortran 90 (comments, continuation line,source code extensions etc).
Added a new routine named pes() (pes.f90) for user's defined potentialenergy surfaces (potsub routine).
Added wrappers to invoke linear algebra operations from the Magma library(hybrid CPU+GPU), if desired.
First compile the external user defined PES into object files *.o (-c flag).Then, ABC is built for many scenarios as follows:
- Intel ifort + Intel MKL (default):
make
Option (1) requires that the env variable MKLROOT is properly defined. Check thecontent of$MKLROOT
first.
If instead GNU gfortran is intended,
- GNU gfortran + Intel MKL:
make FC=gfortran
Make sure both the PES and ABC are compiled with the same kind of compiler inorder to avoid missing libraries during the link.
- Intel ifort + Intel MKL + MAGMA:
make use_magma LINEAR_ALGEBRA=MAGMA
If MAGMA is not installed in standard locations, you can provide the path to itscomponents;
- Intel ifort + Intel MKL + MAGMA:
make use_magma LINEAR_ALGEBRA=MAGMA MAGMAROOT=[path/to/magma-2.5.2] CUDAROOT=[path/to/cuda/10.1]
Wrappers for MAGMA are written in C and are built with GNU gcc. If Intel icc isneeded, then
Intel ifort + Intel icc + Intel MKL + MAGMA:make use_magma CC=icc LINEAR_ALGEBRA=MAGMA MAGMAROOT=[path/to/magma-2.5.2] CUDAROOT=[path/to/cuda/10.1]
GNU gfortran + Intel icc + Intel MKL + MAGMA:make use_magma FC=gfortran CC=icc LINEAR_ALGEBRA=MAGMA MAGMAROOT=[path/to/magma-2.5.2] CUDAROOT=[path/to/cuda/10.1]
[1] D. Skouteris et al., Computer Physics Communications 133 128–135 (2000).