OpenFOAM求解器和库函数简介
  wwCKHZ3DzVwf 2023年12月06日 28 0

首先,通过命令 foam 进入OpenFOAM的环境

ran@ran:~$ foam
ran@ran:~/OpenFOAM/OpenFOAM-10$ 

可以看见,现在我们已经进入当前版本的主文件:/OpenFOAM/OpenFOAM-10

那么这个命令foam实际上是一个所谓的alias或者叫快捷方式,

在OpenFOAM环境下,它定义了若干个快捷方式,我们可以在一个文件里面找到它们所有的定义

通过以下命令可以查看

ran@ran:~/OpenFOAM/OpenFOAM-10$ vim etc/config.sh/aliases

主要用到的快捷方式有以下这些:

OpenFOAM求解器和库函数简介_openfoam

alias src='cd $FOAM_SRC'
alias lib='cd $FOAM_LIBBIN'
alias app='cd $FOAM_APP'
alias sol='cd $FOAM_SOLVERS'
alias util='cd $FOAM_UTILITIES'
alias tut='cd $FOAM_TUTORIALS'
alias run='cd $FOAM_RUN'

可以看见,快捷方式调用了相应的环境变量,如:$FOAM_SRC

如果想知道环境变量的地址,可以通过echo命令来查看

ran@ran:~/OpenFOAM/OpenFOAM-10$ echo $FOAM_SRC
/home/ranyan/OpenFOAM/OpenFOAM-10/src

当我们输入相应的快捷命令,便可以进入对应的文件夹,通过 ls 命令可以查看文件:

src:库函数文件夹

ranyan@ranyan-virtual-machine:~/OpenFOAM/OpenFOAM-10$ src
ranyan@ranyan-virtual-machine:~/OpenFOAM/OpenFOAM-10/src$ ls
Allwmake                fvConstraints       meshTools                randomProcesses        surfMesh
atmosphericModels       fvMeshDistributors  MomentumTransportModels  regionModels           thermophysicalModels
combustionModels        fvMeshMovers        multiphaseModels         renumber               ThermophysicalTransportModels
conversion              fvMeshStitchers     ODE                      rigidBodyDynamics      triSurface
dummyThirdParty         fvMeshTopoChangers  OpenFOAM                 rigidBodyMeshMotion    twoPhaseModels
dynamicMesh             fvModels            OSspecific               rigidBodyState         waves
fileFormats             fvMotionSolver      parallel                 sampling
finiteVolume            genericPatchFields  physicalProperties       sixDoFRigidBodyMotion
functionObjects         lagrangian          Pstream                  sixDoFRigidBodyState
fvAgglomerationMethods  mesh                radiationModels          specieTransfer

lib:已经编译好的库函数文件夹

