Как распечатать подключение в матрице abaqus python с помощью writeFieldReport

Я пытаюсь распечатать матрицу связности для определенных наборов элементов. Я знаю, как это сделать, используя значение зонда в abaqus/viewer и значение зонда. К сожалению, функция зондирующего значения ничего не записывает в файл отчета. Кто-нибудь знает, как распечатать матрицу связности для определенных наборов элементов, используя writeFieldReport? Я ищу такой выход

  Part Instance  Element ID        Type  Attached nodes
--------------------------------------------------------------------------------
    PART-1-1         167        C3D8        3309        3310        3198        3197 

    309         310         198         197

Спасибо


person Amirsmol    schedule 17.03.2016    source источник


Ответы (2)


Этот сценарий будет экспортировать информацию о соединении узлов из набора элементов уровня сборки. Просто установите пользовательские переменные, как указано в приведенном ниже сценарии, и он экспортирует текстовый файл в тот же каталог, что и odb.

from abaqusConstants import *
from viewerModules import *
import os

# User variables ------------------
elementSetName='fix'
outPutFileName='tmp.txt'
# ---------------------------------

currView=session.viewports[session.currentViewportName]
cOdbD=currView.odbDisplay
odb = session.odbs[cOdbD.name]
odbRootA=odb.rootAssembly

directory=os.path.split(odb.path)[0]

with open(os.path.join(directory,outPutFileName),"w") as f:  

    f.write("%s\n" % ('  Part Instance  Element ID        Type  Attached nodes'))
    f.write("%s\n" % ('--------------------------------------------------------------------------------'))   

    for element in odbRootA.elementSets[elementSetName.upper()].elements[0]: 

        f.write("%s" % ('    ' + element.instanceName + '         ' + str(element.label) + '        ' + element.type))

        nodeNum=0
        for node in element.connectivity:
            nodeNum+=1
            if nodeNum>4:
                f.write("\n%s\n" % (''))
                nodeNum=-4

            f.write("%s" % ('        ' + str(node)))
        f.write("\n")
        f.write("\n")
person DougR    schedule 19.03.2016

Это окончательный сценарий, который сработал для меня очень хорошо:

from abaqusConstants import *
from viewerModules import *
import os

# User variables ------------------
elementSetName='fix'
outPutFileName='tmp.txt'
# ---------------------------------

odb = session.openOdb(name='job.odb')
odbRootA=odb.rootAssembly

directory=os.path.split(odb.path)[0]

with open(os.path.join(directory,outPutFileName),"w") as f:  

    f.write("%s\n" % ('Element ID        Type  Attached nodes'))
    f.write("%s\n" % ('--------------------------------------------------------------------------------'))   

    for element in odbRootA.instances['PART-1-1'].elementSets[elementSetName].elements: 

        f.write("%s" % (str(element.label) + '        ' + element.type+ '        ' ))
        f.write(str(element.connectivity))
        f.write("\n")   
person Amirsmol    schedule 27.04.2016