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

Материал из ALT Linux Wiki
Строка 41: Строка 41:


* Там прописаны переменные окружения, задающие пути и имена. Если ставить OpenFOAM глобально, их надо править и класть куда-то в /etc/OpenFOAM, естественно, обозначив в описании, как их можно вызвать или где прописать их автоматический вызов. --[[Участник:Const|Const]] 07:22, 7 декабря 2010 (UTC)
* Там прописаны переменные окружения, задающие пути и имена. Если ставить OpenFOAM глобально, их надо править и класть куда-то в /etc/OpenFOAM, естественно, обозначив в описании, как их можно вызвать или где прописать их автоматический вызов. --[[Участник:Const|Const]] 07:22, 7 декабря 2010 (UTC)
** Не факт, что эти пути нужны будут (если исполняемые файлы лежат в /usr/bin, а библиотеки - в /usr/lib, никаких путей к ним не нужно), но надо проверять, конечно - возможно, это тоже где-то в код зашивается. [[Участник:Real|real]] 07:33, 7 декабря 2010 (UTC)


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

Версия от 10:33, 7 декабря 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)
          • 2. Тесты на одиночной системе считает.
          • 3. Данные для paraview можно подготовить посредством foamToVTK
          • 4. Системный paraview подозрительно легко падает, будем посмотреть ;)
            • Так надо смотреть, что пишет перед падением, и прямиком в bugzilla. real 17:54, 6 декабря 2010 (UTC)
            • Отбой. Пардон, всё забываю, что Вы paraview из ThirdParty собираете, а не сизифный используете. real 06:36, 7 декабря 2010 (UTC)
          • 5. По спискам пройдусь в ближайшее время — непотребно загрузили бумажками ;(
          • --Const 17:48, 6 декабря 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)

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

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

Файлы из подкаталога 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)

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

Некоторые библиотеки и исполняемые файлы недолинкованы, поэтому часть зависимых файлов просто не собирается. Приходится прочёсывать лог сборки на предмет наличия фраз "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 и libtecio.so разберусь, файлы *.o я не указывал, потому что они вряд ли могут пригодиться (если ошибаюсь, это потом выскочит, и я их тоже запакую), а остальные у нас в сизифе есть. Только libmetis-parmetis.so у нас называется libparmetis.so. real 07:31, 7 декабря 2010 (UTC)