FEniCS is a popular open-source (LGPLv3) computing platform for solving partial differential equations (PDEs). FEniCS enables users to quickly translate scientific models into efficient finite element code. With the high-level Python and C++ interfaces to FEniCS, it is easy to get started, but FEniCS offers also powerful capabilities for more experienced programmers. FEniCS runs on a multitude of platforms ranging from laptops to high-performance clusters. 
Fenics on raad2
A. Users should have an account on raad2. To apply for an account, https://www.qatar.tamu.edu/researchcomputing/hpc-account-application
B. For Windows users, download and install MobaXterm on your computer. https://rc-docs.qatar.tamu.edu/index.php/Soft_mobaxterm
C. For Mac and Linux users, you can use the Linux terminal.
D. Download and launch Fenicslauncher.bash script. This script has to be launched from local desktop on MobaXterm or Linux Terminal.
wget --no-check-certificate https://rc-docs.qatar.tamu.edu/images/2/27/Fenicslauncher.bash chmod +x FenicsLauncher.bash ./FenicsLauncher.bash usrname
For MAC users you may use following;
curl -O https://rc-docs.qatar.tamu.edu/images/2/27/Fenicslauncher.bash
E. You will be asked for raad2 password twice and then will be assigned a compute node. You will see a welcome message with relevant instructions to use Fenics.
Fenics Build: 2019.1.0 Copy demo files; cp -R /usr/fenics /lustre/home/username/fenics Start Jupyter Lab; jupyter lab --port <port#> Start python; python3 Explore the demos; cd ~/fenics/demo/python/documented/poisson python3 demo_poisson.py
F. Upon first log-in, please copy the demo files in your home directory by issuing;
cp -R /usr/fenics /lustre/home/muarif092/fenics
G. To launch Jupyter Lab, please make sure that you are using the port which system as provided. Otherwise port forwarding will fail. You can issue "fenics-help" to get information on port number assigned to you by system.
Installing Python Packages
Open a separate MobaXterm terminal and install the packages locally.
A. Login to raad2
B. Launch Fenics container.
singularity shell /lustre/sw/xc40ac/fenics/fenics.exe
C. Create directory for local python packages (Required once only)
mkdir -p $FENICS_HOME/py-packages
D. Install python packages locally
pip install -t $FENICS_HOME/py-packages <python-package>