Команда для изменения записанных строк python, чтобы запись использовала декартову систему координат

#python #abaqus

#python #abaqus

Вопрос:

Abaqus записывает выданные ему команды в файлы .rec и .jnl. При определении наборов ссылка на геометрию включена по умолчанию в следующем формате:

 mdb.models['Model1'].rootAssembly.instances['n2'].vertices.getSequenceFromMask(('[#9a400000 #199 ]', ), ))
  

Я бы хотел, чтобы «[#9a400000 #199 ]» вместо этого использовал декартову систему координат (как в примере ниже). Я знаю, что Abaqus может это сделать, но, похоже, я не могу найти команду для переключения.

Пример декартовой ссылки:

 mdb.models['Model-1'].parts['x'].Set(faces=
mdb.models['Model-1'].parts['x'].faces.findAt(((47.768792, 13.01765, 
493.344593), (-0.414654, -0.857575, 0.304346)),......
  

Ответ №1:

По умолчанию Abaqus будет представлять последовательности, записанные в файлы replay (.rpy), journal (.jnl) и recovery (.rec) с использованием маски. Это хорошее значение по умолчанию, потому что последовательности часто могут становиться очень большими.

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

 from abaqusConstants import *
session.journalOptions.setValues(replayGeometry=COORDINATE,
                                 recoverGeometry=COORDINATE)
  

где COORDINATE — константа abaqus из abaqusConstants модуля.