Skip to content

Library for Monte Carlo Simulation applying the Bond Fluctuation Model

License

Notifications You must be signed in to change notification settings

LeMonADE-project/LeMonADE

Repository files navigation

Build Status(CircleCI) DOI

LeMonADE

The abbreviation LeMonADE stands for "Lattice-based extensible Monte-Carlo Algorithm and Development Environment".

The aim of the LeMonADE-project is an open source implementation of the bond fluctuation model (BFM1, BFM2) for simulating polymeric systems using generic template metaprogramming in C++.

Installation

  • Clone git clone https://github.com/LeMonADE-project/LeMonADE.git
  • Install cmake (minimum version 2.6.2)
  • Just do for standard compilation (library+examples):
    # generates the application in build-directory
    ./configure -DINSTALLDIR_LEMONADE=/path/to/install/LeMonADE/ -DBUILDDIR=/path/to/build/ 
    make
    make install #only if you want to install the software after build

or

    # generates the lib and examples
    mkdir build
    cd build
    cmake -DINSTALLDIR_LEMONADE=/path/to/install/LeMonADE/ ..
    make
    make install #only if you want to install the software after build
  • The options -DINSTALLDIR_LEMONADE and -DBUILDDIR for the configure script are optional. The build directory defaults to ./build, the install directory defaults to /usr/local/ . The same goes for the option -DINSTALLDIR_LEMONADE when invoking cmake (the second compilation and installation way).
  • When installing using make install, the library is installed to /given/installation/path/lib/LeMonADE/, or if no path was specified to /usr/local/lib/LeMonADE/. Similar for the header files, which go to /given/installation/path/include/LeMonADE/ or /usr/local/include/LeMonADE/.
  • For uninstalling simply remove the files created in the installation step.
  • If you do not specify the install directory, and the default /usr/local/ is used, you need root access when installing. In this case
    # installs the library and headers
    sudo make install #only if you want to install the software after build
  • If you also want to compile and run the tests, there is another option, which can be passed to either the configure script (first build method), or to cmake (second build method) This option is -DLEMONADE_TESTS=ON . You need internet access, because the process will download the googletest library. After compilation you find the executable LeMonADE-tests in your BUILDDIR/tests.
    ./LeMonADE-tests --gtest_list_tests prints all tests.
    ./LeMonADE-tests runs all test modules.
    ./LeMonADE-tests --gtest_filter=TestFeatureLinearForce* runs a specific test module.
  • Another option that can be passed is -DCMAKE_BUILD_TYPE=Release/Debug. The default value is Release, which uses compiler flags for optimization. If the option "Debug" is chosen, no compiler optimizations are used, compiler warnings are enabled by -Wall, and debugging information is compiled into the binary with -g. Other flags then "Release", or "Debug" are not allowed and will lead to termination and an error message by cmake.

Getting Started

This can be found in the documentation.

Build the documentation

  • Install doxygen
  • Just do for documentation, only:
    # generates the documentation
    ./configure -DINSTALLDIR_LEMONADE=/path/to/install/LeMonADE/ -DBUILDDIR=/path/to/build/ 
    make docs

or

    # generates the docs
    mkdir build
    cd build
    cmake ..
    make docs

Contributions

  • Any contributions/suggestions making the program become better are welcome
  • Every contribution should be made by following the guidelines made by the gitflow workflow

Authors

Find the information about active developers, former contributors, and people who contributed in the AUTHORS file.

References

License

See the LICENSE in the root directory.

Changelog

Major changes are mentioned in the CHANGELOG file.