在哪里可以找到积分点的坐标?

问题描述

我想通过脚本实现压力。在我的代码中,我根据特定点定义了张量。我的代码适用于节点。在用户脚本中,我发现,如果要将张量添加到字段中,则位置必须为INTEGRATION_POINT。


odbname = 'D:/Abaqus-Workspace/010-Team_uhl/010-uhl/010-Wellenbohrungen/006-AnpassungvonODB/25mmkleinRead'
odb = openOdb(odbname + '.odb',readOnly=False)


odbWrite=openOdb(path="D:/Abaqus-Workspace/010-Team_uhl/010-uhl/010-Wellenbohrungen/006-AnpassungvonODB/25mmkleinWrite.odb",readOnly=False)

steptoread=odb.steps['Step-1']
frametoread=steptoread.frames[0] 
odbSelectResults=frametoread.fieldOutputs['S']
t = odbSelectResults
position = frametoread.fieldOutputs['COORD']

myInstance = odb.rootAssembly.instances[('PART-1-1')]

newDataSet = odbSelectResults
newResultsstep = odbWrite.Step(name='TestStep19',description = 'user defined',domain=TIME,timePeriod = 0)
newResultsFrame = newResultsstep.Frame(incrementNumber=0,frameValue=0.0)
newResultsField = newResultsFrame.FieldOutput(name='S',description='Stress',type = TENSOR_3D_FULL,componentLabels= ('S11','S22','S33','S12','S13','S23'),validInvariants=(MISES,)) #User Script 187
newResultsField.addData(field=newDataSet)
odbWrite.save()

numNodes = len(myInstance.nodes)

nodePosition = []
stress = []
nodeLabel = []
for i in range (0,numNodes):
    #print('hallo ',i,numNodes)
    Position=position.values[i].data
    nodePosition.append(Position)
    
    a = abst(nodePosition[i][0],nodePosition[i][1],nodePosition[i][2])
    Sxx  = 5/a
    Syy  = 1/a
    Szz  = 1000/pow(a,2)
    Sxy  = 8/a
    Sxz  = 1/pow(a,0.5)
    Syz  = 1/math.log(2,a)
    stress.append((Sxx,Syy,Szz,Sxy,Sxz,Syz))

    nodeLabel.append(i+1)

stress = tuple(stress)
nodelabel = tuple(nodeLabel)

newResultsFrame=newResultsstep.Frame(incrementNumber=1,frameValue=1.0)
newResultsField=newResultsFrame.FieldOutput(name='S',description='user def',type=TENSOR_3D_FULL)

newResultsField.addData(position=INTEGRATION_POINT,instance=myInstance,labels=nodeLabel,data=stress)

odbWrite.save()

print
print '-------------------------------------------'


odb.save()
odb.close()

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)