首先,通过命令 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
主要用到的快捷方式有以下这些:
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