CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > General Forums > Main CFD Forum

Lets start the public domain CFD-Project!

Register Blogs Members List Search Today's Posts Mark Forums Read

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   March 9, 1999, 06:12
Default Lets start the public domain CFD-Project!
  #1
Heinz Wilkening
Guest
 
Posts: n/a
Hi everybody,

last week I submitted a massage about public CFD Code development. There were different comments on it. Most of it showed some real interest in the subject, so I think it is worth to go on!

Jonas Larson has suggested/offered the possibility of an independent forum, which I think useful.

Nevertheless an important first question might be, if there already exists such projects. If yes, we should rather support this projects than splitting by starting something new. NPARC and KIVA were mentioned before. I was not able to check NPARC, because their web-server was down, or they moved it. KIVA I think is used by some people, and there are free copies around, but I think there is no organized development. Are there other projects somebody knows about?

If there is no such project, we should go on. I want to structure this a little by introducing three main topics.

TOPIC 1:

========

General code requirements. Here I want to list some requirements, which are essential for the Code. They are concerned more about basic things like data structure rather than details like solvers.

1. requirement: capability to model complex geometries (multi-rooms, complex geometry)

2. requirement: capability for moving boundary/geometry (e.g. internal combustion engines)

3. requirement: adaptive grid

4. requirement: capability for parallelization

5. requirement: flexible for different solver approaches (e.g. multigrid)

6. requirement: easy implementation of new solvers and models

7. requirement: capability for handling fluid-structure interaction (e.g. heat transfer to structures and head conduction in structures, or structural response on stresses caused by the fluid)

All this is not fixed, and must not be in the first version, but we should keep the potential for this and more in mind, before starting.

Topic 2:

========

To start such a project there are two options about how to start.

1. option: Start from an existing code, which is freely available. The advantage would be, that there is something we can build on. Also a lot of decisions have been taken already like data structure. Depending how far the development is already gone, some potential endusers can already use the code. Also people who want to develop special models (e.g. radiation model) can start from the beginning.

2. option: start from the first line. By this something really new will come out. But as everything is open, a lot of compromises among basic developers are needed.

Topic 3:

========

General task. This is independent from the other topics.

general task 1: We need a name for our code. Even if we start form an existing code, we should use a new name.

general task 2: Contact to other faculties like computational science (for optimization, parallelization, software engeneering, code management and GUI ...) and mathematicians (grid generation and numerics ...) .....

general task 3: Legal things. What license to use. Here we have to compromise between making the code available as wide as possible, protection of mis use and protection of the right of the authors to the parts of codes they contribute.

Please add and commend on every point.

Ciao Heinz
  Reply With Quote

Old   March 9, 1999, 06:41
Default Re: Lets start the public domain CFD-Project!
  #2
linhbao tran
Guest
 
Posts: n/a
hi all,

there would be soon(?) a public domain CFD code. we are currently clearing the bugs. the code:

1) unstructured

2) C++ and Object Oriented

3) parallelization capable

4) multigrid (should be there in about 1-2 months)

5) graphical user interface included, using Qt lib. there are some incompleted works on adaptivity and hybrid grid generation. currently, tutorial and introduction are being written. the code will be very flexible, as you can expect from OO programming. there's documentation (doc++) available. check this site: www.vug.uni-duisburg.de/~oliver

linhbao
  Reply With Quote

Old   March 9, 1999, 15:31
Default Re: Lets start the public domain CFD-Project!
  #3
andy
Guest
 
Posts: n/a
>>>>>>>

last week I submitted a massage about public CFD Code development. There were different comments on it. Most of it showed some real interest in the subject, so I think it is worth to go on!

Jonas Larson has suggested/offered the possibility of an independent forum, which I think useful.

Nevertheless an important first question might be, if there already exists such projects. If yes, we should rather support this projects than splitting by starting something new. NPARC and KIVA were mentioned before. I was not able to check NPARC, because their web-server was down, or they moved it. KIVA I think is used by some people, and there are free copies around, but I think there is no organized development. Are there other projects somebody knows about?

If there is no such project, we should go on. I want to structure this a little by introducing three main topics.

>>>>>>>

There are a significant number of projects, most of whom would welcome help in developing, proving, documenting, supporting and promoting their codes. Note the pronoun. When donating or contributing ones work, the aims and objectives of the organization that becomes the owner is important (and ones position of status and influence within it).

On a related point. How many of the enthusiastic people offering to donate their code are really in a position to do so? It is almost certain that if you are receiving money for your work you do not own it. You may also be surprised at the response from your institution if you ask for permission to donate your work. Or perhaps not, if you consider it from the point of view of the owner.

I am in a position to provide significant code and support but would need to know a lot more about the aims and objectives of this project. Perhaps more importantly, I would like to contribute if I felt the project had a reasonble chance of growing. However, in the recent discussion several people raised valid concerns which have yet to be adequately addressed.

>>>>>>>

TOPIC 1:

========

General code requirements. Here I want to list some requirements, which are essential for the Code. They are concerned more about basic things like data structure rather than details like solvers.

1. requirement: capability to model complex geometries (multi-rooms, complex geometry)

2. requirement: capability for moving boundary/geometry (e.g. internal combustion engines)

3. requirement: adaptive grid

4. requirement: capability for parallelization

5. requirement: flexible for different solver approaches (e.g. multigrid)

6. requirement: easy implementation of new solvers and models