ran@ran:~/OpenFOAM/OpenFOAM-10$ lib
ran@ran:~/OpenFOAM/OpenFOAM-10/platforms/linux64GccDPInt32Opt/lib$ ls
dummy                                             libmultiphaseInterFoam.so
libatmosphericModels.so                           libmultiphaseMomentumTransportModels.so
libbarotropicCompressibilityModel.so              libmultiphaseProperties.so
libblockMesh.so                                   libmultiphaseReactions.so
libchemistryModel.so                              libmultiphaseSystems.so
libcombustionModels.so                            libODE.so
libcompressibleInterPhaseTransportModel.so        libOpenFOAM.so
libcompressibleMomentumTransportModels.so         libOSspecific.o
libcompressibleMultiphaseMixture.so               libpairPatchAgglomeration.so
libcompressibleTwoPhaseChangeModels.so            libparallel.so
libcompressibleTwoPhaseMixture.so                 libphaseCompressibleMomentumTransportModels.so
libcompressibleVoFTurbulenceDamping.so            libphaseFluidReactionThermophysicalTransportModels.so
libconversion.so                                  libphaseFluidThermophysicalTransportModels.so
libdecompositionMethods.so                        libphaseIncompressibleMomentumTransportModels.so
libdistributed.so                                 libphaseSystem.so
libdistributionModels.so                          libphysicalProperties.so
libdriftFluxRelativeVelocityModels.so             libpotential.so
libdriftFluxTransportModels.so                    libradiationModels.so
libDSMC.so                                        librandomProcesses.so
libdynamicMesh.so                                 libreactionThermophysicalModels.so
libeulerianInterfacialCompositionModels.so        libregionModels.so
libeulerianInterfacialModels.so                   librenumberMethods.so
libextrude2DMesh.so                               librhoCentralFoam.so
libextrudeModel.so                                librigidBodyDynamics.so
libfieldFunctionObjects.so                        librigidBodyMeshMotion.so
libfileFormats.so                                 librigidBodyState.so
libfiniteVolume.so                                libsampling.so
libfluidReactionThermophysicalTransportModels.so  libscotchDecomp.so
libfluidThermophysicalModels.so                   libsixDoFRigidBodyMotion.so
libfoamToVTK.so                                   libsixDoFRigidBodyState.so
libforces.so                                      libsnappyHexMesh.so
libfvConstraints.so                               libsolidDisplacementThermo.so
libfvMeshDistributors.so                          libsolidParticle.so
libfvMeshMovers.so                                libsolidThermo.so
libfvMeshStitchers.so                             libsolverFunctionObjects.so
libfvMeshTopoChangers.so                          libspecie.so
libfvModels.so                                    libspecieTransfer.so
libfvMotionSolvers.so                             libsurfaceFilmModels.so
libgenericPatchFields.so                          libsurfMesh.so
libimmiscibleIncompressibleTwoPhaseMixture.so     libthermalBaffleModels.so
libincompressibleInterPhaseTransportModel.so      libthermophysicalProperties.so
libincompressibleMomentumTransportModels.so       libthermophysicalTransportModels.so
libincompressibleTwoPhaseMixture.so               libtriSurface.so
libinterfaceProperties.so                         libtwoPhaseChangeModels.so
liblagrangianFunctionObjects.so                   libtwoPhaseMixture.so
liblagrangianParcel.so                            libtwoPhaseProperties.so
liblagrangianParcelTurbulence.so                  libtwoPhaseSurfaceTension.so
liblagrangian.so                                  libuserd-foam.so
liblaminarFlameSpeedModels.so                     libutilityFunctionObjects.so
libmeshToMeshTopoChanger.so                       libVoFClouds.so
libmeshTools.so                                   libVoFSurfaceFilm.so
libmolecularMeasurements.so                       libVoFTurbulenceDamping.so
libmolecule.so                                    libwaves.so
libmomentumTransportModels.so                     libXiIgnition.so
libmultiphaseEulerFoamFunctionObjects.so          openmpi-system
libmultiphaseEulerFoamFvModels.so

app:应用文件夹

ran@ran:~/OpenFOAM/OpenFOAM-10$ app
ran@ran:~/OpenFOAM/OpenFOAM-10/applications$ ls
Allwmake  solvers  test  utilities

其中,

solvers:所有求解器所在的文件夹,也可以通过 sol 快捷命令进入该文件夹。

ran@ran:~/OpenFOAM/OpenFOAM-10$ app
ran@ran:~/OpenFOAM/OpenFOAM-10/applications$ ls
Allwmake  solvers  test  utilities
ran@ran:~/OpenFOAM/OpenFOAM-10/applications$ ls solvers/
basic       compressible     DNS               financial     incompressible  multiphase
combustion  discreteMethods  electromagnetics  heatTransfer  lagrangian      stressAnalysis
ran@ran:~/OpenFOAM/OpenFOAM-10$ sol
ran@ran:~/OpenFOAM/OpenFOAM-10/applications/solvers$ ls
basic       compressible     DNS               financial     incompressible  multiphase
combustion  discreteMethods  electromagnetics  heatTransfer  lagrangian      stressAnalysis

utilities:所有工具素材的文件夹,也可以通过 util 快捷命令进入该文件夹。

ran@ran:~/OpenFOAM/OpenFOAM-10$ app
ran@ran:~/OpenFOAM/OpenFOAM-10/applications$ ls
Allwmake  solvers  test  utilities
ran@ran:~/OpenFOAM/OpenFOAM-10/applications$ ls utilities/
mesh  miscellaneous  parallelProcessing  postProcessing  preProcessing  surface  thermophysical
ran@ran:~/OpenFOAM/OpenFOAM-10$ util
ran@ran:~/OpenFOAM/OpenFOAM-10/applications/utilities$ ls
mesh  miscellaneous  parallelProcessing  postProcessing  preProcessing  surface  thermophysical

test:测试文件夹,主要是针对库函数进行测试

