gyselax / gyselalibxx

Gyselalib++ is a collection of C++ components for writing gyrokinetic semi-lagrangian codes and similar

Home Page:https://gyselax.github.io/gyselalibxx/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Gyselalib++

Gyselalib++ is a collection of C++ components for writing gyrokinetic semi-lagrangian codes and similar as well as a collection of such codes.

Compilation

to compile Gyselalib++:

git clone --recurse-submodules git@gitlab.maisondelasimulation.fr:gysela-developpers/gyselalibxx.git gyselalibxx
cd gyselalibxx
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_FLAGS="-Wall -Wno-sign-compare" ..
make

Execution

to run the tests:

ctest --output-on-failure

Then, just have a look at tests/geometryXVx/landau/fft/growthrate_t0.0to45.0.png:

tests/geometryXVx/landau/fft/growthrate_t0.0to45.0.png

and tests/geometryXVx/landau/fft/frequency_t0.0to45.0.png:

tests/geometryXVx/landau/fft/frequency_t0.0to45.0.png

Dependencies

To install dependencies through spack, first follow the the 3 first steps of https://github.com/pdidev/spack

Then execute the following:

spack env create gyselalibxx spack.yaml
spack env activate gyselalibxx
spack concretize --reuse
spack install

For example, you can find a Dockerfile installing these dependencies on ubuntu in docker/gyselalibxx_env/Dockerfile.

About

Gyselalib++ is a collection of C++ components for writing gyrokinetic semi-lagrangian codes and similar

https://gyselax.github.io/gyselalibxx/

License:MIT License


Languages

Language:C++ 78.2%Language:Python 12.3%Language:TeX 4.4%Language:CMake 3.5%Language:Shell 1.4%Language:Dockerfile 0.1%