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

  1. CFD中文网
  2. OpenFOAM
  3. precice tourorials中的受力问题

precice tourorials中的受力问题

已定时 已固定 已锁定 已移动 OpenFOAM
8 帖子 3 发布者 1.6k 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
回复
  • 在新帖中回复
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • R 离线
    R 离线
    RolandLent
    写于 最后由 编辑
    #1

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

    L 1 条回复 最后回复
  • L 离线
    L 离线
    lwjetmann
    在 中回复了 RolandLent 最后由 编辑
    #2

    @RolandLent 源码在openfoam-adapter的FSI/Force.C和ForceBase.C中

    R 1 条回复 最后回复
  • R 离线
    R 离线
    RolandLent
    在 中回复了 lwjetmann 最后由 编辑
    #3

    @lwjetmann好的,谢谢

    1 条回复 最后回复
  • Mina LeeM 离线
    Mina LeeM 离线
    Mina Lee
    写于 最后由 编辑
    #4

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

    R 2 条回复 最后回复
  • R 离线
    R 离线
    RolandLent
    在 中回复了 Mina Lee 最后由 编辑
    #5
    此回复已被删除!
    1 条回复 最后回复
  • R 离线
    R 离线
    RolandLent
    在 中回复了 Mina Lee 最后由 编辑
    #6

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

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

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

    Mina LeeM 1 条回复 最后回复
  • Mina LeeM 离线
    Mina LeeM 离线
    Mina Lee
    在 中回复了 RolandLent 最后由 编辑
    #7

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

    R 1 条回复 最后回复
  • R 离线
    R 离线
    RolandLent
    在 中回复了 Mina Lee 最后由 编辑
    #8

    @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();
        }
    
    1 条回复 最后回复

  • 登录

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