ran@ran:~/OpenFOAM/OpenFOAM-10$ app
ran@ran:~/OpenFOAM/OpenFOAM-10/applications$ ls
Allwmake  solvers  test  utilities
ran@ran:~/OpenFOAM/OpenFOAM-10/applications$ ls test/
alloc                 fileNameClean                  labelRanges             passiveParticle     sort
BinSum                findCell-octree                liquid                  PatchEdgeFaceWave   speed
callback              findSphereFeatureEdges-octree  List                    patchRegion         sphericalTensorField
Circulator            findTimes                      ListHashTable           PatchTools          spline
codeStream            FixedList                      ListOps                 patchToPatch        string
CompactIOList         foamVersion                    Map                     PointEdgeWave       stringList
CompactListList       Function1                      mappedPatch             pointField          symmTensorField
cubicEqn              fvc                            Matrix                  polygonTriangulate  syncTools
cyclic                fvMeshStitcher                 memInfo                 Polynomial          tensor
decomposedBlockData   fvSolutionCombine              mesh                    POSIX               tensor2D
delete                GAMGAgglomeration              mkdir                   prefixOSstream      tetTetOverlap
dictionary            globalIndex                    momentOfInertia         primitivePatch      thermoMixture
Dictionary            globalMeshData                 mvBak                   pTraits             tmpField
dimensionedType       Hashing                        NamedEnum               PtrList             tokenise
Distribution          HashPtrTable                   nonUniformTable         PtrListDictionary   triTet
Distribution2         HashSet                        nullObject              quaternion          Tuple2
DLList                HashTable                      ODE                     reconstruct         UDictionary
DynamicField          HashTable2                     OStringStream           regex               UIndirectList
dynamicIndexedOctree  HashTable3                     PackedList              rigidBodyDynamics   UniformField
DynamicList           hexRef8                        PackedList1             router              vector
error                 IndirectList                   PackedList3             sha1                vectorTools
extendedStencil       io                             PackedList4             simpleMatrix        volField
fieldDependency       IOField                        parallel                sizeof              volPointInterpolation
fieldMapping          ISLList                        parallel-communicators  slicedField         wallDist
fileName              IStringStream                  parallel-nonBlocking    SLList              wordRe

tut:算例文件夹,若算例使用相同的求解器,会放在同一个文件夹下。

ran@ran:~/OpenFOAM/OpenFOAM-10$ tut
ran@ran:~/OpenFOAM/OpenFOAM-10/tutorials$ ls
Allclean  Alltest  combustion    discreteMethods  electromagnetics  heatTransfer    lagrangian  multiphase  stressAnalysis
Allrun    basic    compressible  DNS              financial         incompressible  mesh        resources

run:刚安装好时,这个文件夹是不存在的,可以通过下面命令创建

mkdir -p $FOAM_RUN

建议:为了防止你无意间修改官方的源程序,自己所有的算例、包括库函数,都放到这个文件夹下,保证FOAM稳定。


下面我们来主要介绍求解器文件夹:

ran@ran:~/OpenFOAM/OpenFOAM-10$ sol
ran@ran:~/OpenFOAM/OpenFOAM-10/applications/solvers$ tree -L 2
.
├── basic
│   ├── laplacianFoam
│   ├── potentialFoam
│   └── scalarTransportFoam
├── combustion
│   ├── chemFoam
│   ├── reactingFoam
│   └── XiFoam
├── compressible
│   ├── rhoCentralFoam
│   ├── rhoPimpleFoam
│   └── rhoSimpleFoam
├── discreteMethods
│   ├── dsmc
│   └── molecularDynamics
├── DNS
│   └── dnsFoam
├── electromagnetics
│   ├── electrostaticFoam
│   ├── magneticFoam
│   └── mhdFoam
├── financial
│   └── financialFoam
├── heatTransfer
│   ├── buoyantFoam
│   ├── chtMultiRegionFoam
│   └── thermoFoam
├── incompressible
│   ├── adjointShapeOptimisationFoam
│   ├── boundaryFoam
│   ├── icoFoam
│   ├── pimpleFoam
│   ├── pisoFoam
│   ├── shallowWaterFoam
│   └── simpleFoam
├── lagrangian
│   ├── denseParticleFoam
│   ├── particleFoam
│   └── rhoParticleFoam
├── multiphase
│   ├── cavitatingFoam
│   ├── compressibleInterFoam
│   ├── compressibleMultiphaseInterFoam
│   ├── driftFluxFoam
│   ├── interFoam
│   ├── multiphaseEulerFoam
│   ├── multiphaseInterFoam
│   ├── potentialFreeSurfaceFoam
│   └── twoLiquidMixingFoam
└── stressAnalysis
    └── solidDisplacementFoam

51 directories, 0 files

OpenFOAM求解器和库函数简介_openfoam_02

OpenFOAM求解器和库函数简介_openfoam_03


【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年12月06日 0

暂无评论

推荐阅读
wwCKHZ3DzVwf
作者其他文章 更多