计算中断,提示"已杀死"是什么原因?
-
-
看起来很像人为杀死的,当然你肯定自己不会杀死。你设置的求解几次p_rgh?
-
网格不够确实会模拟结束,不过我还没遇到过那么多的网格。曾经我因为没有delete指针计算了不到1天,内存不够而终止了(20万网格16g内存)。你的网格非常大到内存不够了?多少网格多大内存。
-
那计算会非常慢。100万网格对2g内存还是太大了。很有可能内存没了。不过你的虚拟机分配了2G内存,在2G内存用完了之后会不会调用真是系统的内存我不清楚。我同意你的观点,增加内存或者减小网格试试。
-
我在昨天发现了这个错误,怀疑也是内存出的问题。仔细回想了一下,昨天在程序里面写了几行:
scalar* zeta = new double [2*n];
后面忘了删除。昨晚上计算的时候三个算例全部
killed
:diagonal: Solving for M11, Initial residual = 0, Final residual = 0, No Iterations 0 diagonal: Solving for M12, Initial residual = 0, Final residual = 0, No Iterations 0 diagonal: Solving for M13, Initial residual = 0, Final residual = 0, No Iterations 0 diagonal: Solving for M14, Initial residual = 0, Final residual = 0, No Iterations 0 PIMPLE: iteration 1 GAMG: Solving for p, Initial residual = 0.0004130904583986163, Final residual = 2.405751520795531e-06, No Iterations 4 time step continuity errors : sum local = 8.330982304837603e-10, global = 1.267524541545882e-12, cumulative = -2.029919160042075e-06 Killed
无任何消息。然后我在源代码中将这个
new
出来的数组delete
之后,就不会出错了。另外,我测试了一下,不删除数组计算的时候内存会一直上升。因此,动态数组记得释放!
2016年4月22日 06:51
12/14
2018年9月19日 00:40