Difference between revisions of "Programming"

From OpenFOAM Wiki
Jump to navigation Jump to search
 
(10 intermediate revisions by 2 users not shown)
Line 6: Line 6:
  
 
'''Complete Programming Courses'''
 
'''Complete Programming Courses'''
* [https://wiki.openfoam.com/Basic_programming_by_Hakan_Nilsson Nilsson's introduction] to programming in OpenFOAM.
+
 
  
 
'''C++'''
 
'''C++'''
* [https://wiki.openfoam.com/Basics_of_C%2B%2B_by_Hakan_Nilsson Basics of C++] by Hakan Nilsson.
+
 
 +
 
 +
'''Complete model implementation'''
 +
 
 +
 
  
 
'''Intro: Compilation and Testing'''
 
'''Intro: 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 implementation, compilation, and testing.
* [https://wiki.openfoam.com/Programming_by_Ferras,_Fernandes_and_Nobrega Ferras et al.] describe solver implementatiob, 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.
 
* [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.
 
  
 
'''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/Code_development_by_Tobias_Holzmann Holzmann] shows how to systematically build, analyze and build your own code in this tutorial.
 
  
 
'''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.
 
* 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.