MP_tools
is a free software package available for public use, redistribution and further modification subject to the terms of the GNU GPL v3 license.
1/ Hardware and software requirements
MP_tools
are written in Fortran making extensive use of F95 features (pointers, dynamical array allocation, vector operations). As a result the treated data size only depends on the installed computer memory and on the operation system’s efficiency in managing it.
The code has been tested to work from command-line interface on the Ubuntu
(linux) and Mac OS X Darwin
(unix) systems. In principle, with adequate compiler and environment settings, the same should be true for Windows
systems.
Hardware requirements:
-
a middle-class notebook with an
INTEL I5_CORE2
processor (or equivalent) and 8Gb memory is sufficient for static models with < 106 atoms (cf.Examples
and projects of analogous size), the time tags in theExamples
logfiles correspond to such a configuration -
internal memory of 16Gb is highly recommended to explore larger static supercells (107 atoms and more) and/or lattice dynamics with modest sequences of 102-103 frames; a workstation with 8-24 cores and 32-128Gb memory will bring comfort and boost overall efficiency to address more ambitious S(Q,ω) projects
Software requirements (all within the reach of standard link and execution pathes):
-
GNU GCC - compiler suite including GFORTRAN
-
FFTW - “Fastest Fourier Transform in the West” libraries
-
OpenMP - code paralellisation libraries
-
FINUFFT - Flatiron Institute non-uniform FFT library
-
PGPLOT - graphics libraries installed in their standard location
/usr/local/pgplot
; you may wish to implement the patched.PNG
driver attached to the present distribution (useful for bitmap output); in recentUbuntu, Debian
(linux) distributions thepgplot5
libraries are already present or can be installed viasudo apt install pgplot5
-
Xquartz
(X11 emulation) andXcode Command Line Tools
applications in case of the MacOS X
systems
2/ Download MP_tools
The most practical way to obtain the latest version of MP_tools
is to download it from the Github MPtools repository. Alternatively, you may git clone
it directly from the command line
git clone https://github.com/jkulda/MPtools
3/ Compile and install MP_tools
To install MP_tools
in the unix and linux environments (you may need the sudo
privileges):
- copy the distribution archive into a suitable location (outside the
/usr/local
tree) and uncompress it -
set the resulting
<whatever_path>/MPtools/code
location as your current directory - create a
/usr/local/mp_tools
directory (and get privileges to access it) - check that the
/usr/local/bin
directory exists, otherwise create it and include it into your execution path - execute the installation script by
source compile_mp_154.txt
; feel free to edit the script according to whether you prefer to overwrite the binaries of a possible previous version or not - in case of need (segmentation faults) add the
-fbounds-check
option to the compiler calls to help localise the fault origins; similarly, in case of stable operation feel free to attempt more aggressive code optimisation by replacing the-O
option by-O3
and by adding-march=native
(or any specific architecture indentifier, cf. the GCC documentation)
For the moment there is no makefile
as the MP_tools
are a suite of relatively short standalone code segments; in case of modifications they can be recompiled individually copying just a single line from the compiling script to the command line. The executables will be automatically placed into /usr/local/bin
, which is normally part of the execution path.
Check the Getting started section on how to start using MP_tools
.