AttributeError: GetNumberOfCells
Я пытаюсь извлечь профиль концентрации одной строки из набора данных исходных текстов с помощью "сценария pvpython".
Процедура, которую я пытаюсь реализовать, была взята отсюда (2-й пост):
http://www.cfd-online.com/Forums/paraview/96308-extracting-paraview-data-into-python-arrays.html
Код, вставленный ниже, является моей попыткой приспособить эту процедуру к моей проблеме:
import paraview
from paraview.simple import *
from paraview import servermanager
servermanager.Connect()
#paraview.simple._DisableFirstRenderCameraReset()
out_split_1_e = ExodusIIReader( FileName=['/home/kribby/Documents/projects/Inputs_and_Data/determine_kappa2/cont_OX/6/kappa0a1/out_split.1.e'] )
#~
SliceFile = Slice(out_split_1_e)
SliceData = paraview.servermanager.Fetch(SliceFile)
print SliceData
numCells = SliceData.GetNumberOfCells()
data=[]
for x in range(numCells):
data.append(SliceData.GetCellData().GetArray('p').GetValue(x))
print data
При запуске этого кода я получаю следующую ошибку (TERMINAL PASTE):
> Number Of Components: 0
> Number Of Tuples: 0
> Number Of Children: 4
> Child 0: NULL
> Child 1: NULL
> Child 2: NULL
> Child 3: NULL
>Traceback (most recent call last):
> File "testarray.py", line 13, in <module>
> numCells = SliceData.GetNumberOfCells()
>AttributeError: GetNumberOfCells
Я не могу решить эту проблему. Кто-нибудь может пролить свет?
Заранее большое спасибо.
1 ответ
Решение
Исходник Reader производит multiblock
набор данных - это набор данных, состоящий из других наборов данных.
Попробуй это:
Slice(...)
mb = MergeBlocks(...)
# Now fetch mb instead.