Обсуждение:OpenFOAM: различия между версиями

Материал из ALT Linux Wiki
(Что ли на самом деле снова взяться за брошенное...)
 
(не показано 36 промежуточных версий 2 участников)
Строка 1: Строка 1:
__TOC__
==== Ошибки конфигурации====
Посмотрите здесь:
Посмотрите здесь:
http://git.altlinux.org/people/real/packages/openfoam.git
http://git.altlinux.org/people/real/packages/openfoam.git
Строка 6: Строка 9:


** Я тут пока на одном компе одну долгую штуку собираю, на другом пытаюсь по Вашим добавлениям снова за OpenFOAM взяться. Ошибки довольно смешные, учитывая, что хедеры лежат в каталоге самого OpenFOAM, просто возиться с ним надоело. Вы их могли не увидеть, потому что сборка после таких ошибок продолжается, как будто ничего не было. [[Участник:Real|real]] 16:34, 3 декабря 2010 (UTC)
** Я тут пока на одном компе одну долгую штуку собираю, на другом пытаюсь по Вашим добавлениям снова за OpenFOAM взяться. Ошибки довольно смешные, учитывая, что хедеры лежат в каталоге самого OpenFOAM, просто возиться с ним надоело. Вы их могли не увидеть, потому что сборка после таких ошибок продолжается, как будто ничего не было. [[Участник:Real|real]] 16:34, 3 декабря 2010 (UTC)
*** Возможно. Даже очень возможно. Плохо, что некоторая привычка к OF успела появиться. Что характерно, раньше (до версии 1.6) существовали бинарные сборки у них, завязанные сами на себя. Их тупо разворачивал, даже не пытаясь пересобрать, — и работало (вру! vtkPV3Foam пересобирать приходилось). Видимо, придётся смириться, и собирать и ThirdParty, хоть и не нравится ;(
**** Левые ThirdParty собирать лучше не надо, там только ParMGridGen нужен, остальное всё есть в сизифе. Хотя, если только под себя собирать, то хозяин сам себе боярин, конечно... А vtk у Вас из сизифа или тоже сами собирали? [[Участник:Real|real]] 16:55, 3 декабря 2010 (UTC)
***** Оп-па. А про vtk ничего не скажу! Всё, чтоб не врать — до понедельника морожусь.
***** Итак, что могу сейчас сказать:
***** 1. vtk системный не установлен, следовательно использует свой.
****** Плохо. [[Участник:Real|real]] 17:54, 6 декабря 2010 (UTC)
******* Надо будет с системным попробовать. --[[Участник:Const|Const]] 08:08, 7 декабря 2010 (UTC)
***** 2. Тесты на одиночной системе считает.
***** 3. Данные для paraview можно подготовить посредством foamToVTK
***** 4. Системный paraview подозрительно легко падает, будем посмотреть ;)
****** Так надо смотреть, что пишет перед падением, и прямиком в bugzilla. [[Участник:Real|real]] 17:54, 6 декабря 2010 (UTC)
****** Отбой. Пардон, всё забываю, что Вы paraview из ThirdParty собираете, а не сизифный используете. [[Участник:Real|real]] 06:36, 7 декабря 2010 (UTC)
******* Сейчас как раз Сизифный parawiev использую, и не собираю из ThirdParty (отчего и проблема с импортом данных выползает). --[[Участник:Const|Const]] 08:08, 7 декабря 2010 (UTC)
******** Пока ничего не могу сказать по этому поводу. Вы пока опишите поконкретней, какой файл и каким образом открываете (название исполняемого файла, пункт меню и т.п.), а я, когда доберусь до этого, буду уже тестировать.
********* Беру тесты icoFoam (~/OpenFOAM/OpenFOAM-1.7.1/tutorials/incompressible/icoFoam), копирую к себе и запускаю все разом (Allrun). Затем иду в подкаталог caviti (моделируется течение вязкой несжимаемой жидкости в квадратной каверне с движущейся крышкой, область 20х20х1). Перегоняю данные в VTK (вызываю foamToVTK) — создаётся подкаталог VTK. Вызываю paraview, открываю из подкаталога VTK метафайл cavity..vtk и начинаю обработку. При любой попытке посмотреть распределение давления (если надо — опишу пошагово, где) paraview падает с сообщением
$ paraview
Error: Floating point exception detected. Signal 8
Аварийный останов
--[[Участник:Const|Const]] 09:03, 7 декабря 2010 (UTC)
********** Да, пошагово лучше, чтоб долго не искать. И пришлите или выложите куда-нибудь файл, который открываете в paraview, посмотрю, что происходит. [[Участник:Real|real]] 09:10, 7 декабря 2010 (UTC)
***** 5. По спискам пройдусь в ближайшее время — непотребно загрузили бумажками ;(
***** --[[Участник:Const|Const]] 17:48, 6 декабря 2010 (UTC)
==== Глюк с paraview ====
Итак, имеем каталог VTK ([[Файл:CavityVTK.tar.gz]]), который получен из расчётных данных ([[Файл:Cavity.tar.gz]]) вызовом внутри каталога cavity утилиты fomaToVTK.
Внутри каталога VTK вызываем paraview.
Меню File/Open, выбираем метафайл cavity_..vtk.
Во фрейме «Pipeline browser» появляется раздел «cavity_*», глаз возле которого надо включить (во фрейме просмотра появляется серый квадрат).
Во фрейме «Object Inspector» выбираем закладку «Display».
Там имеется раздел «Color» и выбор «Color by». Если тут выбрать предпоследний пункт «p» — paraview падает.
Падение при некоторых иных действиях также происходит, — но это самый «надёжный» вариант.
--[[Участник:Const|Const]] 09:31, 7 декабря 2010 (UTC)
* Поймал причину падения, повесил багу [https://bugzilla.altlinux.org/show_bug.cgi?id=24714 #24714] на paraview --[[Участник:Const|Const]] 12:05, 8 декабря 2010 (UTC)
==== R ====
В числе собранных исполняемых файлов фигурирует файл с именем R. В ALT Linux есть уже такой файл - в пакете R-base. Это просто "тёзки" или выполняют аналогичные функции? Просто если "тёзки", придётся R из OpenFOAM либо ложить не в /usr/bin, а куда-то ещё, либо переименовать. Если его, конечно, не используют другие программы из OpenFOAM. [[Участник:Real|real]] 16:54, 5 декабря 2010 (UTC)
Это «тёзки». Цитирую из описания (http://www.openfoam.com/docs/user/standard-utilities.php):
R: Calculates and writes the Reynolds stress R for the current time step
Сильно опасаюсь, что под таким именем может быть зашит в нескольких местах в коде.
Попробую спросить у работающих с кодом людей. --[[Участник:Const|Const]] 07:18, 7 декабря 2010 (UTC)
* Значит, придётся переименовывать. Насчёт зашивки в код - буду разбираться... [[Участник:Real|real]] 07:24, 7 декабря 2010 (UTC)
** Я вопрос забросил: [http://www.freecae.ru/forums.php?m=posts&q=181&n=last#bottom] поглядим, что ответят люди, активно работающие с. --[[Участник:Const|Const]] 07:52, 7 декабря 2010 (UTC)
*** Хорошо, не забудьте сюда отсигналить, как будет что-то. [[Участник:Real|real]] 07:55, 7 декабря 2010 (UTC)
**** Итак, имею ответ: «R  в OF есть утилита, которая для моделей турбулентности RANS (Рейнольдс-осреднённые Навье-Стокс), вычисляет все доступные характеристики турбулентности на основе решённой задачи (из интенсивности получить характерную длину или энергию и т.д., в том числе компоненты тензора рейнольдсовских напряжений). Она выполняется отдельно, после окончания расчёта. Переименовать её, наверное, можно...» Таким образом, предлагаю назвать Rstress или stressR и толстыми буквами указать это в документации. --[[Участник:Const|Const]] 16:17, 8 декабря 2010 (UTC)
***** Значит, будет Rstress. [[Участник:Real|real]] 16:24, 8 декабря 2010 (UTC)
****** Вот и ещё один ответ подоспел: «R из дитрибутива OpenFOAM вычисляет тензор напряжений Рейнольдса по заданному полю скорости. Это вполне самостоятельное приложение, которое используется пользователем только на стадии обработки полученных расчетных данных (то есть ни из каких других библиотек или программ OpenFOAM он не вызывается). Можно спокойно переименовать (например, calcR или foamR)». Кстати, foamR — идея хорошая, по-моему. --[[Участник:Const|Const]] 03:46, 9 декабря 2010 (UTC)
==== Используемые файлы ====
Какие файлы из исходников используются собранными исполняемыми файлами и библиотеками?
Файлы из подкаталога etc, думаю, точно не следует упаковывать, отдавая всё в руки пользователя (т.е. работаем с настройками не в /erc/bashrc, а в ~/.bashrc), если в этом действиетльно есть необходимость. Что, конечно, надо будет обозначить в %description. [[Участник:Real|real]] 17:11, 5 декабря 2010 (UTC)
* Там прописаны переменные окружения, задающие пути и имена. Если ставить OpenFOAM глобально, их надо править и класть куда-то в /etc/OpenFOAM, естественно, обозначив в описании, как их можно вызвать или где прописать их автоматический вызов. --[[Участник:Const|Const]] 07:22, 7 декабря 2010 (UTC)
** Не факт, что эти пути нужны будут (если исполняемые файлы лежат в /usr/bin, а библиотеки - в /usr/lib, никаких путей к ним не нужно), но надо проверять, конечно - возможно, это тоже где-то в код зашивается. [[Участник:Real|real]] 07:33, 7 декабря 2010 (UTC)
*** Часть нижеприведённых переменных окружения не являются стандартными и будет нужна. С другой стороны, их уже можно будет и в /etc/bashrc.d/openfoam.sh прописать.
<pre>$ set | grep WM
WM_ARCH=linux
WM_ARCH_OPTION=64
WM_COMPILER=Gcc
WM_COMPILE_OPTION=Opt
WM_DIR=/home/const/OpenFOAM/OpenFOAM-1.7.1/wmake
WM_LINK_LANGUAGE=c++
WM_MPLIB=OPENMPI
WM_NCOMPPROCS=2
WM_OPTIONS=linuxGccDPOpt
WM_OSTYPE=POSIX
WM_PRECISION_OPTION=DP
WM_PROJECT=OpenFOAM
WM_PROJECT_DIR=/home/const/OpenFOAM/OpenFOAM-1.7.1
WM_PROJECT_INST_DIR=/home/const/OpenFOAM
WM_PROJECT_USER_DIR=/home/const/OpenFOAM/const-1.7.1
WM_PROJECT_VERSION=1.7.1
WM_THIRD_PARTY_DIR=/home/const/OpenFOAM/ThirdParty-1.7.1
$ set | grep FOAM
FOAM_APP=/home/const/OpenFOAM/OpenFOAM-1.7.1/applications
FOAM_APPBIN=/home/const/OpenFOAM/OpenFOAM-1.7.1/applications/bin/linuxGccDPOpt
FOAM_INST_DIR=/home/const/OpenFOAM
FOAM_JOB_DIR=/home/const/OpenFOAM/jobControl
FOAM_LIB=/home/const/OpenFOAM/OpenFOAM-1.7.1/lib
FOAM_LIBBIN=/home/const/OpenFOAM/OpenFOAM-1.7.1/lib/linuxGccDPOpt
FOAM_MPI_LIBBIN=/home/const/OpenFOAM/OpenFOAM-1.7.1/lib/linuxGccDPOpt/openmpi-1.4.1
FOAM_RUN=/home/const/OpenFOAM/const-1.7.1/run
FOAM_SIGFPE=
FOAM_SITE_APPBIN=/home/const/OpenFOAM/site/1.7.1/bin/linuxGccDPOpt
FOAM_SITE_LIBBIN=/home/const/OpenFOAM/site/1.7.1/lib/linuxGccDPOpt
FOAM_SOLVERS=/home/const/OpenFOAM/OpenFOAM-1.7.1/applications/solvers
FOAM_SRC=/home/const/OpenFOAM/OpenFOAM-1.7.1/src
FOAM_TUTORIALS=/home/const/OpenFOAM/OpenFOAM-1.7.1/tutorials
FOAM_USER_APPBIN=/home/const/OpenFOAM/const-1.7.1/applications/bin/linuxGccDPOpt
FOAM_USER_LIBBIN=/home/const/OpenFOAM/const-1.7.1/lib/linuxGccDPOpt
FOAM_UTILITIES=/home/const/OpenFOAM/OpenFOAM-1.7.1/applications/utilities
LD_LIBRARY_PATH=/home/const/OpenFOAM/ThirdParty-1.7.1/platforms/linuxGcc/paraview-3.8.0/lib/paraview-3.8:/home/const/OpenFOAM/OpenFOAM-1.7.1/lib/linuxGccDPOpt/openmpi-1.4.1:/home/const/OpenFOAM/ThirdParty-1.7.1/platforms/linuxGcc/openmpi-1.4.1/lib:/home/const/OpenFOAM/const-1.7.1/lib/linuxGccDPOpt:/home/const/OpenFOAM/site/1.7.1/lib/linuxGccDPOpt:/home/const/OpenFOAM/OpenFOAM-1.7.1/lib/linuxGccDPOpt:/home/const/OpenFOAM/OpenFOAM-1.7.1/lib/linuxGccDPOpt/dummy:/usr/lib/openmpi/lib
MANPATH=/home/const/OpenFOAM/ThirdParty-1.7.1/platforms/linuxGcc/openmpi-1.4.1/man:/usr/lib/openmpi/man:/usr/local/share/man:/usr/share/man/ru:/usr/share/man:/usr/X11R6/man:/usr/local/man:
MPI_ARCH_PATH=/home/const/OpenFOAM/ThirdParty-1.7.1/platforms/linuxGcc/openmpi-1.4.1
OLDPWD=/home/const/OpenFOAM/OpenFOAM-1.7.1/lib/linuxGccDPOpt
OPAL_PREFIX=/home/const/OpenFOAM/ThirdParty-1.7.1/platforms/linuxGcc/openmpi-1.4.1
PATH=/home/const/OpenFOAM/ThirdParty-1.7.1/platforms/linuxGcc/paraview-3.8.0/bin:/home/const/OpenFOAM/ThirdParty-1.7.1/platforms/linuxGcc/openmpi-1.4.1/bin:/home/const/OpenFOAM/const-1.7.1/applications/bin/linuxGccDPOpt:/home/const/OpenFOAM/site/1.7.1/bin/linuxGccDPOpt:/home/const/OpenFOAM/OpenFOAM-1.7.1/applications/bin/linuxGccDPOpt:/home/const/OpenFOAM/OpenFOAM-1.7.1/wmake:/home/const/OpenFOAM/OpenFOAM-1.7.1/bin:/usr/lib/kde4/bin:/usr/lib/kde4bin:/usr/lib/openmpi/bin:/home/const/bin:/usr/local/bin:/usr/bin:/bin:/usr/games:/usr/X11R6/bin
PV_PLUGIN_PATH=/home/const/OpenFOAM/OpenFOAM-1.7.1/lib/linuxGccDPOpt/paraview-3.8
PWD=/home/const/OpenFOAM/1
ParaView_DIR=/home/const/OpenFOAM/ThirdParty-1.7.1/platforms/linuxGcc/paraview-3.8.0
WM_DIR=/home/const/OpenFOAM/OpenFOAM-1.7.1/wmake
WM_PROJECT=OpenFOAM
WM_PROJECT_DIR=/home/const/OpenFOAM/OpenFOAM-1.7.1
WM_PROJECT_INST_DIR=/home/const/OpenFOAM
WM_PROJECT_USER_DIR=/home/const/OpenFOAM/const-1.7.1
WM_THIRD_PARTY_DIR=/home/const/OpenFOAM/ThirdParty-1.7.1
</pre>
**** В том-то и дело, что подавляющее большинство этих переменных нужны исключительно при сборке, если вообще не все. Но это, опять-таки, надо проверять, а у меня пока ещё до этапа установки дело не дошло: сейчас правится куча багов линковки, так что пока всё не разрулю, дальше двигаться не могу. Ну и факт, что сборки длится 3 часа, тоже налагает определённые ограничения на возможность всё быстро разрулить ;) [[Участник:Real|real]] 08:50, 7 декабря 2010 (UTC)
***** Могут понадобиться для работы и сборки локальных подпрограмм (оно позволяет это):
<pre>$ set | grep WM
WM_ARCH=linux
WM_ARCH_OPTION=64
WM_COMPILER=Gcc
WM_COMPILE_OPTION=Opt
WM_LINK_LANGUAGE=c++
WM_MPLIB=OPENMPI
WM_NCOMPPROCS=2
WM_OPTIONS=linuxGccDPOpt
WM_OSTYPE=POSIX
WM_PRECISION_OPTION=DP
WM_PROJECT_USER_DIR=/home/const/OpenFOAM/const-1.7.1
FOAM_RUN=/home/const/OpenFOAM/const-1.7.1/run
FOAM_SOLVERS=/home/const/OpenFOAM/OpenFOAM-1.7.1/applications/solvers
FOAM_TUTORIALS=/home/const/OpenFOAM/OpenFOAM-1.7.1/tutorials
FOAM_USER_APPBIN=/home/const/OpenFOAM/const-1.7.1/applications/bin/linuxGccDPOpt
FOAM_USER_LIBBIN=/home/const/OpenFOAM/const-1.7.1/lib/linuxGccDPOpt
LD_LIBRARY_PATH=/home/const/OpenFOAM/ThirdParty-1.7.1/platforms/linuxGcc/paraview-3.8.0/lib/paraview-3.8:/home/const/OpenFOAM/OpenFOAM-1.7.1/lib/linuxGccDPOpt/openmpi-1.4.1:/home/const/OpenFOAM/ThirdParty-1.7.1/platforms/linuxGcc/openmpi-1.4.1/lib:/home/const/OpenFOAM/const-1.7.1/lib/linuxGccDPOpt:/home/const/OpenFOAM/site/1.7.1/lib/linuxGccDPOpt:/home/const/OpenFOAM/OpenFOAM-1.7.1/lib/linuxGccDPOpt:/home/const/OpenFOAM/OpenFOAM-1.7.1/lib/linuxGccDPOpt/dummy:/usr/lib/openmpi/lib
MANPATH=/home/const/OpenFOAM/ThirdParty-1.7.1/platforms/linuxGcc/openmpi-1.4.1/man:/usr/lib/openmpi/man:/usr/local/share/man:/usr/share/man/ru:/usr/share/man:/usr/X11R6/man:/usr/local/man:
PATH=/home/const/OpenFOAM/const-1.7.1/applications/bin/linuxGccDPOpt:/home/const/OpenFOAM/site/1.7.1/bin/linuxGccDPOpt:/home/const/OpenFOAM/OpenFOAM-1.7.1/applications/bin/linuxGccDPOpt:
WM_PROJECT=OpenFOAM
WM_PROJECT_USER_DIR=/home/const/OpenFOAM/const-1.7.1
</pre>--[[Участник:Const|Const]] 09:11, 7 декабря 2010 (UTC)
****** Хорошо, посмотрим. Получается, файлы *.o, лежащие с библиотеками, тоже нужно упаковывать? Получается, нужен подпакет devel. А хедеры какие нужны? Их по проекту куча в разных местах и многие дублируют друг друга.
******* Видимо, исходники в каком-то виде придётся оставлять. Могут понадобиться. Возможен вариант с пакетами OpenFOAM, OpenFOAM-doc (примеры сюда же поместить), OpenFOAM-devel и OpenFOAM-src? --[[Участник:Const|Const]] 17:23, 8 декабря 2010 (UTC)
******** doc и tutorials я собираюсь паковать отдельно. В devel пихать не знаю пока что, кроме *.o. Насчёт src - всё целиком? Возможно, но тогда нужно будет прописать зависимость на него у devel. В общем, подумаем. Я сейчас готовлю первую сборку без devel и src, потому что сначала надо потестировать на предмет возможных глюков хотя бы то, что собралось. Ну и PV3FoamReader у них настолько кривой, что категорически отказывается собираться (надо же, оно при помощи cmake собирается, который должен облегчать сборку, а тут полный дурдом). Так что потребуется поиск в интернете на предмет наличия товарищей по несчастью, может быть, кто-то это и вылечил. Короче, сам апстрим тоже надо бы полечить, если это лечится :) . Можете посмотреть в моём гите на последний коммит, сколько ушло сил на то, чтобы починить линковку. [[Участник:Real|real]] 17:37, 8 декабря 2010 (UTC)
********* FoamReader у них, по-моему завязан на исходники paraview и собирается сразу после оного (по крайней мере, пользователи OF мне рекомендовали их пересобирать парой). Но, конечно, выглядит жутко. Пока можно обойтись foamToVTK — главное с чего-то начать. --[[Участник:Const|Const]] 18:10, 8 декабря 2010 (UTC)
==== Недолинковки ====
Некоторые библиотеки и исполняемые файлы недолинкованы, поэтому часть зависимых файлов просто не собирается. Приходится прочёсывать лог сборки на предмет наличия фраз "undefined reference" и "undefined symbol" и править соответствующие конфиги - файлы options, лежащие подкаталогах Make каталогов, где собираются соответствующие файлы. [[Участник:Real|real]] 17:11, 5 декабря 2010 (UTC)
''Дополнение'': проверьте, каких файлов из списка ниже у Вас нет (к постпроцессингу пока не приступал). [[Участник:Real|real]] 17:33, 5 декабря 2010 (UTC)
==== Собранные файлы ====
1. Исполняемые:
<pre>Co
IFCLookUpTableGen
Lambda2
MRFInterFoam
MRFMultiphaseInterFoam
Mach
PDRFoam
Pe
Q
R
XiFoam
adiabaticFlameT
ansysToFoam
applyBoundaryLayer
applyWallFunctionBoundaryConditions
attachMesh
autoPatch
autoRefineMesh
blockMesh
boundaryFoam
boxTurb
bubbleFoam
buoyantBoussinesqPimpleFoam
buoyantBoussinesqSimpleFoam
buoyantPimpleFoam
buoyantSimpleFoam
buoyantSimpleRadiationFoam
cavitatingFoam
cellSet
cfx4ToFoam
changeDictionary
channelFoam
checkMesh
chemkinToFoam
chtMultiRegionFoam
chtMultiRegionSimpleFoam
coalChemistryFoam
coldEngineFoam
collapseEdges
combinePatchFaces
compressibleInterDyMFoam
compressibleInterFoam
createBaffles
createPatch
createTurbulenceFields
decomposePar
deformedGeom
dieselEngineFoam
dieselFoam
dnsFoam
dsmcFieldsCalc
dsmcFoam
dsmcInitialise
electrostaticFoam
engineCompRatio
engineFoam
engineSwirl
enstrophy
equilibriumCO
equilibriumFlameT
estimateScalarError
execFlowFunctionObjects
expandDictionary
extrude2DMesh
extrudeMesh
faceSet
financialFoam
fireFoam
flattenMesh
flowType
fluent3DMeshToFoam
fluentMeshToFoam
foamCalc
foamDataToFluent
foamDebugSwitches
foamFormatConvert
foamInfoExec
foamMeshToFluent
foamToEnsight
foamToEnsightParts
foamToFieldview9
foamToGMV
foamToStarMesh
foamToTecplot360
foamToVTK
foamUpgradeFvSolution
gambitToFoam
gmshToFoam
icoErrorEstimate
icoFoam
icoMomentError
ideasUnvToFoam
insideCells
interDyMFoam
interFoam
interMixingFoam
interPhaseChangeFoam
kivaToFoam
laplacianFoam
mapFields
mdEquilibrationFoam
mdFoam
mdInitialise
mergeMeshes
mergeOrSplitBaffles
mgridgen
mhdFoam
mirrorMesh
mixtureAdiabaticFlameT
modifyMesh
momentScalarError
moveDynamicMesh
moveEngineMesh
moveMesh
mshToFoam
multiphaseInterFoam
netgenNeutralToFoam
nonNewtonianIcoFoam
objToVTK
pPrime2
particleTracks
patchAverage
patchIntegrate
patchSummary
pdfPlot
pimpleDyMFoam
pimpleFoam
pisoFoam
plot3dToFoam
pointSet
polyDualMesh
porousExplicitSourceReactingParcelFoam
porousInterFoam
porousSimpleFoam
postChannel
potentialFoam
probeLocations
ptot
reactingFoam
reactingParcelFoam
reconstructPar
reconstructParMesh
redistributeMeshPar
refineHexMesh
refineMesh
refineWallLayer
refinementLevel
removeFaces
renumberMesh
rhoCentralDyMFoam
rhoCentralFoam
rhoPimpleFoam
rhoPisoFoam
rhoPorousMRFPimpleFoam
rhoPorousSimpleFoam
rhoReactingFoam
rhoSimpleFoam
rotateMesh
sammToFoam
sample
scalarTransportFoam
selectCells
setFields
setSet
setsToZones
settlingFoam
shallowWaterFoam
simpleFoam
smapToFoam
snappyHexMesh
solidDisplacementFoam
solidEquilibriumDisplacementFoam
sonicDyMFoam
sonicFoam
sonicLiquidFoam
splitCells
splitMesh
splitMeshRegions
star4ToFoam
starToFoam
stitchMesh
streamFunction
stressComponents
subsetMesh
surfaceAdd
surfaceAutoPatch
surfaceCheck
surfaceClean
surfaceCoarsen
surfaceConvert
surfaceFeatureConvert
surfaceFeatureExtract
surfaceFind
surfaceMeshConvert
surfaceMeshConvertTesting
surfaceMeshExport
surfaceMeshImport
surfaceMeshTriangulate
surfaceOrient
surfacePointMerge
surfaceRedistributePar
surfaceRefineRedGreen
surfaceSmooth
surfaceSplitByPatch
surfaceSplitNonManifolds
surfaceSubset
surfaceToPatch
surfaceTransformPoints
tetgenToFoam
transformPoints
twoLiquidMixingFoam
twoPhaseEulerFoam
uncoupledKinematicParcelFoam
uprime
vorticity
wallGradU
wallHeatFlux
wallShearStress
wdot
writeCellCentres
writeMeshObj
yPlusLES
yPlusRAS
zipUpMesh</pre>
* У меня явно нет химии:
<pre>$ diff const real
26a27,28
> coalChemistryFoam
> coldEngineFoam
35a38,39
> dieselEngineFoam
> dieselFoam
41a46
> engineFoam
52a58
> fireFoam
67a74
> foamToTecplot360
91a99
> mgridgen
119a128
> porousExplicitSourceReactingParcelFoam
128a138,139
> reactingFoam
> reactingParcelFoam
143a155
> rhoReactingFoam
150a163
> setSet
198a212
> uncoupledKinematicParcelFoam
206a221
> XiFoam
</pre>
--[[Участник:Const|Const]] 07:13, 7 декабря 2010 (UTC)
2. Библиотеки:
<pre>libEulerianInterfacialModels.so
libIMlib.so
libIOFunctionObjects.so
libLESdeltas.so
libLESfilters.so
libMGridGen.so
libMGridGenGAMGAgglomeration.so
libODE.so
libOpenFOAM.so
libPstream.so
libautoMesh.so
libbarotropicCompressibilityModel.so
libbasicThermophysicalModels.so
libchemistryModel.so
libcoalCombustion.so
libcombustionModels.so
libcompressibleLESModels.so
libcompressibleRASModels.so
libcompressibleTurbulenceModel.so
libconversion.so
libdecompositionMethods.so
libdieselSpray.so
libdsmc.so
libdynamicFvMesh.so
libdynamicMesh.so
libedgeMesh.so
libengine.so
liberrorEstimation.so
libextrudeModel.so
libfieldFunctionObjects.so
libfiniteVolume.so
libfoamCalcFunctions.so
libforces.so
libfvMotionSolvers.so
libgenericPatchFields.so
libincompressibleLESModels.so
libincompressibleRASModels.so
libincompressibleTransportModels.so
libincompressibleTurbulenceModel.so
libinterfaceProperties.so
libkineticTheoryModel.so
liblagrangian.so
liblagrangianIntermediate.so
liblaminarFlameSpeedModels.so
libliquidMixture.so
libliquids.so
libmeshTools.so
libmetisDecomp.so
libmolecularMeasurements.so
libmolecule.so
libmultiphaseInterFoam.so
libpdf.so
libparMetisDecomp.so
libphaseModel.so
libpotential.so
libradiation.so
librandomProcesses.so
libreactionThermophysicalModels.so
librhoCentralFoam.so
libsampling.so
libscotchDecomp.so
libsolidMixture.so
libsolidParticle.so
libsolids.so
libspecie.so
libsurfMesh.so
libsystemCall.so
libtecio.so
libthermophysicalFunctions.so
libtopoChangerFvMesh.so
libtriSurface.so
libuserd-foam.so
libutilityFunctionObjects.so</pre>
* Тут в другую сторону различие:
<pre>$ diff const real
27d26
< libGKlib.so
45,46d43
< libmetis-parmetis.so
< libmetis.so
54d50
< libOSspecific.o
56d51
< libparmetis.so
61,62d55
< libptscotcherrexit.so
< libptscotch.so
69,70d61
< libscotcherrexit.so
< libscotch.so
76a68
> libtecio.so
82d73
< postCalc.o</pre>
--[[Участник:Const|Const]] 07:13, 7 декабря 2010 (UTC)
** С libGKlib.so разберусь, файлы *.o я не указывал, потому что они вряд ли могут пригодиться (если ошибаюсь, это потом выскочит, и я их тоже запакую), а остальные у нас в сизифе есть. Только libmetis-parmetis.so у нас называется libparmetis.so. [[Участник:Real|real]] 07:31, 7 декабря 2010 (UTC)
** libGKlib.so используется только libmetis.so, но поскольку у нас есть сизифный, эта библиотека не нужна.

Текущая версия от 06:46, 9 декабря 2010

Ошибки конфигурации

Посмотрите здесь: http://git.altlinux.org/people/real/packages/openfoam.git

Там в корне создан файл build.log, поглядев в его конец, увидите, на чём лопнуло моё терпение :)

  • хм.. не было у меня ТАКИХ ошибок. Оно, правда, я для 32-бит собирать пытался. Могу в понедельник повторить сборку и сбросить лог, может, сумеете что подсоветовать. --Const 16:14, 3 декабря 2010 (UTC)
    • Я тут пока на одном компе одну долгую штуку собираю, на другом пытаюсь по Вашим добавлениям снова за OpenFOAM взяться. Ошибки довольно смешные, учитывая, что хедеры лежат в каталоге самого OpenFOAM, просто возиться с ним надоело. Вы их могли не увидеть, потому что сборка после таких ошибок продолжается, как будто ничего не было. real 16:34, 3 декабря 2010 (UTC)
      • Возможно. Даже очень возможно. Плохо, что некоторая привычка к OF успела появиться. Что характерно, раньше (до версии 1.6) существовали бинарные сборки у них, завязанные сами на себя. Их тупо разворачивал, даже не пытаясь пересобрать, — и работало (вру! vtkPV3Foam пересобирать приходилось). Видимо, придётся смириться, и собирать и ThirdParty, хоть и не нравится ;(
        • Левые ThirdParty собирать лучше не надо, там только ParMGridGen нужен, остальное всё есть в сизифе. Хотя, если только под себя собирать, то хозяин сам себе боярин, конечно... А vtk у Вас из сизифа или тоже сами собирали? real 16:55, 3 декабря 2010 (UTC)
          • Оп-па. А про vtk ничего не скажу! Всё, чтоб не врать — до понедельника морожусь.
          • Итак, что могу сейчас сказать:
          • 1. vtk системный не установлен, следовательно использует свой.
            • Плохо. real 17:54, 6 декабря 2010 (UTC)
              • Надо будет с системным попробовать. --Const 08:08, 7 декабря 2010 (UTC)
          • 2. Тесты на одиночной системе считает.
          • 3. Данные для paraview можно подготовить посредством foamToVTK
          • 4. Системный paraview подозрительно легко падает, будем посмотреть ;)
            • Так надо смотреть, что пишет перед падением, и прямиком в bugzilla. real 17:54, 6 декабря 2010 (UTC)
            • Отбой. Пардон, всё забываю, что Вы paraview из ThirdParty собираете, а не сизифный используете. real 06:36, 7 декабря 2010 (UTC)
              • Сейчас как раз Сизифный parawiev использую, и не собираю из ThirdParty (отчего и проблема с импортом данных выползает). --Const 08:08, 7 декабря 2010 (UTC)
                • Пока ничего не могу сказать по этому поводу. Вы пока опишите поконкретней, какой файл и каким образом открываете (название исполняемого файла, пункт меню и т.п.), а я, когда доберусь до этого, буду уже тестировать.
                  • Беру тесты icoFoam (~/OpenFOAM/OpenFOAM-1.7.1/tutorials/incompressible/icoFoam), копирую к себе и запускаю все разом (Allrun). Затем иду в подкаталог caviti (моделируется течение вязкой несжимаемой жидкости в квадратной каверне с движущейся крышкой, область 20х20х1). Перегоняю данные в VTK (вызываю foamToVTK) — создаётся подкаталог VTK. Вызываю paraview, открываю из подкаталога VTK метафайл cavity..vtk и начинаю обработку. При любой попытке посмотреть распределение давления (если надо — опишу пошагово, где) paraview падает с сообщением
$ paraview
Error: Floating point exception detected. Signal 8
Аварийный останов

--Const 09:03, 7 декабря 2010 (UTC)

                    • Да, пошагово лучше, чтоб долго не искать. И пришлите или выложите куда-нибудь файл, который открываете в paraview, посмотрю, что происходит. real 09:10, 7 декабря 2010 (UTC)
          • 5. По спискам пройдусь в ближайшее время — непотребно загрузили бумажками ;(
          • --Const 17:48, 6 декабря 2010 (UTC)

Глюк с paraview

Итак, имеем каталог VTK (Файл:CavityVTK.tar.gz), который получен из расчётных данных (Файл:Cavity.tar.gz) вызовом внутри каталога cavity утилиты fomaToVTK.

Внутри каталога VTK вызываем paraview.

Меню File/Open, выбираем метафайл cavity_..vtk.

Во фрейме «Pipeline browser» появляется раздел «cavity_*», глаз возле которого надо включить (во фрейме просмотра появляется серый квадрат).

Во фрейме «Object Inspector» выбираем закладку «Display».

Там имеется раздел «Color» и выбор «Color by». Если тут выбрать предпоследний пункт «p» — paraview падает.

Падение при некоторых иных действиях также происходит, — но это самый «надёжный» вариант. --Const 09:31, 7 декабря 2010 (UTC)

  • Поймал причину падения, повесил багу #24714 на paraview --Const 12:05, 8 декабря 2010 (UTC)

R

В числе собранных исполняемых файлов фигурирует файл с именем R. В ALT Linux есть уже такой файл - в пакете R-base. Это просто "тёзки" или выполняют аналогичные функции? Просто если "тёзки", придётся R из OpenFOAM либо ложить не в /usr/bin, а куда-то ещё, либо переименовать. Если его, конечно, не используют другие программы из OpenFOAM. real 16:54, 5 декабря 2010 (UTC)

Это «тёзки». Цитирую из описания (http://www.openfoam.com/docs/user/standard-utilities.php):

R: Calculates and writes the Reynolds stress R for the current time step 

Сильно опасаюсь, что под таким именем может быть зашит в нескольких местах в коде. Попробую спросить у работающих с кодом людей. --Const 07:18, 7 декабря 2010 (UTC)

  • Значит, придётся переименовывать. Насчёт зашивки в код - буду разбираться... real 07:24, 7 декабря 2010 (UTC)
    • Я вопрос забросил: [1] поглядим, что ответят люди, активно работающие с. --Const 07:52, 7 декабря 2010 (UTC)
      • Хорошо, не забудьте сюда отсигналить, как будет что-то. real 07:55, 7 декабря 2010 (UTC)
        • Итак, имею ответ: «R в OF есть утилита, которая для моделей турбулентности RANS (Рейнольдс-осреднённые Навье-Стокс), вычисляет все доступные характеристики турбулентности на основе решённой задачи (из интенсивности получить характерную длину или энергию и т.д., в том числе компоненты тензора рейнольдсовских напряжений). Она выполняется отдельно, после окончания расчёта. Переименовать её, наверное, можно...» Таким образом, предлагаю назвать Rstress или stressR и толстыми буквами указать это в документации. --Const 16:17, 8 декабря 2010 (UTC)
          • Значит, будет Rstress. real 16:24, 8 декабря 2010 (UTC)
            • Вот и ещё один ответ подоспел: «R из дитрибутива OpenFOAM вычисляет тензор напряжений Рейнольдса по заданному полю скорости. Это вполне самостоятельное приложение, которое используется пользователем только на стадии обработки полученных расчетных данных (то есть ни из каких других библиотек или программ OpenFOAM он не вызывается). Можно спокойно переименовать (например, calcR или foamR)». Кстати, foamR — идея хорошая, по-моему. --Const 03:46, 9 декабря 2010 (UTC)

Используемые файлы

Какие файлы из исходников используются собранными исполняемыми файлами и библиотеками?

Файлы из подкаталога etc, думаю, точно не следует упаковывать, отдавая всё в руки пользователя (т.е. работаем с настройками не в /erc/bashrc, а в ~/.bashrc), если в этом действиетльно есть необходимость. Что, конечно, надо будет обозначить в %description. real 17:11, 5 декабря 2010 (UTC)

  • Там прописаны переменные окружения, задающие пути и имена. Если ставить OpenFOAM глобально, их надо править и класть куда-то в /etc/OpenFOAM, естественно, обозначив в описании, как их можно вызвать или где прописать их автоматический вызов. --Const 07:22, 7 декабря 2010 (UTC)
    • Не факт, что эти пути нужны будут (если исполняемые файлы лежат в /usr/bin, а библиотеки - в /usr/lib, никаких путей к ним не нужно), но надо проверять, конечно - возможно, это тоже где-то в код зашивается. real 07:33, 7 декабря 2010 (UTC)
      • Часть нижеприведённых переменных окружения не являются стандартными и будет нужна. С другой стороны, их уже можно будет и в /etc/bashrc.d/openfoam.sh прописать.
$ set | grep WM
WM_ARCH=linux
WM_ARCH_OPTION=64
WM_COMPILER=Gcc
WM_COMPILE_OPTION=Opt
WM_DIR=/home/const/OpenFOAM/OpenFOAM-1.7.1/wmake
WM_LINK_LANGUAGE=c++
WM_MPLIB=OPENMPI
WM_NCOMPPROCS=2
WM_OPTIONS=linuxGccDPOpt
WM_OSTYPE=POSIX
WM_PRECISION_OPTION=DP
WM_PROJECT=OpenFOAM
WM_PROJECT_DIR=/home/const/OpenFOAM/OpenFOAM-1.7.1
WM_PROJECT_INST_DIR=/home/const/OpenFOAM
WM_PROJECT_USER_DIR=/home/const/OpenFOAM/const-1.7.1
WM_PROJECT_VERSION=1.7.1
WM_THIRD_PARTY_DIR=/home/const/OpenFOAM/ThirdParty-1.7.1
$ set | grep FOAM
FOAM_APP=/home/const/OpenFOAM/OpenFOAM-1.7.1/applications
FOAM_APPBIN=/home/const/OpenFOAM/OpenFOAM-1.7.1/applications/bin/linuxGccDPOpt
FOAM_INST_DIR=/home/const/OpenFOAM
FOAM_JOB_DIR=/home/const/OpenFOAM/jobControl
FOAM_LIB=/home/const/OpenFOAM/OpenFOAM-1.7.1/lib
FOAM_LIBBIN=/home/const/OpenFOAM/OpenFOAM-1.7.1/lib/linuxGccDPOpt
FOAM_MPI_LIBBIN=/home/const/OpenFOAM/OpenFOAM-1.7.1/lib/linuxGccDPOpt/openmpi-1.4.1
FOAM_RUN=/home/const/OpenFOAM/const-1.7.1/run
FOAM_SIGFPE=
FOAM_SITE_APPBIN=/home/const/OpenFOAM/site/1.7.1/bin/linuxGccDPOpt
FOAM_SITE_LIBBIN=/home/const/OpenFOAM/site/1.7.1/lib/linuxGccDPOpt
FOAM_SOLVERS=/home/const/OpenFOAM/OpenFOAM-1.7.1/applications/solvers
FOAM_SRC=/home/const/OpenFOAM/OpenFOAM-1.7.1/src
FOAM_TUTORIALS=/home/const/OpenFOAM/OpenFOAM-1.7.1/tutorials
FOAM_USER_APPBIN=/home/const/OpenFOAM/const-1.7.1/applications/bin/linuxGccDPOpt
FOAM_USER_LIBBIN=/home/const/OpenFOAM/const-1.7.1/lib/linuxGccDPOpt
FOAM_UTILITIES=/home/const/OpenFOAM/OpenFOAM-1.7.1/applications/utilities
LD_LIBRARY_PATH=/home/const/OpenFOAM/ThirdParty-1.7.1/platforms/linuxGcc/paraview-3.8.0/lib/paraview-3.8:/home/const/OpenFOAM/OpenFOAM-1.7.1/lib/linuxGccDPOpt/openmpi-1.4.1:/home/const/OpenFOAM/ThirdParty-1.7.1/platforms/linuxGcc/openmpi-1.4.1/lib:/home/const/OpenFOAM/const-1.7.1/lib/linuxGccDPOpt:/home/const/OpenFOAM/site/1.7.1/lib/linuxGccDPOpt:/home/const/OpenFOAM/OpenFOAM-1.7.1/lib/linuxGccDPOpt:/home/const/OpenFOAM/OpenFOAM-1.7.1/lib/linuxGccDPOpt/dummy:/usr/lib/openmpi/lib
MANPATH=/home/const/OpenFOAM/ThirdParty-1.7.1/platforms/linuxGcc/openmpi-1.4.1/man:/usr/lib/openmpi/man:/usr/local/share/man:/usr/share/man/ru:/usr/share/man:/usr/X11R6/man:/usr/local/man:
MPI_ARCH_PATH=/home/const/OpenFOAM/ThirdParty-1.7.1/platforms/linuxGcc/openmpi-1.4.1
OLDPWD=/home/const/OpenFOAM/OpenFOAM-1.7.1/lib/linuxGccDPOpt
OPAL_PREFIX=/home/const/OpenFOAM/ThirdParty-1.7.1/platforms/linuxGcc/openmpi-1.4.1
PATH=/home/const/OpenFOAM/ThirdParty-1.7.1/platforms/linuxGcc/paraview-3.8.0/bin:/home/const/OpenFOAM/ThirdParty-1.7.1/platforms/linuxGcc/openmpi-1.4.1/bin:/home/const/OpenFOAM/const-1.7.1/applications/bin/linuxGccDPOpt:/home/const/OpenFOAM/site/1.7.1/bin/linuxGccDPOpt:/home/const/OpenFOAM/OpenFOAM-1.7.1/applications/bin/linuxGccDPOpt:/home/const/OpenFOAM/OpenFOAM-1.7.1/wmake:/home/const/OpenFOAM/OpenFOAM-1.7.1/bin:/usr/lib/kde4/bin:/usr/lib/kde4bin:/usr/lib/openmpi/bin:/home/const/bin:/usr/local/bin:/usr/bin:/bin:/usr/games:/usr/X11R6/bin
PV_PLUGIN_PATH=/home/const/OpenFOAM/OpenFOAM-1.7.1/lib/linuxGccDPOpt/paraview-3.8
PWD=/home/const/OpenFOAM/1
ParaView_DIR=/home/const/OpenFOAM/ThirdParty-1.7.1/platforms/linuxGcc/paraview-3.8.0
WM_DIR=/home/const/OpenFOAM/OpenFOAM-1.7.1/wmake
WM_PROJECT=OpenFOAM
WM_PROJECT_DIR=/home/const/OpenFOAM/OpenFOAM-1.7.1
WM_PROJECT_INST_DIR=/home/const/OpenFOAM
WM_PROJECT_USER_DIR=/home/const/OpenFOAM/const-1.7.1
WM_THIRD_PARTY_DIR=/home/const/OpenFOAM/ThirdParty-1.7.1
        • В том-то и дело, что подавляющее большинство этих переменных нужны исключительно при сборке, если вообще не все. Но это, опять-таки, надо проверять, а у меня пока ещё до этапа установки дело не дошло: сейчас правится куча багов линковки, так что пока всё не разрулю, дальше двигаться не могу. Ну и факт, что сборки длится 3 часа, тоже налагает определённые ограничения на возможность всё быстро разрулить ;) real 08:50, 7 декабря 2010 (UTC)
          • Могут понадобиться для работы и сборки локальных подпрограмм (оно позволяет это):
$ set | grep WM
WM_ARCH=linux
WM_ARCH_OPTION=64
WM_COMPILER=Gcc
WM_COMPILE_OPTION=Opt
WM_LINK_LANGUAGE=c++
WM_MPLIB=OPENMPI
WM_NCOMPPROCS=2
WM_OPTIONS=linuxGccDPOpt
WM_OSTYPE=POSIX
WM_PRECISION_OPTION=DP
WM_PROJECT_USER_DIR=/home/const/OpenFOAM/const-1.7.1
FOAM_RUN=/home/const/OpenFOAM/const-1.7.1/run
FOAM_SOLVERS=/home/const/OpenFOAM/OpenFOAM-1.7.1/applications/solvers
FOAM_TUTORIALS=/home/const/OpenFOAM/OpenFOAM-1.7.1/tutorials
FOAM_USER_APPBIN=/home/const/OpenFOAM/const-1.7.1/applications/bin/linuxGccDPOpt
FOAM_USER_LIBBIN=/home/const/OpenFOAM/const-1.7.1/lib/linuxGccDPOpt
LD_LIBRARY_PATH=/home/const/OpenFOAM/ThirdParty-1.7.1/platforms/linuxGcc/paraview-3.8.0/lib/paraview-3.8:/home/const/OpenFOAM/OpenFOAM-1.7.1/lib/linuxGccDPOpt/openmpi-1.4.1:/home/const/OpenFOAM/ThirdParty-1.7.1/platforms/linuxGcc/openmpi-1.4.1/lib:/home/const/OpenFOAM/const-1.7.1/lib/linuxGccDPOpt:/home/const/OpenFOAM/site/1.7.1/lib/linuxGccDPOpt:/home/const/OpenFOAM/OpenFOAM-1.7.1/lib/linuxGccDPOpt:/home/const/OpenFOAM/OpenFOAM-1.7.1/lib/linuxGccDPOpt/dummy:/usr/lib/openmpi/lib
MANPATH=/home/const/OpenFOAM/ThirdParty-1.7.1/platforms/linuxGcc/openmpi-1.4.1/man:/usr/lib/openmpi/man:/usr/local/share/man:/usr/share/man/ru:/usr/share/man:/usr/X11R6/man:/usr/local/man:
PATH=/home/const/OpenFOAM/const-1.7.1/applications/bin/linuxGccDPOpt:/home/const/OpenFOAM/site/1.7.1/bin/linuxGccDPOpt:/home/const/OpenFOAM/OpenFOAM-1.7.1/applications/bin/linuxGccDPOpt:
WM_PROJECT=OpenFOAM
WM_PROJECT_USER_DIR=/home/const/OpenFOAM/const-1.7.1

--Const 09:11, 7 декабря 2010 (UTC)

            • Хорошо, посмотрим. Получается, файлы *.o, лежащие с библиотеками, тоже нужно упаковывать? Получается, нужен подпакет devel. А хедеры какие нужны? Их по проекту куча в разных местах и многие дублируют друг друга.
              • Видимо, исходники в каком-то виде придётся оставлять. Могут понадобиться. Возможен вариант с пакетами OpenFOAM, OpenFOAM-doc (примеры сюда же поместить), OpenFOAM-devel и OpenFOAM-src? --Const 17:23, 8 декабря 2010 (UTC)
                • doc и tutorials я собираюсь паковать отдельно. В devel пихать не знаю пока что, кроме *.o. Насчёт src - всё целиком? Возможно, но тогда нужно будет прописать зависимость на него у devel. В общем, подумаем. Я сейчас готовлю первую сборку без devel и src, потому что сначала надо потестировать на предмет возможных глюков хотя бы то, что собралось. Ну и PV3FoamReader у них настолько кривой, что категорически отказывается собираться (надо же, оно при помощи cmake собирается, который должен облегчать сборку, а тут полный дурдом). Так что потребуется поиск в интернете на предмет наличия товарищей по несчастью, может быть, кто-то это и вылечил. Короче, сам апстрим тоже надо бы полечить, если это лечится :) . Можете посмотреть в моём гите на последний коммит, сколько ушло сил на то, чтобы починить линковку. real 17:37, 8 декабря 2010 (UTC)
                  • FoamReader у них, по-моему завязан на исходники paraview и собирается сразу после оного (по крайней мере, пользователи OF мне рекомендовали их пересобирать парой). Но, конечно, выглядит жутко. Пока можно обойтись foamToVTK — главное с чего-то начать. --Const 18:10, 8 декабря 2010 (UTC)

Недолинковки

Некоторые библиотеки и исполняемые файлы недолинкованы, поэтому часть зависимых файлов просто не собирается. Приходится прочёсывать лог сборки на предмет наличия фраз "undefined reference" и "undefined symbol" и править соответствующие конфиги - файлы options, лежащие подкаталогах Make каталогов, где собираются соответствующие файлы. real 17:11, 5 декабря 2010 (UTC)

Дополнение: проверьте, каких файлов из списка ниже у Вас нет (к постпроцессингу пока не приступал). real 17:33, 5 декабря 2010 (UTC)

Собранные файлы

1. Исполняемые:

Co
IFCLookUpTableGen
Lambda2
MRFInterFoam
MRFMultiphaseInterFoam
Mach
PDRFoam
Pe
Q
R
XiFoam
adiabaticFlameT
ansysToFoam
applyBoundaryLayer
applyWallFunctionBoundaryConditions
attachMesh
autoPatch
autoRefineMesh
blockMesh
boundaryFoam
boxTurb
bubbleFoam
buoyantBoussinesqPimpleFoam
buoyantBoussinesqSimpleFoam
buoyantPimpleFoam
buoyantSimpleFoam
buoyantSimpleRadiationFoam
cavitatingFoam
cellSet
cfx4ToFoam
changeDictionary
channelFoam
checkMesh
chemkinToFoam
chtMultiRegionFoam
chtMultiRegionSimpleFoam
coalChemistryFoam
coldEngineFoam
collapseEdges
combinePatchFaces
compressibleInterDyMFoam
compressibleInterFoam
createBaffles
createPatch
createTurbulenceFields
decomposePar
deformedGeom
dieselEngineFoam
dieselFoam
dnsFoam
dsmcFieldsCalc
dsmcFoam
dsmcInitialise
electrostaticFoam
engineCompRatio
engineFoam
engineSwirl
enstrophy
equilibriumCO
equilibriumFlameT
estimateScalarError
execFlowFunctionObjects
expandDictionary
extrude2DMesh
extrudeMesh
faceSet
financialFoam
fireFoam
flattenMesh
flowType
fluent3DMeshToFoam
fluentMeshToFoam
foamCalc
foamDataToFluent
foamDebugSwitches
foamFormatConvert
foamInfoExec
foamMeshToFluent
foamToEnsight
foamToEnsightParts
foamToFieldview9
foamToGMV
foamToStarMesh
foamToTecplot360
foamToVTK
foamUpgradeFvSolution
gambitToFoam
gmshToFoam
icoErrorEstimate
icoFoam
icoMomentError
ideasUnvToFoam
insideCells
interDyMFoam
interFoam
interMixingFoam
interPhaseChangeFoam
kivaToFoam
laplacianFoam
mapFields
mdEquilibrationFoam
mdFoam
mdInitialise
mergeMeshes
mergeOrSplitBaffles
mgridgen
mhdFoam
mirrorMesh
mixtureAdiabaticFlameT
modifyMesh
momentScalarError
moveDynamicMesh
moveEngineMesh
moveMesh
mshToFoam
multiphaseInterFoam
netgenNeutralToFoam
nonNewtonianIcoFoam
objToVTK
pPrime2
particleTracks
patchAverage
patchIntegrate
patchSummary
pdfPlot
pimpleDyMFoam
pimpleFoam
pisoFoam
plot3dToFoam
pointSet
polyDualMesh
porousExplicitSourceReactingParcelFoam
porousInterFoam
porousSimpleFoam
postChannel
potentialFoam
probeLocations
ptot
reactingFoam
reactingParcelFoam
reconstructPar
reconstructParMesh
redistributeMeshPar
refineHexMesh
refineMesh
refineWallLayer
refinementLevel
removeFaces
renumberMesh
rhoCentralDyMFoam
rhoCentralFoam
rhoPimpleFoam
rhoPisoFoam
rhoPorousMRFPimpleFoam
rhoPorousSimpleFoam
rhoReactingFoam
rhoSimpleFoam
rotateMesh
sammToFoam
sample
scalarTransportFoam
selectCells
setFields
setSet
setsToZones
settlingFoam
shallowWaterFoam
simpleFoam
smapToFoam
snappyHexMesh
solidDisplacementFoam
solidEquilibriumDisplacementFoam
sonicDyMFoam
sonicFoam
sonicLiquidFoam
splitCells
splitMesh
splitMeshRegions
star4ToFoam
starToFoam
stitchMesh
streamFunction
stressComponents
subsetMesh
surfaceAdd
surfaceAutoPatch
surfaceCheck
surfaceClean
surfaceCoarsen
surfaceConvert
surfaceFeatureConvert
surfaceFeatureExtract
surfaceFind
surfaceMeshConvert
surfaceMeshConvertTesting
surfaceMeshExport
surfaceMeshImport
surfaceMeshTriangulate
surfaceOrient
surfacePointMerge
surfaceRedistributePar
surfaceRefineRedGreen
surfaceSmooth
surfaceSplitByPatch
surfaceSplitNonManifolds
surfaceSubset
surfaceToPatch
surfaceTransformPoints
tetgenToFoam
transformPoints
twoLiquidMixingFoam
twoPhaseEulerFoam
uncoupledKinematicParcelFoam
uprime
vorticity
wallGradU
wallHeatFlux
wallShearStress
wdot
writeCellCentres
writeMeshObj
yPlusLES
yPlusRAS
zipUpMesh
  • У меня явно нет химии:
$ diff const real 
26a27,28
> coalChemistryFoam
> coldEngineFoam
35a38,39
> dieselEngineFoam
> dieselFoam
41a46
> engineFoam
52a58
> fireFoam
67a74
> foamToTecplot360
91a99
> mgridgen
119a128
> porousExplicitSourceReactingParcelFoam
128a138,139
> reactingFoam
> reactingParcelFoam
143a155
> rhoReactingFoam
150a163
> setSet
198a212
> uncoupledKinematicParcelFoam
206a221
> XiFoam

--Const 07:13, 7 декабря 2010 (UTC)

2. Библиотеки:

libEulerianInterfacialModels.so
libIMlib.so
libIOFunctionObjects.so
libLESdeltas.so
libLESfilters.so
libMGridGen.so
libMGridGenGAMGAgglomeration.so
libODE.so
libOpenFOAM.so
libPstream.so
libautoMesh.so
libbarotropicCompressibilityModel.so
libbasicThermophysicalModels.so
libchemistryModel.so
libcoalCombustion.so
libcombustionModels.so
libcompressibleLESModels.so
libcompressibleRASModels.so
libcompressibleTurbulenceModel.so
libconversion.so
libdecompositionMethods.so
libdieselSpray.so
libdsmc.so
libdynamicFvMesh.so
libdynamicMesh.so
libedgeMesh.so
libengine.so
liberrorEstimation.so
libextrudeModel.so
libfieldFunctionObjects.so
libfiniteVolume.so
libfoamCalcFunctions.so
libforces.so
libfvMotionSolvers.so
libgenericPatchFields.so
libincompressibleLESModels.so
libincompressibleRASModels.so
libincompressibleTransportModels.so
libincompressibleTurbulenceModel.so
libinterfaceProperties.so
libkineticTheoryModel.so
liblagrangian.so
liblagrangianIntermediate.so
liblaminarFlameSpeedModels.so
libliquidMixture.so
libliquids.so
libmeshTools.so
libmetisDecomp.so
libmolecularMeasurements.so
libmolecule.so
libmultiphaseInterFoam.so
libpdf.so
libparMetisDecomp.so
libphaseModel.so
libpotential.so
libradiation.so
librandomProcesses.so
libreactionThermophysicalModels.so
librhoCentralFoam.so
libsampling.so
libscotchDecomp.so
libsolidMixture.so
libsolidParticle.so
libsolids.so
libspecie.so
libsurfMesh.so
libsystemCall.so
libtecio.so
libthermophysicalFunctions.so
libtopoChangerFvMesh.so
libtriSurface.so
libuserd-foam.so
libutilityFunctionObjects.so
  • Тут в другую сторону различие:
$ diff const real
27d26
< libGKlib.so
45,46d43
< libmetis-parmetis.so
< libmetis.so
54d50
< libOSspecific.o
56d51
< libparmetis.so
61,62d55
< libptscotcherrexit.so
< libptscotch.so
69,70d61
< libscotcherrexit.so
< libscotch.so
76a68
> libtecio.so
82d73
< postCalc.o

--Const 07:13, 7 декабря 2010 (UTC)

    • С libGKlib.so разберусь, файлы *.o я не указывал, потому что они вряд ли могут пригодиться (если ошибаюсь, это потом выскочит, и я их тоже запакую), а остальные у нас в сизифе есть. Только libmetis-parmetis.so у нас называется libparmetis.so. real 07:31, 7 декабря 2010 (UTC)
    • libGKlib.so используется только libmetis.so, но поскольку у нас есть сизифный, эта библиотека не нужна.