Introduction to OpenFOAM Programming, A Walk Through reactingFOAM

Материал из ru.wiki.laduga.ru
Перейти к: навигация, поиск

Глава 1: Почему reactingFOAM ?

reactingFOAM это один из самых простых механических решателей OpenFOAM. Понимание того, как этот конкретный код работает построчно, даёт представление не только об этом конкретном решателе, но и об общих методах программирования, используемых в OpenFOAM. Кроме того, это также даёт представление, как о расчётах потока, так и о расчётах реакции в OpenFOAM.

Глава 2: Что делают начальные заголовочные файлы?

Начальная часть reactingFOAM, (конечно после комментариев к лицензии GNU) гласит:

#include "fvCFD.H"
#include "hCombustionThermo.H"
#include "compressible/turbulenceModel/turbulenceModel.H"
#include "chemistryModel.H"
#include "chemistrySolver.H"
#include "multivariateScheme.H"

Теперь мы посмотрим, что делает каждый из заголовочных файлов поочереди.

Раздел 1:

"fvCFD.H" 

Этот файл содержит самые фундаментальные инструменты для выполнения любого расчёта конечного объёма. Этот файл на самом деле просто включает в себя много других файлов, каждый из которых представляет собой строительный блок здания метода конечных объёмов. Этот файл читает:

#include "parRun.H"
#include "Time.H"
#include "fvMesh.H"
#include "fvc.H"
#include "fvMatrices.H"
#include "fvm.H"
#include "linear.H"
#include "uniformDimensionedFields.H"
#include "calculatedFvPatchFields.H"
#include "fixedValueFvPatchFields.H"
#include "adjustPhi.H"
#include "findRefCell.H"
#include "constants.H"
#include "OSspecific.H"
#include "argList.H"
#include "timeSelector.H"
#ifndef namespaceFoam
#define namespaceFoam
   using namespace Foam;
#endif


Небольшой список каждого из вышеперечисленных заголовочных файлов выглядит следующим образом.

parRun.H
Предоставляет процедуры для инициализации параллельного запуска и его завершения. Его пример представлен в файле arglist.H Это управляет информацией о времени в ходе моделирования.
Time.H  
Это управляет информацией о времени в ходе моделирования.
fvMesh.H  
Содержит всю топологическую и геометрическую информацию, связанную с сеткой для дискретизации конечного объёма.
fvc.H  
(Исчисление конечного объёма) Содержит другие включённые файлы, которые предоставляют следующие процедуры для выполнения таких операций, как интерполяция, интегрирование и поиск производных скалярных векторов и тензоров. С fvc все операции являются явными так же, как и с fvm, все операции являются неявными.
fvMatrices.H 
fvm.H  
linear.H  
uniformDimensionedFields.H  
calculatedFvPatchFields.H  
Обеспечивает граничные условия типа Neumann.
fixedValueFvPatchFields.H  
Обеспечивает граничное условие типа Dirichlet.
adjustPhi.H  
findRefCell_H  
Устанавливает ячейку для опорного давления.
constants.H  
Предоставляет математические константы, например $ \pi,\, e $
OSspecific.H  
Предоставляет такие функци, как запись файлов, удаление и т.п.
argList.H  
timeSelector.H  

Ссылка на оригинал - http://openfoamwiki.net/index.php/OpenFOAM_guide/Introduction_to_OpenFOAM_Programming,_A_Walk_Through_reactingFOAM