说一下自己的看法吧。fvm其本身限制了发展基于它的高阶格式,如果真的追求高阶的话可能使用fvm并不是一个好的选择。另外现在间断问题都需要对高精度格式进行限制,其实本质上应该可以看做降阶处理。
Y
youmengtian
@youmengtian
帖子
-
-
@random_ran polyModifyFace是一个类,而非函数。另外在polyModifyFace.H同级文件夹下有polyModifyPoint.H 。至于抛出的异常之前未见过,不过看样子应该是在分配内存时出现了异常,非常有可能是你说的问题。但是实际上可能和你演示的例子还是有差别,固定数组能够使用的栈本身大小有限很容易出现这种异常。但是实际中像createPatch之类需要对网格数据进行处理的往往是通过动态数组开辟内存空间的,其上线与计算机内存有直接关系。createPatch在运行中需要额外生成相关patch的数据信息,需要占用相应大小的内存,如果网格过大很有可能超出计算机内存上限抛出错误。
另,过于createPatch具体实现我也没有进行深入的分析,仅提供一个思路,正确与否请谨慎。
-
我来尝试说说我的思路:原则上可能还真的很难。fluent这一类软件由于追求通用性,使用非结构网格,基于此很难构建高阶格式。这就涉及一个问题:离散格式数值粘性过大。比较悲哀的情形就会出现,很多细节结构都被磨平了,不论是空间上还是时间上。实际中DNS是纯粹非稳态的,时空上的叠加会导致计算结果面目全非。所以,DNS可能还真的不是计算量就能解决的问题,可能以非结构为基础的fvm或者fvm本身就不太适合做DNS。可能比较合适的一个是fdm或者galerkin方法。
将高精度插值格式加到OF中
OpenFOAM周期边界生成不成功,cyclic的问题
为什么fluent等成熟的软件都不能做DNS呢?