@东岳 可以用 pandoc 进行格式换转,排版需要重新进行调整,但对公式的支持还不错,几乎没遇到需要重新输入的情况。
yuan
帖子
-
-
@李东岳 我这里后处理可以用
paraFoam
,也可以先运行foamToVTK
后用paraview
。 没见过这个错误,可能是因为我编译 OpenFOAM 时顺便编译了 paraview ? -
这个跟颗粒追踪算法的更新有关吧,在 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
-
@openfoam之战五渣 3.0.x 版的 OpenFOAM 里你用的这个求解器确实没有
noSlip
边界,如果要用的话可能要更新下 OpenFOAM 版本了。4.x 和 5.x 里都有的,你可以看下自带的 hotRoom 算例,从 4.x 开始默认就是noSlip
边界了。 -
NTFS 存储应该是支持文件大小写的,但是 Windows 系统不支持,网上说直接用 Win32 API 的软件也不区分文件大小写。解压后的拷贝过程应该是 Windows 自带文件管理器的功能,不区分大小写,我觉得这个过程把其中一个目录给覆盖了。直接解压的话可能跟用的软件有关吧,git 应该是支持区分大小写的。
-
@openfoam之战五渣 这个 log 给的信息太少了,确实是提示没有这个边界,但不清楚什么原因。我用的是 5.x 的版本,软件自带的所有求解器都包含这个边界的(通过求解器命令加
-listVectorBCs
选项显示)。你给一下你的软件版本和求解器吧,最好把调用这个边界的部分文件也给一下。 -
在 WSL 下看应该会区分吧?
-
改成
noSlip
? -
在 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 中有用到。不知道这个警告是否可以忽略?
-
具体步骤:
- 在 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,即透明度,从而可以同时显示流场和颗粒。其它功能还有很多,可以多试下。
-
可以通过 Filters 中的 ExtractBlock 把流场和颗粒的信息分开,分别显示控制。然后颗粒的显示可以进一步通过 Glyph 控制。
-
@马乔 我还是不太明白是怎么实现的,这行代码在
MPPICCloud.C
文件内,为了避免修改源文件,是不是需要把MPPICCloud
文件夹和MPPICParcel
文件夹以及submodels/MPPIC/
文件夹下的所有子模型均复制出来,并重新命名?另外,不知道是否方便留下其它的联系方式,我觉得我的问题可能太基础了,不太适合在这里讨论。如果问题解决了的话,我可以整理一下再发出来,以供其他人参考。 -
@散漫守望2016 非常感谢你提供的算例,你那个程序没有问题的,在 2.3.x 上可以运行。只是后来计算效率太低,而我主要关心的是颗粒本身反应特性的变化,不怎么关心碰撞之类的,因此想着采用 MPPIC 的方法简化计算,但一直没找到合适的方法。
MFIX 现在还没支持 MPPIC 方法计算反应,所以我只能先考虑 OpenFOAM 了。
-
@马乔 按照我的理解,OpenFOAM 中 lagrangian 库部分采用的基于原则设计(Policy-Based Class Design)的方法应该是通过可以选取不同策略类,组建满足不同需求的模型的。OpenFOAM 自带的
coalCombustion
和spray
库中均采用了这样的方法,即通过选取不同的parcel
和cloud
类,组建不同的模型。现在这样看来,这样的方法可能还是有限制的。如果需要对
parcel
和cloud
类进行修改的话,涉及到的内容就太多了,不知道最后能不能完成了。另外,多谢东岳老师对之前帖子格式的修改,以后回复时会多注意的。
-
我是直接根据上面提到的帖子修改的。在向 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
以及反应相关的部分重新写成一个新的颗粒类?非常感谢大家的回复,有必要的话我会想办法把编译错误贴出来。
-
关于在 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 中添加化学反应则一直失败。不知道有没有人有类似需求的,是否可以讨论下?
Word里面你们怎么打公式
拉格朗日一个bug
拉格朗日一个bug
并行计算如何查看每一块的大小
如何使用noslip这个边界?
windows下看OpenFOAM代码的问题
如何使用noslip这个边界?
windows下看OpenFOAM代码的问题
如何使用noslip这个边界?
coalChemistryFoam 编译警告
MPPICFoam粒子轨迹如何显示呢
MPPICFoam粒子轨迹如何显示呢
DEM和DPM
DEM和DPM
DEM和DPM
DEM和DPM
DEM和DPM
DEM和DPM