Difference between revisions of "Programming"

From OpenFOAM Wiki
Jump to navigation Jump to search
 
(34 intermediate revisions by 4 users not shown)
Line 1: Line 1:
Small introduction
+
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 [https://wiki.openfoam.com/Collection_by_topic Collection by topic].
 
Go back to [https://wiki.openfoam.com/Collection_by_topic Collection by topic].
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/Programming_by_Hakan_Nilsson Nilsson's collection] of programming tutorials.
+
 
* [https://wiki.openfoam.com/Tips_by_Gerhard_Holzinger Tips by Gerhard Holzinger] Source Code and Programming (Chapter IX).
+
'''C++'''
 +
 
 +
 
 +
'''Complete model implementation'''
 +
 
 +
 
  
 
'''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.
+
* [https://wiki.openfoam.com/Programming_by_Ferras,_Fernandes_and_Nobrega Ferras et al.] describe solver implementation, compilation, and testing.
* 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, compilation, and testing.
 
  
 
'''Implementation of Initial and Boundary Conditions'''
 
'''Implementation of Initial and Boundary Conditions'''
* [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.
 
  
 
'''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/Thermodynamic_class_by_Isabelle_Choquet Isabelle Choquet and Håkan Nilsson] Implementing new thermophysical model and transport equation.
 
  
 
'''Debugging'''
 
'''Debugging'''
 
* See the list of tools by [https://wiki.openfoam.com/Debugging_by_Stefan_Radl Stefan Radl] to get an overview of debugging tools.
 
* See the list of tools by [https://wiki.openfoam.com/Debugging_by_Stefan_Radl Stefan Radl] to get an overview of debugging tools.
 +
 +
Check the [https://wiki.openfoam.com/Programming_archive '''Archive'''] section for more (however not fully up to date) programming tutorials.
 +
  
 
=Further reading=
 
=Further reading=
 +
* Håkan Nilsson's collection [http://www.tfd.chalmers.se/~hani/kurser/OS_CFD/] comprises several reports that cover programming topics.

Latest revision as of 09:09, 20 March 2024

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++


Complete model implementation


Intro: Compilation and Testing

  • Ferras et al. describe solver implementation, compilation, and testing.

Implementation of Initial and Boundary Conditions


Customizing solvers

Debugging

  • See the list of tools by Stefan Radl to get an overview of debugging tools.

Check the Archive section for more (however not fully up to date) programming tutorials.


Further reading

  • Håkan Nilsson's collection [1] comprises several reports that cover programming topics.