Difference between revisions of "Programming"
Jump to navigation
Jump to search
Jozsef Nagy (talk | contribs) |
Jozsef Nagy (talk | contribs) |
||
Line 21: | Line 21: | ||
* [https://wiki.openfoam.com/Programming1 Guerrero] describes how to implement and test BCs using codeStream. | * [https://wiki.openfoam.com/Programming1 Guerrero] describes how to implement and test BCs using codeStream. | ||
* [https://wiki.openfoam.com/Programming2 Guerrero] describes field initialization using codeStream. | * [https://wiki.openfoam.com/Programming2 Guerrero] describes field initialization using codeStream. | ||
+ | * [https://wiki.openfoam.com/Programming3 Guerrero] describes how to implement a basic solver from scratch. | ||
+ | * [https://wiki.openfoam.com/Programming4 Guerrero] describes how to add a passive scalar (or the convection-diffusion equation) to a basic solver. | ||
* This [https://wiki.openfoam.com/Programming_boundary_conditions_by_Gavin_Tabor tutorial by Gavin Tabor] covers the implementation of custom boundary conditions. | * This [https://wiki.openfoam.com/Programming_boundary_conditions_by_Gavin_Tabor tutorial by Gavin Tabor] covers the implementation of custom boundary conditions. | ||
Revision as of 05:47, 12 October 2017
One of the most relevant capabilities of OpenFOAM the possibility of creating new solvers and features, required for specific needs, which are done with Programming. You can find below a list of tutorials that covers Programming in OpenFOAM.
Go back to Collection by topic.
Programming
Complete Programming Courses
- Hoste and Jasak video series on programming.
- Nilsson's introduction to programming in OpenFOAM.
- Tips by Gerhard Holzinger Source Code and Programming (Chapter IX).
C++
- Basics of C++ by Hakan Nilsson.
Intro: Compilation and Testing
- Lee's compact introduction to compilation using existing code.
- The tutorials by Stefan Radl provide details on compilation and basic testing of new code.
- Ferras et al. describe solver implementatiob, compilation, and testing.
Implementation of Initial and Boundary Conditions
- Guerrero describes how to implement and test BCs using codeStream.
- Guerrero describes field initialization using codeStream.
- Guerrero describes how to implement a basic solver from scratch.
- Guerrero describes how to add a passive scalar (or the convection-diffusion equation) to a basic solver.
- This tutorial by Gavin Tabor covers the implementation of custom boundary conditions.
Customizing solvers
- Rusche's introduction to programming details on version control with git, the build system and customizing solvers.
- Vakhrushev's slides illustrate how to modify a solver.
- Isabelle Choquet and Håkan Nilsson teaches how to implement new thermophysical model and additional transport equation.
- Gavin Tabor describes in this tutorial how to customize solver and implement a new constitutive model.
- Holzmann shows how to systematically build, analyze and build your own code in this tutorial.
Debugging
- See the list of tools by Stefan Radl to get an overview of debugging tools.
Further reading
- Håkan Nilsson's collection [1] comprises several reports that cover programming topics.