CFD Online Discussion Forums

CFD Online Discussion Forums (
-   OpenFOAM Installation (
-   -   Development version download (

guillaume February 19, 2008 10:24

Hello, I found some posts men
I found some posts mention a development version of OpenFOAM. This version is not available at as far as I can see. Where can I get it?

This may be explained at, but that wiki is down.


dmoroian February 19, 2008 10:36

See this: Development download
See this: Development download - HowTo

hjasak February 19, 2008 10:42

Yes. Do: svn co https://op
Yes. Do:

svn co penFOAM-1.4.1-dev

You can find some info on: nFOAM-1.4.1-dev/


You can also download a reasonably stable snapshot from the site at University of Zagreb, Croatia:

I will formalise the snapshots, testing etc. so that more people can contribute.


guillaume February 19, 2008 10:58

Great! I didn't expect an imme
Great! I didn't expect an immediate answer.

I have installed the binary 1.4.1 from

Do I need to compile everything as described in the buildinstructions nFOAM-1.4.1-dev/buildInstructions.txt?view=log?

I hope I can use the existing gcc, jdk, paraview etc., so that I only need to compile the new OpenFOAM applications.

The dependencies are not so close that I need to recompile everything, are they?


mike_jaworski February 19, 2008 11:54

Guillaume, I think the gen
I think the general idea is that you will recompile everything. In this way you can be sure that any problems that crop up during your development of new code have actually been caused by your new code, not something that's in the released source. It's not that hard, really, if you have some basic linux experience and can follow the instructions carefully. The search function in google and this board help as well.

Good luck,
Mike J.

guillaume February 19, 2008 18:16

Well, I checked out OpenFOAM a
Well, I checked out OpenFOAM as suggested:
svn co penFOAM-1.4.1-dev

The buildinstructions.txt say:
>2) Download files
> Get all files form the sources directory on
> the web site and put them into the linuxSrc
> directory

What is the sources directory? Is it the whole directory OpenFOAM-1.4.1-dev that I have checked out? Is it the subdirectory src?

>3) Unpack OpenFOAM and set up the dot-files
> cd ~/OpenFOAM
> tar xzf linuxSrc/OpenFOAM-1.4.1-dev_22_11_05.tgz

Where is the OpenFOAM-1.4.1-dev_22_11_05.tgz? It is not included in the svn directory.

I would need instructions that work with the svn.


guillaume February 19, 2008 19:28

Dear Hrvoje, I downloaded t
Dear Hrvoje,

I downloaded the files at this link:
>You can also download a reasonably stable snapshot >from the site at University of Zagreb, Croatia:


Then I sourced the bashrc:
. OpenFOAM/OpenFOAM-1.4.1-dev/.OpenFOAM-1.4.1-dev/bashrc
and I set the JAVA_PATH:
export JAVA_PATH=$HOME/OpenFOAM/linux/j2sdk1.4.2_05

But when I start FoamX I get this error (among other output):
Exception in thread "main" java.lang.UnsupportedClassVersionError: FoamX/App (Unsupported major.minor version 49.0)

Is the J2SDK in your packages not compatible with the compiled java classes?


mike_jaworski February 21, 2008 03:21

Guillaume, There's a cach
There's a cached copy of the OpenFOAMwiki page on how to install and compile OF here: o_compile_OpenFOAM+ n&gl=us&strip=1

use the SVN to download the development version and then following the wiki page instructions step by step.

Good luck,
Mike J.

wes March 6, 2008 09:38

Dear Hrvoje, First, I would
Dear Hrvoje,

First, I would like to extend my greetings.

The last time I was involved in OF matters was during your first workshop in Zagreb. Although I witnessed about the capabilities of OF during the presentations, I hardly done any further investigation, mainly due to time constraint coupled with the difficulty to use OF. If you remember, you helped us a great deal - but, management didn't seem to buy the idea of taking the OF route and we have to abandon it, wiping out the installation too.

Now, after about two years, we found another problem that we can't solve using existing CFD capabilities (just a similar example I have the liberity to explain ihave been posted before although no response yet - see below) and I would like to use this opportunity to make some headways. Trying to compile OF (source) on a 64-bit machine with SUSE Linux Enterprise 10.1, I still have similar problem, in particular, with the version of gcc-4.1.2, giving a critical error. Then I found your buildInstructions from this link: So, here are all my questions, however simple they look.

1. The instruction starts from 2 not 1 and I am not sure if I miss some thing there. I instruction-2 also mentions a "linuxSrc" director although a "linux" directory is still used in instructions 4.1, 4.2, 4.3, 4.4 and 4.5. I belive they come as :
$HOME/OpenFOAM/linuxSrc and $HOME/OpenFOAM/linux, and let me know otherwise.

2. If I unpack the two development OF files (OpenFOAM-1.4.1-dev.*), it will create the foam directory $HOME/OpenFOAM/OpenFOAM-1.4.1-dev/). Would there be any conflict during release update that comes with out "-dev" extension? How could I deal with that scenario?

