0

我正在使用 MayaVi 来跟踪给定矢量场的流线,并且对于每个流线,我可以提取我需要的所有信息(例如,流线点的坐标、矢量模块的值……)。
问题是流水线过程非常消耗内存。我必须追踪一百条流线,在每条流线之后我想释放内存,但我不知道该怎么做!这是我正在使用的代码

#Vx, Vy, Vz are three NxNxN matrices (N is of the order of 400)

from enthought.mayavi.mlab import *

figure() #it opens the MayaVI graphic window
fl = flow(Vx,Vy,Vz,seedtype='point')

dataset = fl.outputs[0]
x,y,z = dataset.points.to_array().T

这样,点位置被存储在“x”、“y”和“z”中。

现在,使用终端中的“top”命令,我可以看到大部分内存都被使用了。为了释放内存,我尝试从图中删除流线

fl.remove()

以及已弃用的

gc.collect()

但什么也没发生!这意味着,在只跟踪了几条流线之后,我的计算机就会变慢,直到死机。任何想法?有人用过 MayaVi 吗?

干杯,夜图

4

0 回答 0