1- Welcome to this set of OpenFOAM® programming tutorials!
1+ ## Welcome to this set of OpenFOAM® programming tutorials!
22
33These are intented to provide a beginner C++ programmer with hands-on examples of
44how to develop code within the OpenFOAM® framework. These tutorials hope to be more
55approachable than most of the materials available on-line, which tend to assume
66that the user is proficient in the C++ programming language. Please see below for
77a brief summary of what each individual tutorial covers and how to use it.
88
9+ ## Requirement
10+
911It's advisable that you go through these basic C++ tutorials, having tried compiling
1012and running most of the examples, before continuing:
1113http://www.cplusplus.com/doc/tutorial/
@@ -18,15 +20,16 @@ https://cfd.direct/openfoam/user-guide/tutorials/
1820Enjoy and please provide me with feedback to make these tutorials more useful!
1921Contributions from the community are also more than welcome!
2022
21-
2223Copyright by Artur K. Lidtke, 2017.
2324
24- Disclaimer: this offering is not approved or endorsed by OpenCFD Limited, producer
25+ # Disclaimer
26+
27+ This offering is not approved or endorsed by OpenCFD Limited, producer
2528and distributor of the OpenFOAM® software via www.openfoam.com , and owner of the
2629OPENFOAM® and OpenCFD® trade marks.
2730
28- ---------
29- Tutorial 0 - Hello world
31+ # ---------
32+ # Tutorial 0 - Hello world
3033
3134 Presents a basic OpenFOAM executable which prints a simple, yet important,
3235 message.
@@ -36,36 +39,46 @@ Tutorial 0 - Hello world
3639 cd testCase
3740 ./Allrun
3841
39- Tutorial 1 - Input and output
42+ #---------
43+ # Tutorial 1 - Input and output
4044
4145 Shows how to read information from dictionaries and output it into files.
4246
4347 To run:
48+ ```
4449 wmake
4550 cd testCase
4651 ./Allrun
52+ ```
4753
48- Tutorial 2 - Understanding the mesh
54+ #---------
55+ # Tutorial 2 - Understanding the mesh
4956
5057 Discusses how the OpenFOAM mesh description works and introduces the code
5158 interface used to interact with the grid.
5259
5360 To run:
61+ ```
5462 wmake
5563 cd testCase
5664 ./Allrun
65+ ```
5766
58- Tutorial 3 - Basic field operations
67+ #---------
68+ # Tutorial 3 - Basic field operations
5969
6070 Introduces the idea of a field object, reading values from OF-native files
6171 using built-in operators, as well as calculating field values by hand.
6272
6373 To run:
74+ ```
6475 wmake
6576 cd testCase
6677 ./Allrun
78+ ```
6779
68- Tutorial 4 - Basic parallel computing
80+ #---------
81+ # Tutorial 4 - Basic parallel computing
6982
7083 Gives a crash-course introduction to parallel computing with OpenFOAM and
7184 OpenMPI based on the example "solver" developed in Tutorial 2. The way
@@ -74,11 +87,14 @@ Tutorial 4 - Basic parallel computing
7487 is upgraded to work in parallel.
7588
7689 To run:
90+ ```
7791 wmake
7892 cd testCase
7993 ./Allrun
94+ ```
8095
81- Tutorial 5 - Custom classes
96+ #---------
97+ # Tutorial 5 - Custom classes
8298
8399 Shows how a new class may be added to expand OpenFOAM functionality, as well
84100 as gives an example implementation of a class derived from and OpenFOAM
@@ -87,23 +103,29 @@ Tutorial 5 - Custom classes
87103 all of the baseline functionality.
88104
89105 To run:
106+ ```
90107 wmake
91108 cd testCase
92109 ./Allrun
110+ ```
93111
94- Tutorial 6 - Custom libraries
112+ #---------
113+ # Tutorial 6 - Custom libraries
95114
96115 Shows how an external library may be compiled and added to OpenFOAM. This is
97116 done by moving the key functionality of the "solver" from Tutorials 2 and 3
98117 into an independent library, and then linking that against the rest of the
99118 solver code.
100119
101120 To run:
121+ ```
102122 ./Allwmake
103123 cd testCase
104124 ./Allrun
125+ ```
105126
106- Tutorial 7 - Custom boundary condition
127+ #---------
128+ # Tutorial 7 - Custom boundary condition
107129
108130 Shows how a custom boundary condition may be implemented.
109131 It does not introduce a bespoke utility, but instead only implements a
@@ -125,11 +147,14 @@ Tutorial 7 - Custom boundary condition
125147 layer profile at the inlet and how it affects the solution.
126148
127149 To run:
150+ ```
128151 ./Allwmake
129152 cd testCase
130153 ./Allrun
154+ ```
131155
132- Tutorial 8 - Runtime post processing utility
156+ #---------
157+ # Tutorial 8 - Runtime post processing utility
133158
134159 Discusses the implementation of a a runtime post-processing utility which
135160 computes the flow rate through a face zone defined in the mesh using the
@@ -154,11 +179,14 @@ Tutorial 8 - Runtime post processing utility
154179 by the utility in the postProcessing directory.
155180
156181 To run:
182+ ```
157183 wmake libso
158184 cd testCase
159185 ./Allrun
186+ ```
160187
161- Tutorial 9 - Transport equation
188+ #---------
189+ # Tutorial 9 - Transport equation
162190
163191 Introduces the concepts behind solving a simple scalar transport equation.
164192
@@ -180,9 +208,11 @@ Tutorial 9 - Transport equation
180208 transport equation saved as the "result" field.
181209
182210 To run:
211+ ```
183212 wmake
184213 cd testCase
185214 ./Allrun
215+ ```
186216
187217 Recommended reading:
188218 - Wikipedia is always a good start:
0 commit comments