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

Which are the aspects you consider most difficult to learn of OpenFOAM to new users?

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

Reply
 
LinkBack Thread Tools Display Modes
Old   October 16, 2016, 10:38
Post Which are the aspects you consider most difficult to learn of OpenFOAM to new users?
  #1
New Member
 
Alberto Karkour
Join Date: Jul 2016
Location: Maracaibo, Venezuela
Posts: 6
Rep Power: 2
albertokarkour is on a distinguished road
Hello! I'm a Mechanical Engineering student from Venezuela, me and a friend are working on a OpenFOAM thesis to get the degree.

Since this Forum has a lot of experts in several engineering areas; we would like to know if you could tell us Which are the aspects you consider most difficult to learn of OpenFOAM to new users?

We would be very thankful if you could share your opinion with us!

The propuse of our work is to develop a learning structure project based to learn OpenFOAM basics to students worldwide and more specifically in Venezuela, because in this country is really hard to get the comercial software packages due to an economical crisis.

It would be very helpful if you could leave your full name and institution you work for to give you credit for your opinion in our work!

Thanks in advance!

Alberto Karkour
Mechanical engineering student from La Universidad Del Zulia. Maracaibo, Venezuela
Albertokarkour@gmail.com
+58 424 725 7442
albertokarkour is offline   Reply With Quote

Old   October 16, 2016, 16:16
Default
  #2
nsf
Senior Member
 
Nicolas Edh
Join Date: Mar 2010
Location: Uppsala, Sweden
Posts: 118
Rep Power: 11
nsf is on a distinguished road
Hi Alberto,

Sounds like a useful project! I wish you both good luck.

Personally I think what's most difficult varies quite a lot. It depends on the students background and most definitely on her or his intent. Is it to develop a new solver or to calculate something based on existing solvers?

Why not establish a set of skills which are required? Then base a set of lessons based on those skills.

Here are some skills that comes to mind, they are not complete and might not be needed by everyone.

Linux shell,
Fluid mechanics and math,
Numerics,
parallel computing,
turbulence modeling and models
and knowing how to browse the code.

If you go be the most common questions in this forum I think proper set up of boundary conditions comes quite high. Also interpreting error messages might be common.

Best regards
Nicolas
nsf is offline   Reply With Quote

Old   October 17, 2016, 03:37
Default
  #3
Senior Member
 
Gerhard Holzinger
Join Date: Feb 2012
Location: Austria
Posts: 200
Rep Power: 19
GerhardHolzinger will become famous soon enoughGerhardHolzinger will become famous soon enough
I strongy support the statements of Nicolas.
All open source software grants you the freedom to learn, modify and re-distribute (my apologies for this over-simplification).
In order to profit from the openess of OpenFOAM a certain set of skills is required.

A basic understanding of Linux (Unix) would be very helpful. OpenFOAM shares some design decisions of the Unix world, e.g. managing and controlling the software based on human-readable text files; or, develop one application for one task, and use them in conjunction to do big jobs. Thus, a basic understanding of the Unix/Linux world makes OpenFOAM appear less weird (from the perspective of a life-long windows user). So students/users won't expect to find the OpenFOAM GUI with menus and dialogues.

