Как вывести контактное давление всех точек в наборе узлов в файле odb abaqus через pythonPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Как вывести контактное давление всех точек в наборе узлов в файле odb abaqus через python

Сообщение Anonymous »

Я работаю над проектом, который включает в себя извлечение данных контактного давления (CPRESS) из файла Abaqus ODB. В частности, я хочу извлечь данные для набора узлов, определенных в наборе узлов под названием CPRESS1, и сохранить эти данные в файл CSV. Узлы принадлежат сборке, и извлеченные данные должны включать метку узла, координаты и значение CPRESS.
В Abaqus/Explicit я определяю поведение между поверхностями через поверхность. Контакт с поверхностью (явный). Для поверхностей фокуса я создал набор узлов (введите описание изображения здесь, рис. 1) с именем CPRESS1. В файле ODB я вижу, что данные CPRESS были успешно выведены (введите описание изображения здесь, рис. 2), и набор узлов отображается правильно (введите описание изображения здесь, рис. 3). Когда я запускаю код, он успешно идентифицирует каждый узел (введите описание изображения здесь, рис. 4) в наборе узлов, но указывает, что для этих узлов нет доступных данных.

Код: Выделить всё

# -*- coding: utf-8 -*-
import csv
import os

from abaqusConstants import *
from odbAccess import *

# Define the .odb file path
odb_path = r'E:\odb\partitions\Finished-07132007-nT10-wT126-base-joint-noshear-fix-iabse\Finished-07132008-nT10-wT126-base-joint-noshear-fix-iabse.odb'

# Get the directory of the .odb file
odb_dir = os.path.dirname(odb_path)

# Open the .odb file in read-only mode
odb = openOdb(path=odb_path, readOnly=True)

# Get the node set
node_set_name = 'CPRESS1'
location_cpress1 = odb.rootAssembly.nodeSets[node_set_name]

# Get the last frame from the specified step
lastFrame = odb.steps['Step-pressure'].frames[11]
cpress = lastFrame.fieldOutputs['CPRESS']
cpress1_subset = cpress.getSubset(region=location_cpress1)

# Debug information
print("Total CPRESS values: ", len(cpress1_subset.values))

# Define the CSV file path
csv_path = os.path.join(odb_dir, 'cpress_data.csv')

# Create and open the CSV file for writing
with open(csv_path, mode='w') as file:
writer = csv.writer(file)
# Write the CSV header
writer.writerow(['Node Label', 'X Coordinate', 'Y Coordinate', 'Z Coordinate', 'Contact Pressure'])

# Write each node's contact pressure information
for v in cpress1_subset.values:
node = next((n for n in odb.rootAssembly.nodes if n.label == v.nodeLabel), None)
if node:
writer.writerow([v.nodeLabel, node.coordinates[0], node.coordinates[1], node.coordinates[2], v.data])
else:
print("Node label ", v.nodeLabel, " not found in assembly nodes")

# Close the .odb file
odb.close()

Приведенный выше код был написан с помощью ChatGPT-3.5. Поскольку я новичок в Python, в коде могут быть некоторые необычные ошибки. Буду признателен, если вы поможете мне выявить проблемы в коде. Спасибо большое!

Подробнее здесь: https://stackoverflow.com/questions/788 ... us-odb-fil
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Извлечение значений Мизеса в Abaqus из файла .odb
    Anonymous » » в форуме Python
    0 Ответы
    18 Просмотры
    Последнее сообщение Anonymous
  • Извлечение значений Мизеса в Abaqus из файла .odb
    Anonymous » » в форуме Python
    0 Ответы
    12 Просмотры
    Последнее сообщение Anonymous
  • Почему имя задания abaqus не обновляется в моем скрипте Python abaqus?
    Anonymous » » в форуме Python
    0 Ответы
    37 Просмотры
    Последнее сообщение Anonymous
  • Извлеките величину HFL из сценариев Python abaqus для набора узлов
    Anonymous » » в форуме Python
    0 Ответы
    10 Просмотры
    Последнее сообщение Anonymous
  • Как мне правильно назначить шв в этом файле Python для Abaqus?
    Anonymous » » в форуме Python
    0 Ответы
    4 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Python»