Viewing OpenFOAM Results
In the previous section, we showed how to save results to a persistent volume, and/or to S3. We also showed that results can be optionally visualized directly via a Paraview server started as part of the workflow. In the following sections we will discuss how to access and visualize the results.
Any Fuzzball job that mounts the same persistent volume used to save results of a OpenFOAM can be used to access the results in later workflows.
If you only need to inspect the results with generic linux commandline tools, you can create a small Fuzzball interactive shell job from the CLI like so:
$ cat <<EOF > shell.fz
version: v1
volumes:
data:
reference: volume://user/persistent
jobs:
shell:
image:
uri: docker://rockylinux:9
mounts:
data:
location: /data
env:
- "PS1=(fuzzball)$ "
cwd: /data/results
command:
- /bin/bash
- "-c"
- sleep 8h
resource:
cpu:
cores: 1
threads: true
memory:
size: 2GiB
policy:
timeout:
execute: 8h
EOF
$ fuzzball workflow start shell.fz
Workflow "ed24d154-4bd5-4695-b458-7f821710e4a7" started.
$ fuzzball workflow describe ed24d154-4bd5-4695-b458-7f821710e4a7
Name: shell.fz
Email: wresch@ciq.com
UserId: 87145648-b830-4291-ab7e-40880d61334e
Status: STAGE_STATUS_STARTED
Cluster: fuzzball-aws-stable
Created: 2025-04-23 01:45:59PM
Started: 2025-04-23 01:45:59PM
Finished: N/A
Error:
Stages:
KIND | STATUS | NAME | STARTED | FINISHED
Workflow | Started | ed24d154-4bd5-4695-b458-7f821710e4a7 | 2025-04-23 01:45:59PM | N/A
Volume | Finished | data | 2025-04-23 01:46:00PM | 2025-04-23 01:46:32PM
Image | Finished | docker://rockylinux:9 | 2025-04-23 01:46:00PM | 2025-04-23 01:46:21PM
Job | Started | shell | 2025-04-23 01:48:48PM | N/A
The workflow is running and you can connect to it:
$ fuzzball workflow exec --tty ed24d154-4bd5-4695-b458-7f821710e4a7 shell /bin/bash
(fuzzball)$ pwd
/data/results
(fuzzball)$ ls -lhtr openfoam | tail -1
drwxrwxr-x. 14 user group 6.0K Apr 29 13:25 openfoam-motorbike-1745931477
(fuzzball)$ ls -lh openfoam/openfoam-motorbike-1745931477
total 60K
drwxrwxr-x. 3 user group 6.0K Apr 29 13:25 0.orig
drwxrwxr-x. 3 user group 6.0K Apr 29 13:24 500
-rwxrwxr-x. 1 user group 438 Apr 29 13:24 Allclean
-rwxrwxr-x. 1 user group 1.6K Apr 29 13:24 Allrun
-rw-rw-r--. 1 user group 37 Apr 29 13:24 FB_WORKFLOW_ID
drwxrwxr-x. 8 user group 6.0K Apr 29 13:25 VTK
drwxrwxr-x. 5 user group 6.0K Apr 29 13:24 constant
drwxrwxr-x. 10 user group 6.0K Apr 29 13:25 postProcessing
drwxrwxr-x. 9 user group 6.0K Apr 29 13:23 processor0
drwxrwxr-x. 9 user group 6.0K Apr 29 13:24 processor1
drwxrwxr-x. 9 user group 6.0K Apr 29 13:24 processor2
drwxrwxr-x. 9 user group 6.0K Apr 29 13:25 processor3
drwxrwxr-x. 9 user group 6.0K Apr 29 13:24 processor4
drwxrwxr-x. 9 user group 6.0K Apr 29 13:24 processor5
drwxrwxr-x. 3 user group 6.0K Apr 29 13:24 system
If you want to fetch results saved to AWS S3 for local visualization with Paraview, for example, you can download the results file to your workstation with the AWS CLI or any other method that can interact with data stored in S3. We will use the AWS CLI in the examples below. If you do not have the AWS CLI installed, please see the AWS CLI installation instructions for more information.
Using the AWS CLI command aws s3 cp, the result file can be downloaded to your workstation. The
workflow catalog template appends a timestamp to the results name. That makes the results in our
example s3://S3Bucket/ResultsPath/openfoam-motorbike-1745931477.tar.gz where S3Bucket and
ResultsPath were the parameters you provided to the workflow template. You can copy this
file and unpack the archive like so:
$ aws s3 cp s3://S3Bucket/ResultsPath/openfoam-motorbike-1745931477.tar.gz .
download: s3://S3Bucket/ResultsPath/openfoam-motorbike-1745931477.tar.gz to ./openfoam-motorbike-1745931477.tar.gz
$ tar -zxf openfoam-motorbike-1745931477.tar.gz
After decompressing the archive, you can post-process your results and create visualizations using open source software ParaView.
If you elected to have the workflow start a Paraview server at the end you can directly
connect to that server with your local client once you have configured forwarding for the port
Paraview uses to connect. In our example in the section on running the OpenFoam tutorial
we use the default port of 11111. You can get the full command needed to configure port forwarding
by examining the log of the port-forwarding-info step. With the CLI you would do this like
so:
$ fuzzball workflow log 84a17f21-7e0b-4970-92b4-fa3fa499a20e port-forwarding-info
Accessing the paraview server once it starts requires port-forwarding via the CLI:
# fuzzball workflow port-forward 84a17f21-7e0b-4970-92b4-fa3fa499a20e paraview 11111:11111
$ fuzzball workflow port-forward 84a17f21-7e0b-4970-92b4-fa3fa499a20e paraview 11111:11111
Once port forwarding is set up, you can connect to the Paraview server with your local client
of the same version and set up a server connection with localhost:11111 like so:
