This site uses cookies to enhance our services. By continuing to browse the site, you agree to our Cookies Policy. OK

C++ applied to OpenFOAM online course

This course includes manuals and exercises. Students will require approximately 20 hours to pass the course. The maximum time to complete the course is one month. An aptitude certificate will be issued to the students who pass the course. The whole material (exercises and texts) is available from the first day and there is no schedule. This enables each student to progress according to his learning pace. Our website has chat, forums, remote desktop connection, video conferencing, internal mail, etc. The teachers (M.I. Lamas and C.G. Rodriguez) have an extensive experience in CFD and OpenFOAM and papers in important international journals. 

Duration: 20 hours, ONLINE
Start date: Consult:
Max time: 1 month
Price: 200 €
Aimed at:

This course is aimed at people who want to understand and make modifications to C++ features in OpenFOAM. Regarding C++, any previous knowledge is not necesary to follow the course. Students who do not have any previous knowledge in C++ will receive material extra to acquire an elemental level to start this course.

Regarding OpenFOAM, it is necessary a basic knowledge of the software. For people who do not have any previous knowledge in OpenFOAM, it is recommended to follow first the course CFD with OpenFOAM, also available at Technical Courses.


The purpose of this course is to acquire the C++ knowledge and practical skills necessary to understand and make modifications in the OpenFOAM solvers.

Description of OpenFOAM:

OpenFOAM (Open Source Field Operation and Manipulation) is a free, open source CFD (Computational Fluid Dynamics) software capable of solving multiple problems such as complex flows, turbulence, chemical reactions, heat transfer, electromagnetics, etc. It was developed by OpenCFD Ltd at ESI group and distributed by the OpenFOAM foundation.

This course has been entirely developed by Technical Courses. This offering is not approved or endorsed by OpenCFD Limited, the producer of the OpenFOAM software and owner of the OPENFOAM® and OpenCFD® trade marks.

Chapter 1: Introduction to C++. Application to OpenFOAM

1.1 Introduction
1.2 C++
1.3 Basic structure of a C++ program
1.4 Preprocessor directives
1.5 Variables
1.6 Operators
1.7 Inputs and outputs
1.8 Control structures

Chapter 2: C++. Application to OpenFOAM

2.1 Introduction
2.2 Typedefs
2.3 Functions
2.4 Pointers 
2.5 Data structures
2.6 Classes
2.7 Constructors
2.8 Destructors
2.9 Friends
2.10 Inheritance
2.11 Virtual member functions
2.12 Abstract classes
2.13 Templates
2.14 Namespaces
2.15 Solving partial differential equations in OpenFOAM
2.16 Programation in OpenFOAM

Chapter 3: Development of own code in OpenFOAM

3.1 Development of a new solver
3.2 Compilation of applications and libraries
3.3 Development of a new boundary condition
3.4 Development of a new turbulence model
3.5 Development of a new transport model
3.6 Development of a new thermophysical model
3.7 Development of a new postprocessing utility


1 C++ program 1
2 C++ program 2
3 C++ program 3
4 Development of a new class to set mesh movement
5 Development of a new boundary condition
6 Development of a new turbulence model
7 Development of a new postprocessing utility

IMPORTANT: This course will follow these contents and students can ask anything they need as long as their questions are related to the course. People who need to program a specific topic instead receiving a course should consult our OpenFOAM and CFD Technical Support.

fototutor Mª Isabel Lamas Galdo 
Ph.D in Industrial Engineering. Since 2008 she is an associate professor at University of Coruña, degrees of Mechanical Engineering and Naval Engineering. She has written 4 books and several papers in scientific journals. Besides, she has participated in several national and international congresses. She also has professional experience in engineering projects.  | + View curriculum vitae
Registration information

If you are interest in this course, please fill in the Registration Form or contact us at and we will respond to any enquiry you may have.

Our contact:

• Telephone: +34 686 691 703

• E-mail:

2019 © NORPLAN ENGINEERING S.L. - C/ Ramón Cabanillas nº 13, 15570, Narón, A Coruña, España (Spain)
Tlf: +34 686 691 703 -