Skip to content
Snippets Groups Projects
user avatar
acrovato authored
Refact load computations in Boundary. Add etag modif in MshCrack. Rm computeAeroCoef from tests (innacurate results).
bac160d6
History

waves

Common numerical framework

Apache License Version 2.0

Run Status

Features

Set of python/C++ modules:

  • fwk: general utilities (timers, ...)
  • tbox: general finite element utilities (mesh handler, nodes/elements handler, ...)
  • tboxVtk: VTK extensions for tbox
  • waves: 3D(Hex8) transient wave equation solver (FEM)
  • fdtd: 2D Maxwell equations (FD)
  • flow: 2D(Tri3) and 3D(Tetra4) steady full potential equation solver (FEM)
  • heat: 2D(Tri3) steady nonlinear heat equation solver (multiscale FE²M)
  • mirrors: 3D(Hex8 and Tetra4) linear thermomechanical equations (FEM)
  • mrstlnos: 3D(Hex8 and Tetra4) linear thermomechanical equations with contact (FEM)
  • params: parametric study with Metafor
  • tlnos: basic Trilinos examples
  • sph: incompressible fluid equations (SPH)

Additional features:

  • gmsh support for mesh and post-processing
  • vtk/PyQt support for post processing and basic GUI
  • OpenBLAS or Intel MKL support
  • gmm++ support for linear algebra operation
  • TBB support for multithreading
  • mpi4py support for parallelization
  • Trilinos support (for some modules)

Compilation

Linux / gcc (with OpenBLAS)

Required packages

sudo apt-get install cmake
sudo apt-get install libgmm++-dev libeigen3-dev
sudo apt-get install libtbb-dev
sudo apt-get install libmumps-seq-dev libopenblas-dev
sudo apt-get install gmsh
sudo apt-get install python-dev python-mpi4py
sudo apt-get install swig
sudo apt-get install libvtk6.3 libvtk6-dev libvtk6-qt-dev python-vtk6 python-pyqt5
sudo apt-get install python-numpy python-scipy python-matplotlib

Optional packages

sudo apt-get install doxygen
sudo apt-get install grpahviz

Compilation

mkdir build && cd build
cmake ..
make [-j4]
[make dox]

Test

cd build
ctest [-E exclude_pattern] [-R include_appetern] [-j4]

Example

./run.py modulename/tests/testname.py

Windows / Visual Studio (with Intel MKL)

  • Compile/install all the required libraries from the links above.
  • Open a command line (see provided myenv.bat)
  • Then in wavesB (with Microsoft compiler)
cmake -G "NMake Makefiles" ..\waves
nmake

or (with Microsoft compiler and jom)

cmake -G "NMake Makefiles JOM" ..\waves
jom

or (with Visual Studio and CMake/msbuild)

cmake -G "Visual Studio 11 Win64" ..\waves
cmake --build . --config Release --target ALL_BUILD
cmake --build . --config Debug --target ALL_BUILD

or (with Incredibuild)

cmake -G "Visual Studio 11 Win64" ..\waves
buildconsole Waves.sln /rebuild /cfg="Release|x64"

Windows / MinGW (with OpenBLAS)

cmake -DBLA_VENDOR=OpenBlas -G "MinGW Makefiles" ..\waves
jom