Thanh Tri Nguyen
Simulation Solution Architect
Engineer at Qarnot, specialized in Computational Fluid Dynamics and Multiphysics
HPC platform
Launch compute tasks in a few lines of code or a few clicks on Tasq, our HPC platform.

FEniCS on Qarnot Cloud - documentation

October 18, 2021 - Documentation, Numerical simulation

Introduction

FEniCS is an open source finite element software used to solve partial differential equations. The equations and physics are transcribed into FEniCS language implemented in Python. Running your FEniCS simulation on Qarnot is as easy as uploading your case and launching a script. Here’s a walk-through of the different steps.

Versions

The test case uses FEniCS 2019.2.0.

Release yearVersion
20192019.2.0

If you are interested in another version, please send us an email at qlab@qarnot.com.

Test case

Please ensure that you have created a Qarnot account here.

This test case is based the 2-D Poisson equation on a square unit. The equation is broadly used in physics and is a general form of the Laplace equation. To make our problem unique, we also need to choose a domain (a simple square) and some boundary conditions, which are presented below. 

You can download the case folder here, which contains the test case as code in a Python file. You should put it at the same folder level as the script to launch the calculation. Please note that it needs to be unzipped before it can be used on Qarnot.

Launching the case

Before starting a calculation with the Python SDK, a few steps are required:

  • Retrieve the authentication token (here)
  • Install Qarnot’s Python SDK (here)

Note: in addition to the Python SDK, Qarnot provides C# and Node.js SDKs and a Command Line.
Once everything is set up, the following script needs to be used to start the calculation.

Be sure you have copied your authentication token in the script (instead of <<<MY_SECRET_TOKEN>>>) to be able to launch the task on Qarnot.

fenics.py

To launch this script, simply copy the preceding code in a Python script, put at the same level as the poisson folder and execute python3 fenics.py & in your terminal. You should copy the gist code (shown here) and not the raw code.

Results

At any given time, you can monitor the status of your task on the general web interface Console. The following figure shows a successful Fenics demo simulation on Qarnot’s console.

You should also now have a result folder in the output bucket and on your computer containing all the numerical results. You can open solution000000.vtu file (in the poisson folder) in Paraview or any other viewer. You can also use our Paraview Web payload to view the results online if needed. To activate the 3D view in Paraview, go the Filters tab, go to Alphabetical and choose Warp By Scalar. Click on Apply to show the same figure as below.

Wrapping up

That’s it! If you have any questions, please contact qlab@qarnot.com and we will help you with pleasure!

Share on networks