编译湍流模型成功但是调用计算报错
-
各位老师好!请教调用编译成功的湍流模型但是报错的问题。我给雷诺应力增加了一项非线性项,也就是说我修改了动量方程,也修改了komegaSST中的k 与 w的方程,编译通过,但是用算例调用计算报错(用的是OF2.4.0版本,rhoSimpleFoam求解器),报的错误看不懂,想请教下各位:
-
我说的空流场不崩是想着,可能是计算方法不稳定,容易溢出。所以如果是没有任何速度和湍流的流场(比如完全静止的一潭死水),拿么你的模型多么不稳定都没关系,因为几乎所有物理量都是0,各阶导数也是0。如果这样不崩,那就是算法上的问题了。如果这样也崩,那就是程序语法结构的问题了。
你排错到这一步,我已经不太懂了,不过还有方法更贴近错误。
把no write改成write,这样可以看return回去的是什么值。这个值是否在正常范围内。
以第一个为例,先write不带2kADD_的,再write带2kADD_的,大概能看出来这一项对原本的样子有多大的影响。如果岔开的数量级大了,那就找到问题了。如果岔开的不大,那就手动给k和ADD_赋值,先赋值0,再逐渐改变。如果是改变导致崩,那就是超出范围了;如果赋值0也崩,那就是数据类型之类的编程问题了。
虽然编译没错,但不一定就真没错。C++就这样,功能特性太多。一个不小心,隐形类型转换了之类的,openfoam的二次开发编译过程肯定用了动态链接库,带动态链接库的编译器查错更容易漏。