Installation

From OpenFOAMWiki
Revision as of 01:36, 14 September 2009 by Hoogs (Talk | contribs)

OpenFOAM is available for download as source code and binary files for linux and linux-like operating systems. An official Windows binary is not provided.

1 OpenFOAM

1.1 General Instructions

1.1.1 OpenCFD git repository

OpenCFD provide a repository using the git distributed version control system.

Valid versions: OF version 16.png

1.1.1.1 Unpacking

To get the sources you will need to do the following

cd ~/OpenFOAM/
git clone http://repo.or.cz/r/OpenFOAM-1.6.x.git/
cd OpenFOAM-1.6.x
git pull

You will also need to install the ThirdParty source, from http://www.opencfd.co.uk/openfoam/linux.html, make sure you get the right version (ie 32 or 64 bit)

To install this you need to unpack this file in the OpenFOAM directory (the code below assumes that the tar file is in ~/OpenFOAM/

cd ~/OpenFOAM/
tar -zxf ThirdParty-1.6.General.gtgz

1.1.1.2 Set-up

Before compiling you will need to set up the openfoam environment. Firstly - set wmake to use the system compiler

in ~/OpenFOAM/OpenFOAM-1.6.x/etc/settings.sh change the line (line no 98)

compilerInstall=OpenFOAM

to

compilerInstall=System

Next source the OF settings

. ~/OpenFOAM/OpenFOAM-1.6.x/etc/bashrc

Your session should now be set up to run OF-1.6 (but there won't be anything to run yet)

1.1.2 Compiling

Next step is to compile OF.

Set the number of processors to use, in this case 4

export WM_NCOMPPROCS=4

Compile the ThirdParty stuff

cd ~/OpenFOAM/
ln -s ThirdParty-1.6 ThirdParty-1.6.x
cd ThirdParty-1.6.x
./Allwmake

Assuming you have no errors, we can now compile OpenFOAM re-source the settings (to pick up newly created directories)

cd ~/OpenFOAM/OpenFOAM-1.6.x
. etc/bashrc

Then compile away

./Allwmake

When it finishes (hopefully) you should have a completely working installation.

1.1.3 Compile OpenCFD release

Valid versions: OF version 14.png

This is a step-by-step installation guide to OpenFOAM on 32 bit machines. It is highly focused on Linux-newbies, thus many steps might look superfluous on more experienced users. The character ">" is used to signal that what follows on that specific line is to be typed in a command line.

- Make a directory for your OpenFOAM installation by typing:

 > mkdir $HOME/OpenFOAM
 > cd $HOME/OpenFOAM
 > mkdir linux

- Download the following six archives from the opencfd-homepage to the $HOME/OpenFOAM directory:

 > OpenFOAM-1.4.1.General.gtgz
 > OpenFOAM-1.4.1.linuxGccDOpt.gtgz
 > OpenFOAM-1.4.1.linuxGccSOpt.gtgz
 > gcc-4.2.1.linux.tgz
 > j2sdk1.4.2_05.linux.tgz
 > paraview-2.4.4.linux.tgz

- Open a terminal and type:

 > ls /usr/include/features.h
 a) EITHER "/usr/include/features.h" is written to screen. Do not do any further.
 b) OR "cannot access /usr/include/features.h: No such file or directory" 
    is written to screen. You need the build essentials to compile your own 
    boundary conditions, thus type the following in a terminal:
    > aptitude install build-essential gcc

- Unpack the archives by typing the following command:

 > cd $HOME/OpenFOAM
 > tar -xzf OpenFOAM-1.4.1.General.gtgz
 > tar -xzf OpenFOAM-1.4.1.linuxGCCDPOpt.gtgz
 > tar -xzf OpenFOAM-1.4.1.linuxGCCSPOpt.gtgz
 > tar -xzf gcc-4.2.1.linux.tgz linux/
 > mv *.tgz linux/.
 > cd linux
 > tar -xzf gcc-4.2.1.linux.tgz
 > tar -xzf j2sdk1.4.2_05.linux.tgz
 > tar -xzf paraview-2.4.4.linux.tgz

- You need to set some environmental variables to be able to run OpenFOAM. This is done in the following way:

 a) EITHER, if running bash or ksh (if in doubt type 'echo $SHELL'), do the 
    following:
    > nano $HOME/.bashrc (this open a text-editor in your command window)
    In the end of the file you type:
    . $HOME/OpenFOAM/OpenFOAM-1.4.1/.OpenFOAM-1.4.1/bashrc
    Press 'CTRL-X' to quit nano and agree to save changes.
 a) OR, if running tcsh or csh (if in doubt type 'echo $SHELL'), do the 
    following:
    > nano $HOME/.cshrc (this open a text-editor in your command window)
    In the end of the file you type:
    source $HOME/OpenFOAM/OpenFOAM-1.4.1/.OpenFOAM-1.4.1/cshrc
    Press 'CTRL-X' to quit nano and agree to save changes.

