Common code for plasma codes of ITPcp, in particular for different NEO-2 versions.
libneo
requires CMake, Ninja, GCC+GFortran, OpenMPI,
a BLAS/LAPACK (OpenBLAS or MKL) and FFTW, NetCDF+NetCDF-Fortran
and HDF5 including development headers.
For your own Debian or Ubuntu system, run setup/debian.sh
.
For usage on common computing clusters, load the modules in setup/<machine>.sh
.
For convenience, the build process can be automatically started by running
make
directly in the libneo
directory. This will create a build
subdirectory
and run cmake
with ninja
internally.
The Python interface is located in the python
subdirectory. This interface
is only built if python
, numpy
and f90wrap
are available. Please activate
a suitable venv
first, and then run
pip install -e .
in the libneo
directory for an editable build.
Documentation, this includes user documentation and interface documentation. The latter is generated via doxygen.
Matlab library that contains various functions, classes and code interfaces for general and specific uses.
A class to read/write/modify equilibrium g-files (commonly wrongly called efit files).
A minimalist interface to run the code GPEC together with DCON.
A class that can be used to read/create/modify inputfiles that contain Fortran Namelists.
A class that can write .kin files (kinetic profiles saved column wise)
Interface to prepare/run/postprocess the code KiLCA. A compiled version of KiLCA is needed (see here)
Shared classes and functions of the Matlab library.
Classes and functions that have a general use for many application.
Class to write mnDAT files.
Python interface package and scripts/functions.
Fortran source files for the library. Subfolders contain source for additional tools, also compiled into libneo.
Interface to hdf5, to simplify calls.
Interface to MPI, so no actual mpi routines need to be called in programs.
Contains resources for tests of the library.