**Required Packages**
===============================
1. FEniCS:
^^^^^^^^^^^^^^^^^^^
This tutorial is based on open-source finite element package FEniCS. It could be installed using **Docker** , **Ubuntu** , **Windows** and **Anaconda**. For more information please check out: `How to Install FEniCS `_
2. Matplotlib:
^^^^^^^^^^^^^^^^^^^
This is required for plotting graphs in Python. You can install this package based on the instruction in: `Installation Page `_
3. Paraview:
^^^^^^^^^^^^^^^^^^^
Paraview is an open-source software developed for visualization of the results. Please check out: `How to Install Paraview `_
4. GMSH:
^^^^^^^^^^^^^^^^^^^
This is a free software you can use to generate complex meshes with irregular geometries and then import it into FEniCS. It should be noted that mesh generation in FEniCS is limited to simple geometries. Check it out on: `How to Install GMSH `_
5. pandas:
^^^^^^^^^^^^^^^^^^^
When working with a large set of tabular data, you always need to do preprocessing on your data. The pandas is suggested for this purpose which is a library in python: `How to Install pandas `_
6. sklearn:
^^^^^^^^^^^^^^^^^^^
The sklearn library is probably the most famous machine learning library in python. It contains a lot of efficient tools for data analysis and machine learning purposes. Please check `How to Install sklearn `_
7. Seaborn:
^^^^^^^^^^^^^^^^^^^
This is a Python library for visualization basic statistical analysis. Here is the link for `Installing Seaborn `_
8. Numpy:
^^^^^^^^^^^^^^^^^^^
Numpy is a well-known library in Python which is very useful when dealing with arrays, matrices and linear algebra: Please check `Installing Numpy `_