Как определить имена наборов узлов в сборке в abaqus с помощью сценариев Python? - PullRequest
0 голосов
/ 19 июня 2019

Я анализирую модель с различными наборами узлов в Abaqus, из которой я хочу извлечь разные данные.

Я вводил имена наборов узлов вручную для каждого анализа, и это может быть довольно утомительно, если в модели много наборов узлов.

Мне было интересно, есть ли способ получить список со всеми именами наборов узлов в нем. Возможно ли это?

Пример ожидаемого результата:

NSETS=['NSET-1',''NSET-2'...]

1 Ответ

0 голосов
/ 19 июня 2019

Это зависит от того, взаимодействуете ли вы с базой данных модели или выходной базой данных и где находится набор.Как только вы определите, где вы обращаетесь к словарю множеств, вы можете использовать метод keys, чтобы получить список имен множеств.Например, чтобы получить имена наборов в экземпляре в сборке:

NSETS = mdb.models['Model-1'].rootAssembly.instances['PART-1-1'].sets.keys()

Вы можете использовать тот же подход для получения имен наборов в другом месте.В Справочном руководстве по сценариям Abaqus есть два соответствующих раздела, в которых показано, где вы можете получить доступ к наборам.Первый предназначен для доступа к наборам в базе данных модели:

Abaqus> Справочник по сценариям> Команды Python> Команды региона> Объект Set

import part
mdb.models[name].parts[name].allInternalSets[name]
mdb.models[name].parts[name].allSets[name]
mdb.models[name].parts[name].sets[name]
import assembly
mdb.models[name].rootAssembly.allinstances.sets[name]
mdb.models[name].rootAssembly.allInternalSets[name]
mdb.models[name].rootAssembly.allSets[name]
mdb.models[name].rootAssembly.instances[name].sets[name]
mdb.models[name].rootAssembly.modelInstances[i].sets[name]
mdb.models[name].rootAssembly.sets[name]

И для доступа к наборам из выходной базы данных:

Abaqus> Справочник по сценариям> Команды Python> Команды Odb> Объект OdbSet

import odbAccess session.odbs[name].parts[name].elementSets[name]
session.odbs[name].parts[name].nodeSets[name]
session.odbs[name].parts[name].surfaces[name]
session.odbs[name].rootAssembly.elementSets[name]
session.odbs[name].rootAssembly.instances[name].elementSets[name]
session.odbs[name].rootAssembly.instances[name].nodeSets[name]
session.odbs[name].rootAssembly.instances[name].surfaces[name]
session.odbs[name].rootAssembly.nodeSets[name]
session.odbs[name].rootAssembly.surfaces[name]
session.odbs[name].steps[name].frames[i].fieldOutputs[name].values[i].instance.elementSets[name]
session.odbs[name].steps[name].frames[i].fieldOutputs[name].values[i].instance.nodeSets[name]
session.odbs[name].steps[name].frames[i].fieldOutputs[name].values[i].instance.surfaces[name]
...