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中文网

R

RolandLent

@RolandLent
关于
帖子
9
主题
2
群组
0
粉丝
0
关注
0

帖子

最新

  • 当我把一个封闭几何体的各个面分成多个stl文件,snappyhexmesh文件中该怎么定义这些stl呢,它自动识别并封闭吗?
    R RolandLent

    先检查路径,一般入口是inlet,你应该就是拼错名字了(现在是inelt),可能你导出的时候是对的,snappyhexmesh里错了


  • openfoam官方教程问题
    R RolandLent

    问题已解决,y站上没有更新教程,新版本的发行版openfoam会在指定facezone时自动生成主面和从面


  • openfoam官方教程问题
    R RolandLent

    各位大佬,openfoamv2306官方的proceller和rotatingFaninRoom算例使用了AMI功能,我在对snappyHexMeshDict文件进行了多次调整后确认它的主从面(指主从面区域的patch,我个人分析应该主面是内表面,从面是外表面)应该是在stl或者obj文件中定义的,我尝试了直接阅读对应文件(AMI.stl和innerCylinderSmall.obj),又或者是在freecad,blender或者meshlab中打开,都没有找到对patch命名的部分,这个具体是怎么实现的


  • paraview安装好了但无法使用
    R RolandLent

    你在什么环境下编译的,我看报错像是你的qt有问题,paraview用的qt的框架,如果没有qt肯定没办法呼出对应的gui的


  • precice tourorials中的受力问题
    R RolandLent

    @Mina-Lee 在 precice tourorials中的受力问题 中说:

    @RolandLent precice中没有计算OF力的能力,力都是在OF里计算的。OF中的力也是通过force函数计算的。
    pecice只干三件事:
    1、引用of中的力变量,提取流固耦合交界面的力变量;引用位移变量。2、precice内部运算。3、覆盖引用的位移变量。

    我阅读了第一位回答者的源代码,力的计算是precice的of适配器实现的,我在适配器的forcebase类里边找到了计算力的方法,这里附上计算压力和黏性力的部分

    if (solverType_.compare("incompressible") == 0)
            {
                forceField.boundaryFieldRef()[patchID] =
                    surface * pb[patchID] * rhob[patchID];
            }
            else if (solverType_.compare("compressible") == 0)
            {
                forceField.boundaryFieldRef()[patchID] =
                    surface * pb[patchID];
            }
    
    forceField.boundaryFieldRef()[patchID] +=
                surface & devRhoReffb[patchID];
    

    如果是用of的solid求解器就是向您这样的执行方式了

    // Check if a force field with the requested name exists.
        // If yes (e.g., solids4Foam), bind Force_ to that field.
        // If not (e.g., pimpleFoam without the Forces function object), create it.
        if (mesh_.foundObject<volVectorField>(nameForce))
        {
            Force_ =
                &const_cast<volVectorField&>(
                    mesh_.lookupObject<volVectorField>(nameForce));
        }
        else
        {
            ForceOwning_.reset(new volVectorField(
                IOobject(
                    nameForce,
                    mesh_.time().timeName(),
                    mesh,
                    IOobject::NO_READ,
                    IOobject::AUTO_WRITE),
                mesh,
                dimensionedVector(
                    "fdim",
                    dimensionSet(1, 1, -2, 0, 0, 0, 0),
                    Foam::vector::zero)));
    
            Force_ = ForceOwning_.get();
        }
    

  • precice tourorials中的受力问题
    R RolandLent

    @Mina-Lee 在 precice tourorials中的受力问题 中说:

    因为你编译的openfoam-adapter里,已经对流固耦合交界面的force变量引用了,OF在运行完成后,adapter会引用force变量,precice运行完毕后,会覆盖这个force变量。
    precice就是给openfoam施加了一个狄利克雷位移边界条件-理解了这句话就全明白了。

    其他的能理解,但是这个“precice运行完毕后,会覆盖这个force变量”指的是
    在controldict中定义了“forces”那么openfoam输出的forec是重新计算的,与流固耦合过程中交换的不是一个值的意思吗


  • precice tourorials中的受力问题
    R RolandLent

    @lwjetmann好的,谢谢


  • precice tourorials中的受力问题
    R RolandLent

    openfoam的受力分析需要在controldict中添加force子字典,但是我在运行preCICE的教程时发现有些教程的concroldict中没有这个部分的,但他依旧实现了force和displacement的互相传递,这个是怎么做到的?
    如果是它是通过的adapter所实现的内容能否推荐以下对应的博客,我在precice官方的页面https://precice.org/adapter-openfoam-overview.html看不到这样的功能
    ps:以下是这个问题在外站的提问,里边有截图,本站附图的方式我暂时没学会https://www.zhihu.com/question/4035300749

  • 登录

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