CFD中文网

    CFD中文网

    • 登录
    • 搜索
    • 最新

    关于在浓度方程对流项中添加U+sudu(sudu添加无效果)的问题

    OpenFOAM
    3
    22
    4857
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • L
      LiuZhuang 最后由 李东岳 编辑

      东岳老师及各位大神们早上好!
      本人的课题遇到了一个新的瓶颈,在此发表希望大伙给与指导与点拨。
      我想在浓度方程对流项里引入一个速度,并且通过简单的学习将原速度U和新速度Unew引入到phi中,将phi定义为phi1(编译成功),但是我将phi1放入浓度方程的对流项(动量方程与压力泊松方程的对流项仍保持为phi)中时,发现浓度的扩散并没有Unew的效果。
      在这里我想问的是,我这样做是不是也需要考虑将动量方程和压力泊松方程的phi也改成phi1?并且对浓度方程里新的phi1应该怎样进行调整(是否需要在动量方程和压力泊松方程里也同样调整phi1)?才能使我加入的phi1能够对浓度的扩散有一个流动的效果?
      下面我将改动的求解器代码发到这里,希望大神们能帮我搞清楚这个问题

      ps:一直对压力方程理解的不是很好。希望大神们给与指导,这些文件我是基于buoyantBoussinesqSimpleFoam的基础上加入浓度方程进行修改的。

      代码下载

      1 条回复 最后回复 回复 引用
      • L
        LiuZhuang 最后由 编辑

        或者说我的pEqn.H文件写的不全,导致了phi1虽然满足编译,但是并没有离散且参与到浓度方程的计算中去?现在不了解问题的错误在哪里?非常的头疼!!!

        1 条回复 最后回复 回复 引用
        • 李东岳
          李东岳 管理员 最后由 编辑

          我感觉应该是你的phi1不准确,你的Unew是什么值?和U的相对大小有多少? 你用什么案例测试的?我建议你用一维的算例先测试一下看看是否有你想要的效果再用复杂网格

          线上CFD课程开始报名:http://www.dyfluid.com/class.html

          CFD高性能服务器 http://dyfluid.com/servers.html

          L 1 条回复 最后回复 回复 引用
          • L
            LiuZhuang @李东岳 最后由 编辑

            @东岳 Unew目前是一个矢量vector(1000 0 0)和U比起来大了很多,我用了我自己画的网格进行测试(浓度入口很小)算例使用的是buoyantBOussinesqSimpleFoam的例子,仿照的边界条件进行了改动。

            L 1 条回复 最后回复 回复 引用
            • L
              LiuZhuang @LiuZhuang 最后由 编辑

              @东岳 这个是我在createFields.H里做的phi1 f18820ea-5fde-4f66-9dbb-b49d45c8f306-image.png
              这个是我做的新的速度矢量61f60a33-5c98-46d8-8655-4e66da4ac747-image.png
              这个是我新写的浓度方程
              bd218189-9948-4ca3-b075-a45a922280cc-image.png

              1 条回复 最后回复 回复 引用
              • 李东岳
                李东岳 管理员 最后由 编辑

                发现浓度的扩散并没有Unew的效果。

                具体是指?

                线上CFD课程开始报名:http://www.dyfluid.com/class.html

                CFD高性能服务器 http://dyfluid.com/servers.html

                L 1 条回复 最后回复 回复 引用
                • L
                  LiuZhuang 最后由 编辑

                  我进行了测试,发现原来的phi和新的phi1做出来的浓度分布毫无变化。。。。。。。

                  1 条回复 最后回复 回复 引用
                  • L
                    LiuZhuang @李东岳 最后由 编辑

                    @东岳 对了东岳老师,我听说最近你也在做测吹的研究,请问您采用的例子有什么可供参考的么?我也在做这方面研究,现在就是速度太大导致计算很慢。希望能与您多加交流

                    1 条回复 最后回复 回复 引用
                    • 李东岳
                      李东岳 管理员 最后由 编辑

                      我不太了解冶金的工艺,不过据我观测,可能是叫测吹.. 我参考的例子在另一个帖子已经回复你了

                      目前拟置入代码的可能问题:

                      • 扩散项系数有没有太大

                      • simple稳态算法不好看瞬态扩散过程

                      线上CFD课程开始报名:http://www.dyfluid.com/class.html

                      CFD高性能服务器 http://dyfluid.com/servers.html

                      L 1 条回复 最后回复 回复 引用
                      • L
                        LiuZhuang @李东岳 最后由 编辑

                        @东岳 我做的测吹方式要比刘仲秋老师(东岳先生您发给我的文章)的模型简单,我是用浓度方程去代替含气率方程(他们在方程形式上有很高的类似度)而且以前有前人用混合单项流模型去模拟的E-E模型,现在我已经做好了滑移速度在模型中的分布文件Unew,和导师探讨后认为Unew文件应写入到我之前写的浓度方程的对流项中去。然后我发现pEqn.H中关于phi 进行了一系列眼花缭乱的操作,我进行了简单的复制后发现wmake报错(我的想法是按照pEqn.H简单的复写一个phi1,给phi1变成U+Unew的形式),这种操作对于我来说十分吃力,我弄不清楚如果添加这个新的phi1应该对除了createFields和浓度方程之外还有哪些文件进行改动(比如说或者pEqn.H)说实话CFD理论理解十分浅显,根本看不懂Weller的操作,希望东岳大神帮我指点一下迷津
                        ps:我将混合单项流模型的论文里含气率守恒公式和我做的简单的pEqn.H粘贴在下方。
                        4b573353-a215-4d5e-bfab-16b38dfd19ed-image.png
                        这个是湍流nuadaf1791-9272-402c-8f51-c2040e1ac8ee-image.png
                        pEqn.tar 这个是我做简单改动后的pEqn.H
                        标蓝处我做的简单添加,在文件的第48行6aece43b-d2d1-4371-9e45-8e5d2b56046a-image.png
                        我用的OF版本是2.4.0的,基于buoyantBousssinesqSimpleFoam求解器进行的改动

                        1 条回复 最后回复 回复 引用
                        • L
                          LiuZhuang 最后由 编辑

                          @东岳 层流施密特数1,湍流施密特数800,而且入口速度非常小(0.1m/s)这样的湍流扩散项系数应该不会大吧,我也在怀疑对流项占优和扩散项占优的问题,如果这种取值很小的话应该就是我写的文件没有让openfoam明白我想给Unew添加进去的想法吧,苦笑~

                          1 条回复 最后回复 回复 引用
                          • 李东岳
                            李东岳 管理员 最后由 李东岳 编辑

                            看起来像是漂移流模型,为何不直接用driftFluxFoam试试?

                            线上CFD课程开始报名:http://www.dyfluid.com/class.html

                            CFD高性能服务器 http://dyfluid.com/servers.html

                            L 1 条回复 最后回复 回复 引用
                            • L
                              LiuZhuang @李东岳 最后由 编辑

                              @东岳 果然是我的phi1写的方式不准确,我在createFields.H中声明了一个phi1,如下图2791896d-02f7-48be-8378-c579cbe0d9c4-image.png
                              我的想法是创立一个新的phi1让phi1=2倍的phi,不知道这种写法错误在哪,做出来的phi和phi1两个文件值相同。
                              如何创立一个新的phi1呢?除了在createFields里填写还需要在哪注意呢? 我那个phi+phi的写法应该错误很大吧,应该怎么去实现phi1=phi+phi的感觉呢?

                              1 条回复 最后回复 回复 引用
                              • 李东岳
                                李东岳 管理员 最后由 编辑

                                我觉得你应该在压力方程之后每一步都进行phi = 2*phi1的计算,你那个只是声明

                                线上CFD课程开始报名:http://www.dyfluid.com/class.html

                                CFD高性能服务器 http://dyfluid.com/servers.html

                                L 3 条回复 最后回复 回复 引用
                                • L
                                  LiuZhuang @李东岳 最后由 编辑

                                  @东岳 这个新的phi1我是想放在浓度方程4acc9efc-b4e2-4b3c-b5b3-4cc3d90ce106-image.png 中去的,而且第二个phi想达到一个Unew乘以网格插值出来一个新的面通量,如果压力方程里做phi = 2*phi1的计算的话,会不会影响连续性方程和动量方程呢?我并不想去影响这两个方程

                                  1 条回复 最后回复 回复 引用
                                  • L
                                    LiuZhuang @李东岳 最后由 编辑

                                    @东岳 或者说我想在浓度方程的对流项中将phi改为phi1,phi1的表达式为phi+phi(第二个phi想改动成自己写的速度场文件(即Unew)&mesh.Sf)

                                    1 条回复 最后回复 回复 引用
                                    • 麦迪文
                                      麦迪文 最后由 编辑

                                      小藤, 没变化是因为得重新赋值 ,在每个C 方程 前面 来一句 这个 phi1 = phi + sudu

                                      1 条回复 最后回复 回复 引用
                                      • 麦迪文
                                        麦迪文 最后由 编辑

                                        不影响其他方程 跟其他方程 没耦合

                                        1 条回复 最后回复 回复 引用
                                        • L
                                          LiuZhuang @李东岳 最后由 编辑

                                          @东岳 确实在方程中添加了phi1=phi+phi,也影响了浓度场的分布,现在我遇到的问题是phi 和 phi1文件里的值还是一摸一样的,正常phi1的值也应该和phi 有所区别,我如何才能让phi和phi1的值有区别呢?问题是否出在声明文件中呢?440995fa-ec85-42a7-bf01-ca0cd6ceb1d2-image.png 这是我写的phi1声明。
                                          d377c06b-6ee7-4eaa-b9f7-1d24bcf01b42-image.png 这是我写的浓度方程文件,在括号里加入了phi1 = phi +phi;

                                          1 条回复 最后回复 回复 引用
                                          • 李东岳
                                            李东岳 管理员 最后由 编辑

                                            把你的代码+算例处理干净(代码wclean,算例网格5千以下)上传一下我试试

                                            线上CFD课程开始报名:http://www.dyfluid.com/class.html

                                            CFD高性能服务器 http://dyfluid.com/servers.html

                                            L 1 条回复 最后回复 回复 引用
                                            • L
                                              LiuZhuang @李东岳 最后由 李东岳 编辑

                                              @东岳 @麦迪文
                                              感谢东岳先生和大佬,问题已经解决了,phi1=phi+phi也实现了,浓度场也变化了;
                                              现在想问一下关于声明里有一段代码理解的依然不是很好

                                              e156fb84-da82-4939-ba8f-bea69f80be02-image.png

                                              这个是我仿照U的声明做的一个Uslip,目的是为了读取0文件夹下的Uslip。

                                              e3dd440f-89ae-4e1e-9bb8-334a25ca5be2-image.png

                                              这个是我新生命的phi1场,其目的是为了让我的Uslip从体心插值到面上,这个思路是否正确呢?

                                              814aa7c7-e894-400e-94f7-0da6982715d2-image.png

                                              这句代码的含义是将速度从体心插值到面上并且初始化(没理解错的话)
                                              ps:我的网格文件实在是有点大,而且处理成5000以下计算效果很不好,就不麻烦东岳先生帮我验证了。

                                              感谢东岳先生百忙之中帮我研究我的问题,这些问题很基础,但对于小白来说也很棘手,感激东岳先生,拜谢!

                                              1 条回复 最后回复 回复 引用
                                              • 李东岳
                                                李东岳 管理员 最后由 编辑

                                                目前来看你的思路是正确的

                                                线上CFD课程开始报名:http://www.dyfluid.com/class.html

                                                CFD高性能服务器 http://dyfluid.com/servers.html

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