Code Saturne is an open source software for Computational Fluid Dynamics (CFD) simulations developed by EDF. Running your Code Saturne simulation on Qarnot is as easy as uploading your case and launching a script. Here’s a walk-through of the steps.
The test case uses Code Saturne 6.2.1, released in 2020.
If you are interested in another version, please send us an email at qlab@qarnot.com.
Please ensure that you have created a Qarnot account.
This test case is based on the shear driven cavity flow tutorial simulation. You can find more information about the test case here. You can download the case folder here, which contains the mesh and case setup files. 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.
Before starting a calculation with the Python SDK, a few steps are required:
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.
code-saturne.py
#!/usr/bin/env python
# Import the Qarnot SDK
import qarnot
# Create a connection, from which all other objects will be derived
# Enter client token here
conn = qarnot.connection.Connection(client_token='<<<MY_SECRET_TOKEN>>>')
# Create the task
task = conn.create_task("Hello World - Code_Saturne", "docker-batch", 1)
# Create the input bucket and synchronize with a local folder
# Insert a local folder directory
input_bucket = conn.create_bucket("code_saturne-in")
input_bucket.sync_directory("cavity")
# Attach the bucket to the task
task.resources.append(input_bucket)
# Create a result bucket and attach it to the task
task.results = conn.create_bucket("code_saturne-out")
# Define the Docker image and the command to be run in the container
task.constants["DOCKER_REPO"] = "qarnotlab/code_saturne"
task.constants["DOCKER_TAG"] = "6.2.1"
task.constants["DOCKER_CMD"] = "/job/run.sh"
# Submit the task
task.run(output_dir="codesaturne_results")
To launch this script, simply copy the following code in a Python script, put at the same level as the cavity folder and execute python3 code_saturne.py &
in your terminal.
At any given time, you can monitor the status of your task on the general general web interface 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 the RESULTS_FLUID_DOMAIN.case file (in the codesaturne_results/test/RESU/date-and-time/post processing folder) in Paraview or any other viewer. You can also use our Paraview Web payload to view the results online if needed.
That’s it! If you have any questions, please contact qlab@qarnot.com and we will help you with pleasure!