CFD with OpenSource Software, 7.5 ECTS, 2023

Start date: 28th August 2023
End date: Mid-January 2024

Maximum number of participants: ~9.
Passed “Basic Usage of OpenFOAM” course (BUOF) is a prerequisite!

Initial notes:

·       The course is the second of two courses found at https://www.tfd.chalmers.se/~hani/kurser/OS_CFD

·       To save time for us, the course “CFD with OpenSource Software” (OSCFD) will be given with very similar contents as last year (perhaps some minor updates). We would definitely like to update it, but we do not have time to do it. That means in particular that assignments should work on a version of OpenFOAM that is not the latest one, and no exceptions will be given.

·       The course is based on active learning in a flipped-classroom design, and relies to a large extent on the interaction between the students. The teachers are responsible for setting up a framework for learning and to assess the completion of compulsory parts of the course. The teachers are responsible for setting up a discussion forum and for planning on-line meetings. The teachers will be active in discussions and meetings, and will try to answer questions, but may also leave many questions for the other students to answer.

·       The teachers have many years of experience with OpenFOAM usage and development, but are NOT original developers and do NOT know everything related to OpenFOAM.

·       The teachers are primarily active in research on incompressible flow in turbomachines (water turbines). They may also have some other knowledge. They do NOT have any knowledge in e.g. chemistry and combustion, which many students seem to be interested in. Thus, the interaction between the students is very important to cover details out of scope for the teachers. The tutorials created by former students are based on the student knowledge and the knowledge they gained through the courses, to a significant extent by interacting with the other students. The tutorials do not necessarily reflect the knowledge of the teachers.

·       The students are responsible for handing in quizzes and assignments that are correct and follow the instructions, and that are handed in before the deadlines. Most students are able to pass the course using the resources and (student) interactions provided, but some are not. It is up to the students to use the provided resources, plan their time, and work hard enough, in order to pass the course. Incorrect and/or late hand-ins are not passed.

·       Submission and oral presentation of a final report does not lead to a guarantee to pass the course. The report and presentation must be of high quality to pass!

Syllabus:

·       Purpose:

o   To learn how to understand and modify OpenFOAM applications and libraries

o   To do a major project work related to OpenFOAM usage, theory, implementations and modifications

o   To teach others about OpenFOAM usage, theory, implementations and modifications (Docendo discimus – Latin: “by teaching, we learn”)

·       Learning outcomes:
The student should be able to

o   Read and comprehend OpenFOAM code

o   Modify and further develop OpenFOAM applications and libraries

o   Participate in teaching and instructing others

o   Define and conduct a research project within CFD and OpenFOAM

o   Write publish-quality reports and present the work

o   Participate in peer-review processes (both as author and reviewer)

·       Contents:

o   We go through the directory and file structure of OpenFOAM, and some name conventions.

o   We learn about OpenFOAM compilation procedures.

o   We have a look at high-level programming of applications in OpenFOAM, including how to use Doxygen to figure out how to use objects of different classes.

o   We go through programming in C/C++ and object orientation and relate it to OpenFOAM and compilation processes.

o   We have a look at programming of libraries and the classes in them.

o   We introduce debugging options.

o   The examination is by hand-in of assignments and an extended project work that is subjected to a peer-review process and should be taught by the student as a part of the contents of the course.

·       Prerequisites:

o   You are enrolled as a PhD student the entire duration of the course.

o   Excellently completed the course “Basic Usage of OpenFOAM”, showing proof of capabilities to follow instructions, follow deadlines, work independently, share knowledge, and deliver high quality.

·       Preparations (before the start of the course):

o   Installation of required software (a specific OpenFOAM version, which may not necessarily be the latest one).

o   Get access to Canvas.

o   Make sure to have good Internet connection for the on-line lectures and gatherings.

o   Define a project idea, to make align with the requirements of the course (see project work below).

o   Set aside a lot of time for the course! It is indeed a huge amount of work! See the requested hand-ins below, under Examination.

·       Organization and examination:

o   Learning platform: https://canvas.chalmers.se/

o   How to understand and modify OpenFOAM: applications (solvers and utilities)

§  Examination:

·       Quiz.

·       Hand-ins of high-level programming tasks. To be handed in perfectly cleaned up, and with scripts that can be used by us to check that everything has been correctly done. The scripts should work at first attempt, and it is thus important that it has been made sure that a change of user or installation directory does not break the script.

o   How to understand and modify OpenFOAM: libraries and the classes within them.

§  Examination:

·       Quiz.

·       Hand-ins of class/library programming tasks. To be handed in perfectly cleaned up, and with scripts that can be used by us to check that everything has been correctly done. The scripts should work at first attempt, and it is thus important that it has been made sure that a change of user or installation directory does not break the script.

o   Project work, peer-review and presentation.

