OpenFOAM
This page describes how to run OpenFOAM in a docker container in Red Cloud.
Launch Instance
Launch a Red Cloud instance using the openfoam-docker-2020-09-17 image. See the Red Cloud Linux instances page on how to launch an instance, and the Images page for more information about images on Red Cloud. You can launch an image either directly from the openfoam-docker-2020-09-17 image page, or by following the general instructions for creating a Red Cloud Linux instance and choosing the openfoam-docker-2020-09-17 image as the source for the new instance.
Run and Attach to Docker Container
1. ssh to the Red Cloud instance
- Because the openfoam-docker image is based upon an Ubuntu image, the username for your ssh command will be
ubuntu
, e.g., with a command such as:
ssh -i my_key.pem ubuntu@<IP address of your instance>
- See the documentation on Secure Shell (SSH) for more information on connecting to your instance.
2. Run and attach a docker container containing OpenFOAM image: docker container run -ti openfoam/openfoam7-paraview56
- After executing this command, you should notice that the command prompt has changed, as the docker container is now running and is providing you with access to a bash shell running within the container.
Tutorials
pitzDaily
This example is based on the experimental work of Pitz and Daily (1981). It features a backward facing step. Such a "classic" case is instructive for comparing different turbulence models with respect to the size and shape of the recirculation zone.
- Now that you are running a bash shell within the OpenFOAM docker container, first make a unique working directory and copy the pitzDaily example code into the directory:
WORK_DIR=$FOAM_RUN-$(whoami)-$(date +%s) echo $WORK_DIR mkdir -p $WORK_DIR cd $WORK_DIR cp -r $FOAM_TUTORIALS/incompressible/simpleFoam/pitzDaily . cd pitzDaily
- Next, we will run the simulations. Execute these commands in sequence; they will run quickly (under a minute).
blockMesh
simpleFoam
- If you're curious about where those applications are within the container, you can make use of standard Linux commands to examine the PATH that has been set up within the container, and figure out where these applications are stored:
echo $PATH
which blockMesh
IcoFoam Cavity
- Within the working directory (cd $WORK_DIR)as above,
cp -r $FOAM_TUTORIALS/incompressible/icoFoam/cavity/cavity . cd cavity
- Run the simulations:
blockMesh
icoFoam