2016-02-23 6 views
1

Мне нужны узловые напряжения в небе. Я знаю, что я могу просто создать запрос в модуле визуализации и, следовательно, получить усредненный узловой стресс (который, как я думаю, не будет полезен, поскольку он выполняется после анализа, и я не могу сделать это в небе, поскольку нет узлового информация для стрессов). Я также могу отредактировать входной файл и использовать Position = NODES в выводе элемента, а затем выполнить анализ, вызвав входной файл в качестве источника. Он генерирует напряжения с узловыми данными, а затем каждый узел имеет несколько значений напряжений, соответствующих каждому элементу. Я также усреднил эти значения в сценарии, как это сделано в модуле визуализации. Но теперь мне нужно автоматизировать этот скрипт для нескольких симуляций, и единственное место, где я застрял, - это запросить вывод узла для следующей итерации. Я не знаю, что эквивалентная команда python для Position = NODES, которая написана во входном файле. Я не могу продолжать использовать один и тот же файл ввода, поскольку моя узловая позиция для следующего моделирования отличается от предыдущей модели. Любые мысли о том, как мне это сделать?Как запросить вывод напряжения в узле в скрипте ABAQUS Python

+0

Я боюсь, что это одна из тех вещей, которые не поддерживаются CAE. В этом случае вы можете внести изменения через редактор ключевых слов .. и вы можете выполнить сценарий этого процесса. – agentp

+0

Спасибо за ваш ответ. Да, согласен, но я не уверен, как внести изменения в редактор ключевых слов в скрипт, написанный на python. – user5827667

ответ

0

Вот пример сценария редактора ключевых слов. Хитрость к ней - вам нужно найти существующее ключевое слово и вставить новый текст до или после этого.

model.keywordBlock.synchVersions() 
def GetBlockPosition(model,blockPrefix): 
pos = 0 
for block in model.keywordBlock.sieBlocks: 
    if string.lower(block[0:len(blockPrefix)])==string.lower(blockPrefix):return pos 
    pos=pos+1 
return -1 
model.keywordBlock.insert(GetBlockPosition(model,'*Restart')-1, """ 
*EL FILE,POSITION=AVERAGED AT NODES 
S 
""") 

Сделайте это как самое последнее, прежде чем создавать/отправлять задания.

+0

Спасибо за пример .. Теперь его работа, как я ожидаю – user5827667