Skip to content
  • 最新
  • 版块
  • 东岳流体
  • 随机看[请狂点我]
皮肤
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • 默认(不使用皮肤)
  • 不使用皮肤
折叠
CFD中文网

CFD中文网

Y

yuan

@yuan
关于
帖子
18
主题
1
群组
0
粉丝
1
关注
1

帖子

最新

  • Word里面你们怎么打公式
    Y yuan

    @东岳 可以用 pandoc 进行格式换转,排版需要重新进行调整,但对公式的支持还不错,几乎没遇到需要重新输入的情况。


  • 拉格朗日一个bug
    Y yuan

    @李东岳 我这里后处理可以用 paraFoam,也可以先运行 foamToVTK 后用 paraview。 没见过这个错误,可能是因为我编译 OpenFOAM 时顺便编译了 paraview ?


  • 拉格朗日一个bug
    Y yuan

    这个跟颗粒追踪算法的更新有关吧,在 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 中可以找到。


  • 并行计算如何查看每一块的大小
    Y yuan

    @xiaofenger 在 并行计算如何查看每一块的大小 中说:

    在所有 processor 文件夹下面建立 f.foam 文件的命令

    for file in `ls -d processor*`; do touch $file/f.foam; done
    

  • 如何使用noslip这个边界?
    Y yuan

    @openfoam之战五渣 3.0.x 版的 OpenFOAM 里你用的这个求解器确实没有 noSlip 边界,如果要用的话可能要更新下 OpenFOAM 版本了。4.x 和 5.x 里都有的,你可以看下自带的 hotRoom 算例,从 4.x 开始默认就是 noSlip 边界了。


  • windows下看OpenFOAM代码的问题
    Y yuan

    NTFS 存储应该是支持文件大小写的,但是 Windows 系统不支持,网上说直接用 Win32 API 的软件也不区分文件大小写。解压后的拷贝过程应该是 Windows 自带文件管理器的功能,不区分大小写,我觉得这个过程把其中一个目录给覆盖了。直接解压的话可能跟用的软件有关吧,git 应该是支持区分大小写的。


  • 如何使用noslip这个边界?
    Y yuan

    @openfoam之战五渣 这个 log 给的信息太少了,确实是提示没有这个边界,但不清楚什么原因。我用的是 5.x 的版本,软件自带的所有求解器都包含这个边界的(通过求解器命令加 -listVectorBCs 选项显示)。你给一下你的软件版本和求解器吧,最好把调用这个边界的部分文件也给一下。


  • windows下看OpenFOAM代码的问题
    Y yuan

    在 WSL 下看应该会区分吧?


  • 如何使用noslip这个边界?
    Y yuan

    改成 noSlip ?


  • coalChemistryFoam 编译警告
    Y yuan

    在 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粒子轨迹如何显示呢
    Y yuan

    具体步骤:

    1. 在 Pipeline Browser 中选择算例;
    2. 在菜单中依次选择 Filters -> Alphabetical -> Extract Block;
    3. 在 Properties 中 Block Indices 内选择 internalMesh,然后 Apply,以显示流场信息;
    4. 重复 1-2,在 Properties 中 Block Indices 内选择 lagrangian,然后 Apply,以显示颗粒信息;
    5. 在 Pipeline Browser 中选择上面 ExtractBlock 生成的颗粒部分信息(按上面步骤的话,默认为 ExtractBlock2);
    6. 在 Filters 菜单中选择 Alphabetical -> Glyph;
    7. 在 Glyph Type 选择颗粒的显示类型,比如 Sphere,然后通过 Scale Factor 可以控制显示的颗粒大小,在 Glyph Mode 中可以选择颗粒采样方式。

    通过以上方式设置之后,可以在 Pipeline Browser 中分别选择显示不同的块来控制显示颗粒或者流场。此外上面得到的两个 ExtractBlock 都可以设置 Opacity,即透明度,从而可以同时显示流场和颗粒。其它功能还有很多,可以多试下。


  • MPPICFoam粒子轨迹如何显示呢
    Y yuan

    可以通过 Filters 中的 ExtractBlock 把流场和颗粒的信息分开,分别显示控制。然后颗粒的显示可以进一步通过 Glyph 控制。


  • DEM和DPM
    Y yuan

    @马乔 多谢你的建议,修改之后可以编译成功了。

    我直接把 MPPICCloud 文件夹下的三个文件拷到当前目录下,然后把 MPPICCloud.C 中的

    td.updateAverages(*this);
    

    改成

    td.updateAverages(td.cloud());
    

    其它子模型不用修改。

    除了这部分之外,别的跟 CFD Online 上 coalCollidingChemistryFoam 求解器的建立方法一样。非常感谢 @散漫守望2016 的分享。


  • DEM和DPM
    Y yuan

    @马乔 我还是不太明白是怎么实现的,这行代码在 MPPICCloud.C 文件内,为了避免修改源文件,是不是需要把 MPPICCloud 文件夹和 MPPICParcel 文件夹以及 submodels/MPPIC/ 文件夹下的所有子模型均复制出来,并重新命名?另外,不知道是否方便留下其它的联系方式,我觉得我的问题可能太基础了,不太适合在这里讨论。如果问题解决了的话,我可以整理一下再发出来,以供其他人参考。


  • DEM和DPM
    Y yuan

    @散漫守望2016 非常感谢你提供的算例,你那个程序没有问题的,在 2.3.x 上可以运行。只是后来计算效率太低,而我主要关心的是颗粒本身反应特性的变化,不怎么关心碰撞之类的,因此想着采用 MPPIC 的方法简化计算,但一直没找到合适的方法。

    MFIX 现在还没支持 MPPIC 方法计算反应,所以我只能先考虑 OpenFOAM 了。


  • DEM和DPM
    Y yuan

    @马乔 按照我的理解,OpenFOAM 中 lagrangian 库部分采用的基于原则设计(Policy-Based Class Design)的方法应该是通过可以选取不同策略类,组建满足不同需求的模型的。OpenFOAM 自带的 coalCombustion 和 spray 库中均采用了这样的方法,即通过选取不同的 parcel 和 cloud 类,组建不同的模型。现在这样看来,这样的方法可能还是有限制的。

    如果需要对 parcel 和 cloud 类进行修改的话,涉及到的内容就太多了,不知道最后能不能完成了。

    另外,多谢东岳老师对之前帖子格式的修改,以后回复时会多注意的。


  • DEM和DPM
    Y yuan

    我是直接根据上面提到的帖子修改的。在向 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
    Y yuan

    关于在 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 中添加化学反应则一直失败。不知道有没有人有类似需求的,是否可以讨论下?

  • 登录

  • 登录或注册以进行搜索。
  • 第一个帖子
    最后一个帖子
0
  • 最新
  • 版块
  • 东岳流体
  • 随机看[请狂点我]