7. requirement: capability for handling fluid-structure interaction (e.g. heat transfer to structures and head conduction in structures, or structural response on stresses caused by the fluid)

All this is not fixed, and must not be in the first version, but we should keep the potential for this and more in mind, before starting.

>>>>>>>

Most of the above and more will come out in the wash if you get the design right. I see little reason to emphasise the data structures since these are relatively straightforward and well established (if you can code them easily in Fortran then they are not difficult). Most of your concerns above appear to be with algorithms which is a view I would echo. Is STL a better design model for our problems or a C++ GUI? I guess it really depends on how we want the program to work.

Why not put them in the first version? If you start with a simple problem it is almost certain you will have to rip it apart later. There is experience, information and code available on all the above topics to use to put the design together. However, in order to help answer this we need to know what we are trying to achieve. Is it more important that a simple program works early or that we get to a sophisticated program as quickly as possible? What do we want to use the code for? Research or solving engineering problems (both probably but where is the emphasis?).

>>>>>>>

Topic 2:

========

To start such a project there are two options about how to start.

1. option: Start from an existing code, which is freely available. The advantage would be, that there is something we can build on. Also a lot of decisions have been taken already like data structure. Depending how far the development is already gone, some potential endusers can already use the code. Also people who want to develop special models (e.g. radiation model) can start from the beginning.

>>>>>>>

Unless the code is completely free of all strings, then starting with an existing code will have a strong influence on the license. Is there a well designed freely available code - I suspect not otherwise we would all know about it.

>>>>>>>

2. option: start from the first line. By this something really new will come out. But as everything is open, a lot of compromises among basic developers are needed.

>>>>>>>

This has attractions but has it ever worked for this sort of software?

>>>>>>>

Topic 3:

========

General task. This is independent from the other topics.

general task 1: We need a name for our code. Even if we start form an existing code, we should use a new name.

>>>>>>>

I am fairly sure you will have to supply a name for the owning organization but not sure about "the software".

>>>>>>>

general task 2: Contact to other faculties like computational science (for optimization, parallelization, software engeneering, code management and GUI ...) and mathematicians (grid generation and numerics ...) .....

>>>>>>>

With what objective?

>>>>>>>

general task 3: Legal things. What license to use. Here we have to compromise between making the code available as wide as possible, protection of mis use and protection of the right of the authors to the parts of codes they contribute.

>>>>>>>

This must come first or else people will not know whether to contribute or not.

I would not focus much attention on the misuse aspect. If the software is good it will be misused because of the current commercial value for this type of software. But so what? It is unlikely to be on a large scale because no established software supplier is going to be prepared to take the risk. In fact, if it does become a serious project, it is far more likely that established CFD suppliers will collaborate on areas of mutual benefit.

I would suggest tailoring the license to maximise the chances of achieving the aims of the project. What are the aims of this project?

Is it to provide a hobby for for Ph.D. students and recent graduates to have fun with? This is not meant as a put down. It is a very valid aim since it will allow most of the support work to be dispensed with. Since the support work is not particularly rewarding (bit of a grind) and is substantially larger than the coding and proving component (the fun part) it will increase the chances of the project being successful and growing.

Is it to directly provide viable simulation software for engineers to use? If this is the aim, then viable mechanisms will have to be put in place to provide adequate support (this software is not like a word processor) and to resoure it. Consider the currently successful CFD suppliers. The coding is a minor part of the their activity and a fair proportion of the more interesting stuff does not end up in the product (for sound reasons). How many people are sufficiently trained to be in a position to make an effective contribution? and what proportion are willing? Personally, I see no practical alternative to seeking outside support for resourcing it and paying people to do the boring bits. Will it get support or will the established institutions continue to receive the resourcing? Why should it be resourced (how are the resourcing agencies going to show this is money well spent)?

Is it to provide viable simulation software for specialists to use? Principally the specialists contributing their time and effort to developing the project. A specialist is going to require much less support than a general engineer (although the support component is still likely to be larger than that for coding and proving).

I would strongly suggest that we iterate towards a clear (and believable) statement of what the project hopes to achieve and who will benefit and how.

Andy.
  Reply With Quote

Old   March 11, 1999, 23:55
Default Re: Lets start the public domain CFD-Project!
  #4
Joel
Guest
 
Posts: n/a
Some info on KIVA etc....

To get into KIVA, probably the most "public" form is to contact Professor Reits at U. of Wisconson. They publish KIVA Users Group Newsletter (quarterly), meet annually at the SAE congress. NPARC is maintaned by Cooper at AEDC. They have NPARC discussion forum at AIAA meetings. Probably can contact AIAA for further details. Others do exist. For example, PCGC from BYU's Advanced Combustion Eng. Research Center. A book and more than 10 PhD theses have been written (plus whole bunch papers) to document PCGC.

Of course, how "public" are these forums depend on how you look at it and how much you are willing to dig in.
  Reply With Quote

Reply

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Domain Imbalance HMR CFX 5 October 10, 2016 06:57
Generate a CFD domain from FEA results Dave442 Main CFD Forum 0 August 3, 2011 13:42
CFX domain comparison Kiat110616 CFX 4 April 3, 2011 23:43
How to start unsteady propeller CFD Joe Main CFD Forum 1 February 14, 2009 02:13
Aeroelasticity Final Year Project CFD FSI options Andrew Ratcliffe Main CFD Forum 0 September 19, 2008 08:31


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