FEniCS: Difference between revisions

From Alliance Doc
Jump to navigation Jump to search
No edit summary
(these instructions work for Fenics as it was in October 2017, so adding a git checkout to get a commit from that time. Also modifying modules somewhat)
Line 12: Line 12:
   |lang="sh"
   |lang="sh"
   |contents=
   |contents=
module load hdf5-mpi/1.8.18 boost eigen python/3 python35-scipy-stack/2017a petsc/3.7.5 fftw-mpi/3.3.6
module load hdf5-mpi/1.8.18 boost eigen python/3.5 scipy-stack/2017b petsc/3.7.5 fftw-mpi/3.3.6


mkdir fenics && cd fenics
mkdir fenics && cd fenics
Line 21: Line 21:
git clone https://bitbucket.org/fenics-project/ffc.git
git clone https://bitbucket.org/fenics-project/ffc.git
git clone https://bitbucket.org/fenics-project/dolfin.git
git clone https://bitbucket.org/fenics-project/dolfin.git
cd dolfin
git checkout -b october2017 41bab805a945ecd
cd ..
chmod u+w ~/fenics/*/.git/objects/pack/*
chmod u+w ~/fenics/*/.git/objects/pack/*


Line 50: Line 53:
   |lang="sh"
   |lang="sh"
   |contents=
   |contents=
module load hdf5-mpi/1.8.18 boost eigen python/3 python35-scipy-stack/2017a petsc/3.7.5 fftw-mpi/3.3.6
module load hdf5-mpi/1.8.18 boost eigen python/3.5 scipy-stack/2017b petsc/3.7.5 fftw-mpi/3.3.6
source ~/software/dolfin/share/dolfin/dolfin.conf
source ~/software/dolfin/share/dolfin/dolfin.conf
source ~/fenics/bin/activate
source ~/fenics/bin/activate

Revision as of 02:43, 8 March 2018

Other languages:

FEniCS is a popular open-source computing platform for solving partial differential equations (PDEs).

Installation instructions

File : fenics_install.sh

module load hdf5-mpi/1.8.18 boost eigen python/3.5 scipy-stack/2017b petsc/3.7.5 fftw-mpi/3.3.6

mkdir fenics && cd fenics
git clone https://bitbucket.org/fenics-project/fiat.git
git clone https://bitbucket.org/fenics-project/instant.git
git clone https://bitbucket.org/fenics-project/dijitso.git
git clone https://bitbucket.org/fenics-project/ufl.git
git clone https://bitbucket.org/fenics-project/ffc.git
git clone https://bitbucket.org/fenics-project/dolfin.git
cd dolfin
git checkout -b october2017 41bab805a945ecd
cd ..
chmod u+w ~/fenics/*/.git/objects/pack/*

pyvenv ~/fenics
source ~/fenics/bin/activate
cd fiat    && pip3 install . && cd -
cd instant && pip3 install . && cd -
cd dijitso && pip3 install . && cd - 
cd ufl     && pip3 install . && cd - 
cd ffc     && pip3 install . && cd - 
pip3 install ply
cd dolfin  
mkdir build && cd build  

cmake .. -DDOLFIN_SKIP_BUILD_TESTS=true -DEIGEN3_INCLUDE_DIR=$EBROOTEIGEN/include  -DCMAKE_INSTALL_PREFIX=$HOME/software/dolfin -DCMAKE_SKIP_RPATH=ON -DRT_LIBRARY=$EBROOTNIXPKGS/lib64/librt.so -DHDF5_C_LIBRARY_dl=$EBROOTNIXPKGS/lib64/libdl.so -DHDF5_C_LIBRARY_m=$EBROOTNIXPKGS/lib64/libm.so -DHDF5_C_LIBRARY_pthread=$EBROOTNIXPKGS/lib64/libpthread.so -DHDF5_C_LIBRARY_z=$EBROOTNIXPKGS/lib/libz.so 

nice make -j 8 install && cd -
sed -i s'^export LD_LIBRARY_PATH=/lib^#export LD_LIBRARY_PATH=/lib^' ~/software/dolfin/share/dolfin/dolfin.conf


To run the installed program, perform the following operations to set up your environment:


File : fenics_run.sh

module load hdf5-mpi/1.8.18 boost eigen python/3.5 scipy-stack/2017b petsc/3.7.5 fftw-mpi/3.3.6
source ~/software/dolfin/share/dolfin/dolfin.conf
source ~/fenics/bin/activate


FEniCS add-ons

First install FEniCS following instructions above.

mshr

File : mshr_install.sh

module load hdf5-mpi/1.8.18 boost eigen python/3 python35-scipy-stack/2017a petsc/3.7.5 fftw-mpi/3.3.6

export CMAKE_PREFIX_PATH=/home/$USER/software/dolfin/share/dolfin/cmake/:$CMAKE_PREFIX_PATH

git clone https://bitbucket.org/fenics-project/mshr.git
cd mshr
mkdir build
cd build
cmake .. -DCMAKE_INSTALL_PREFIX=$HOME/software/mshr   -DCMAKE_BUILD_TYPE=Release -DCMAKE_SKIP_RPATH=ON
make
make install


Then run


File : fenics_mshr_run.sh

module load hdf5-mpi/1.8.18 boost eigen python/3 python35-scipy-stack/2017a petsc/3.7.5 fftw-mpi/3.3.6
source ~/software/dolfin/share/dolfin/dolfin.conf
source ~/fenics/bin/activate
export PYTHONPATH=$HOME/software/mshr/lib/python3.5/site-packages:$PYTHONPATH
export LD_LIBRARY_PATH=$HOME/software/mshr/lib:$LD_LIBRARY_PATH