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!
· 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!
· 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.
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.”
· 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:
· 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.
· “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…