3. I have already gcc-4.2.2 installed on my linux machine, and in previous installation trials, it continually gave me a critical error by invoking the path /usr/bin/gcc instead of the one set by .OF/bashrc file. Is there a remedy for this ??

4. I will appreciate if you could suggest about existing capabilities or the level of work that might be required to simulate a two-phase supersonic flow with phase change, which I described below?

Thank you all in advance for your efforts and for providing such a forum.



Hi Every one,

I have interest to model a Steam Injector using OpenFOAM. However, I am not sure if it has that capability.

The steam injector is a passive jet pump (with no moving parts) that has various applications, and currently, widely investigated in the nuclear industry (see its historical development as well as recent work

Essentially, a motive fluid (steam) from a high pressure vessel is released and passes through a nozzle supersonically and expands into a mixing chamber while entraining a working fluid (water or slurry) in the form of a jet before it breaks up and vaporises due to momentuum and heat energy transfer - forming a two-phase or dispered flow.
The two-phase system (condensing steam, vaporising water) finally passes through a diffuser throat as liquid.

The process involves both compressible flow (supersonic steam) and incompresible fluids (water), a water jet breakup, phase change of both water and steam.

Does OpenFOAM has such supersonic two-phase flow modelling capability at present? or
Is it potentially extendable to address such problems (for example, including scramjet fuel injection under cross flow ?)

I will appreciate your advice, specially commenting past experiences and more importantly the best place to start in investigating OpenFOAM so that I can spend some time on it.

Many thanks in advance


hjasak March 6, 2008 18:22

Hello Wes, Welcome back.
Hello Wes,

Welcome back.

1) instructions: Woops, sorry. I never noticed - it is fixed now.

linuxSrc is a directory where I build everything. For a 32-bit machine, the installation will go into linux and for a 64-bit machine it will be in linux64. You will need to set WM_64 environment variable to true.

wooster*101-> ls ~/OpenFOAM/linux
total 221M
drwxr-x--- 6 hjasak foam 144 2007-08-08 19:02 cmake-2.4.7
drwxr-x--- 4 hjasak foam 96 2006-11-29 09:15 dx-4.4.4
drwxr-x--- 9 hjasak foam 216 2007-10-15 13:44 gcc-4.2.2
drwxr-x--- 8 hjasak foam 192 2006-04-01 00:47 gdb-6.4
drwxr-x--- 6 hjasak foam 144 2007-10-26 15:57 paraview-2.4.4

2) The two packs are a General (all platforms) and a platform-specific pack. They are designed to unpack on top of each other and there will be no clashes. Beware, the binary pack is for a 43-bt machine.

3) gcc. If you are going to compile OpenFOAM yourself, you can use whatever compiler you wish. Adjust the path in:

/OpenFOAM/OpenFOAM-1.4.1-dev/.cshrc or .bashrc, depending on your shell:

if ($WM_COMPILER == "Gcc" || $machineTest == "Linux" && $?WM_COMPILER) then

4) Two-phase supersonic flow with phase change

Not out-of-box. This is something we need to talk about away from the forum.



wes March 9, 2008 19:56

Hi Hrvoje, Thanks again.
Hi Hrvoje,

