OpenFOAM中搞笑的变量 和 奇怪的命名



  • 编程的时候大家都知道,总需要对变量进行命名,比如:

    int A;//A为变量名
    double Uvelocity;//U为变量名
    

    OpenFOAM里面存在大量的变量,有的时候变量名非常不好起,比如说OpenFOAM中有个变量叫HbyA,这个变量是什么意思呢?参考icoFoam解析中的公式15, 其实HbyA就是H除A的意思。

    有的时候变量名还真不好理解,比如这个:

    volScalarField rAU(1.0/UEqn.A());
    

    rAU为速度系统的对角线的倒数,但是为什么不叫成byUA或者byAU, 或者rUA也不得其解。

    要是大家对1.0/UEqn.A()命名,你比较喜欢怎么称呼?我觉得byUA挺好。



  • reciprocal?



  • @wwzhao
    100%支持!😎



  • HbyA表示H除以A。



  • fvm::Su
    fvm::Sp
    fvm::SuSp
    其中S应该是Source的意思,u和p应该是什么意思呢?

    猜测是由于历史遗留问题,Su表示速度的线性化,Sp表示斜率?《数值传热学》里面用的是Sc和Sp,至少Sp对上了。或许patankar用的是Su。这样就对上了。



  • @李东岳
    s: source
    p: proportion
    u: unproportion

    猜的

    本质上就是个线性化和稳定化。

    但是我觉得它有问题,矩阵非对角占优也可以解吧。。。



  • @程迪

    你觉得作为基于Volume of fraction(VOF)模型的interFoam中的inter表示什么意思?interface



  • @李东岳 还能是啥?interphase? 估计作者也不知道取啥,就拿个共同的部分吧。



  • src/lagrangian/下面的intermediate为什么叫intermediate



  • 其实HbyA就是H除A的意思

    还有就是为什么叫H,这个H应该表示除了压力项之外的玩意,为什么叫H



  • @李东岳
    H是H operator,是个函数$H:R^N\to R^N$

    简化的搞法是H() = M-D=L+U,其实他们想玩的是单次Jacobi迭代。

    另外还有个H1 = H(1)

    1表示1状态向量: [1,1,1,1,…,1,1,1,1]’

    参考:https://chengdi123000.github.io/2018/01/05/OpenFOAM的不可压缩流算法/#关于H1和H的区别

    这个H应该是作者瞎取得,参考:http://mathworld.wolfram.com/topics/MatrixTypes.html ,H开头的词儿没有和它相对应的。



  • 这个H应该表示除了压力项之外的玩意,为什么叫H?

    0_1515689888130_草图.png

    代码中的H应该来自此处,然而原著也只是说是个缩写,可能确实是随便叫了个名吧。

    H is shorthand notation for the advective and viscous terms whose treatment is of no importance here


登录后回复
 

与 CFD中文网 的连接断开,我们正在尝试重连,请耐心等待