2014-12-21 4 views
0

Я пробовал следующий код и попытался прочитать eseden из набора узлов. Я получаю следующую ошибку, поскольку «Тип ошибки« Исходный выходной объект поля не является итерируемым ».Полевой выходной объект не повторяется

Аравиндом

from odbAccess import * 
from textRepr import * 
from abaqusConstants import * 
import odbAccess 
odb=openOdb(path='python2d.odb') 

NodesofInterest = odb.rootAssembly.instances['PART-1-1'].nodeSets['NODESET'] 

eseden=odb.steps['Step-1'].frames[1].fieldOutputs['ESEDEN'].getSubset(region=NodesofInterest) 

for v in eseden: 
    print v 
    print (v.elementLabel,v.data) 
+1

Можете ли вы сделать 'print eseden'? Что это такое? – 101

+0

и тип печати (eseden) –

+0

Почему бы вам не попробовать 'len (eseden)' - возможно, его единственное, и, таким образом, нет точки зацикливания на нем. –

ответ

0

Метод getSubset называется на fieldOutputs хранилище возвращает объект FieldOutput. Этот объект содержит элемент values, который может использоваться для чтения значений для определенной переменной «ESEDEN» в вашем случае.

Участник values на самом деле является FieldValueArray с объектами FieldValue, каждый со всей необходимой информацией о данных для одного узла.

Причина, по которой вы получаете сообщение об ошибке, заключается в том, что объект FieldOutput не является итерируемым, поэтому для получения фактической информации вам необходимо следовать соединениям, как я только что описал.

Чтобы сделать это описание несколько понятнее, вот простой пример использования кода:

from odbAccess import * 
from textRepr import * 
from abaqusConstants import * 
import odbAccess 

odb=openOdb(path='python2d.odb') 

NodesofInterest = odb.rootAssembly.instances['PART-1-1'].nodeSets['NODESET'] 
eseden=odb.steps['Step-1'].frames[1].fieldOutputs['ESEDEN'].getSubset(region=NodesofInterest) 

# This kind of iteration should work since FieldValueArray is not 
# a repository 
for value in eseden.values: 
    # Should print node's label and corresponding value 
    print value.nodelabel, value.data 

Вы можете прочитать больше об этом, если вы ищете FieldOutput и FieldValue в documentation. К сожалению, я не могу найти способ напрямую связать любую часть документации отдельно.

+0

Привет, Большое вам спасибо за ваш ответ. Я попробовал запустить пример, который вы мне предоставили. Но это ничего не печатает. Код просто запускается. Не могли бы вы помочь мне в этом. –

+0

Извините за поздний ответ. Где вы ищете выход, в командной строке Abaqus? – hgazibara

+0

Да Сэр. Я проверил в окне сообщения abaqus –

Смежные вопросы