Difference between revisions of "Programming by Stefan Radl"

From OpenFOAM Wiki
Jump to navigation Jump to search
 
(7 intermediate revisions by the same user not shown)
Line 4: Line 4:
 
* '''affiliation''': Technische Universität Graz, Austria
 
* '''affiliation''': Technische Universität Graz, Austria
 
* '''contact''': <mail address='radl@tugraz.at' description='author'>click here for email address</mail>
 
* '''contact''': <mail address='radl@tugraz.at' description='author'>click here for email address</mail>
* '''OpenFOAM version''': 1.7/3.0
+
* '''OpenFOAM version''': 5.x
 
* '''Published under''': CC BY-NC-SA license ([https://creativecommons.org/licenses creative commons licenses])
 
* '''Published under''': CC BY-NC-SA license ([https://creativecommons.org/licenses creative commons licenses])
  
Line 10: Line 10:
  
 
Go back to [https://wiki.openfoam.com/Collection_by_authors#Stefan_Radl '''Stefan's collection''']
 
Go back to [https://wiki.openfoam.com/Collection_by_authors#Stefan_Radl '''Stefan's collection''']
 +
 +
Go back to [https://wiki.openfoam.com/Programming '''Programming''']
  
 
=[http://www.tugraz.at/fileadmin/user_upload/Institute/IPPT/Area-PharmEng_Particles/SoftwareTraining/OpenFOAM/11_OpenFOAM_coding_1.mp4 Programming - introduction]=
 
=[http://www.tugraz.at/fileadmin/user_upload/Institute/IPPT/Area-PharmEng_Particles/SoftwareTraining/OpenFOAM/11_OpenFOAM_coding_1.mp4 Programming - introduction]=
  
These video will give you a step by step walk through of programming your own utility and application. It will guide you through the steps in C++ to write the code and compile it. You will test the code with a simple case. The focus is on:
+
These video will give you a step by step walk through of programming your own application or library that can be loaded into an existing OpenFOAM application. It will guide you through the steps in C++ to write the code and compile it. You will test the code with a simple case. The focus is on:
  
 
* C++ basics
 
* C++ basics
* compilation
+
* compilation & testing
 
* basic code structure (library and executable)
 
* basic code structure (library and executable)
* testing
+
 
 +
Also, an overview of available divergence schemes is provided.
 +
 
 +
[[File:SessionC_header.png|500px|right|]]
 +
 
 +
[https://www.tugraz.at/fileadmin/user_upload/Institute/IPPT/Area-PharmEng_Particles/SoftwareTraining/OpenFOAM/2_SessionC_Coding/C_addOn-Material.zip '''This FILE'''] contains the slides, source code, as well as the case.
  
 
The videos can be found here:
 
The videos can be found here:
  
* [https://www.tugraz.at/fileadmin/user_upload/Institute/IPPT/Area-PharmEng_Particles/SoftwareTraining/OpenFOAM/2_SessionC_Coding/11_OpenFOAM_coding_1.mp4 '''part 1''']
+
* [https://www.tugraz.at/fileadmin/user_upload/Institute/IPPT/Area-PharmEng_Particles/SoftwareTraining/OpenFOAM/2_SessionC_Coding/Session_C_1.mp4 '''C.1 Intro and basics C/C++''']
* [https://www.tugraz.at/fileadmin/user_upload/Institute/IPPT/Area-PharmEng_Particles/SoftwareTraining/OpenFOAM/2_SessionC_Coding/12_OpenFOAM_coding_2_binningArray.mp4 '''part 2: binning array''']
+
 
* [https://www.tugraz.at/fileadmin/user_upload/Institute/IPPT/Area-PharmEng_Particles/SoftwareTraining/OpenFOAM/2_SessionC_Coding/13_OpenFOAM_coding_3_meshInspector.mp4 '''part 3: mesh inspector''']
+
* [https://www.tugraz.at/fileadmin/user_upload/Institute/IPPT/Area-PharmEng_Particles/SoftwareTraining/OpenFOAM/2_SessionC_Coding/Session_C_2.mp4 '''C.2 Copy case and linking''']
* [https://www.tugraz.at/fileadmin/user_upload/Institute/IPPT/Area-PharmEng_Particles/SoftwareTraining/OpenFOAM/2_SessionC_Coding/14_OpenFOAM_coding_4_passiveScalarFoam.mp4 '''part 4: passive scalar transport''']
+
 
* [https://www.tugraz.at/fileadmin/user_upload/Institute/IPPT/Area-PharmEng_Particles/SoftwareTraining/OpenFOAM/2_SessionC_Coding/15_OpenFOAM_coding_5_CFDEM_And_Libraries.mp4 '''part 5: CFDEM and libraries''']
+
* [https://www.tugraz.at/fileadmin/user_upload/Institute/IPPT/Area-PharmEng_Particles/SoftwareTraining/OpenFOAM/2_SessionC_Coding/Session_C_3.mp4 '''C.3 Inspect an application''']
* [https://www.tugraz.at/fileadmin/user_upload/Institute/IPPT/Area-PharmEng_Particles/SoftwareTraining/OpenFOAM/2_SessionC_Coding/16_OpenFOAM_coding_6_doxygenDocumentation.mp4 '''part 6: Doxygen docu''']
+
 
 +
* [https://www.tugraz.at/fileadmin/user_upload/Institute/IPPT/Area-PharmEng_Particles/SoftwareTraining/OpenFOAM/2_SessionC_Coding/Session_C_4.mp4 '''C.4 Adding new functionality''']
 +
 
 +
* [https://www.tugraz.at/fileadmin/user_upload/Institute/IPPT/Area-PharmEng_Particles/SoftwareTraining/OpenFOAM/2_SessionC_Coding/Session_C_5.mp4 '''C.5 Writing functionality & summary''']
 +
 
 +
* [https://www.tugraz.at/fileadmin/user_upload/Institute/IPPT/Area-PharmEng_Particles/SoftwareTraining/OpenFOAM/2_SessionC_Coding/Session_C_6.mp4 '''C.6 STL vectors as alternative''']
 +
 
 +
* [https://www.tugraz.at/fileadmin/user_upload/Institute/IPPT/Area-PharmEng_Particles/SoftwareTraining/OpenFOAM/2_SessionC_Coding/Session_C_7.mp4 '''C.7 The meshInspector''']
 +
 
 +
* [https://www.tugraz.at/fileadmin/user_upload/Institute/IPPT/Area-PharmEng_Particles/SoftwareTraining/OpenFOAM/2_SessionC_Coding/Session_C_8.mp4 '''C.8 Modification of a library''']
 +
 
 +
* [https://www.tugraz.at/fileadmin/user_upload/Institute/IPPT/Area-PharmEng_Particles/SoftwareTraining/OpenFOAM/2_SessionC_Coding/Session_C_9.mp4 '''C.9 Divergence schemes''']
  
These videos are definitely outdated, but might be helpful to understand some C++ concepts.
+
* [https://www.tugraz.at/fileadmin/user_upload/Institute/IPPT/Area-PharmEng_Particles/SoftwareTraining/OpenFOAM/2_SessionC_Coding/16_OpenFOAM_coding_6_doxygenDocumentation.mp4 '''C.10: Doxygen docu''']

Latest revision as of 21:51, 15 February 2019

Go back to Day 12.

Go back to Stefan's collection

Go back to Programming

Programming - introduction

These video will give you a step by step walk through of programming your own application or library that can be loaded into an existing OpenFOAM application. It will guide you through the steps in C++ to write the code and compile it. You will test the code with a simple case. The focus is on:

  • C++ basics
  • compilation & testing
  • basic code structure (library and executable)

Also, an overview of available divergence schemes is provided.

SessionC header.png

This FILE contains the slides, source code, as well as the case.

The videos can be found here: