How to use Armadillo in OpenFOAM

From OpenFOAMWiki
Revision as of 19:45, 1 March 2014 by Wyldckat (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Introduction

This page is dedicated to explaining how to use Armadillo in OpenFOAM.

When Armadillo installed you have to make following modifications.

File Make/options

EXE_INC = \
    -I$(LIB_SRC)/finiteVolume/lnInclude
 
EXE_LIBS = \
    -lfiniteVolume \
    -llapack \
    -lblas \
    -larmadillo

Add inclusion of Armadillo to solver's main C++ file

#include "fvCFD.H"
#include "OFstream.H"
 
#include <armadillo>
#include "complex.H"
 
#include <math.h>

Armadillo function could be called for example like this

 
arma::mat Ar = arma::zeros<arma::mat>(p.size(),p.size());
scalar x = arma::det(Ar);

Then compile your solver ($ wmake). That's it.

For details - example of Armadillo+OpenFOAM made from potentialFoam solver: https://github.com/j-avdeev/ArmaOF