@东岳 可以用 pandoc 进行格式换转,排版需要重新进行调整,但对公式的支持还不错,几乎没遇到需要重新输入的情况。
yuan
帖子
-
Word里面你们怎么打公式 -
拉格朗日一个bug@李东岳 我这里后处理可以用
paraFoam
,也可以先运行foamToVTK
后用paraview
。 没见过这个错误,可能是因为我编译 OpenFOAM 时顺便编译了 paraview ? -
拉格朗日一个bug这个跟颗粒追踪算法的更新有关吧,在 Openfoam 5.0 的发布说明里有提到(OpenFOAM Barycentric Tracking),更新之后颗粒输出的格式与之前版本不兼容。
在
$FOAM_SRC/lagrangian/basic/particle/particleIO.C
中可以看到保存颗粒位置信息时的区别(writePosition
函数):之前版本中为
os << position_ << token::SPACE << celli_;
在 5.0 版中为
os << coordinates_ << token::SPACE << celli_ << token::SPACE << tetFacei_ << token::SPACE << tetPti_;
变量的定义在
$FOAM_SRC/lagrangian/basic/particle/particle.H
中可以找到。 -
并行计算如何查看每一块的大小@xiaofenger 在 并行计算如何查看每一块的大小 中说:
在所有 processor 文件夹下面建立 f.foam 文件的命令
for file in `ls -d processor*`; do touch $file/f.foam; done
-
如何使用noslip这个边界?@openfoam之战五渣 3.0.x 版的 OpenFOAM 里你用的这个求解器确实没有
noSlip
边界,如果要用的话可能要更新下 OpenFOAM 版本了。4.x 和 5.x 里都有的,你可以看下自带的 hotRoom 算例,从 4.x 开始默认就是noSlip
边界了。 -
windows下看OpenFOAM代码的问题NTFS 存储应该是支持文件大小写的,但是 Windows 系统不支持,网上说直接用 Win32 API 的软件也不区分文件大小写。解压后的拷贝过程应该是 Windows 自带文件管理器的功能,不区分大小写,我觉得这个过程把其中一个目录给覆盖了。直接解压的话可能跟用的软件有关吧,git 应该是支持区分大小写的。
-
如何使用noslip这个边界?@openfoam之战五渣 这个 log 给的信息太少了,确实是提示没有这个边界,但不清楚什么原因。我用的是 5.x 的版本,软件自带的所有求解器都包含这个边界的(通过求解器命令加
-listVectorBCs
选项显示)。你给一下你的软件版本和求解器吧,最好把调用这个边界的部分文件也给一下。 -
windows下看OpenFOAM代码的问题在 WSL 下看应该会区分吧?
-
如何使用noslip这个边界?改成
noSlip
? -
coalChemistryFoam 编译警告在 coalChemistryFoam 的 Make/options 文件里,包含了下面一行
-I$(FOAM_SOLVERS)/combustion/reactingFoam \
我对比了 reactingFoam 文件夹下的头文件和 coalChemistryFoam 文件夹下的文件,发现并没有需要调用的。但是去掉这一行之后编译时会给警告
In file included from /home/user/OpenFOAM/OpenFOAM-5.x/src/OpenFOAM/lnInclude/postProcess.H:129:0, from coalChemistryFoam.C:50: ./createFields.H: In function ‘int main(int, char**)’: ./createFields.H:30:23: warning: unused variable ‘T’ [-Wunused-variable] const volScalarField& T = thermo.T(); ^ ./createFields.H:31:23: warning: unused variable ‘psi’ [-Wunused-variable] const volScalarField& psi = thermo.psi(); ^
可是这两个变量在 EEqn.H 和 pEqn.H 中有用到。不知道这个警告是否可以忽略?
-
MPPICFoam粒子轨迹如何显示呢具体步骤:
- 在 Pipeline Browser 中选择算例;
- 在菜单中依次选择 Filters -> Alphabetical -> Extract Block;
- 在 Properties 中 Block Indices 内选择 internalMesh,然后 Apply,以显示流场信息;
- 重复 1-2,在 Properties 中 Block Indices 内选择 lagrangian,然后 Apply,以显示颗粒信息;
- 在 Pipeline Browser 中选择上面 ExtractBlock 生成的颗粒部分信息(按上面步骤的话,默认为 ExtractBlock2);
- 在 Filters 菜单中选择 Alphabetical -> Glyph;
- 在 Glyph Type 选择颗粒的显示类型,比如 Sphere,然后通过 Scale Factor 可以控制显示的颗粒大小,在 Glyph Mode 中可以选择颗粒采样方式。
通过以上方式设置之后,可以在 Pipeline Browser 中分别选择显示不同的块来控制显示颗粒或者流场。此外上面得到的两个 ExtractBlock 都可以设置 Opacity,即透明度,从而可以同时显示流场和颗粒。其它功能还有很多,可以多试下。
-
MPPICFoam粒子轨迹如何显示呢可以通过 Filters 中的 ExtractBlock 把流场和颗粒的信息分开,分别显示控制。然后颗粒的显示可以进一步通过 Glyph 控制。
-
DEM和DPM -
DEM和DPM@马乔 我还是不太明白是怎么实现的,这行代码在
MPPICCloud.C
文件内,为了避免修改源文件,是不是需要把MPPICCloud
文件夹和MPPICParcel
文件夹以及submodels/MPPIC/
文件夹下的所有子模型均复制出来,并重新命名?另外,不知道是否方便留下其它的联系方式,我觉得我的问题可能太基础了,不太适合在这里讨论。如果问题解决了的话,我可以整理一下再发出来,以供其他人参考。 -
DEM和DPM@散漫守望2016 非常感谢你提供的算例,你那个程序没有问题的,在 2.3.x 上可以运行。只是后来计算效率太低,而我主要关心的是颗粒本身反应特性的变化,不怎么关心碰撞之类的,因此想着采用 MPPIC 的方法简化计算,但一直没找到合适的方法。
MFIX 现在还没支持 MPPIC 方法计算反应,所以我只能先考虑 OpenFOAM 了。
-
DEM和DPM@马乔 按照我的理解,OpenFOAM 中 lagrangian 库部分采用的基于原则设计(Policy-Based Class Design)的方法应该是通过可以选取不同策略类,组建满足不同需求的模型的。OpenFOAM 自带的
coalCombustion
和spray
库中均采用了这样的方法,即通过选取不同的parcel
和cloud
类,组建不同的模型。现在这样看来,这样的方法可能还是有限制的。如果需要对
parcel
和cloud
类进行修改的话,涉及到的内容就太多了,不知道最后能不能完成了。另外,多谢东岳老师对之前帖子格式的修改,以后回复时会多注意的。
-
DEM和DPM我是直接根据上面提到的帖子修改的。在向 OpenFOAM 自带的 coalCombustion 库添加碰撞时,上述帖子中直接在
coalCloud.H
的定义中将typedef ReactingMultiphaseCloud<ReactingCloud<ThermoCloud<KinemaitcCloud<Cloud<coalParcel>>>>> coalCloud;
修改为
typedef ReactingMultiphaseCloud<ReactingCloud<ThermoCloud<CollidingCloud<KinemaitcCloud<Cloud<coalParcel>>>>>> coalCloud;
对颗粒的定义也采用了类似的方法。
我将该例子中的CollidingCloud
均改为MPPICCloud
,但是编译无法通过。错误出在 MPPICCloud.C 中td.updateAverages(*this);
这一行,编译器提示这里的updateAverages
找不到定义,应该是按上面方法修改coalCloud
和coalParcel
定义后,*this
所代表的具体定义跟函数里参数形式不一样导致的。我现在在想上面的思路是不是可行,如果说需要在
thermoparcel
中修改代码,加判断的话,是不是意味着我不应该采取上述的方法,而应自己将MPPICParcel
和thermoparcel
以及反应相关的部分重新写成一个新的颗粒类?非常感谢大家的回复,有必要的话我会想办法把编译错误贴出来。
-
DEM和DPM关于在 DPMFoam 添加化学反应,CFD Online 上有一个关于 coalCollidingChemistryFoam 的讨论(https://www.cfd-online.com/Forums/openfoam-programming-development/158458-colliding-coal-cloud-coalcollidingchemistryfoam.html ), 即在煤燃烧的算例中添加 DPMFoam 中碰撞项的处理。在该帖子中提供的求解器可以在 OpenFOAM 2.3.x 版本中编译并运行。
但是对该模型中添加 submodel 的部分不太理解,直接将该方法用于向 MPPICFoam 中添加化学反应则一直失败。不知道有没有人有类似需求的,是否可以讨论下?