Thanks again.
This time I will be brief, and I hope you could e-mail me so that we will be able to discuss the matter in item 4.

But, here is what I have done thus far regarding installation. Followed your instructions (I2-I5)both for a 32- and 64-bit machines, but with no avail.
Below, I have pointed out what I have assumed in situations where the instructions do not come across clear to me - for example instructions (I3 and I4.1).

As suggested, I put the archived files under ~/OpenFOAM/linuxSrc, with directories ~/OpenFOAM/linux or ~/OpenFOAM/linux64 for the 32- and 64-bit machine.

1. In I3, the files are extracted under ~OpenFOAM/ and it is not clear what the purpose of the cp command is.
2. In I4.1, it is not clear under which directory do you extract the files ?
I assumed that:
cd ~/OpenFOAM/linuxSrc
tar xzf gcc-4.2.2.tgz (and while following the rest), it is not clear the purpose of the commands:
tar cvzf ~/OpenFOAM/linux/gcc-4.2.2.bin.tgz gcc-4.2.2, and
cd ~/OpenFOAM/linux
tar xzf gcc-4.2.2.bin.tgz - while all the archive files are in ~/OpenFOAM/linuxSrc.

I4.2-I5 are clear, but I was unable to proceed from I4.1, no matter how different alternatives I tried.

3. I also try to source what you suggested in your previous message: if ($WM_COMPILER == "Gcc" || $machineTest == "Linux" && $?WM_COMPILER) then
set WM_COMPILER_LIB=$WM_COMPILER_DIR/lib${WM_COMPILER_LIB_ARCH:$WM_COMPILER_DIR/lib: }, but it seem to have a typo error of some kind.

Hope to hear from you soon.

Many thanks in advance.


johannes March 22, 2008 16:26

Hi, I encountered the same

