Академический Документы
Профессиональный Документы
Культура Документы
OpenFOAM-extend on SourceForge.net
Bernhard F.W. Gschaider1
1 ICE
Martin Beaudoin2
2 Institut
bgschaid, mbeaudoin
OpenFOAM-extend
1/44
Outline
1
Introduction/History How it started SourceForge.net Subversion The OpenFOAM-extend project Current state What is there Usage/Community Contacts
Use cases The user The patch contributor The utility developer Collaborative development Contributing to the dev Future development - discussion Future development Points for discussion
bgschaid, mbeaudoin
OpenFOAM-extend
2/44
bgschaid, mbeaudoin
OpenFOAM-extend
3/44
contributions Doing it the Open Source way: People started to get involved
Hrovje Jasak, Hkan Nilsson a Bernhard Gschaider, Martin Beaudoin The main objective: Introduce a collaborative tool that would benet a growing community The result: The OpenFOAM-extend project : http://openfoam-extend.sourceforge.net
bgschaid, mbeaudoin OpenFOAM-extend 4/44
Why SourceForge.net?
The worlds largest open source
registered
Over 2,000,000 registered users
(Subversion, CVS, Git, etc) Project Web site, Wiki Mailing lists, Forums Bug tracking tools Many hosted applications
bgschaid, mbeaudoin
OpenFOAM-extend
5/44
Why Subversion?
Subversion: A stable and mature revision control system User interface available for many platforms A fairly large user base Subversion repository available for SourceForge.net projects Easy to download/maintain svn repository subtrees Why dont you switch to Git? SourceForge.net now oers Git repository Git downloads are impressively fast Git cant do partial checkout (subdirectory) If it aint broke, dont x it...
bgschaid, mbeaudoin
OpenFOAM-extend
6/44
open the OpenFOAM CFD toolbox to community contributed extensions, in the spirit of the Open Source development model.
bgschaid, mbeaudoin
OpenFOAM-extend
7/44
In the SVN
The major parts of the svn are: The Breeder Collection of assorted utilities and other contributions. Amongst others: The Turbomachinery Sig stu funkySetFields, simpleFunctionObjects and groovyBC ... and others. But not as many as we hoped for The Core or dev-version Hrvs development version The patch branch Collection of bug-xes. Retired because the Git made it obsolete (which is a good thing)
bgschaid, mbeaudoin
OpenFOAM-extend
8/44
Mailing-lists
openfoam-extend-general A list for discussions about the OpenFOAM-extend-project, not OpenFOAMTM itself openfoam-extend-announce Announcements of new software openfoam-extend-submit This mailing-list receives a mail every time something is submitted to the Svn Special topic lists Public (for instance for the Ship Hydrodynamics SIG Teaching SIG Turbomachinery SIG Turbulence SIG ) or closed (for the workshop-organizers) lists
bgschaid, mbeaudoin OpenFOAM-extend 9/44
OpenFOAM-extend
Available on your Montreal
bgschaid, mbeaudoin
OpenFOAM-extend
10/44
Notication of updates
Svn
The mailing-list A Irc-channel 3 A Rss-feed
1 2
OpenFOAM-extend project on SourceForge: current status from the last workshop in Milano
bgschaid, mbeaudoin
OpenFOAM-extend
11/44
Bugtracker Under discussion. Could be worth a test drive. Other binary distributions Would need someone willing to maintain them Forum software Dont want to create a parallel structure to the ocial forum Documentation The Wiki is the place for this Bugxes: OpenFOAM-1.5.x The Git repository is the place for this 24/7 support Because we all have a day job...
bgschaid, mbeaudoin
OpenFOAM-extend
12/44
Usage statistics
Usage of the Svn as reported by SourceForge.net
bgschaid, mbeaudoin
OpenFOAM-extend
13/44
Who contributed
Contribution percentage (metric: number of commits) for the whole OpenFOAM-extend
Subversion repository
From May 2008 to May 2009
More than 10 dierent contributers so far, directly or indirectly The objective for 2010: pushing Hrvs contribution below 50% !
bgschaid, mbeaudoin
OpenFOAM-extend
14/44
Who is in charge
alphabetical order)
bgschaid, mbeaudoin
OpenFOAM-extend
15/44
1 2
bgschaid, mbeaudoin
OpenFOAM-extend
16/44
The user The patch contributor The utility developer Collaborative development Contributing to the dev
Disclaimer
Theorem: No two people are alike Lemma: No two users are alike Well try to describe some typical cases anyway
bgschaid, mbeaudoin
OpenFOAM-extend
17/44
The user The patch contributor The utility developer Collaborative development Contributing to the dev
The user
Wants to use some utility, etc from OpenFOAM-extend Doesnt want to program An admirable trait.1
The user The patch contributor The utility developer Collaborative development Contributing to the dev
Basic Workow
1 2
Compile it
According to chapter 3.2 of the OpenFOAMTM user-guide Using wmake, or by following the provided documentation
bgschaid, mbeaudoin
OpenFOAM-extend
19/44
The user The patch contributor The utility developer Collaborative development Contributing to the dev
Client your machine. The data there is called local copy Server the repository (in our case SourceForge.net) Software is dened by a unique location on the server
Can be found by Browsing from the base URL with Web browser:
http://openfoam-extend.svn.sourceforge.net/svnroot/openfoam-extend
Copying from the announcement (on the Forum, the Wiki, your local newspaper) The location of the local copy does not matter The most common program for using Svn is a command-line
update ...)
Guis exist, but are to complicated for read-only users
bgschaid, mbeaudoin OpenFOAM-extend 20/44
The user The patch contributor The utility developer Collaborative development Contributing to the dev
3 5 7 9 11
The user The patch contributor The utility developer Collaborative development Contributing to the dev
Tarballs
If you cant use svn because Your SysAdmin wont install it Your boss looked up the denition of Subversion in Merriam-Webster Your doctor said youre using too many command-line tools already The whole SVN-repository can be browsed using the Url
http://openfoam-extend.svn.sourceforge.net/viewvc/openfoam-extend/
If you found the directory you want press the Download GNU
bgschaid, mbeaudoin
OpenFOAM-extend
22/44
The user The patch contributor The utility developer Collaborative development Contributing to the dev
Downloading a tarball
bgschaid, mbeaudoin
OpenFOAM-extend
23/44
The user The patch contributor The utility developer Collaborative development Contributing to the dev
bgschaid, mbeaudoin
OpenFOAM-extend
24/44
The user The patch contributor The utility developer Collaborative development Contributing to the dev
Find out who is in charge Prepare all the stu that is necessary
1 Description of the problem (maybe with a testcase) 2 Necessary changes (either the whole source-les or
dis/patches)
3
bgschaid, mbeaudoin
OpenFOAM-extend
25/44
The user The patch contributor The utility developer Collaborative development Contributing to the dev
Generating a patch
This is quite easy if your sources are in a SVN local copy
bgschaid, mbeaudoin
OpenFOAM-extend
26/44
The user The patch contributor The utility developer Collaborative development Contributing to the dev
Preliminaries: 1 You have write access (technical level) 2 You checked with the maintainer (social level) 3 Youre sure that youre only commiting what you want to (embarrassment level) Make sure that you read some basic tutorial on Svn before Doesnt have to be a book
bgschaid, mbeaudoin
OpenFOAM-extend
27/44
The user The patch contributor The utility developer Collaborative development Contributing to the dev
bgschaid, mbeaudoin
OpenFOAM-extend
28/44
The user The patch contributor The utility developer Collaborative development Contributing to the dev
that utility
if the contribution is large enough Fixing a typo in an error message is not 1 Fixing a missing scaling factor of 2 probably is
bgschaid, mbeaudoin
OpenFOAM-extend
29/44
The user The patch contributor The utility developer Collaborative development Contributing to the dev
I think this can improve the lives of others (or maybe even prevent global warming). I think I want to share it
Is willing to face the public opinion ... and improve the code ... x bugs ... write at least a little bit of documentation
bgschaid, mbeaudoin
OpenFOAM-extend
30/44
The user The patch contributor The utility developer Collaborative development Contributing to the dev
NB: This slide is not here to discourage you, it is here to save us all some trouble
Think about whether you want to share the stu Consider the implications of the GNU Public License Check with your employer whether it is OK to share the stu The exact implications may dier according to your country (legal system), your contract, etc but it boils down to:
If someone paid you while doing it, then that someone has some say about it
bgschaid, mbeaudoin
OpenFOAM-extend
31/44
The user The patch contributor The utility developer Collaborative development Contributing to the dev
Gpl (GNU Public License) this software is also under the Gpl
OpenFOAMTM is published under the Gpl Consequently on openfoam-extend you should only publish
software under the Gpl You dont have to publish your work if it is based on
Gpl-software
... but youll have to make the source available to whoever
bgschaid, mbeaudoin
OpenFOAM-extend
32/44
The user The patch contributor The utility developer Collaborative development Contributing to the dev
How to upload it
Get write access (you probably already got it) Locate the proper place in the repository If in doubt: ask Add and commit your stu to the repository Make sure that nothing unwanted is there Write a meaningful commit-message Write documentation (at least a README)
bgschaid, mbeaudoin
OpenFOAM-extend
33/44
The user The patch contributor The utility developer Collaborative development Contributing to the dev
bgschaid, mbeaudoin
OpenFOAM-extend
34/44
The user The patch contributor The utility developer Collaborative development Contributing to the dev
> cd M Y _ S F _W OR K IN G _C OP Y / utilities / preprocessing > cp -r ~/ M Y _ P E R S O N A L _ D E V _ F O L D E R / s e t S e n s i b l e B o u n d a r y C o n d i t i o n s . > wclean s e t S e n s i b l e B o u n d a r y C o n d i t i o n s ; rm ~ all > svn add s e t S e n s i b l e B o u n d a r y C o n d i t i o n s A setSensibleBoundaryConditions A s e t S e n s i b l e B o u n d a r y C o n d i t i o n s / setBC . C A s e t S e n s i b l e B o u n d a r y C o n d i t i o n s / notUsedAnymore . H A s e t S e n s i b l e B o u n d a r y C o n d i t i o n s / Make A s e t S e n s i b l e B o u n d a r y C o n d i t i o n s / Make / files A s e t S e n s i b l e B o u n d a r y C o n d i t i o n s / Make / options > svn revert s e t S e n s i b l e B o u n d a r y C o n d i t i o n s / notUsedAnymore . H > svn commit -m " No more excuses for wrong boundary conditions " s e t S e n s i b l e B o u n d a r y C o n d i Adding setSensibleBoundaryConditions Adding s e t S e n s i b l e B o u n d a r y C o n d i t i o n s / setBC . C Adding s e t S e n s i b l e B o u n d a r y C o n d i t i o n s / Make Adding s e t S e n s i b l e B o u n d a r y C o n d i t i o n s / Make / files Adding s e t S e n s i b l e B o u n d a r y C o n d i t i o n s / Make / options Transmitting file data ....... Committed revision 1236.
The user The patch contributor The utility developer Collaborative development Contributing to the dev
Make the code readable Conforming to the OpenFOAM-conventions (Personal note: I didnt like them in the beginning, too) Provide documentation A README-le Documentation on the Wiki Maintain it
bgschaid, mbeaudoin
OpenFOAM-extend
36/44
The user The patch contributor The utility developer Collaborative development Contributing to the dev
progressing
Examples: The stu from the Turbomachinery SIG The alternateChemistry-library The simpleFunctionObjects-library
bgschaid, mbeaudoin OpenFOAM-extend 37/44
The user The patch contributor The utility developer Collaborative development Contributing to the dev
Growing up in public
Basically the same rules as for the utility developer apply Be aware that other people might use your stu - try to keep
it in a usable state
Try to submit an approximately working version with your rst
commit
Coordinate yourself, so that you dont break each others
changes
If major changes are planned: do them in a branch
bgschaid, mbeaudoin
OpenFOAM-extend
38/44
The user The patch contributor The utility developer Collaborative development Contributing to the dev
the Wiki at OpenFOAM-extend, as well as the README les that can be found in the svn. Basically:
Learn to use svn correctly, if you dont know it already Stick to the Breeder. We have actually not come far enough ourselves
to go to the Forge.
Give some time to think about the structure of your directories and
developments.
bgschaid, mbeaudoin
OpenFOAM-extend
39/44
bgschaid, mbeaudoin
OpenFOAM-extend
40/44
bgschaid, mbeaudoin
OpenFOAM-extend
41/44
bgschaid, mbeaudoin
OpenFOAM-extend
43/44
Conclusion
Thanks for:
your attention your feedback your (future) contributions
bgschaid, mbeaudoin
OpenFOAM-extend
44/44