OpenFOAM 1.6.x on Windows
For the latest version of our Windows patch for OpenFOAM visit "OpenFOAM 2.1.x on Windows 64-bit with MS MPI".
We have updated our Windows patch for OpenFOAM to match the latest OpenFOAM release (v1.6.x). Be warned - to build OpenFOAM for Windows with a cross compiler requires expert knowledge of Linux utilities and compilers.
Are you looking for a GUI driven, integrated simulation environment for Windows and Linux incorporating a selection of the RANS OpenFOAM solvers and various import/export filters? Then try our Caedium RANS Flow add-on.
Binary Version
A set of OpenFOAM binary applications are available for purchase at "OpenFlow: OpenFOAM for Windows."
Patch Build Process
The following steps are required to produce a native Windows version of OpenFOAM 1.6.x using a cross compiler:
- Configure, build, install and test a MinGW cross compiler for Windows running on Linux. I used the build-mingw.sh script.
- Add
#include_next <float.h>to the end of
lib/gcc/mingw32/4.4.1/include/float.h and remove it from
mingw32/include/float.h to include the right float.h. - Install the OpenFOAM 1.6.x source distribution on Linux - git Commit: 50d2858505ca00e44776ce89cab97f9a33f098e8 Date: Dec 2 15:26:12 2009.
- Patch (using the Linux patch command) the OpenFOAM 1.6.x source distribution with our MinGW Windows modifications [last updated March 5, 2010 to v10].
- Copy wmkdep and dirToString from wmake/bin/linuxGcc to wmake/bin/linuxmingw32.
- Export environment variables and source etc/bashrc. As an example:
export FOAM_INST_DIR="$HOME/projects/of/of1.6"
export WM_ARCH_OPTION=32
export WM_OSTYPE=MSwindows
export WM_COMPILER=mingw32
export WM_CC=mingw32-gcc
export WM_CXX=mingw32-g++
export compilerInstall=System
export WM_MPLIB=NONE
source "$FOAM_INST_DIR/OpenFOAM-1.6.x/etc/bashrc" - Build using Allwmake in the OpenFOAM-1.6.x directory on Linux.
- Transfer the OpenFOAM executables (applications/bin/linuxmingw32*/*.exe) and libraries (lib/linuxmingw32*/*.dll) to the Windows computer.
- Launch a Windows command prompt to run OpenFOAM solvers and utilities, such as simpleFoam.exe.
On the Windows computer ensure the following:
- The WM_PROJECT_DIR and USERNAME variables are set.
- The etc directory from the original source distribution is within the WM_PROJECT_DIR.
- The PATH variable is set to include the OpenFOAM executable and library locations.
Constraints
With this method of building OpenFOAM for Windows the following features (there maybe more) are unavailable:
- job control scripts in bin (such as foamSolverSweeps)
- parallel
The following applications and libraries are unlikely to build:
- libccmio
- Scotch, metis, MPI and any dependents


Comments
FOAM FATAL ERROR
Hello,
thank for your patch for OpenFOAM 1.6.x and Windows. I compiled OpenFOAM for windows and it seems like it is working, BUT if I tried to use the solver in windows command prompt, I got this error:
FOAM FATAL ERROR in Foam::findEtcFile<> : could not find mandatory file 'controlDict'
I set up all PATH variable. The etc directory from the original source distribution is within the WM_PROJECT_DIR also.
Maybe you have some advice???
Thanks
Thomas
Check etc/controlDict
So you've set the environment variable WM_PROJECT_DIR and you have the etc directory within WM_PROJECT_DIR. Next ensure that the file WM_PROJECT_DIR/etc/controlDict is in place and valid. Just for reference the etc directory should contain:
Another thought, is to try using Wine under Linux while you are chasing this problem to avoid copying files backwards and forwards.
Hope this helps.
etc/controlDict
Hi,
it is working now! I used it in MS Command Prompt as follow:
"set WM_PROJECT_DIR=C:\Simulation\OpenFOAM-1.6.x"
Thanks really a lot!
Thomas
OpenFOAM-1.5-dev
Hi,
and thanks for the patch.
Do you have a script to build your patch automatically? I want try to build a MS Windows version of OpenFOAM-1.5-dev also. Maybe you have a path for this version already?1
Bye
Thomas
Didn't Try OpenFOAM-1.5-dev
Sorry I don't have an automatic patch applying-building script.
The old OpenFOAM 1.5.x patch is still available, but I haven't tried applying it to OpenFOAM-1.5-dev.
mingw64
Hi,
great job for all the patches! Did you also tried the mingw64?
Bye
Thomas
Not Yet
I haven't tried mingw64. If you try it be sure to report back, thanks.
OpenFOAM-1.5-dev and windows
Hello
Did you successful build a MS Windows version of OpenFOAM-1.5-dev?I'm more interested in it!
Thank you !
No Longer Supporting 1.5.x
No, I'm no longer supporting the 1.5.x patch. For more see "Didn't Try OpenFOAM-1.5-dev"
Proposed additional fixes and mingw64
Hi,
Just dropping by to:
Best Regards,
Bruno
Thanks for the Update
Great work Bruno, getting parallel up and running, the 64-bit compilation, and the documentation on OpenFOAMWiki.
Thanks too for the feedback on the issues you found with the current (v9) 1.6.x patch.