- Open a new command-window. This will read $HOME/.bashrc and set all the necessary environmental variables. To check the installation do:

 > cd ~/OpenFOAM/OpenFOAM-1.4.1/bin
 > sh foamInstallationTest

- On single-machine setups, the installation test will probably produce a report which looks like this in the last couple of lines:

 ==============================================================================
 Checking networking...
  
 -------------------------------------------------------------------------------
 Action                   Result                                       Crit
 -------------------------------------------------------------------------------
 Pinging_ngj-ubuntu       Successful                                   yes 
 Pinging_localHost        Successful                                   yes 
 Test_rsh:                Unsuccessful_connection_refused*             yes
 Test_ssh:                Unsuccessful_connection_refused*             yes
 FATAL ERROR: No remote shell available.
              Foam1.4.1 enviroment requires either ssh and/or rsh.
              Contact your system administrator.


 -------------------------------------------------------------------------------

 The system test has evoked 1 fatal error(s).

 Critical systems ok.

 Review the output for warning messages and consult 
 the installation guide for trouble shooting.
 ==============================================================================
 This fatal error is due the test_rsh and test_ssh critiria, though they are 
 irrelevant on single-machine installations, i.e. only relevant for parallel-
 processing on multiple machine.

- To setup the a working directory, follow step 6 in the ~/OpenFOAM/OpenFOAM-1.4.1/README file.

- You are now ready to begin working with OpenFOAM.

- Have fun:)

1.1.4 OpenCFD binaries

Valid versions: OF version 16.png

Installing OpenFOAM from binary files is very good if you are a first time user. You can quickly install the software with minimal complications. The process consists of five simple steps:

  1. Download the binary files
  2. Unpack the binary files to your home directory
  3. Add environmental variables
  4. Test the installation
  5. Getting Started

