CFD中文网

    CFD中文网

    • 登录
    • 搜索
    • 最新

    如何调用上一欧拉时间步的粒子信息

    OpenFOAM
    2
    7
    318
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • 杨
      杨英狄 最后由 编辑

      各位好
      OpenFoam中一个欧拉时间步deltaT包含若干粒子时间步dt
      那么如何调用一个欧拉时间步之前的粒子信息呢,比如粒子速度
      谢谢各位

      星 1 条回复 最后回复 回复 引用
      • 星
        星星星星晴 @杨英狄 最后由 编辑

        @杨英狄
        hi 不是很理解你的需求,因为你要调用上一个Euler time step的速度,既然你也说了每个Euler time step 包含多个lagrangian dt,那你想调用的是那个时间的啊?

        另外能不能解释一下为什么你需要这么调用?目的是什么

        m.sui20@foxmail.com

        杨 1 条回复 最后回复 回复 引用
        • 杨
          杨英狄 @星星星星晴 最后由 编辑

          @星星星星晴 老师,比如当前时刻为4s,欧拉时间步是1s,我想在时刻为4s的时候调用时刻为3s的粒子属性。
          我做的东西粒子半径是变化的,我需要用上一时刻的粒子半径一阶时间导数与当前时刻的粒子半径一阶时间导数进行比较。判断粒子的一些状态。
          谢谢老师

          星 1 条回复 最后回复 回复 引用
          • 星
            星星星星晴 @杨英狄 最后由 编辑

            @杨英狄 hi 那这样的话 按照我的理解就在kinematicparcel.c 或者你用的某种parcel.c里面写一个lagrangian field, 每次拉格朗日循环结束以后更新一下这个field的信息。 当你需要的时候调用即可.

            或者在cloudfunction中搞这个field 应该也行。
            也不是很复杂,多研究研究cloudfunction,会对于这种适合外挂的小程序很有帮助!

            m.sui20@foxmail.com

            杨 1 条回复 最后回复 回复 引用
            • 杨
              杨英狄 @星星星星晴 最后由 编辑

              @星星星星晴 谢谢老师

              星 2 条回复 最后回复 回复 引用
              • 星
                星星星星晴 @杨英狄 最后由 编辑

                @杨英狄 不客气 我也不是老师,不过我很好奇一点,这样的处理的意义是什么呢?parcel size的变化率?正常情况下直接通过改变 p.d() 就行了,变化率会不会有点耗时了?

                m.sui20@foxmail.com

                1 条回复 最后回复 回复 引用
                • 星
                  星星星星晴 @杨英狄 最后由 编辑

                  @杨英狄 在 如何调用上一欧拉时间步的粒子信息 中说:

                  @星星星星晴 老师,比如当前时刻为4s,欧拉时间步是1s,我想在时刻为4s的时候调用时刻为3s的粒子属性。
                  我做的东西粒子半径是变化的,我需要用上一时刻的粒子半径一阶时间导数与当前时刻的粒子半径一阶时间导数进行比较。判断粒子的一些状态。
                  谢谢老师

                  或者拉格朗日开始和结束的时候做一下比较就好了

                  m.sui20@foxmail.com

                  1 条回复 最后回复 回复 引用
                  • First post
                    Last post