Difference between revisions of "Flow engines on ubuntu 12.04"

From Yade

Line 82: Line 82:
   
 
Then download [http://eigen.tuxfamily.org/index.php?title=Main_Page here] the correct version of eigen3 and follow the installation instructions (it is not necessary the compilation, just a "make install" to copy the headers into a /usr shared folder
 
Then download [http://eigen.tuxfamily.org/index.php?title=Main_Page here] the correct version of eigen3 and follow the installation instructions (it is not necessary the compilation, just a "make install" to copy the headers into a /usr shared folder
 
   
 
== Get LinSolv version of flow engines ==
 
== Get LinSolv version of flow engines ==

Revision as of 16:33, 28 September 2012

Download Yade

You can install either a release (numbered version, which is frozen) or the current developement version (updated by the developers frequently).

Release version

Releases can be downloaded from the download page[1], as compressed archive. Uncompressing the archive gives you a directory with the sources.

Once you downloaded the sources, you have to install dependencies following the instructions from here: https://yade-dem.org/doc/installation.html#prerequisities

Current development version

Developement version (trunk) can be obtained from the code repository at github. Follow instructions from here to download: https://www.yade-dem.org/wiki/Yade_on_github#Setup

Once you downloaded the sources, you have to install dependencies following the instructions from here: https://yade-dem.org/doc/installation.html#prerequisities

Flow Engine

To add the flow engine and perform coupled fluid-particle simulations, follow the instructions below. Basically there are just a number of dependencies that need to be satisfied.

Openblas

Openblas is a packaged version of Kazushige Goto's gotoblas, which is recommended by most matrix library developpers. It is available precompiled in 12.04 but it breaks python's matplotlib because it provides a different version of lapack, which is a dependency of matplotlib.

Download and compilation

You should download the sources at github: https://github.com/xianyi/OpenBLAS/zipball/master

Prerequisites:

  • gfortran - type on a terminal "sudo apt-get install gfortran"

Optional:

  • pthread - type on a terminal "sudo apt-get install libpthread-stubs0-dev"

Open a terminal and place you into the folder where the openblas sources have been downloaded. Unpack the compressed file. To compile, do this:

  • type "make FC=gfortran" so as to use the right compiler;
  • type "sudo make install", to install the library.

Make a symlink to /path/to/libopenblas.so.0 in the standard path so that yade will find it at startup:

  • sudo ln -s /path/to/libopenblas.so.0 /usr/lib/libopenblas.so.0

Note for ubuntu 10.04 users: it may be easier on 10.04 to compile the ancestor of openblas: gotoblas

Taucs

TAUCS is a C library of sparse linear solvers. You have two options:

  • Download taucs sources already configured for 12.04 + openblas here
  • Download taucs sources from the CGAL project. In this case you'll have to configure the build by editing /config/linux.mk (you need at least to set the path to openblas, or to other libs you may want to use).

Prerequisities and Compilation

As a prerequisite, you have to install ParMETIS (Parallel Graph Partitioning and Fill-reducing Matrix Ordering). To do this open a terminal and type:

  • sudo apt-get install libparmetis-dev

You can also download and compile your own metis-4.0.1 (it doesn't really matter both ways should work)

To compile, open a terminal and place you into the folder where the taucs sources have been downloaded. To compile, do this:

  • type "make"
  • type "sudo make install", to install the library (this step may give harmless error messages even if it actually compiled (it failed at post-built test stages), ignore them and just check that /src/taucs.h and /lib/linux/libtaucs.a are present).

Cholmod

CHOLMOD is a set of ANSI C routines for sparse Cholesky factorization and update/downdate. A MATLAB interface is provided. The simplest way to get CHOLMOD and its dependencies is to just download all of SuiteSparse. Do this.

Prerequisities and Download

Install LaPack (Linear Algebra Package) and “suitesparse-metis” package in Ubuntu (collection of libraries for computations for sparse matrices)

  • sudo apt-get install liblapack-dev libsuitesparse-metis-dev

Download the SuiteSparse sources from here (ATTENTION, download version 3.7.1)

Compilation

To compile, open a terminal and place you into the folder that contains the sources. Then type:

  • make
  • sudo make install

Eigen

Eigen is a C++ template library for linear algebra: matrices, vectors, numerical solvers, and related algorithms.

You should verify that the version of eigen3 you have installed among Yade prerequisities, is of version >3.1. If it's not the case, you have to delete the libeigen3-dev you've installed.

To verify the version of libeigen3-dev, open a terminal and type:

  • sudo apt-get install apt-show-versions
  • sudo apt-show-versions libeigen3-dev

If the version is <3.1, delete the library and type:

  • sudo apt-get purge libeigen3-dev

Then download here the correct version of eigen3 and follow the installation instructions (it is not necessary the compilation, just a "make install" to copy the headers into a /usr shared folder

Get LinSolv version of flow engines

Get the "linsolv" version of flow engines.