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. 某一运行时间下赋初值问题

某一运行时间下赋初值问题

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

    在运行溃坝算例时候,我们是在初始时刻通过setfields给指定区域初始化alpha,那么如果是运行一段时间后,我想在运行的算例中某区域重新初始化一个alpha。该怎么做呢?

    1 条回复 最后回复
  • R 离线
    R 离线
    Regina
    写于 最后由 编辑
    #2

    想问题主实现了吗?本人也尝试了好久这个问题了,一直没能实现,求助大神解答

    1 条回复 最后回复
  • 李东岳李 在线
    李东岳李 在线
    李东岳 管理员
    写于 最后由 编辑
    #3

    最简单的办法:

    • 计算停下来

    • setFields,记住把controlDict中的startTime改为latestTime

    • 重新计算

    http://dyfluid.com/index.html
    需要帮助debug算例的看这个 https://cfd-china.com/topic/8018

    R 1 条回复 最后回复
  • R 离线
    R 离线
    Regina
    在 中回复了 李东岳 最后由 编辑
    #4

    @东岳 计算过程中需要重新初始化的时刻太多了,开始有尝试这种特定时刻手动setFields,后期这样操作计算需要停下来的次数太多了,有没有什么能自动实现的方法,如果有的话需要从哪些文件的修改入手呢?

    1 条回复 最后回复
  • 李东岳李 在线
    李东岳李 在线
    李东岳 管理员
    写于 最后由 编辑
    #5

    也不难。C++,everything is possible.
    你要setFields实现什么?有函数么?

    http://dyfluid.com/index.html
    需要帮助debug算例的看这个 https://cfd-china.com/topic/8018

    R 1 条回复 最后回复
  • R 离线
    R 离线
    Regina
    在 中回复了 李东岳 最后由 李东岳 编辑
    #6

    @东岳

    while(runTime.timeName()%0.0125==0)
    {
    regions
    (
        sphereToCell
        { 
            centre (0 0.0008 0);
            radius 0.00002;
            fieldValues
            (
                volScalarFieldValue alpha.water 1
                volVectorFieldValue U (0 -30 0)
                );
        }
        
    );
    }
    

    大概是这个意思,想让计算域内的某一球形区域在每隔一段时间间隔初始化alpha.water的值变为1,个人C++语言水准较低,语言规范上可能有问题,也不太清楚该把这段函数放在什么文件内,是需要创建哪一类型的functions,然后放到controlDictionary里面吗?望李东岳老师能指导一下,感谢

    1 条回复 最后回复
  • 李东岳李 在线
    李东岳李 在线
    李东岳 管理员
    写于 最后由 编辑
    #7

    你这个可以在controlDict里面加,但是有一些限制。

    也可以在主程序里面加,在主程序里面加,一种思路是调用topoSet程序的库,等于是主程序运行到你需要的时间步,然后用你写的这段代码初始化。另一种思路是硬植入,把你这个区域的网格点抠出来(通过网格的位置矢量),然后赋值。

    主要是编程的问题。

    http://dyfluid.com/index.html
    需要帮助debug算例的看这个 https://cfd-china.com/topic/8018

    R 1 条回复 最后回复
  • R 离线
    R 离线
    Regina
    在 中回复了 李东岳 最后由 编辑
    #8

    @东岳 好的,谢谢李东岳老师,在您的建议下我继续尝试一下,再次表示感谢!

    1 条回复 最后回复

  • 登录

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