Skip to content

Romain's unmerged branches

Boman Romain requested to merge romain_all into master

This pull request adds all my recent developments in waves. These could be useful if you plan to build waves on our cluster "fabulous" or on a ....(burp)... sorry.... mac.

Modifications

CMakeLists.txt

  • Better handling of C++11 flags
  • Change from lowercase to uppercase in CMake commands in the modified files
  • FindTBB.cmake is able to find TBB in macOS. Unfortunately, TBB is still not found at runtime since Mojave upgrade (to be fixed later).
  • New CMake/disable-trilinos.cmake which could help you disable trilinos (with cmake -C ../CMake/disable-trilinos.cmake ..)
  • CMake/OSX.cmake now includes CMake/disable-trilinos.cmake (Trilinos is broken on macOS)
  • Compilation with gfortran is now possible (for Louis'SPH code on macOS)
  • VTK libs are now searched using the new CMake way: only the required libraries are used for the link stage.
  • VTK/MPI libraries can be missing in the system (that is the case is several machines such as fabulous, spirou, etc). In that case, save_MPI() functions are simply disabled using an ifdef statement.

run.py

  • Improved run.py: definition of a function main which can be called from another run*.py. This will be helpful when an external module such as pfem wants to add its own modules to waves. PFEM will define a run_fem.py which will import run.py and run run.main().
  • fwk.wutils.findbins() now takes a string argument which is the name of the module to be found. This will be used to find binaries of external packages such as pfem.
  • fwk.wutils.findbins() has now a verb variable to increase verbosity for debugging purpose.

Reduction of warnings related to gmm

  • Definition of gmm_gmm.h which could be included instead of gmm/gmm.h to avoid warnings.
  • A few warnings are still present on Linux. They will be removed in the future.

Reduction of warnings on Windows

  • Gauss Points are now numbered with unsigned long long ints (size_t). This reduces the amount of warnings on Windows with MSVC (implicit casts from size_t to int).
  • some other implicit casts have been made explicit (e.g. element numbers, printf() calls). They will be converted to size_t in a new future.
  • The current code is compiled by MSVC without warnings on Windows.

Bug correction

  • correction of a bug in cvt.cpp (thanks to less warnings): a pointer was (erroneously) implicitly casted into an integer!)

Adrien

  • merge adrien's branch (correction of a bug + doc)

Test suite

  • Test suite:
    • OK on gaston (all tests),
    • OK on my desktop (Ubuntu18.04 - all tests)
    • OK on my windows VM (Windows 10 - without trilinos)
    • OK on fabulous (except trilinos and tests importing matplotlib 46/60)
  • Compilation OK on macOS - but execution fails (TBB not found due to a rpath problem which seem to come from the Mojave upgrade)

Merge request reports