Difference between revisions of "Day 12"

From OpenFOAM Wiki
Jump to navigation Jump to search
 
(9 intermediate revisions by the same user not shown)
Line 1: Line 1:
Welcome back to Day 12. Today we will continue to explore the possibilities OpenFOAM offers to extend the source code according to our needs. With this users are able to tackle all physical problems, which are described by partial differential equations. We will concentrate on implementing solvers, libraries as well as utilities.  
+
Welcome back to Day 12. Today we will continue to explore the possibilities OpenFOAM offers to extend the source code according to our needs. First start with a video of Professor Jasak on programming and see, whether you can follow the other two tutorials.
 
 
* applications
 
* libraries
 
* utilities
 
* function objects
 
* material models
 
* C++ functionalities
 
* debugging
 
  
 
Go back to [https://wiki.openfoam.com/index.php?title=%223_weeks%22_series "3 weeks" series].
 
Go back to [https://wiki.openfoam.com/index.php?title=%223_weeks%22_series "3 weeks" series].
  
=[https://wiki.openfoam.com/Programming_by_Stefan_Radl Programming - introduction]=
+
=[https://wiki.openfoam.com/Programming_by_Kenneth_Hoste_and_Hrvoje_Jasak Programming in OpenFOAM]=
  
This series of videos gives you an excellent introduction to programming in OpenFOAM from a C++ point of view. Starting with small handy utilities you will further expand your understanding of programming in C++ and OpenFOAM. The topics covered are:
+
This video lets all the gained information sink in. With it you will be able to understand the simulations you ran up until now and you will implement this knowledge in upcoming cases. You will learn about
  
* C++ basics
+
* organizing your work
* compilation
+
* creating your own application
* code structure
+
* adding a boundary condition
* starting point
+
* programming guidelines
* testing
+
* consistent styling
 +
* debugging
  
=[https://wiki.openfoam.com/Basics_of_C%2B%2B_by_Hakan_Nilsson Basics of C++]=
+
=[https://wiki.openfoam.com/Programming_by_Henrik_Rusche Scalar Transport: Swirl Test]=
  
These pdfs will give you an introduction intro the basics of programming in C++.
+
With your gained experience you will create a new solver here for a different application and test it with a modified case setup. The focus is on:
  
=[https://wiki.openfoam.com/Programming_by_Ferras,_Fernandes_and_Nobrega Programming a steady-state solver]=
+
* types of source files
 
+
* applications
This tutorial will guide you through the programming steps in OpenFOAM. With your already gained knowledge and experience you should be able to successfully navigate through the following steps:
+
* utilities
 
+
* build system
* setting up the solver directory
+
* modifying a case setup
* modifying the solver
 
* compiling the solver
 
* compiling a small utility for standard deviation
 
* testing the code with a simple case
 
 
 
=[https://wiki.openfoam.com/Programming_by_Hakan_Nilsson Programming part of the course by Håkan Nilsson]=
 
 
 
Here you will find a links to the course provided by Håkan Nilsson at Chalmers university as well as some selected pdfs on programming.
 
 
 
* high level programming
 
* implementation of an application
 
* implementation of a turbulence model
 
* implementation of a boundary condition
 
* implementation of a function object
 
* basics of C++
 
* debugging in OpenFOAM
 
 
 
=[https://wiki.openfoam.com/Simulating_chocolate_by_Gavin_Tabor Modeling chocolate]=
 
 
 
This tutorial is an excellent summary of all the information you will need to implement your own custom solvers or libraries in OpenFOAM by taking you through the implementation amongst others on the Casson model, which describes the flow of molten chocolate. The focus is on:
 
  
* header files
+
=[https://wiki.openfoam.com/Coupled_heat_transfer_in_gas_and_solid_by_Ilia_Marchevsky Coupled heat transfer in gas and solid]=
* base types
 
* fvMesh
 
* GeometricField
 
* IOobject and objectRegistry
 
* Higher-level programming
 
* fvc::, fvm:: operators
 
* compilation
 
* Boussinesq approximation
 
* Casson model
 
  
=[https://wiki.openfoam.com/Code_development_by_Tobias_Holzmann Code development]=
+
This tutorial gives you a short introduction on the implementation of coupled heat transfer in gas and solid in OpenFOAM. Here the focus is on:
  
[https://wiki.openfoam.com/Code_development_by_Tobias_Holzmann This tutorial] shows how to systematically build, analyze and build your own code.
+
* solver structure
 +
* compiling
 +
* existing solvers
 +
* modifying and running a case
  
 
=End of Day 12=
 
=End of Day 12=
  
We arrived at the end of Day 12. By now you should be able to run not only simulations of real life problems, but you should have an extensive experience as well as knowledge on how to implement your own additional model, if your problem cannot be described by the standard models in OpenFOAM. Tomorrow we will com back with some tutorials on (conjugate) heat transfer and reacting flows. Until then take a break.
+
We arrived at the end of Day 12. By now you should be able to run not only simulations of real life problems, but you should have some experience as well as knowledge on how to implement your own additional model.

Latest revision as of 11:28, 25 March 2020

Welcome back to Day 12. Today we will continue to explore the possibilities OpenFOAM offers to extend the source code according to our needs. First start with a video of Professor Jasak on programming and see, whether you can follow the other two tutorials.

Go back to "3 weeks" series.

Programming in OpenFOAM

This video lets all the gained information sink in. With it you will be able to understand the simulations you ran up until now and you will implement this knowledge in upcoming cases. You will learn about

  • organizing your work
  • creating your own application
  • adding a boundary condition
  • programming guidelines
  • consistent styling
  • debugging

Scalar Transport: Swirl Test

With your gained experience you will create a new solver here for a different application and test it with a modified case setup. The focus is on:

  • types of source files
  • applications
  • utilities
  • build system
  • modifying a case setup

Coupled heat transfer in gas and solid

This tutorial gives you a short introduction on the implementation of coupled heat transfer in gas and solid in OpenFOAM. Here the focus is on:

  • solver structure
  • compiling
  • existing solvers
  • modifying and running a case

End of Day 12

We arrived at the end of Day 12. By now you should be able to run not only simulations of real life problems, but you should have some experience as well as knowledge on how to implement your own additional model.