/libffn

First order Nedelec element FEM matrices assembly routines

Primary LanguageC

FEM assembly routines for Nedelec elements
==========================================

Code in this repository is heavily inspired by [1]. Assembly routines use
PETSc library as backend. To compile the code you need PETSc installed and
setup with Triangle/ctetgen.

PETSc configuration and compilation
===================================

In order to configure and compile PETSc library run:

./configure --with-blaslapack-lib=-lopenblas
            --download-openmpi --download-hypre --download-superlu
            --download-superlu_dist --download-parmetis --download-metis
            --download-ptscotch --download-triangle --download-ctetgen
            --with-cc=gcc --with-fc=gfortran
            --with-cxx=c++ --with-cxx-dialect=C++11

Compiling
=========

To compile the code just run:

$ make

Make will generate ./bin/ folder with eddy executable. In order to run and
compile tests run:

$ make tests

Tests are based of CMocka test framework. Binary will be located in
./bin/tests/ folder. For now, test runs are fully sequential.


[1] - Fast MATLAB assembly of FEM matrices in 2D and 3D: Edge elements,
      I.Anjam, J.Valdman, 2015