|September 2, 2014, 15:24||
Implementation of boundary conditions
Join Date: May 2014
Posts: 1Rep Power: 0
I try to understand how are the boundary conditions implemented in the source code of a certain application.
As a concrete example, let's say that the application is interFoam and the boundary condition is inletOutlet. My question is where in the code of interFoam are called (if they are) the functions of the class inletOutletFvPatchField.
May someone help me with some hints or links to some documentation?
Thanks in advance,
|September 3, 2014, 04:24||
Join Date: Apr 2009
Location: Winnipeg, Canada
Posts: 433Rep Power: 14
That's OpenFOAM's runtime selection mechanism. You won't find any reference to derived boundary conditions in the solvers (or you shouldn't... sometimes one may depend on a specific type). The solvers only need to know about fvPatch and fvPatchField (which are the base classes for the mesh boundary and the boundary condition). fvPatch and fvPatchField are smart enough that when you build the mesh in the solver (e.g. #include "createMesh.H") they will load the correct derived boundary conditions (e.g. inletOutletFvPatchField). The solver only needs interact with the base class, such as patch.correct() or .update() or whatever functions exist in fvPatchField.
The reason this mechanism exists is it allows you to add/modify/remove the boundary conditions, without having to change the code in the solvers... there's dozens of solvers, and that would be impractical.
The actual implementation of the runtime selection is a bit ugly with a lot of pre-defined macros. This attempts to describe it:
Follow me on twitter @DavidGaden
|Thread||Thread Starter||Forum||Replies||Last Post|
|Error finding variable "THERMX"||sunilpatil||CFX||8||April 26, 2013 07:00|
|CFX13 Post Periodic interface||EtaEta||CFX||7||December 8, 2011 18:15|
|mesh file for flow over a circular cylinder||Ardalan||Main CFD Forum||6||April 17, 2010 23:40|
|Please help with flow around car modelling!||Tudor Miron||CFX||17||March 19, 2004 20:23|
|A problem about setting boundary conditions||lyang||Main CFD Forum||0||September 19, 1999 18:29|