@xiaolin 是的
我是河滩
帖子
-
-
@xiaolin 没有,给定网格单元值可行。
-
@东岳 总压减小是因为速度变小,还是静压变小,或二者都有?无粘不可压的时候就是动能与压力势能的转化,是守恒的。
-
@东岳 伯努利方程 速度增大,压力变小的结论,就是基于总压不变,分离后就变了。
-
不可压计算,不求解能量方程,温度不变,产生分离后,分离区的总压要小于外面流场的总压,减小的总压去哪里了?
-
@东岳 运动物体的计算,cfd的方法都很慢啊。
-
@D-Benjamin 不是,是个二维圆柱。
-
@东岳 setValues实现的是给定网格单元中心的值,源项的话我再想想,谢谢。
-
@yfclark 目前想用笛卡尔网格来进行计算,贴体网格自然好处理。但以后打算计算边界的运动,不涉及边界的变形,就只是平动和转动。Foam extend 4.0中的浸入边界法比较合适,但它采取的是给定网格单元中心值的办法,而不是直接给定内部面上的值。给定网格中心值,相邻网格面上的值还是正常进行插值计算。给定面上的值,就是要直接给定速度,得到phi(对流项)及通量,给定速度梯度,得到面上应力(laplace项扩散项),大致是这样的思路。
-
@东岳 确是可能不太符合物理,或者说是对于内部面围成的封闭区域,比如一个长方形或者一个圆,其内部的网格单元不参与求解,此时内部面类似于外部面的边界,上面的值就需要给定。但OpenFoam仍然将其视为内部面处理,应该如何给定面上的值啊?
采用笛卡尔网格进行计算,而不是贴体网格,圆外的网格单元与圆的边界为内部面,阶梯状的。 -
外部面上的值可以通过边界条件给定,内部面上的值一般均是利用相邻网格单元的值进行插值,比如内部面上的层流粘性系数和湍流粘性系数。通量phi的计算需要面上的速度,也是利用相邻网格单元的速度进行插值再计算。如果现在需要人为给定内部面上的流动参数,并进行流动方程的求解,有什么方法可以实现吗?
-
离散格式,求解方法,湍流边界条件等都可能造成差异,你说的不够详细
-
@东岳 Thin-Layer Navier—Stokes Approximation
-
@Samuel-Tu 能算 snappyHexMeshDict里操作
-
N-S方程求解采用薄层粘性假设,对粘性项的计算有何影响?
-
@我是河滩 在snappyHexMeshDict文件中的refinementRegions{}内可以实现。
-
利用SnappyHexMesh对stl面周围的网格进行了加密,但正常情况下把面内部的网格也删除了,如果不要删除stl面内部的网格该怎么办?
-
@Samuel-Tu 请问你是用什么方法算壁面距离的?我也需要给虚拟的面算壁面距离。
-
牛顿内摩擦定律与stokes定律间有什么关系?二者计算壁面应力有何区别?
-
在simpleFoam中,wallGradU求得是法向速度梯度,wallshearStress求得是壁面剪切力,但 wallGradU*有效粘性系数不等于wallshearStress,这是为什么呢?
-
零梯度边界,边界上的值一直等于相邻网格单元的值。
-
看一些边界条件,都会定义多个构造函数,每个构造函数的输入量不同,为什么需要多个构造函数呢?
-
压力梯度项的g是啥?矢量应该不用斜体吧?
-
Openfoam中是如何算面上的应力张量的?是先算单元体心的应力张量然后插值到面上吗?还是直接根据面上的速度梯度计算?
-
为什么应力张量有9个分量,张量是对一点来说的还是面?对流体微元或控制体而言,不同面上的张量一样吗?
-
@东岳 是的,还和网格有关,均匀网格和非均匀网格产生的结果也不同。
-
@CFD中文网 压力全为零梯度边界,压力泊松方程离散后的系数矩阵奇异,adjustPhi修改了矩阵,让矩阵不再奇异?
-
@程迪 压力都是零梯度边界条件,压力泊松方程的系数矩阵是奇异的,adjustphi让矩阵不奇异了吗?奇异矩阵怎么解的?
-
@东岳 对流项是不是对UEqn.A()没有贡献?因为单元面上通量phi求和为0,满足连续性方程。
-
case中pressure-outlet-7的p边界条件为固定值边界,但利用Info<<fvc::grad(p)<<endl将fvc::grad(p)输出,pressure-outlet-7的边界条件发生了变化,变为了zerogradient,这是为什么呢?
fvc::grad(p)是利用面上压力算的,对零梯度边界条件,在第一次计算,动量预估步时,面上的压力p是怎么得到的?
-
@马乔 在 OpenFOAM有方法能够使一部分网格不参与计算吗? 中说:
set the value of p and U as 0.
可以给出一些有关矩阵修改的参考文献吗?目前也需要对一些给定单元赋值(通过周围正常求解网格单元的值进行插值),OpenFoam中的fixedinternalValue边界条件也有类似功能,但不是很理解。
-
最近在看k-e湍流模型壁面函数的知识,公式推导过程中假定了壁面附近脉动动能与产生相平衡,
有没有人知道这个式子怎么来的?湍动能耗散与产生相平衡的条件是什么? -
@Samuel-Tu 在 摩擦速度比论文偏小 中说:
kqRWallFunction是零梯度,应该只适合高雷诺数,kLowReWallFunction才是高低雷诺数都适合。epsilonWallFunction应该也只适合高雷诺数,epsilonLowReWallFunction才是高低雷诺数都适用。
-
好像是自己定义的壁面函数与foam自带的壁面函数重名了,改了名字后就没问题了。
-
自编译湍流壁面函数为动态库,进行计算,提示下面的错误,有人知道如何解决吗?
-
nutWallFuntion是一个抽象类,它有什么作用?我看其他nutwall函数都是从它继承来的,这个抽象类是必须的吗?它具体是如何发挥作用的?有没有人能解释一下抽象类或推荐一些参考资料,谢谢。
-
@我是河滩 输出边界上的值列表可看出
-
找到原因了,extend 4.0 epsilon的壁面函数计算壁面epsilon使用了refvalue()这个函数,epsilon_.boundaryField().updateCoeffs() 执行完后,第一层网格单元的值就得到了更新,但由于壁面epsilon使用了refvalue(),因此实际壁面边界上的value还是上一次迭代的值,在solve(epsEqn)后,才将第一层网格单元的值赋值给了壁面,壁面的值才得到了更新。
-
-
@东岳 kqRWallFunction是零压力梯度边界,因此壁面第一层网格的k值与壁面上的k相等。kLowReWallFunction为固定值边界条件,利用壁面函数计算壁面上的k值,因此壁面第一层网格的k值与面上k值没有相等的关系。
-
@Samuel-Tu 求RANS方程时,含有湍流粘性系数的是扩散项,采用有限体积法求解时,体积分转化为了面积分面求和,相应的湍流粘性系数也应该是相应面上的nut,而不是网格中心的nut,没有直接使用网格中心的nut。
-
很奇怪,如果输出湍流粘性系数 nut_.boundaryField()[2],其中的第11个值与nut_.boundaryField()[2][10]是相等的,为当前面上的值。epsilon为什么不是?
-
// Update epsilon and G at the wall epsilon_.boundaryField().updateCoeffs(); Info<<"epsilon_.boundaryField()[2][10]**"<<epsilon_.boundaryField()[2][10]<<endl; Info<<"epsilon_.boundaryField()[2]**"<<epsilon_.boundaryField()[2]<<endl;
在对epsilon的边界值进行输出时,epsilon_.boundaryField()[2]为编号为2边界上所有面的epsilon值列表,该边界有223个face,打算将该边界第11个face上的epsilon值输出,但输出epsilon_.boundaryField()[2][10]并不是当前的epsilon值,与输出epsilon_.boundaryField()[2]其中第11个值不同,而是上次迭代时第11个face上的epsilon值,这是怎么回事?
-
@Samuel-Tu k的壁面函数有两种,当使用kqRWallFunction时,在物面采用的是k的梯度为0,即黎曼边界条件,全场可以正常求解,壁面第一层网格的k无需额外处理。当采用kLowReWallFunction时,根据yPlus确定壁面的k值,即为狄利克雷边界,全场仍可以正常求解,壁面第一层网格的k也无需额外处理。但不管哪一种,k的壁面函数均是在solve(kEqn)这步进行的,即求解k方程时加入了k的边界的处理。
-
@东岳 谢谢,我是得系统学学。
-
tmp<fvScalarMatrix> epsEqn ( fvm::ddt(epsilon_) + fvm::div(phi_, epsilon_) + fvm::SuSp(-fvc::div(phi_), epsilon_) - fvm::laplacian(DepsilonEff(), epsilon_) == C1_*G*epsilon_/k_ - fvm::Sp(C2_*epsilon_/k_, epsilon_) );
fvm::Susp对对流项的处理是什么意思啊?Sp是对湍流源项的线化处理。
-
只知道是按照从小到大进行排序,这个sort函数有什么作用?
void Foam::SortableList<T>::sort() { sortIndices(indices_); List<T> lst(this->size()); forAll(indices_, i) { lst[i] = this->operator[](indices_[i]); } List<T>::transfer(lst); }
-
这个有什么用啊? cellset和cellset.toc()没有区别吧?
如何给定网格内部面上的流动参数?
如何给定网格内部面上的流动参数?
流动分离后减少的总压去哪里了?
流动分离后减少的总压去哪里了?
流动分离后减少的总压去哪里了?
如何给定网格内部面上的流动参数?
如何给定网格内部面上的流动参数?
如何给定网格内部面上的流动参数?
如何给定网格内部面上的流动参数?
如何给定网格内部面上的流动参数?
如何给定网格内部面上的流动参数?
关于OpenFOAM里kEpsilon模型的问题
什么是薄层粘性假设?
shm网格看起来不共节点
什么是薄层粘性假设?
网格局部加密; SnappyHexMesh; 复杂几何体
网格局部加密; SnappyHexMesh; 复杂几何体
湍流模型接口
牛顿内摩擦定律如何理解?
计算壁面切应力的方法哪个正确?
fvc::grad(p)的计算问题
为什么会有多个构造函数?
动量守恒方程的正误---急
应力张量如何理解?
应力张量如何理解?
icoFoam的一些细节问题
icoFoam的一些细节问题
关于correctPhi.H这个函数
icoFoam的一些细节问题
fvc::grad(p)的计算问题
OpenFOAM有方法能够使一部分网格不参与计算吗?
什么情况下脉动动能的耗散与产生相平衡?
求解。。
摩擦速度比论文偏小
OpenFoam内存溢出
OpenFoam内存溢出
湍流粘性抽象类的作用
epsilon边界场的问题
epsilon边界场的问题
k壁面函数没有考虑一个网格多个边界面?
k壁面函数没有考虑一个网格多个边界面?
湍流模型计算壁面距离
epsilon边界场的问题
epsilon边界场的问题
k壁面函数没有考虑一个网格多个边界面?
k壁面函数没有考虑一个网格多个边界面?
k-e湍流模型的离散Susp是什么意思?
k-e湍流模型的离散Susp是什么意思?
Sort()函数的作用是什么啊?
.toc()中的toc()什么意思?