Also a basic understanding of C++ is very (can't stress that enough) helpful. I spend a fair share of the my trouble-shooting time browsing the source code in order to find out what a specific application is expecting or doing. Also, your freedom to study OpenFOAM's inner soul is kind of worthless to you, if you can't read C++.

Finally, OpenFOAM does not try to be everyone's friend. There is software for computer aided design (CAD), which provide models for the finite element method (FEM), with all the magic happening in the background in black boxes hidden from the user. OpenFOAM does not follow this approach. So, users should have knowledge of the finite volume method (FVM) to make sense of all the options provided by OpenFOAM.
GerhardHolzinger is offline   Reply With Quote

Old   October 17, 2016, 11:23
Default
  #4
Member
 
Join Date: Jun 2016
Posts: 63
Rep Power: 3
Zbynek is on a distinguished road
First of all, I second Nicolas and Gerhard so I will not repeat what they already said.

OpenFOAM requires deeper knowledge about all the complexity that CFD intrinsically contains. That is some knowledge of engineering, numerics and programming. If you take a commercial software, such as Fluent, you need to have engineering thinking to solve the projects you are supposed to work on. The programming that is required from you is limited to the user-defined functions, which is not very hard. Numerics is taken care of by the solver, you only need to know which scheme is suitable in which situations etc. You have a nice GUI, good documentation which answers most questions that ever pop up in your head so you can really focus on the engineering work.

OpenFOAM makes the life still a lot easier than if you had to write a CFD program from scratch, of course. But be prepared that you will spend much more time looking for mathematical and programming questions. Which gives you less time to work as an engineer. However, this also forces you to understand CFD as a whole better. There is no GUI so it is not very comfortable to work with it (there are companies that build GUIs for OF but it does not come for free, of course). Documentation is very limited and you need to look for answers elsewhere - that's why OF space on this forum is more busy than the Fluent space. Also, OF has less capabilities than the commercial software but I believe that there are OF solvers for most practical situations. Thanks to the open nature of OF, you can write whatever solver or utility you can imagine. However, it requires you to be advanced in mathematics and programming.

Ultimately, it depends whether you want to be a user of OF or whether you want to develop it. I would say that in the first case you need to have especially good engineering skills and the requirements on the other two components, numerics and programming, are lower. If you are planning to be a developer, the situation is reversed. I know that ideally one should be Superman and know everything perfectly, but there are not many people that would be strong in all three areas. So as it was said earlier, to a student of engineering the difficult aspects of OF will be different than to a student of mathematics.

I wish you good luck with your project.
Zbynek is offline   Reply With Quote

Old   October 17, 2016, 19:08
Default
  #5
New Member
 
Alberto Karkour
Join Date: Jul 2016
Location: Maracaibo, Venezuela
Posts: 6
Rep Power: 2
albertokarkour is on a distinguished road
Hey! First of all, thanks for your opinion and your recommendations, all your observations are really useful to us.

Quote:
Originally Posted by nsf View Post
Hi Alberto,

Sounds like a useful project! I wish you both good luck.

Personally I think what's most difficult varies quite a lot. It depends on the students background and most definitely on her or his intent. Is it to develop a new solver or to calculate something based on existing solvers?
Hi Nicolas, Thanks for your help and good wishes!.

The purpose of the course is to learn the basics of OpenFOAM to Engineering students to use it as a powerful tool to perform CFD simulations so we will start teaching how to calculate something based on existing solvers.

Quote:
Originally Posted by nsf View Post
Why not establish a set of skills which are required? Then base a set of lessons based on those skills.
Here are some skills that comes to mind, they are not complete and might not be needed by everyone.

Linux shell,
Fluid mechanics and math,
Numerics,
parallel computing,
turbulence modeling and models
and knowing how to browse the code.
Thanks for that also we could establish a set of skills required that the average engineering student should know, we think that someone with this skills could learn how to use OpenFOAM and be able to calculate and run simulations based on existing solvers.
  • Basic programming
  • Basic computing
  • Fluid mechanics and heat transfer
  • Numerics

We are using Windows so the new users feel more confortable.

Quote:
Originally Posted by nsf View Post
If you go be the most common questions in this forum I think proper set up of boundary conditions comes quite high. Also interpreting error messages might be common.

Best regards
Nicolas
This would be like common difficulties that most users have.
  • Set up of boundary conditions
  • Interpreting error messages of OpenFOAM
  • Linux
  • Learning Finite Volume Method
  • Absence of a GUI
  • How to browse through OpenFOAM and its pre and post processing associates tools

The purpose of this list is that we can focus on this common difficulties users tend to experience in their contact with the software so we can put special attention when it comes on teaching it.

We also establish a set of skills a OpenFOAM user should have to be able to use and edit the solvers in order to solve engineering problems.
  • Linux basic commands
  • Configure a case using existing libraries
  • OpenFOAM structure familiarization
  • Edit data files
  • Use of the basic CFD models to solve engineering problems
  • Identify proper boundary conditions in a case
  • Basic FVM
  • Basic turbulence models
  • Results interpretation of a CFD code

Quote:
Originally Posted by GerhardHolzinger View Post
I strongy support the statements of Nicolas.
All open source software grants you the freedom to learn, modify and re-distribute (my apologies for this over-simplification).
In order to profit from the openess of OpenFOAM a certain set of skills is required.

A basic understanding of Linux (Unix) would be very helpful. OpenFOAM shares some design decisions of the Unix world, e.g. managing and controlling the software based on human-readable text files; or, develop one application for one task, and use them in conjunction to do big jobs. Thus, a basic understanding of the Unix/Linux world makes OpenFOAM appear less weird (from the perspective of a life-long windows user). So students/users won't expect to find the OpenFOAM GUI with menus and dialogues.
Hi Gerhard, thanks for your help! Yes, in fact that's what we try to make more friendly the learning process for students. Those kind of understanding would be really good and we enlisted them as skills more focus on the development area
  • Linux skills
  • Object oriented programming
  • C++
  • Manage and control software based on human-readable text
  • Develop an application for one specific task
  • Do big jobs linking taks
  • Advance FVM
  • Advance turbulence modeling
  • Basic ecuations for CFD models

Quote:
Originally Posted by GerhardHolzinger View Post
Also a basic understanding of C++ is very (can't stress that enough) helpful. I spend a fair share of the my trouble-shooting time browsing the source code in order to find out what a specific application is expecting or doing. Also, your freedom to study OpenFOAM's inner soul is kind of worthless to you, if you can't read C++.
Thanks, we should consider C++ understanding as an must for a developer.

Quote:
Originally Posted by GerhardHolzinger View Post
Finally, OpenFOAM does not try to be everyone's friend. There is software for computer aided design (CAD), which provide models for the finite element method (FEM), with all the magic happening in the background in black boxes hidden from the user. OpenFOAM does not follow this approach. So, users should have knowledge of the finite volume method (FVM) to make sense of all the options provided by OpenFOAM.
That is true, most people could be hard to familiarize with the OpenFOAM because of this but once you can manage to motivate users they will learn better how to use the program and CFD code itself.

Quote:
Originally Posted by Zbynek View Post
First of all, I second Nicolas and Gerhard so I will not repeat what they already said.

OpenFOAM requires deeper knowledge about all the complexity that CFD intrinsically contains. That is some knowledge of engineering, numerics and programming. If you take a commercial software, such as Fluent, you need to have engineering thinking to solve the projects you are supposed to work on. The programming that is required from you is limited to the user-defined functions, which is not very hard. Numerics is taken care of by the solver, you only need to know which scheme is suitable in which situations etc. You have a nice GUI, good documentation which answers most questions that ever pop up in your head so you can really focus on the engineering work.

OpenFOAM makes the life still a lot easier than if you had to write a CFD program from scratch, of course. But be prepared that you will spend much more time looking for mathematical and programming questions. Which gives you less time to work as an engineer. However, this also forces you to understand CFD as a whole better. There is no GUI so it is not very comfortable to work with it (there are companies that build GUIs for OF but it does not come for free, of course). Documentation is very limited and you need to look for answers elsewhere - that's why OF space on this forum is more busy than the Fluent space. Also, OF has less capabilities than the commercial software but I believe that there are OF solvers for most practical situations. Thanks to the open nature of OF, you can write whatever solver or utility you can imagine. However, it requires you to be advanced in mathematics and programming.

Ultimately, it depends whether you want to be a user of OF or whether you want to develop it. I would say that in the first case you need to have especially good engineering skills and the requirements on the other two components, numerics and programming, are lower. If you are planning to be a developer, the situation is reversed. I know that ideally one should be Superman and know everything perfectly, but there are not many people that would be strong in all three areas. So as it was said earlier, to a student of engineering the difficult aspects of OF will be different than to a student of mathematics.

I wish you good luck with your project.
Thanks for your help Zbynek, you are absolutely right, we have to difference between Users and Developers even though sometimes we need to combine the skills of both.

Really thanks for your opinions and help! If you think in other difficulty, skills required or any sugestion we will appreciate it!
albertokarkour is offline   Reply With Quote

Old   October 18, 2016, 02:50
Default
  #6
Member
 
Join Date: Mar 2014
Posts: 37
Rep Power: 5
Traction is on a distinguished road
I highly appreciate your courage for this project. It is important to teach new users about the power and the construct of OpenFOAM. I just wanted to mention that there is a recent project trying to make the OpenFOAM introduction more appropriate and open for new users. I think your thoughts and ideas would be a good extension to this.
The project is located at https://wiki.openfoam.com/Tutorials where you can also find contributors and the related contact details.
Traction is offline   Reply With Quote

Reply

Thread Tools
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 On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Map of the OpenFOAM Forum - Understanding where to post your questions! wyldckat OpenFOAM 9 March 30, 2017 05:19
OpenFOAM Training, London, Chicago, Munich, Houston 2016-2017 cfd.direct OpenFOAM Announcements from Other Sources 0 September 14, 2016 03:19
OpenFOAM Training: Programming CFD Course 12-13 and 19-20 April 2016 cfd.direct OpenFOAM Announcements from Other Sources 0 January 14, 2016 11:19
1st OpenFOAM Users Meeting - Australia darrin OpenFOAM Announcements from Other Sources 0 October 27, 2011 18:15
New OpenFOAM Forum Structure jola OpenFOAM 2 October 19, 2011 06:55


All times are GMT -4. The time now is 14:12.