OpenFOAM
According to Wikipedia:
- OpenFOAM (for "Open source Field Operation And Manipulation") is a C++ toolbox for the development of customized numerical solvers, and pre-/post-processing utilities for the solution of continuum mechanics problems, including computational fluid dynamics (CFD).
Basic installation
If you do not plan on doing development tasks with OpenFOAM, there is an updated version of the program available in the AUR package openfoam-orgAUR and git versions openfoam2.4-gitAUR or openfoam3.0-gitAUR. For most users, this will be everything needed to get an installation up and running.
Development installation
For installation of OpenFOAM in a development environment, the process is fairly straight forward on Arch Linux. The basic steps are as follows:
- Obtain source files from OpenFOAM
- Prepare build directory
- Create Preference File and Set Environment Variables for your installation
- Compile OpenFOAM sources
- Test OpenFOAM installation
Prerequisites
Obtain source files
Latest stable release
Environment variables
Paste the following code into your ~/.bashrc file. Whenever you want to run OpenFOAM you just have to type of20x to initialize the environment.
# OpenFOAM Install export FOAM_INST_DIR='$HOME/.OpenFOAM' alias of20x='source $FOAM_INST_DIR/OpenFOAM-2.0.x/etc/bashrc'
Troubleshooting
zsh
Some things do not work straightforward if you are not using bash. In the case of zsh, you will need the bash-completion package, and add the following to your .zshrc
for the OpenFOAM scripts to work.
autoload bashcompinit bashcompinit
Add export FOAM_INST_DIR=/opt/OpenFOAM
and export BASH=/bin/bash
to your .zshenv
and alias ofoam="source ${FOAM_INST_DIR}/OpenFOAM-5.0/etc/bashrc"
to your .zshrc
.
Paraview not installed
This happens because the dependencies are installed as separate packages, and not in the third-party apps directory of OpenFOAM. Either;
- Add
alias paraFoam='paraFoam -builtin'
to your/opt/OpenFOAM/Open-FOAM-X.X/etc/bashrc
. - For each project,
touch `echo "${PWD##*/}"`.foam
and then open the touched file from paraview.