§  Independently write and present a DETAILED TUTORIAL. It should describe a part of OpenFOAM (and other OpenSource Software). With “independent” it means that you should use the knowledge gained in the course to do this mainly yourself. You have access to a discussion group, where you can share knowledge with the other students. The teacher and assistant may assist to some extent if time allows.

§  The tutorial should address the following, regarding functionality, methods, models (here referred to as “it”):

1.       How to use it

2.       The theory of it

3.       How it is implemented

4.       How to modify it

§  NOTE that for the first three parts, "How to use it", "The theory of it", and "How it is implemented", you should have a focus on things that are already existing, to give a context for the "How to modify it" part. For the modifications in the "How to modify it" part, it should also be described how to use it, the theory of it, and how it is implemented.

§  The tutorials form a part of the course contents, also for the other participants.

§  The focus should be on how to understand and how to do things rather than to present results of advanced simulations.

§  The cases to be run should be small, so that they run fast. That will mean that the meshes will be too coarse for accurate results, but that accurate results can be obtained by making a denser mesh.

§  You must peer-review the work of another student before the presentations, and you must take peer-reviews into consideration in your own work. Your supervisor must agree to peer-review the scientific contents of your work.

§  The output should be of high quality!

§  The report, slides and accompanying files will be posted on-line in the course proceedings, as a contribution to the OpenFOAM community.

§  It is encouraged to further develop the project work after the course, for submission and possible publication in the OpenFOAM Journal.

Connection between Intended Learning Outcomes (ILOs) and Teaching and Learning Activities (TLAs)

A diagram of a diagram

Description automatically generated with medium confidence

 

Registration:

Note that there is no use to try to register without having first finished the course Basic Usage of OpenFOAM successfully!
Registration starts just after the finalization of the course Basic usage of OpenFOAM.

Information requested to show interest to register (send to hakan.nilsson@chalmers.se):

·       Full name (first, middle, family)

·       Birth date (YYYY-MM-DD, for certificate)

·       Preferred email address

·       University of PhD student enrolment

·       Start and end dates of PhD studies (YYYY-MM)

·       Name of supervisor

·       Email address to supervisor

·       For students who did not finish BUOF the same year: Scan of certificate of completion of the course “Basic Usage of OpenFOAM” (or transcript from Ladok).

·       Short description of a course project idea, and how it can be adapted to the course requirements described above. It is highly preferable if the project contributes to your PhD work, so that it is useful to more than the course.

·       A scan of a signed letter from supervisor, showing:

o   That you are a PhD student during the full duration of the course

o   That she/he wants you to participate in the course “CFD with OpenSource Software”, 7.5 ECTS

o   That she/he understands that this course takes a lot of time and effort, and that you will be given time to fulfil the requirements of the course.

o   That she/he accepts to thoroughly review your final report with respect to the scientific contents, between Christmas and a week before the presentation days in mid-January

Template (Nn Nn is examiner/supervisor name, and Mm Mm is PhD student name):
“I am Prof. Nn Nn, and I am the examiner/supervisor of Mm Mm. I would like Mm Mm to participate in the course “CFD with OpenSource Software”. I confirm that Mm Mm will be enrolled as a PhD student during the full duration of the course. Both me and Mm Mm understand that the course takes a lot of time and effort, and that Mm Mm will be given sufficient time to fulfil the requirements of the course. I accept to thoroughly review the final report by Mm Mm with respect to the scientific contents, between Christmas and a week before the presentation days in mid-January.”

Approximate time spent on the course, reported by student(s):

·       How to modify OpenFOAM: high-level programming of applications:

o   Lectures: 12h

o   Quiz and assignment: 16h

·       How to modify OpenFOAM: libraries and the classes within them:

o   Lectures: 12h

o   Quiz and assignment: 20h

·       Project work:

o   Work: 50h

o   Report writing (total): 60h

o   Peer-review: 8h

o   Preparation of presentation: 8h

o   Presentation days: 12h

·       Total: 198h (5 full weeks)
Highly dependent on student background!

Box plot distribution of the time spent on the main tasks (Assignments 1 and 2 and project belongs to the present course). Data from 2021 and 2022:

A graph with numbers and lines

Description automatically generated with medium confidence

Certificate

·       PhD students at Chalmers and other Swedish universities will have their result reported in Ladok, under course code FTME055.

·       Other PhD students will get a signed certificate in scanned pdf (and sent by regular mail if requested). The certificate may contain statements of how the work in the course has progressed.

FAQ

·       “I already have basic OpenFOAM knowledge. Can I then skip the BUOF course and only register to the OSCFD course?”

o   No, if you already have basic OpenFOAM knowledge you should easily complete the BUOF course. In addition to making sure that all who pass this first course have enough knowledge to participate in the second course, I also want to see how you are working and that I will not get any requests for exceptions…