I encountered the same error as Guillaume when trying to run FoamX with the source and binaries (dated 31.12.07) from the University of Zagreb (

Exception in thread "main" java.lang.UnsupportedClassVersionError: FoamX/App (Unsupported major.minor version 49.0)
at java.lang.ClassLoader.defineClass0(Native Method)
at java.lang.ClassLoader.defineClass( :539)
at .java:251)
at$100(URLClassLoader. java:55)
at$ 194)
at Method)
at ava:187)
at java.lang.ClassLoader.loadClass( 89)
at sun.misc.Launcher$AppClassLoader.loadClass(Launche
at java.lang.ClassLoader.loadClass( 35)
at java.lang.ClassLoader.loadClassInternal(ClassLoade

I updated Java to jdk1.6.0_05 and was finally able to start FoamX.

But a new problem appeared. The case browser didn't show any cases although I copied the tutorials into the correct $FOAM_RUN directory (/home/johannes/OpenFOAM/johannes-1.4.1-dev/run).

Refreshing the case browser didn't help but created the following error:

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at javax.swing.plaf.basic.BasicTreeUI.paintRow(BasicT
at javax.swing.plaf.basic.BasicTreeUI.paint(BasicTree
at javax.swing.plaf.metal.MetalTreeUI.paint(MetalTree
at javax.swing.plaf.ComponentUI.update(ComponentUI.ja va:143)
at javax.swing.JComponent.paintComponent(JComponent.j ava:763)
at javax.swing.JComponent.paint(
at javax.swing.JComponent.paintToOffscreen(JComponent .java:5122)
at javax.swing.BufferStrategyPaintManager.paint(Buffe )
at javax.swing.RepaintManager.paint(RepaintManager.ja va:1128)
at javax.swing.JComponent._paintImmediately(JComponen
at javax.swing.JComponent.paintImmediately(JComponent .java:4880)
at javax.swing.RepaintManager.paintDirtyRegions(Repai
at javax.swing.RepaintManager.paintDirtyRegions(Repai
at javax.swing.RepaintManager.seqPaintDirtyRegions(Re
at javax.swing.SystemEventQueueUtilities$ComponentWor
at java.awt.event.InvocationEvent.dispatch(Invocation
at java.awt.EventQueue.dispatchEvent( 597)
at java.awt.EventDispatchThread.pumpOneEventForFilter s( )
at java.awt.EventDispatchThread.pumpEventsForFilter(E
at java.awt.EventDispatchThread.pumpEventsForHierarch y( )
at java.awt.EventDispatchThread.pumpEvents(EventDispa
at java.awt.EventDispatchThread.pumpEvents(EventDispa

When I try to create a new case I'm getting this (the same with every solver):

Caught FoamXIOError exception in FoamXCaseServer::main(int argc, char **argv) :
FoamXIOError "attempt to read beyond EOFbel, found \
on line 27 the doubleScalar 1e-06\
Parse error, expected a label, found \
on line 27 the doubleScalar 0.01\
File "/home/johannes/OpenFOAM/OpenFOAM-1.4.1-dev/applications/solvers/incompressible/ simpleFoam/FoamX/defaults/system/fvSolution::p" starting at line 27 ending at line -1
In function "ITstream::read(token& t)"
in file "db/IOstreams/Tstreams/ITread.C" at line 70
Finishing FoamXCaseServer::main(int argc, char **argv)
org.omg.CORBA.UNKNOWN: vmcid: OMG minor code: 1 completed: Maybe
at sun.reflect.NativeConstructorAccessorImpl.newInsta nce0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInsta nce(NativeConstructorAccessorI
at sun.reflect.DelegatingConstructorAccessorImpl.newI nstance(DelegatingConstructorA
at java.lang.reflect.Constructor.newInstance(Construc
at java.lang.Class.newInstance0(
at java.lang.Class.newInstance(
at ageBase.getSystemException(Mes
at yMessage_1_0.getSystemExceptio n(
at rImpl.getSystemExceptionReply(
at ispatcherImpl.processResponse(
at ispatcherImpl.marshalingComple te(
at Impl.invoke(CorbaClientDelegat
at org.omg.CORBA.portable.ObjectImpl._invoke(ObjectIm
at FoamXServer.CaseBrowser._ICaseBrowserStub.getCaseS erverReference(_ICaseBrowserSt
at FoamX.CaseManagement.CaseBrowserPanel.getCaseServe rReference(CaseBrowserPanel.ja va:1886)
at FoamX.CaseManagement.CaseBrowserPanel.access$700(C
at FoamX.CaseManagement.CaseBrowserPanel$CreateCaseAc tion.actionPerformed(CaseBrows
at javax.swing.AbstractButton.fireActionPerformed(Abs
at javax.swing.AbstractButton$Handler.actionPerformed (
at javax.swing.DefaultButtonModel.fireActionPerformed (
at javax.swing.DefaultButtonModel.setPressed(DefaultB
at javax.swing.AbstractButton.doClick(AbstractButton. java:357)
at javax.swing.plaf.basic.BasicMenuItemUI.doClick(Bas
at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mou seReleased(BasicMenuItemUI.jav a:1261)
at java.awt.AWTEventMulticaster.mouseReleased(AWTEven
at java.awt.Component.processMouseEvent(Component.jav a:6041)
at javax.swing.JComponent.processMouseEvent(JComponen
at java.awt.Component.processEvent( 6)
at java.awt.Container.processEvent( 8)
at java.awt.Component.dispatchEventImpl(Component.jav a:4413)
at java.awt.Container.dispatchEventImpl(Container.jav a:2116)
at java.awt.Component.dispatchEvent( 43)
at java.awt.LightweightDispatcher.retargetMouseEvent(
at java.awt.LightweightDispatcher.processMouseEvent(C
at java.awt.LightweightDispatcher.dispatchEvent(Conta
at java.awt.Container.dispatchEventImpl(Container.jav a:2102)
at java.awt.Window.dispatchEventImpl( )
at java.awt.Component.dispatchEvent( 43)
at java.awt.EventQueue.dispatchEvent( 599)
at java.awt.EventDispatchThread.pumpOneEventForFilter s( )
at java.awt.EventDispatchThread.pumpEventsForFilter(E
at java.awt.EventDispatchThread.pumpEventsForHierarch y( )
at java.awt.EventDispatchThread.pumpEvents(EventDispa
at java.awt.EventDispatchThread.pumpEvents(EventDispa

FoamInstallationTest reports no errors. I'm using OpenSuse10.3 32bit.

Perhaps Guillaume or anybody else who uses this precompiled version of OpenFOAM-1.4.1-dev could give me some advice on what's probably missing to get it run.

Thanks in advance.

Best regards,

guillaume March 26, 2008 18:13

>Perhaps Guillaume or anybody
>Perhaps Guillaume or anybody else who uses this precompiled version of OpenFOAM-1.4.1-dev could give
>me some advice on what's probably missing to get it run.

I downgraded to the "official" OpenFoam 1.4.1 release, because I didn't find a description that consistently explains the build process for the dev version. So I can't help you.


jam April 4, 2008 09:18

Hi, I managed to get the de

I managed to get the development version to compile and run.When I try to run some tutorials, I get some error messages saying that many dictionary words are missing which I never saw before like minIter, postSweep etc,etc.
Are the tutorials ready for 1.4.1-dev?

jam April 4, 2008 12:48

After doing and Allclean and t
After doing and Allclean and then Allrun in the tutorials directory, everything is working well.

nadine August 6, 2008 17:42

I didn't read all of your long
I didn't read all of your long message, but problems seem to start here:

>1.67) I get some errors here:

So why do you ignore them?

>/home/reza/OpenFOAM/OpenFOAM-1.4.1-dev/lib/linuxGccSPDebug/ undefined reference to `yyFlexLexer::yywrap()'
>collect2: ld returned 1 exit status

This error has been reported some 100 times in this forum. Use the search function to find a solution.

>1.68) mkdir -p $FOAM_RUN

Correct the errors first. Otherwise the rest of your installation follows the GIGO principle (garbage in - garbage out).

olesen August 7, 2008 03:56

Amiralaei, Is there some pa

Is there some particular feature in the 1.4.1 version found in OpenFOAM-extend that you need and which is missing from OpenFOAM release 1.5? Otherwise you might find it easier to go with the 1.5 binary and source packs.

I personally really prefer many of the new features: eg, -case option instead of root/case, dictionary expansions, paraview3 (your mileage may vary here) and many other small details. I would be loath to return to an older version.

BTW: I'm not actually sure how or why it ended up getting called 'OpenFOAM-1.4.1-dev' rather than 'OpenFOAM-1.4.1-extend'. Using '-extend' would be less confusing since it is an OpenFOAM-1.4.1 release that has been /extended/ in various ways. From '-dev' it could be inferred that it is a development snapshot of an upcoming 1.4.1, for example, or that it is a development snapshot of some upcoming 1.4.X release.

hjasak August 7, 2008 05:35

Hi Mark, Of course, it is c
Hi Mark,

Of course, it is completely up to you to use whatever version you want. The choice depends on what precisely you are trying to do. As you know, a large chunk of OpenFOAM was developed personally by me, and now the work continues through the people in the open community who like to collaborate and contribute to the project. Notable features that do not exist in the 1.5 release, that are developed, tested and deployed with OpenFOAM users in 1.4.1-dev include:
- debugged and improved topological changes, especially sliding interface
- FEM-based mesh motion solver (about 100 times more robust than the OpenCFD offering)
- internal combustion engines capability: moving piston and valves
- fluid-structure interaction solvers
- conjugate heat transfer solvers
- updated and developed ODE solvers, including 6-DOF motion
- General Grid Interface (GGI)
- finite area discretisation
- thin liquid film solver, using (FAM)
- new linear solver library, about twice as fast as the current offering
as well as about 400 bug fixes and similar improvements. The code is completely in the public domain, with open SVN access, where you can follow not only the current state but also the change history, updates and bug fixes. I have to say I'm very proud of such openness.

The reason 1.4.1-dev exists in the first place is unfortunate, namely because this is the ONLY way to operate OpenFOAM as an open source project. For me, this implies accepting limitations from all who wish to contribute. As for the name, it was there before the -extend effort and it is clunky to change it right now (still ready to consider it). All the 1.4.1-dev changes will be merged with contributions from 1.5, as a basis for future development.

Of course, I would like to see all this in a unified version to clear up the confusion. However (and I take it you know why), this is currently not possible.

I have been trying to set up an open committee to discuss and decide on contributions, schedule testing, porting and validation, review code from the open community and include it into a future release of OpenFOAM. This would be followed be seeking an Open Source certification, something we are missing today. You will notice for example that the code documentation is not in the public release, contrary to the requirement of the Open Source license - this is just a tip of the iceberg (did you notice the missing list of contributors?). If you would like to join in and contribute, you are more than welcome!

Hope this helps with your confusion,


hjasak August 7, 2008 05:41

Sorry, typo: "accepting contri
Sorry, typo: "accepting contributions", of course.


olesen August 7, 2008 09:11

Hrv, I do not wish to escal

I do not wish to escalate the discussion into a flame war, nor to offend anyone, but you raised a number of points that absolutely must be addressed. I apologize in advance if it seems like nitpicking, but exact wording is extremely important here.


As you know, a large chunk of OpenFOAM was developed personally by me, and now the work continues through the people in the open community who like to collaborate and contribute to the project.
I'm not in a position to judge which ideas, lines of code or bugs should be attributed to any particular persons. Since OpenCFD holds the copyrights and the intellectual properties rights on FOAM and on OpenFOAM, however, it seems reasonable that they also decide which developments go into the official release.
This does not, and should not, denigrate the very laudable goal of the OpenFOAM-extend project:

The goal of this project is to open the OpenFOAM CFD toolbox to community contributed extensions.
The relevance of this goal can be seen daily on the forum: there is a real interest and need for the user community to exchange ideas and code.


The code is completely in the public domain ...
This is problematic. Open source code is not public domain. Code placed in the public domain can be used without restriction - including modifying the source and reselling it as commercial software. The GPL license protects us from that happening to OpenFOAM.


... This would be followed be seeking an Open Source certification, something we are missing today.
I must have missed something here. Which Open Source certification are you referring to? Since OpenFOAM already uses the GPL, I don't see what should be certified.


You will notice for example that the code documentation is not in the public release, contrary to the requirement of the Open Source license - this is just a tip of the iceberg (did you notice the missing list of contributors?).
I find these two points quite interesting. Could you send references? I couldn't find anything in the GPL itself, on the FSF site, nor from

Nonetheless, I'm not sure what you mean about the documentation. The doxygen documentation is from the source itself. Or do you mean that the raw documents used to generate the guide+manual pdf needs to be open sourced too for the code itself to be considered open source? It may also be common in some projects to have some combination of README, Changes.log and a list of contributors, but I don't find anything about it being an open source requirement. Kitware in fact sells VTK and ParaView books for their open sourced software without it being an issue.

The copyright issue is, however, a really contentious point and one that needs to be addressed directly, since the copyright form is a central item that protects OpenFOAM.
Any contributor to OpenFOAM should read the FSF licensing FAQ [], especially the part about assigning the copyright:
and the link about the rationale:

Prior to reading these, I had placed "Copyright Mark Olesen" in my OpenFOAM contributions (eg, some of the programs that I posted on the forum). It seemed odd, or presumptuous, or even like forgery, to assign the copyrights to OpenCFD for code that they didn't write. After reading the FSF links, however, I am completely convinced that assigning the copyrights to OpenCFD is the only way of protecting OpenFOAM itself and of protecting our future freedom of using OpenFOAM.

For everyone:
Anyone contributing should really assign copyrights to OpenCFD. Read the FSF links now if you haven't already done so, or read them again. Copyrighting it in your own name weakens the protection for OpenFOAM. Placing a derivative work in public domain is in clear violation of the GPL conditions since it changes the licensing conditions. Don't do that!
A non-derivative contribution (ie, independent of the OpenFOAM structures and libraries) can, however, be sold commercially or placed in the public domain. In this case you have your choice between "Copyright original author", "Copyright nobody" and "Public Domain" - the only real difference is in the number of keystrokes, not in the protection, which is namely none.


All times are GMT -4. The time now is 11:03.