Difference between revisions of "Programming"

From OpenFOAM Wiki
Jump to navigation Jump to search
Line 6: Line 6:
  
 
'''Complete Programming Courses'''
 
'''Complete Programming Courses'''
* [https://wiki.openfoam.com/Programming_by_Kenneth_Hoste_and_Hrvoje_Jasak Hoste and Jasak video series] on programming.
 
 
* [https://wiki.openfoam.com/Basic_programming_by_Hakan_Nilsson Nilsson's introduction] to programming in OpenFOAM.
 
* [https://wiki.openfoam.com/Basic_programming_by_Hakan_Nilsson Nilsson's introduction] to programming in OpenFOAM.
* [https://wiki.openfoam.com/Tips_by_Gerhard_Holzinger Tips by Gerhard Holzinger] Source Code and Programming (Chapter IX).
+
 
  
 
'''C++'''
 
'''C++'''
Line 14: Line 13:
  
 
'''Intro: Compilation and Testing'''
 
'''Intro: Compilation and Testing'''
* [https://wiki.openfoam.com/Programming_by_Robert_Lee Lee's compact introduction] to compilation using existing code.
 
 
* The [https://wiki.openfoam.com/Programming_by_Stefan_Radl tutorials by Stefan Radl] provide details on compilation and basic testing of new code.
 
* The [https://wiki.openfoam.com/Programming_by_Stefan_Radl tutorials by Stefan Radl] provide details on compilation and basic testing of new code.
 
* [https://wiki.openfoam.com/Programming_by_Ferras,_Fernandes_and_Nobrega Ferras et al.] describe solver implementatiob, compilation, and testing.
 
* [https://wiki.openfoam.com/Programming_by_Ferras,_Fernandes_and_Nobrega Ferras et al.] describe solver implementatiob, compilation, and testing.
Line 23: Line 21:
 
* [https://wiki.openfoam.com/Programming3 Guerrero] describes how to implement a basic solver from scratch.
 
* [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.
 
* [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.
+
 
  
 
'''Customizing solvers'''
 
'''Customizing solvers'''
 
* [https://wiki.openfoam.com/Programming_by_Henrik_Rusche Rusche's introduction to programming] details on version control with git, the build system and customizing solvers.
 
* [https://wiki.openfoam.com/Programming_by_Henrik_Rusche Rusche's introduction to programming] details on version control with git, the build system and customizing solvers.
 
* [https://wiki.openfoam.com/Programming_by_Alexander_Vakhrushev Vakhrushev's slides] illustrate how to modify a solver.
 
* [https://wiki.openfoam.com/Programming_by_Alexander_Vakhrushev Vakhrushev's slides] illustrate how to modify a solver.
* [https://wiki.openfoam.com/Thermodynamic_class_by_Isabelle_Choquet Isabelle Choquet and Håkan Nilsson] teaches how to implement new thermophysical model and additional transport equation.
+
 
* Gavin Tabor describes in [https://wiki.openfoam.com/Simulating_chocolate_by_Gavin_Tabor this tutorial] how to customize solver and implement a new constitutive model.
 
 
* [https://wiki.openfoam.com/Code_development_by_Tobias_Holzmann Holzmann] shows how to systematically build, analyze and build your own code in this tutorial.
 
* [https://wiki.openfoam.com/Code_development_by_Tobias_Holzmann Holzmann] shows how to systematically build, analyze and build your own code in this tutorial.
  

Revision as of 08:31, 4 May 2018

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


C++

Intro: 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.


Customizing solvers

  • 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.