Wiki

Clone wiki

Simflowny / Compilation

Compilation

Before trying to compile, please, check requirements.

Simflowny is to be compiled with Maven version [3.0.0, 3.2.5]. To run the compilation, open a terminal, move to simflowny folder and run:

mvn package -Dmaven.test.skip=true

This command will start the compilation of Simflowny without testing (notice that compilation with testing takes a significant time and it is not necessary for standard users). Anyway, the directive -Dmaven.test.skip=true may be removed to compile and run the tests.

Requirements

  • Java Development Kit (JDK) 1.8
  • Maven [3.0.0, 3.2.5]
  • Latex packages:
    • texlive-latex-extra
    • texlive-latex-recommended
  • Gcc >=8.3.0
  • libgsl-dev
  • OpenMPI >= 1.10.2 (parallel support)
  • HDF5 1.10.6 (SAMRAI mesh output format support)
    • Download it from www.hdfgroup.org
    • Extract it and go to the extracted folder.
    • run ./configure --prefix=/opt/hdf5 CFLAGS=-fPIC LDFLAGS=-fPIC CPPFLAGS=-fPIC CXXFLAGS=-fPIC.
    • run make.
    • run [sudo] make install.
    • Include /opt/hdf5/lib in LD_LIBRARY_PATH environmental variable.
    • Include /opt/hdf5/bin at the beginning of PATH environmental variable.
  • Silo >= 4.10.2 (Optional, to use particles)
    • Download it from wci.llnl.gov
    • Extract it and go to the extracted folder.
    • run ./configure --prefix=/opt/silo --with-pic CC=gcc CXX=g++ --disable-fortran --enable-shared --with-hdf5=/opt/hdf5/include,/opt/hdf5/lib.
    • run make.
    • run [sudo] make install.
    • Include /opt/silo/lib in LD_LIBRARY_PATH environmental variable.
  • SAMRAI 4.1.0 (simulation platform)
    • Download it from github.com/LLNL/SAMRAI
    • Extract it and go to the extracted folder.
    • Create an objs folder and enter.
    • run cmake -DENABLE_PETSC=OFF -DCMAKE_INSTALL_PREFIX=/opt/SAMRAI -DENABLE_SILO=ON -DSILO_DIR=/opt/silo -DBUILD_SHARED_LIBS=ON ...
    • run make.
    • run [sudo] make install.
    • Include /opt/SAMRAI/lib in the LD_LIBRARY_PATH environmental variable.

Optional

  • RePrimAnd 1.4. Robust library to recover the primitive fields in MHD equations.
    • Download it from Github
    • In order to detect the proper HDF5 library, the meson.build file must be slightly modified:
      • dep_h5 = dependency('hdf5') must be changed to dep_h5 = dependency('hdf5', method : 'config-tool')
    • run meson mbuild --buildtype=release -Dbuild_python_api=false -Dbuild_benchmarks=false -Dbuild_tests=false -Dbuild_documentation=false --prefix=/opt/Reprimand_1.4.
    • run cd mbuild; ninja.
    • run [sudo] ninja install.
    • Include /opt/Reprimand_1.4/lib in the LD_LIBRARY_PATH environmental variable.

Next step

If the steps above have been successful, now Simflowny and its third party libraries are compiled, but a few configurations are to be considered. Please read the Installation guidelines in order to set up Simflowny.

[1]How to permanently set environmental variables

Updated