CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   OpenFOAM Installation (https://www.cfd-online.com/Forums/openfoam-installation/)
-   -   Development version download (https://www.cfd-online.com/Forums/openfoam-installation/57302-development-version-download.html)

guillaume February 19, 2008 09:24

Hello, I found some posts men
 
Hello,
I found some posts mention a development version of OpenFOAM. This version is not available at http://www.opencfd.co.uk/ as far as I can see. Where can I get it?

This may be explained at http://openfoamwiki.net/, but that wiki is down.

Guillaume

dmoroian February 19, 2008 09:36

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

hjasak February 19, 2008 09:42

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

svn co https://openfoam-extend.svn.sourceforge.net/svnroot/openfoam-extend/trunk/Core/O penFOAM-1.4.1-dev

You can find some info on:

http://openfoam-extend.svn.sourceforge.net/viewvc/openfoam-extend/trunk/Core/Ope nFOAM-1.4.1-dev/

or

http://cia.vc/stats/project/openfoam-extend?s_message=3

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

http://powerlab.fsb.hr/ped/kturbo/OpenFOAM/release/

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

Hrv

guillaume February 19, 2008 09: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 http://www.opencfd.co.uk/.

Do I need to compile everything as described in the buildinstructions http://openfoam-extend.svn.sourceforge.net/viewvc/openfoam-extend/trunk/Core/Ope 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?

Guillaume

mike_jaworski February 19, 2008 10:54

Guillaume, I think the gen
 
Guillaume,
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 17:16

Well, I checked out OpenFOAM a
 
Well, I checked out OpenFOAM as suggested:
svn co https://openfoam-extend.svn.sourceforge.net/svnroot/openfoam-extend/trunk/Core/O 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

guillaume February 19, 2008 18: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:

>http://powerlab.fsb.hr/ped/kturbo/OpenFOAM/release/

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?

Guillaume

mike_jaworski February 21, 2008 02:21

Guillaume, There's a cach
 
Guillaume,
There's a cached copy of the OpenFOAMwiki page on how to install and compile OF here:

http://72.14.205.104/search?q=cache:K9Hgdkq7GbYJ:openfoamwiki.net/index.php/Howt o_compile_OpenFOAM+http://openfoamwiki.net/index.php/Ho..._OpenFOAM&hl=e 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 08: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: http://powerlab.fsb.hr/ped/kturbo/OpenFOAM/release/. 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.

Regards

Wes






================================================
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 http://en.wikipedia.org/wiki/Injector as well as recent work ftp://ftp.cordis.europa.eu/pub/fp5-e...ssi_en_ppt.pdf).

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

Wes

hjasak March 6, 2008 17: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
setenv WM_COMPILER_DIR $WM_PROJECT_INST_DIR/$WM_ARCH/gcc-4.2.2$WM_COMPILER_ARCH
set WM_COMPILER_BIN="$WM_COMPILER_DIR/bin $WM_COMPILER_DIR/../gdb-6.4/bin"
set WM_COMPILER_LIB=$WM_COMPILER_DIR/lib${WM_COMPILER_LIB_ARCH
:$WM_COMPILER_DIR/lib:}

4) Two-phase supersonic flow with phase change

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

Enjoy,

Hrvoje

wes March 9, 2008 18: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
setenv WM_COMPILER_DIR $WM_PROJECT_INST_DIR/$WM_ARCH/gcc-4.2.2$WM_COMPILER_ARCH
set WM_COMPILER_BIN="$WM_COMPILER_DIR/bin $WM_COMPILER_DIR/../gdb-6.4/bin"
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.

Wes

johannes March 22, 2008 15:26

Hi, I encountered the same
 
Hi,

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 (http://powerlab.fsb.hr/ped/kturbo/OpenFOAM/release/):

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(ClassLoader.java :539)
at java.security.SecureClassLoader.defineClass(Secure ClassLoader.java:123)
at java.net.URLClassLoader.defineClass(URLClassLoader .java:251)
at java.net.URLClassLoader.access$100(URLClassLoader. java:55)
at java.net.URLClassLoader$1.run(URLClassLoader.java: 194)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.j ava:187)
at java.lang.ClassLoader.loadClass(ClassLoader.java:2 89)
at sun.misc.Launcher$AppClassLoader.loadClass(Launche r.java:274)
at java.lang.ClassLoader.loadClass(ClassLoader.java:2 35)
at java.lang.ClassLoader.loadClassInternal(ClassLoade r.java:302)


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 reeUI.java:1498)
at javax.swing.plaf.basic.BasicTreeUI.paint(BasicTree UI.java:1210)
at javax.swing.plaf.metal.MetalTreeUI.paint(MetalTree UI.java:152)
at javax.swing.plaf.ComponentUI.update(ComponentUI.ja va:143)
at javax.swing.JComponent.paintComponent(JComponent.j ava:763)
at javax.swing.JComponent.paint(JComponent.java:1027)
at javax.swing.JComponent.paintToOffscreen(JComponent .java:5122)
at javax.swing.BufferStrategyPaintManager.paint(Buffe rStrategyPaintManager.java:285 )
at javax.swing.RepaintManager.paint(RepaintManager.ja va:1128)
at javax.swing.JComponent._paintImmediately(JComponen t.java:5070)
at javax.swing.JComponent.paintImmediately(JComponent .java:4880)
at javax.swing.RepaintManager.paintDirtyRegions(Repai ntManager.java:723)
at javax.swing.RepaintManager.paintDirtyRegions(Repai ntManager.java:679)
at javax.swing.RepaintManager.seqPaintDirtyRegions(Re paintManager.java:659)
at javax.swing.SystemEventQueueUtilities$ComponentWor kRequest.run(SystemEventQueueU tilities.java:128)
at java.awt.event.InvocationEvent.dispatch(Invocation Event.java:209)
at java.awt.EventQueue.dispatchEvent(EventQueue.java: 597)
at java.awt.EventDispatchThread.pumpOneEventForFilter s(EventDispatchThread.java:273 )
at java.awt.EventDispatchThread.pumpEventsForFilter(E ventDispatchThread.java:183)
at java.awt.EventDispatchThread.pumpEventsForHierarch y(EventDispatchThread.java:173 )
at java.awt.EventDispatchThread.pumpEvents(EventDispa tchThread.java:168)
at java.awt.EventDispatchThread.pumpEvents(EventDispa tchThread.java:160)
at java.awt.EventDispatchThread.run(EventDispatchThre ad.java:121)


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 mpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newI nstance(DelegatingConstructorA ccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Construc tor.java:513)
at java.lang.Class.newInstance0(Class.java:355)
at java.lang.Class.newInstance(Class.java:308)
at com.sun.corba.se.impl.protocol.giopmsgheaders.Mess ageBase.getSystemException(Mes sageBase.java:897)
at com.sun.corba.se.impl.protocol.giopmsgheaders.Repl yMessage_1_0.getSystemExceptio n(ReplyMessage_1_0.java:94)
at com.sun.corba.se.impl.protocol.CorbaMessageMediato rImpl.getSystemExceptionReply( CorbaMessageMediatorImpl.java:572)
at com.sun.corba.se.impl.protocol.CorbaClientRequestD ispatcherImpl.processResponse( CorbaClientRequestDispatcherImpl.java:430)
at com.sun.corba.se.impl.protocol.CorbaClientRequestD ispatcherImpl.marshalingComple te(CorbaClientRequestDispatcherImpl.java:326)
at com.sun.corba.se.impl.protocol.CorbaClientDelegate Impl.invoke(CorbaClientDelegat eImpl.java:129)
at org.omg.CORBA.portable.ObjectImpl._invoke(ObjectIm pl.java:457)
at FoamXServer.CaseBrowser._ICaseBrowserStub.getCaseS erverReference(_ICaseBrowserSt ub.java:467)
at FoamX.CaseManagement.CaseBrowserPanel.getCaseServe rReference(CaseBrowserPanel.ja va:1886)
at FoamX.CaseManagement.CaseBrowserPanel.access$700(C aseBrowserPanel.java:69)
at FoamX.CaseManagement.CaseBrowserPanel$CreateCaseAc tion.actionPerformed(CaseBrows erPanel.java:2542)
at javax.swing.AbstractButton.fireActionPerformed(Abs tractButton.java:1995)
at javax.swing.AbstractButton$Handler.actionPerformed (AbstractButton.java:2318)
at javax.swing.DefaultButtonModel.fireActionPerformed (DefaultButtonModel.java:387)
at javax.swing.DefaultButtonModel.setPressed(DefaultB uttonModel.java:242)
at javax.swing.AbstractButton.doClick(AbstractButton. java:357)
at javax.swing.plaf.basic.BasicMenuItemUI.doClick(Bas icMenuItemUI.java:1220)
at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mou seReleased(BasicMenuItemUI.jav a:1261)
at java.awt.AWTEventMulticaster.mouseReleased(AWTEven tMulticaster.java:272)
at java.awt.Component.processMouseEvent(Component.jav a:6041)
at javax.swing.JComponent.processMouseEvent(JComponen t.java:3265)
at java.awt.Component.processEvent(Component.java:580 6)
at java.awt.Container.processEvent(Container.java:205 8)
at java.awt.Component.dispatchEventImpl(Component.jav a:4413)
at java.awt.Container.dispatchEventImpl(Container.jav a:2116)
at java.awt.Component.dispatchEvent(Component.java:42 43)
at java.awt.LightweightDispatcher.retargetMouseEvent( Container.java:4322)
at java.awt.LightweightDispatcher.processMouseEvent(C ontainer.java:3986)
at java.awt.LightweightDispatcher.dispatchEvent(Conta iner.java:3916)
at java.awt.Container.dispatchEventImpl(Container.jav a:2102)
at java.awt.Window.dispatchEventImpl(Window.java:2440 )
at java.awt.Component.dispatchEvent(Component.java:42 43)
at java.awt.EventQueue.dispatchEvent(EventQueue.java: 599)
at java.awt.EventDispatchThread.pumpOneEventForFilter s(EventDispatchThread.java:273 )
at java.awt.EventDispatchThread.pumpEventsForFilter(E ventDispatchThread.java:183)
at java.awt.EventDispatchThread.pumpEventsForHierarch y(EventDispatchThread.java:173 )
at java.awt.EventDispatchThread.pumpEvents(EventDispa tchThread.java:168)
at java.awt.EventDispatchThread.pumpEvents(EventDispa tchThread.java:160)
at java.awt.EventDispatchThread.run(EventDispatchThre ad.java:121)

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,
Johannes

guillaume March 26, 2008 17: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.

Guillaume

jam April 4, 2008 09:18

Hi, I managed to get the de
 
Hi,

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?
Thanks

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.
-Alain

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/libtriSurface.so: 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
 
Amiralaei,

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,

Hrv

hjasak August 7, 2008 05:41

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

Hrv

olesen August 7, 2008 09:11

Hrv, I do not wish to escal
 
Hrv,

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.

Quote:

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:
Quote:

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.

Quote:

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.

Quote:

... 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.

Quote:

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 www.opensource.org

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 [http://www.fsf.org/licensing/licenses/gpl-faq.html], especially the part about assigning the copyright:
http://www.fsf.org/licensing/license...ssignCopyright
and the link about the rationale:
http://www.gnu.org/licenses/why-assign.html

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.

/mark


All times are GMT -4. The time now is 20:23.