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

M

Mr.H

@Mr.H
关于
帖子
24
主题
8
群组
0
粉丝
0
关注
0

帖子

最新

  • 求问大家实验室的流量计是什么牌子的?
    M Mr.H

    需要一些大流量流量计300Nm3/h的,网上能找到的都是一些小品牌的,有没有推荐的,热式、涡街、压差都可以


  • -div(phi,T) 和div(-phi,T)结果为何不同?
    M Mr.H

    @东岳 对,我植入在simpleFoam 里面,增加了一个TEqn.H的头文件


  • -div(phi,T) 和div(-phi,T)结果为何不同?
    M Mr.H

    @东岳 可以删掉,这一项本来为零,疏漏了。 删掉后结果一样,在壁面处有剧烈震荡。 相对于一般温度方程,导热项前面是 “+”。


  • -div(phi,T) 和div(-phi,T)结果为何不同?
    M Mr.H

    @东岳 对是这个方程,稳态。inlet 和wall 都是fixed value 为 0。
    出口边界条件是,Tu∙n+k∇T∙n-u_n=0,我单独编写了一个出口的边界条件。


  • -div(phi,T) 和div(-phi,T)结果为何不同?
    M Mr.H

    @东岳 改成了下面的方程,div(phi,T)采用Gauss upwind格式

    fvScalarMatrix TtEqn
    (
        fvm::div(phi,Tt)
      + Tt*fvc::div(U)
      + fvm::laplacian(ka,Tt)
    );
    
    TtEqn.relax();
    TtEqn.solve();
    

    计算结果如下:
    0_1532618120904_a763a94c-4faa-4cae-9ed8-a1f81d0ea569-image.png

    的确是从inlet开始更新,但在从壁面开始出现了严重的震荡,什么样的格式会好一些?


  • -div(phi,T) 和div(-phi,T)结果为何不同?
    M Mr.H

    各位前辈,我在做拓扑优化,里面求解伴随温度的方程如下:

    fvScalarMatrix TtEqn
    (
        fvm::div(-phi,Tt)
      + Tt*fvc::div(-U)
      + fvm::laplacian(-ka,Tt)
    );
    
    TtEqn.relax();
    TtEqn.solve();
    

    Tt 在inlet 和wall 是fixedValue 0,在outlet是定制的边界条件,通过计算得到。
    结算结果在靠近inlet第一层网格莫名升高,如下图:
    0_1532543739887_d3f3c04f-5f3b-498d-a58a-3a8f1541d865-image.png

    如果把 div(-phi,T)换成 -div(phi,T),会出现栅格分布,如下图:
    0_1532543614673_7c12b2a0-ea1e-4db3-b821-da1f4d7e58dc-image.png

    貌似div(-phi,T)是从下有获得信息,逐步向前更新,-div(phi,T)是从上有更新信息。
    为何结果会如此不同?


  • 标量场壁面梯度的处理方式
    M Mr.H

    @东岳 谢谢前辈


  • 标量场壁面梯度的处理方式
    M Mr.H

    @东岳 抱歉,我上面说的有问题,边界上的值会影响 fvc::grad(ka)在靠近壁面边界的第一层网格上的值。如果把grad(ka)在边界上设为0,靠近第一层网格处的grad(ka)还是不对。 是不是应该对ka在边界的值进行操作。或者手动计算靠近边界第一层网格上的grad(ka)。

    我现在是吧ka在壁面设为zerogradient 条件


  • 标量场壁面梯度的处理方式
    M Mr.H

    @东岳 纯流体计算时热扩散系数在边界是没有意义的吧,一般情况下是dimensionscalar ,是一个常数,grad(ka)都是0。 但如果吧ka 设为 volScalarField 的话,边界值也会被用于计算grad。 热扩散系数应该定义在流体域也就是内部场中,但volScalarField 有边界值。 有没有可能只对volScalarField 的内部场进行初始化和计算?
    像这样 ka.primitiveFieldRef()=(r*(kf*(1+nn)-ks)+ks)/(1+nn*r);


  • 标量场壁面梯度的处理方式
    M Mr.H

    各位前辈:
    我自己编写的一个求解器里 热扩散系数ka 在不同位置值不一样,是一个标量场。因此我定义了一个变量 volScalarField ka=f(....) 。 在温度方程里的拉普拉斯项fvm::laplacian(ka,T) 中 存在ka的梯度的计算。 volScalarField 在壁面边界也有分布,因此grad(ka)在边界处的计算是错误的。
    我的办法是把ka在壁面设为 zerogradient 条件。但总觉得不是十分完美,不知各位前辈有没有更好的方法。


  • OpenFOAM中的forAll什么意思
    M Mr.H

    @东岳 @jzheng forAll 循环是不是无法对边界 上的场量进行操作?


  • turbulence->divDevReff(U)
    M Mr.H

    @izumi 谢谢啦,感激不尽


  • turbulence->divDevReff(U)
    M Mr.H

    @izumi 谢谢,我试试,可否指点一下该怎么操作


  • turbulence->divDevReff(U)
    M Mr.H

    求问如何获得simplefoam中 turbulence->divDevReff(U)的显性值。 我看到cfd-online有人提到
    turbulence->divDevReff(U) 等同于 fvc::div(R) - fvm::laplacian(nu,U)

    可否通过 fvc::div(R) - fvc::laplacian(nu,U)获得?


  • 求问如何给标量场赋值为实数?
    M Mr.H

    对于第二个问题,我的解决方法是 volScalarField 1=scalar * volScalarField 2
    volScalarField 2 是值为1 的单位向量。 但有没有更专业的处理方法?


  • 求问如何给标量场赋值为实数?
    M Mr.H

    @东岳 对,谢谢大神,之前有个变量类型写错了。 不过我还有2个问题:
    1、为何 volScalarField 在声明的时候必须进行初始化?
    2、怎样把 scalar 赋值给 volScalarField 的变量?


  • 求问如何给标量场赋值为实数?
    M Mr.H

    @东岳 求问大神


  • 求问如何给标量场赋值为实数?
    M Mr.H

    各位前辈

    forAll(sens,i)
    {
       if(~) 
         sens[i]=1.2;
    }
    

    sens 类型为 volScalarField,这样的操作该怎么实现?


  • 如何获取相邻节点的标量值
    M Mr.H

    谢谢大神,我看到你原来的代码里有相关的。再次感谢。
    http://www.cfd-china.com/topic/1228/owner-neighbour-网格寻址/2


  • 如何获取相邻节点的标量值
    M Mr.H

    各位大神:
    我在计算的时候需要计算某一节点的相邻节点的标量场平均值。该如何操作?
    T.internalField( ) 需要知道网格单元的index。
    我能想到的方法是 根据 polyMesh中的 faces owner neighbor 文件重构出网格单元的相邻关系。但感觉这个方法太笨,有没有别的方法?

  • 登录

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