用多重网格算法求解线性方程组Ax=b,算法求解过程中按理只需要给定系数粗细网格的系数矩阵就可以了,但在看算法理论时,都涉及到粗细网格的位置关系的判定来确定插值矩阵、限定矩阵。这个就需要在算法上导入网格具体的物理位置了吧。这样好像不对(按理是只要给定系数矩阵A,b,就能求解Ax=b)对于这点一直想不明白
一颗鸭蛋
帖子
-
多重网格算法在代码实践问题 -
有人在mac上装of么?@rafe 感谢这么快回复我了 ,第一次用Mac玩openfoam,还不习惯,但我的也是M1,我是直接拷贝一个solver过来,改了一下名字进行测试
-
有人在mac上装of么?@rafe 请问进入openfoam环境后,算例文件等都自己重新创建嘛(或者从它自动创建的磁盘中拷贝过来,可以运行算例,就是不够优雅,哈哈哈)?,因为它的磁盘是只读权限。我自己文件夹下自定义的solver进行编译时出现如下错误,不知道是缺了什么?:
-
M1 Mac安装的openfoam9,编译求解器出现premission denied问题。我使用docker运行的openfoam9,能正常跑案例看结果,就是wmake求解器也能够显示正常的代码语法错误。但完全OK的求解器编译出现错误: can not open file xxx(求解器名字):premission denied。怀疑需要进入root模式下编译求解器,直接在编译目录下怎么也进不了root(显示密码验证失败)。另开一终端就直接能进root模式。有没有遇到类似问题的朋友啊,好几天没解决了,,,,
-
icoFoam植入温度方程求助@冠竹 在 .h文件中参照nu的形式,把你新加的DT声明一下就好。建议去了解一下C++变量的声明和定义,,
-
管道流RANS计算湍流模型的选择@zhouxu 我之前算磁流体的时候用Omega模型比较好,给你参考参考。
-
关于湍流模型里变量类定义的问题@李东岳谢谢东岳老师
-
关于湍流模型里变量类定义的问题在湍流模型里的变量可不可以定义成体矢量。
比如我想在 Omega模型里加一个磁场的变量
我定义了B:
从文件中读取方式:
磁场B在模型里用到的公式:
但是报错了
我想请问这是为什么
之前磁场是均匀磁场,定义成:
这个类型没有问题。但是我现在需要计算非均匀磁场,这个类不能使用,我想请问各位有什么好办法解决吗,湍流模型里面可以定义体矢量吗? -
关于OpenFOAM湍流模型的代码问题
就是这几项在方程好像没有它们 它们的作用是什么? -
关于OpenFOAM湍流模型的代码问题
![%%91CVIO[U9]]YSD5ZXF)Y.png
这几项分别代表什么? -
请问在kkLOmega模型中,为什么定义了两个k?其中kt和kl分别指的是什么?谢谢东岳哥
-
请问在kkLOmega模型中,为什么定义了两个k?其中kt和kl分别指的是什么?最近在学习OpenFOAM库中kOmega湍流模型时比较困惑,尤其是对于kkLOmega模型。请问在kkLOmega模型中,为什么定义了两个k?其中kt和kl分别指的是什么?大家有没有关于这方面的资料。
-
OpenFOAM如何进行数据转换以便进行比大小刚刚尝试了下将double型变量赋值给一个新的体标量场,然后比较两个体标量场的大小就可以通过编译了
b =mesn.C().component(vector::Y)/a;//b被声明为一个体标量场记录距离壁面的无量纲距离,a为特征长度 Prt = 1.25;//Prt也是被声明为一个体标量场,这里先把Prt当做了一个中间变量,Prt为我研究中的湍流普朗特数,其对流体温度梯度影响很大,应当是一个函数而非常数。 if( b <= Prt ) { Prt = 0.45; } else { Prt=4.75; }
今晚先算用编译好的求解器算一遍对不对,结果好的话,明后天再放上来。
-
OpenFOAM如何进行数据转换以便进行比大小@李东岳 我明年上班去了,哈哈哈哈哈
-
OpenFOAM如何进行数据转换以便进行比大小在求解器其中需要使用<=、>=、<、>等比较操作符来对一个double型变量和一个体标量场类型的数据进行比较大小。本想着用强制类型转换来操作,但是行不通。具体代码如下:
b=mesh.C().coponent(vector::Y)/0.01;//b被定义为了一个体标量场,来表示距离壁面的无量纲距离; if(b<=1.25) { Prt=0.45; } else { Prt=4.75 }
如上,我查看其他代码发现scale 变量能够用到比较操作符中, 具体有了解的同学解答嘛,,,
-
如何计算网格分辨率?我的上述计算中没有用到估算的方法,那论文里的是不是因为边界层网格采用的估算的行为,所以才会导致friction Reynolds numbe因人而异,出现微小的差别呢!
-
如何计算网格分辨率?@cccrrryyy
是的,正如你所说那样,应该是事先计算好再画网格
以上是我推导的公式,避开了之前一直困扰我的关于速度梯度的问题。从推导看来friction Reynolds number,可以直接由yplus, 特征长度以及第一节点离壁面的距离决定。但是这三者间的关系在确定了之后 friction Reynolds number也就不会改变了,但往往论文中却能够在相同参数下研究不同friction Reynolds number。如下,从论文给出的表格看,应该是改变了yplus, 从而改变了其他变量,但从我在pointwise网站上的ylus计算网页的测试结果看,虽然yplus可以自己定义,但yplus与第一节点距离壁面的距离的比值并不会改变,从上面公式的推导看,也就不会改变friction Reynolds number。这与论文给出的结论是矛盾的。 -
如何计算网格分辨率?@cccrrryyy
如上,网格数和网格分辨率是不一样的,上图Tabel中的参数Ri是格拉晓夫数与雷诺数的平方的比值,与摩擦雷诺数无关。网格分辨率就是如下标记的颜色的内容,但我不是很理解。就像你说的friction Reynolds number,是friction velocity来表征的,而grid resolution与friction velocity一样都需要通过确定第一层网格的速度梯度来确定。这个估算方法无非就是壁面网格的多少,但是如何通过所画网格来确定friction Reynolds number是我一直无法理解的。
-
如何计算网格分辨率?
以上是一些英文论文中的表示,英文为:grid resolution。同样的Re,但是不同的网格分辨率对应不同的湍流雷诺数。
根据湍流雷诺数的定义,其中的摩擦速度的定义公式中存在壁面处的速度梯度。这个速度梯度在计算前是未知的呀,他们又是如何估算得到并画网格,得到网格分辨率,网格分辨率好像并不是网格的大小,看上面的论文写的好像是最大无量纲网格间距。不知理解的对不对。 -
如何计算网格分辨率?在湍流文章里经常看到网格分辨率,但我并不知道如何计算这个网格分辨率,它常和湍流雷诺数一起,是不是同一流体只要网格分辨率确定了,湍流雷诺数也确定了