Giter VIP home page Giter VIP logo

wabbit's Introduction

WABBIT

(W)avelet (A)daptive (B)lock-(B)ased solver for (I)nteractions with (T)urbulence

New in 05/2021: please see this video for an introduction to the code's datastructures: https://www.youtube.com/watch?v=qBBIW2-ktgo

With WABBIT it is possible to solve partial differential equations (PDE) on block-based adaptive grids. Calculations in 2D and 3D are possible and performed fully parallel. The set of PDE is encapsulated from the code handling the adaptive grid, and thus existing monobloc solvers can be adapted easily for this solver. WABBIT can handle PDEs of the following type:

and can be defined. This implementation is handled by the "physics-modules".

Getting Started

How to get a copy of WABBIT and compiling the code:

  1. Clone from github
git clone [email protected]:adaptive-cfd/WABBIT.git
  1. Compile the code running make.

    Note that WABBIT requires:

make [FC=[mpif90]]
  1. Run the testfiles with
make test

HDF5 Library

Make sure that the mpi library which is also used for WABBIT is installed (for example by loading mpich3).

This is a short example (/working practice) of how to install hdf5 libary (Tested for version hdf5-1.10.1).

  1. download source code from hdf5

  2. open terminal and follow
    (mind that path_2_build_dir has to be replaced by the path of the directory of your choice.)

gunzip < hdf5-X.Y.Z.tar.gz | tar xf -
cd hdf5-X.Y.Z
./configure --prefix=path_2_build_dir --enable-fortran --enable-parallel
make
make check                # run test suite.
make install
make check-install        # verify installation.
  1. export variables:
HDF_ROOT=path_2_build_dir
export HDF_ROOT
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:${HDF_ROOT}/lib:${HDF_ROOT}/lib64
export LD_RUN_PATH=$LD_LIBRARY_PATH

Recommendation: Add the lines to export the variables to your bashrc-file. Otherwise, the export has to be done every time you open a new terminal to compile the code.

run WABBIT

Customize the template .ini-file and rename file to [your_filename.ini], run WABBIT with option for dimension and .ini-file name

mpirun -n 1 ./wabbit [your_filename.ini] --memory=2.0GB

where the --memory options allows you to control how much memory is globally allocated, i.e., on all CPUs. Note that WABBIT does not free memory during runtime. This is because we intent to use clusters, where the available memory is reserved for the execution of the code alone. This is quite typical for supercomputing.

Additional Information

If you are new to WABBIT it is recommended to read the information for newcomers!

In case you have problems with the preparation to use WABBIT, have a look at the informations given in the wiki

For further Information see the documentation. Therefore it is necessary to have Doxygen installed.

make doc

Publications

wabbit's People

Contributors

tommy-engels avatar philipp137 avatar mario-sroka avatar sophiemutzel avatar dkolom avatar miriamtriebeck avatar maximilianschuster avatar segrovets avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.