In 2008, I was asked to provide a seminar session covering 1½ days on OpenFOAM at the 10 Year Anniversary Symposium of DANSIS (Dansk Selskab for Industriel Strømningsmekanik, or Danish Society for Industrial Fluid Dynamics). I was also asked to provide a 2 day OpenFOAM training course at the University of Stuttgart. I teamed up with Jenya Collings, who was managing a training department in the high performance computing sector. We put together a programme of OpenFOAM software training and, by 2014, we had provided almost 500 days of instructor-led, classes to 2,500 particpants.
OpenFOAM Software Training 2008
The first half of 2008 was spent creating the content and materials for what became 2 x 2-day OpenFOAM software training courses. Creating good training courses takes time. A rule of thumb given to me at a meeting of CEdMA Europe (Computer Education Management Association, featuring Oracle, HP, Symantec, VMWare, Autodesk, etc) is that 1 hour of content for the classroom takes 30 hours to prepare. So 4 days @ 6 hours per day equates to 720 hours, or 5 months preparation time! The 1:30 ratio is consistent with my experience creating a substantial amount of training content.
Good training is created for an intended audience. In 2008, OpenFOAM had been in existence (as an open source product) for little over 3 years. It did not have its own meshing capability until later in the year, when snappyHexMesh was introduced in the release of version 1.5. A lot of functionality was in its infancy although the code frameworks were in place to extend the functionality. The training audience at the time consisted of early adopters who were generally proficient in CFD and were looking to get more out of OpenFOAM through their own code customization. The courses I wrote emphasised how OpenFOAM worked and a lot of time was devoted to code customisation.
Course participants needed to experience OpenFOAM, so a convenient system was required to put Linux and OpenFOAM onto computers for the participants to use. Booting a live installation from CD/DVD was possible, but did not allow files to be saved, so work done during training would be lost. But a new system existed called union mounting, merged the files of a live installation with files on a normal file system. Creating two partitions on a USB storage device, one for a live installation and the other for a normal file system, allowed files to be saved from within a live boot. To minimise the size of the live installation, we chose Ubuntu Linux (v7.10), which had developed a reputation for reliability and compactness, with the distribution fitting on a single CD (700MB). With this, we created a persistent live installation that booted Linux with OpenFOAM and save any work, all on an 8GB USB flash drive. Course participants were simply issued with a pre-installed flash drive from which they could boot either their own laptop or a desktop machine in a computer training centre. The reliability of the flash drive boot technology was initially unknown but received its toughest test at the DANSIS event, attended by 48 people with a wide range of personal laptops. After only one failed to boot, the technology was never in doubt.
The wider user community has benefited from the OpenFOAM software training. Example cases and code changes developed for the courses were immediately put into OpenFOAM and released to the public. The most notable example was the motorbike tutorial, with its images often appearing on the Internet. The adoption of Ubuntu for training led to the release of OpenFOAM packaged for Ubuntu, starting with v1.7.0 in 2010. Describing how OpenFOAM worked and booting with a flash drive became a model adopted by others in their training.
The courses that began in 2008 became a model for OpenFOAM training, in terms of course structure, content and use of a persistent USB, which continues to be used today. But sometime after the release of v.2.0.0 in 2011, that the participants at OpenFOAM software training were no longer the early adopters but people who simply wanted to do CFD with OpenFOAM, very often with little experience of CFD. The functionality of OpenFOAM had been extended considerably, so required less customisation. The training created in 2008 was becoming outdated and a new type of training was required. In a follow-on article, CFD Training with OpenFOAM, I will describe the new training created at CFD Direct to meet the needs of today.