This assumes that you will be installing openFOAM in your home directory. There are many possible variations on this installation procedure (for example, you don't need to install to your home directory.) But you should probably go with the simplest method first time around.

1.1.4.1 Download the Binary Files

These files are all compiled and ready to go. All you have to do is download them. Go to: http://www.opencfd.co.uk/openfoam/download.html

  1. At the top of the page is a pull down menu. Select whether you want binaries for Linux 32 bit or Linux 64 bit.
  2. Create a directory in your home directory. Open up a console window and type the following in at the command line:
mkdir $HOME/OpenFOAM
  1. Download the following files into this directory. These will install the compiled binary files, the source code, documentation, example files, necessary supporting libraries, etc. Everything you would expect in a program. It just comes in four separate packages
    1. OpenFOAM-1.6.General.gtgz
    2. OpenFOAM-1.6.linux64GccDPOpt.gtgz
    3. ThirdParty-1.6.General.gtgz
    4. ThirdParty-1.6.linux64Gcc.gtgz

1.1.4.2 Unpack the Binary Files

You have downloaded all four files. Now unpack all the files to the same OpenFOAM directory that you created before. That is the $HOME/OpenFOAM directory. Use whatever tool you prefer to unpack the files. I prefer to use a graphical interface that does the work for me. You can also use the command line by typing

tar xzf OpenFOAM-1.6.General.gtgz
tar xzf OpenFOAM-1.6.linux64GccDPOpt.gtgz
tar xzf ThirdParty-1.6.General.gtgz 
tar xzf ThirdParty-1.6.linux64Gcc.gtgz

Congratulations. You now have the binary files unpacked. That was most of the work. Next, you just need to add the environmental variables.

1.1.4.3 Environmental Variables

The environmental variables will allow the linux system to understand the various OpenFOAM commands. Fortunately, you don't need to add the environmental variables. All you need to do is add one line which will point the system to a file in OpenFOAM that has all the environmental variables.

The environment variable settings for openFOAM are contained in files in an etc/ directory in the OpenFOAM release. e.g. in $HOME/OpenFOAM/OpenFOAM-1.6/etc/

EITHER if running bash or ksh, source the etc/bashrc file by adding the following line to the end of your $HOME/.bashrc file:

. $HOME/OpenFOAM/OpenFOAM-1.6/etc/bashrc 

Then update the environment variables by sourcing the $HOME/.bashrc file by typing in the terminal:

. $HOME/.bashrc 

Notice the periods at the beginning of the line and before the .bashrc filename.

OR if running tcsh or csh, source the etc/cshrc file by adding the following line to the end of your $HOME/.cshrc file:

source $HOME/OpenFOAM/OpenFOAM-1.6/etc/cshrc

Then update the environment variables by sourcing the $HOME/.cshrc file by typing in the terminal:

source $HOME/.cshrc

Note If you are in doubt about which shell you are running, type:

 echo $SHELL 

You will know you have done it correctly if you don't get any return from the command line when you source your .bashrc file. See this example:

> . $HOME/.bashrc
>

1.1.4.4 Test the Installation

To check your installation setup, execute the foamInstallationTest script (in the bin/ directory of the OpenFOAM installation). If no problems are reported, proceed to getting started with OpenFOAM; otherwise, go back and check you have installed the software correctly and/or contact your system administrator. Type the following code in the command line to navigate to the location of the foamInstallationTest script and execute it:

 > cd ~/OpenFOAM/OpenFOAM-1.4.1/bin
 > foamInstallationTest

That will execute the script. A successful test will produce output that looks like this:

Checking basic setup...
-------------------------------------------------------------------------------
Shell:              bash                                                       
Host:               linux-hhqc                                                 
OS:                 Linux version 2.6.27.7-9-default                           
-------------------------------------------------------------------------------


Checking main OpenFOAM env variables...
-------------------------------------------------------------------------------
Environment_variable Set_to_file_or_directory                Valid      Crit   
-------------------------------------------------------------------------------
$WM_PROJECT_INST_DIR /home/nicholas/OpenFOAM                  yes       yes    
$WM_PROJECT_USER_DIR /home/nicholas/OpenFOAM/nicholas-1.6     yes       no     
$WM_THIRD_PARTY_DIR  /home/nicholas/OpenFOAM/ThirdParty-1.6   yes       yes    
-------------------------------------------------------------------------------


Checking the OpenFOAM env variables set on the PATH...
-------------------------------------------------------------------------------
Environment_variable Set_to_file_or_directory                Valid Path Crit   
-------------------------------------------------------------------------------
$WM_PROJECT_DIR      /home/nicholas/OpenFOAM/OpenFOAM-1.6     yes  yes  yes    

$FOAM_APPBIN         ...1.6/applications/bin/linux64GccDPOpt  yes  yes  yes
$FOAM_SITE_APPBIN    ...penFOAM/site/1.6/bin/linux64GccDPOpt  no        no
$FOAM_USER_APPBIN    ...1.6/applications/bin/linux64GccDPOpt  no        no
$WM_DIR              ...nicholas/OpenFOAM/OpenFOAM-1.6/wmake  yes  yes  yes
-------------------------------------------------------------------------------


Checking the OpenFOAM env variables set on the LD_LIBRARY_PATH...
-------------------------------------------------------------------------------
Environment_variable Set_to_file_or_directory                Valid Path Crit
-------------------------------------------------------------------------------
$FOAM_LIBBIN         ...OAM/OpenFOAM-1.6/lib/linux64GccDPOpt  yes  yes  yes
$FOAM_SITE_LIBBIN    ...penFOAM/site/1.6/lib/linux64GccDPOpt  no        no
$FOAM_USER_LIBBIN    ...OAM/nicholas-1.6/lib/linux64GccDPOpt  no        no
$MPI_ARCH_PATH       ...nmpi-1.3.3/platforms/linux64GccDPOpt  yes  yes  yes
-------------------------------------------------------------------------------


Third party software
-------------------------------------------------------------------------------
Software Version   Location
-------------------------------------------------------------------------------
gcc      4.3.3     ...OAM/ThirdParty-1.6/gcc-4.3.3/platforms/linux64/bin/gcc
gzip     1.3.12    /usr/bin/gzip
tar      1.20      /bin/tar
icoFoam  1.6       .../OpenFOAM-1.6/applications/bin/linux64GccDPOpt/icoFoam
-------------------------------------------------------------------------------


Summary
-------------------------------------------------------------------------------
Base configuration ok.

Critical systems ok.


done.

The important part are the last lines which state the basic configuration and critical systems are both good. If these two lines do not say OK, you need to look through the details of the test results to see what went wrong.

If these two lines do say OK, congratulations! You have successfully installed OpenFOAM. The last step is to setup the files for using OpenFOAM and run a simple test case.

1.1.4.5 Getting Started

We will setup a project directory that all subsequent projects can be run from. And then we will run a simple test case to ensure everything works. Create a project directory within the $HOME/OpenFOAM directory named $LOGNAME-1.6 (e.g. ‘chris-1.6’ for user chris and OpenFOAM version 1.6)

>cd $HOME/OpenFOAM
>mkdir $LOGNAME-1.6

and create a directory named run within it, e.g. by typing:

mkdir -p $FOAM_RUN/run

Copy the tutorial examples directory in the OpenFOAM distribution to the run directory. If the OpenFOAM environment variables are set correctly, then the following command will be correct:

cp -r $WM_PROJECT_DIR/tutorials $FOAM_RUN

Run the first example case of incompressible laminar flow in a cavity. Type the following into the command line:

>cd $FOAM_RUN/tutorials/incompressible/icoFoam/cavity
>blockMesh
>icoFoam
>paraFoam
Your screen should look like this

When you have executed all four commands, the paraview post-processor should start.

It doesn't look like much, but notice the bottom left corner. The list for Mesh Parts has four items in it. And the list for Volume Fields has two items in it. This tells you that paraview successfully read the data file. You can now happily use OpenFOAM.

1.1.5 OpenFOAM-dev subversion repository

1.2 System specific tips and experiences

1.2.1 OpenSuSE

Valid versions: OF version 16.png 1.6.x on 11.1, x86_64 |

1.2.2 Gentoo

Valid versions: OF version 15.png

OpenFOAM and Paraview are now both in the main portage tree. For installation just type

 
emerge openfoam-meta paraview

In order to get OpenFOAM running, add the following line to your ~/.bashrc

 alias startOF15="source /usr/lib/OpenFOAM/OpenFOAM-1.5/etc/bashrc"

And each time you want to use OpenFOAM just type startOF15 in the active terminal.

1.2.3 Ubuntu/Debian

1.2.3.1 Ubuntu Intrepid 8.1

Valid versions: OF version 15.png

You have to add the following line to /etc/apt/sources.list either with your preferred text editor or package manager.

 deb http://ppa.launchpad.net/cae-team/ppa/ubuntu intrepid main

Then you have to update your repository list, for example with

 
sudo apt-get update

After that you can install openfoam and paraview just by typing

 
sudo apt-get install openfoam paraview

In order to get OpenFOAM running, add the following line to your ~/.bashrc

 alias startOF15="source /usr/lib/OpenFOAM-1.5/etc/bashrc"

And each time you want to use OpenFOAM just type startOF15 in the active terminal.

1.2.3.2 OpenFOAM-dev-1.5 under Ubuntu Intrepid 8.10

Valid versions: OF version 15.png

In order to install the OpenFOAM-dev-1.5 version as debian package under Ubuntu Intrepid 8.10 you have to add the following line to /etc/apt/sources.list either with your preferred text editor or package manager.

 deb http://ppa.launchpad.net/cae-team/ppa/ubuntu intrepid main

Then you have to update your repository list, for example with

 
sudo apt-get update

After that you can install the openfoam-dev-1.5 package just by typing

 
sudo apt-get install openfoam-dev-1.5

In order to get OpenFOAM running, add the following line to your ~/.bashrc

 alias startOF15dev="source /usr/lib/OpenFOAM-1.5-dev/etc/bashrc"

And each time you want to use OpenFOAM just type startOF15dev in the active terminal.

1.2.3.3 Debian

You can check, if you can install the openfoam binaries, like with Ubuntu Intrepid 8.10. If this not applies, e.g. due to dependency problems, then you have to add the following line to the /etc/apt/sources.list

 deb-src http://ppa.launchpad.net/cae-team/ppa/ubuntu intrepid main

Update you repository list

 
sudo apt-get update

After adding this line, you have to compile the debian source package of openfoam and/or paraview at your own by typing

 
apt-get -b source openfoam

and/or

 
apt-get -b source openfoam-dev-1.5

and/or

 
apt-get -b source parafoam

For further information about debian source packages, follow these guidlines.

In order to get OpenFOAM running, add the following line to your ~/.bashrc

 alias startOF15="source /usr/lib/OpenFOAM-1.5/etc/bashrc"

And each time you want to use OpenFOAM just type startOF15 in the active terminal.

2 Paraview and paraFoam

2.1 Troubleshooting paraFoam

Valid versions: OF version 15.png

If you have problems with paraFoam and the dev version you might have to recompile paraFoam (see http://www.opencfd.co.uk/openfoam/doc/README.html#Paraview). If paraFoam loads, but doesn't know which reader to use to display your OpenFoam results, recompiling the PV3FoamReader should suffice.

To do so, first make sure the environment variable $ParaView_INST_DIR contains the correct path (in my version of OF-1.5-dev there was a typo, a wrong "-"). If not, correct it in ~/OpenFOAM/OpenFOAM-1.5-dev/etc/apps/paraview3/bashrc and re-source ~/.bashrc. Then proceed with ./Allwclean and ./Allwmake in ~/OpenFOAM/OpenFOAM-1.5-dev/applications/utilities/postProcessing/graphics/PV3FoamReader.