You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

337 lines
12 KiB
Python

# Vector-U,A,V,RF
# Tensors-S
# Scalars-PEEQ
def U(displacement,outfile,reop_N):
#Access Spatial displacement
fieldValues = displacement.values
for valueX in fieldValues :
i = valueX.nodeLabel
ux = valueX.data[0]
uy = valueX.data[1]
uz = valueX.data[2]
#Spatial displacement, <DataArray>
outfile.write("<"+"DataArray"+" "+"type="+'"'+"Float32"+'"'+" "+"Name="+'"'+"Spatial_displacement"+'"'+" "+"NumberOfComponents="+'"'+"3"+'"'+" "+"format="+'"'+"ascii"+'"'+">"+'\n')
for i in reop_N:
X,Y,Z = ux,uy,uz
outfile.write('%11.8e'%X+' '+'%11.8e'%Y+' '+'%11.8e'%Z+'\n')
outfile.write("</DataArray>"+'\n')
#</DataArray>
def A(acceleration,outfile,reop_N):
#Access Spatial acceleration
fieldValues = acceleration.values
for valueX in fieldValues :
i = valueX.nodeLabel
ax = valueX.data[0]
ay = valueX.data[1]
az = valueX.data[2]
#Spatial acceleration, <DataArray>
outfile.write("<"+"DataArray"+" "+"type="+'"'+"Float32"+'"'+" "+"Name="+'"'+"Spatial_acceleration"+'"'+" "+"NumberOfComponents="+'"'+"3"+'"'+" "+"format="+'"'+"ascii"+'"'+">"+'\n')
for i in reop_N:
X,Y,Z = ax,ay,az
outfile.write('%11.8e'%X+' '+'%11.8e'%Y+' '+'%11.8e'%Z+'\n')
outfile.write("</DataArray>"+'\n')
#</DataArray>
def V(velocity,outfile,reop_N):
#Access Spatial velocity
fieldValues = velocity.values
for valueX in fieldValues :
i = valueX.nodeLabel
vx = valueX.data[0]
vy = valueX.data[1]
vz = valueX.data[2]
#Spatial velocity, <DataArray>
outfile.write("<"+"DataArray"+" "+"type="+'"'+"Float32"+'"'+" "+"Name="+'"'+"Spatial_velocity"+'"'+" "+"NumberOfComponents="+'"'+"3"+'"'+" "+"format="+'"'+"ascii"+'"'+">"+'\n')
for i in reop_N:
X,Y,Z = vx,vy,vz
outfile.write('%11.8e'%X+' '+'%11.8e'%Y+' '+'%11.8e'%Z+'\n')
outfile.write("</DataArray>"+'\n')
#</DataArray>
def RF(Reaction_force,outfile,reop_N):
#Access Reaction force
fieldValues = Reaction_force.values
for valueX in fieldValues :
i = valueX.nodeLabel
rfx = valueX.data[0]
rfy = valueX.data[1]
rfz = valueX.data[2]
#Reaction force
outfile.write("<"+"DataArray"+" "+"type="+'"'+"Float32"+'"'+" "+"Name="+'"'+"Reaction_force"+'"'+" "+"NumberOfComponents="+'"'+"3"+'"'+" "+"format="+'"'+"ascii"+'"'+">"+'\n')
for i in reop_N:
X,Y,Z = rfx,rfy,rfz
outfile.write('%11.8e'%X+' '+'%11.8e'%Y+' '+'%11.8e'%Z+'\n')
outfile.write("</DataArray>"+'\n')
#</DataArray>
def PEEQ(Equivalent_plastic_strain,outfile,reop_N):
#Equivalent plastic strain
node_Equivalent_plastic_strain = Equivalent_plastic_strain.getSubs(position=ELEMENT_NODAL)
fieldValues = node_Equivalent_plastic_strain.values
for valueX in fieldValues :
PEEQ_data= valueX.data
#Equivalent plastic strain, <DataArray>
outfile.write("<"+"DataArray"+" "+"type="+'"'+"Float32"+'"'+" "+"Name="+'"'+"Equivalent_plastic_strain"+'"'+" "+"format="+'"'+"ascii"+'"'+">"+'\n')
for i in reop_N:
pd = PEEQ_data
outfile.write('%11.8e'%pd+'\n')
outfile.write('</DataArray>'+'\n')
#</DataArray>
def Stress(Stress,outfile,reop_N):
#access Stress components
node_Stress = Stress.getSubset(position=ELEMENT_NODAL)
fieldValues = node_Stress.values
for valueX in fieldValues :
s11 = valueX.data[0]
s22 = valueX.data[1]
s33 = valueX.data[2]
s12 = valueX.data[3]
s23 = valueX.data[4]
s13 = valueX.data[5]
# L1[valueX.nodeLabel-1][7] += valueX.mises
# L1[valueX.nodeLabel-1][8] += valueX.maxPrincipal
# L1[valueX.nodeLabel-1][9] += valueX.midPrincipal
# L1[valueX.nodeLabel-1][10] += valueX.minPrincipal
# L1[valueX.nodeLabel-1][11] += valueX.press
# L1[valueX.nodeLabel-1][12] += valueX.tresca
# L1[valueX.nodeLabel-1][13] += valueX.inv3
#Stress components, <DataArray>
outfile.write("<"+"DataArray"+" "+"type="+'"'+"Float32"+'"'+" "+"Name="+'"'+"Stress_Components"+'"'+" "+"NumberOfComponents="+'"'+"9"+'"'+" "+"format="+'"'+"ascii"+'"'+">"+'\n')
for i in reop_N:
XX,XY,XZ,YX,YY,YZ,ZX,ZY,ZZ = s11,s12,s13,s12,s22,s23,s13,s23,s33
outfile.write('%11.8e'%XX+' '+'%11.8e'%XY+' '+'%11.8e'%XZ+' '+'%11.8e'%YX+' '+'%11.8e'%YY+' '+'%11.8e'%YZ+' '+'%11.8e'%ZX+' '+'%11.8e'%ZY+' '+'%11.8e'%ZZ+'\n')
outfile.write("</DataArray>"+'\n')
#</DataArray>
def NT11(Temperature,outfile,reop_N):
#Equivalent plastic strain
fieldValues = Temperature.values
for valueX in fieldValues :
NT11_data= valueX.data
#Equivalent plastic strain, <DataArray>
outfile.write("<"+"DataArray"+" "+"type="+'"'+"Float32"+'"'+" "+"Name="+'"'+"Temperature"+'"'+" "+"format="+'"'+"ascii"+'"'+">"+'\n')
for i in reop_N:
temp = NT11_data
outfile.write('%11.8e'%temp+'\n')
outfile.write('</DataArray>'+'\n')
#</DataArray>
# print "Reading U, A, V, RF ......"
# time1 = time()
# #Access Spatial displacement
# displacement = N_Frame.fieldOutputs['U']
# fieldValues = displacement.values
# for valueX in fieldValues :
# i = valueX.nodeLabel
# L0[i-1][0] = valueX.data[0] ux
# L0[i-1][1] = valueX.data[1] uy
# L0[i-1][2] = valueX.data[2] uz
# #Access Spatial acceleration
# acceleration = N_Frame.fieldOutputs['A']
# fieldValues = acceleration.values
# for valueX in fieldValues :
# i = valueX.nodeLabel
# L0[i-1][3] = valueX.data[0] ax
# L0[i-1][4] = valueX.data[1] ay
# L0[i-1][5] = valueX.data[2] az
# #Access Spatial velocity
# velocity = N_Frame.fieldOutputs['V']
# fieldValues = velocity.values
# for valueX in fieldValues :
# i = valueX.nodeLabel
# L0[i-1][6] = valueX.data[0] vx
# L0[i-1][7] = valueX.data[1] vy
# L0[i-1][8] = valueX.data[2] vz
# #Access Reaction force
# Reaction_force = N_Frame.fieldOutputs['RF']
# fieldValues = Reaction_force.values
# for valueX in fieldValues :
# i = valueX.nodeLabel
# L0[i-1][9] = valueX.data[0] rfx
# L0[i-1][10] = valueX.data[1] rfy
# L0[i-1][11] = valueX.data[2] rfz
# print "Time elapsed: ", time() - time1, "s"
# print "Reading Stress ......"
# time1 = time()
# #access Stress components
# Stress = N_Frame.fieldOutputs['S']
# node_Stress = Stress.getSubset(position=ELEMENT_NODAL)
# fieldValues = node_Stress.values
# for valueX in fieldValues :
# L1[valueX.nodeLabel-1][0] += 1
# L1[valueX.nodeLabel-1][1] += valueX.data[0] s11
# L1[valueX.nodeLabel-1][2] += valueX.data[1] s22
# L1[valueX.nodeLabel-1][3] += valueX.data[2] s33
# L1[valueX.nodeLabel-1][4] += valueX.data[3] s12
# L1[valueX.nodeLabel-1][5] += valueX.data[4] s23
# L1[valueX.nodeLabel-1][6] += valueX.data[5] s13
# L1[valueX.nodeLabel-1][7] += valueX.mises
# L1[valueX.nodeLabel-1][8] += valueX.maxPrincipal
# L1[valueX.nodeLabel-1][9] += valueX.midPrincipal
# L1[valueX.nodeLabel-1][10] += valueX.minPrincipal
# L1[valueX.nodeLabel-1][11] += valueX.press
# L1[valueX.nodeLabel-1][12] += valueX.tresca
# L1[valueX.nodeLabel-1][13] += valueX.inv3
# # can first ave
# print "Time elapsed: ", time() - time1, "s"
# print "Reading Equivalent plastic strain ......"
# time1 = time()
# #Equivalent plastic strain
# Equivalent_plastic_strain = N_Frame.fieldOutputs['PEEQ']
# node_Equivalent_plastic_strain = Equivalent_plastic_strain.getSubset(position=ELEMENT_NODAL)
# fieldValues = node_Equivalent_plastic_strain.values
# for valueX in fieldValues :
# L4[valueX.nodeLabel-1][0] += 1
# L4[valueX.nodeLabel-1][1] += valueX.data
# print "Time elapsed: ", time() - time1, "s"
# print "Reading Logarithmic strain ......"
# time1 = time()
# #Logarithmic strain components
# Logarithmic_strain = N_Frame.fieldOutputs['LE']
# node_Logarithmic_strain = Logarithmic_strain.getSubset(position=ELEMENT_NODAL)
# fieldValues = node_Logarithmic_strain.values
# for valueX in fieldValues :
# L2[valueX.nodeLabel-1][0] += 1
# L2[valueX.nodeLabel-1][1] += valueX.data[0]
# L2[valueX.nodeLabel-1][2] += valueX.data[1]
# L2[valueX.nodeLabel-1][3] += valueX.data[2]
# L2[valueX.nodeLabel-1][4] += valueX.data[3]
# L2[valueX.nodeLabel-1][5] += valueX.data[4]
# L2[valueX.nodeLabel-1][6] += valueX.data[5]
# L2[valueX.nodeLabel-1][7] += valueX.maxPrincipal
# L2[valueX.nodeLabel-1][8] += valueX.minPrincipal
# print "Time elapsed: ", time() - time1, "s"
# print "Reading Plastic strain ......"
# time1 = time()
# #Plastic strain components
# Plastic_strain = N_Frame.fieldOutputs['PE']
# node_Plastic_strain = Plastic_strain.getSubset(position=ELEMENT_NODAL)
# fieldValues = node_Plastic_strain.values
# for valueX in fieldValues :
# L3[valueX.nodeLabel-1][0] += 1
# L3[valueX.nodeLabel-1][1] += valueX.data[0]
# L3[valueX.nodeLabel-1][2] += valueX.data[1]
# L3[valueX.nodeLabel-1][3] += valueX.data[2]
# L3[valueX.nodeLabel-1][4] += valueX.data[3]
# L3[valueX.nodeLabel-1][5] += valueX.data[4]
# L3[valueX.nodeLabel-1][6] += valueX.data[5]
# L3[valueX.nodeLabel-1][7] += valueX.maxPrincipal
# L3[valueX.nodeLabel-1][8] += valueX.minPrincipal
# print "Time elapsed: ", time() - time1, "s"
#Logarithmic_strain_Max_Principal, <DataArray>
# outfile.write("<"+"DataArray"+" "+"type="+'"'+"Float32"+'"'+" "+"Name="+'"'+"Logarithmic_strain_Max_Principal"+'"'+" "+"format="+'"'+"ascii"+'"'+">"+'\n')
# for i in reop_N:
# k = node[stg_n[i]].label-1
# X = L2[k][7]
# outfile.write('%11.8e'%X+'\n')
# outfile.write('</DataArray>'+'\n')
# #</DataArray>
# #Logarithmic strain Min.Principal, <DataArray>
# outfile.write("<"+"DataArray"+" "+"type="+'"'+"Float32"+'"'+" "+"Name="+'"'+"Logarithmic_strain_Min_Principal"+'"'+" "+"format="+'"'+"ascii"+'"'+">"+'\n')
# for i in reop_N:
# k = node[stg_n[i]].label-1
# X = L2[k][8]
# outfile.write('%11.8e'%X+'\n')
# outfile.write('</DataArray>'+'\n')
# #</DataArray>'''
#Plastic strain Max.Principal, <DataArray>
# outfile.write("<"+"DataArray"+" "+"type="+'"'+"Float32"+'"'+" "+"Name="+'"'+"Plastic_strain_Max_Principal"+'"'+" "+"format="+'"'+"ascii"+'"'+">"+'\n')
# for i in reop_N:
# k = node[stg_n[i]].label-1
# X = L3[k][7]
# outfile.write('%11.8e'%X+'\n')
# outfile.write('</DataArray>'+'\n')
# #</DataArray>
# #Plastic strain Min.Principal, <DataArray>
# outfile.write("<"+"DataArray"+" "+"type="+'"'+"Float32"+'"'+" "+"Name="+'"'+"Plastic_strain_Min_Principal"+'"'+" "+"format="+'"'+"ascii"+'"'+">"+'\n')
# for i in reop_N:
# k = node[stg_n[i]].label-1
# X = L3[k][8]
# outfile.write('%11.8e'%X+'\n')
# outfile.write('</DataArray>'+'\n')
# #</DataArray>
# #Stress Mises, <DataArray>
# outfile.write("<"+"DataArray"+" "+"type="+'"'+"Float32"+'"'+" "+"Name="+'"'+"Stress_Mises"+'"'+" "+"format="+'"'+"ascii"+'"'+">"+'\n')
# for i in reop_N:
# k = node[stg_n[i]].label-1
# X = smises
# outfile.write('%11.8e'%X+'\n')
# outfile.write('</DataArray>'+'\n')
# #</DataArray>
# #Stress Max.Principal, <DataArray>
# outfile.write("<"+"DataArray"+" "+"type="+'"'+"Float32"+'"'+" "+"Name="+'"'+"Stress_Max_Principal"+'"'+" "+"format="+'"'+"ascii"+'"'+">"+'\n')
# for i in reop_N:
# k = node[stg_n[i]].label-1
# X = maxPrincipal
# outfile.write('%11.8e'%X+'\n')
# outfile.write('</DataArray>'+'\n')
# #</DataArray>
# #Stress Mid.Principal, <DataArray>
# outfile.write("<"+"DataArray"+" "+"type="+'"'+"Float32"+'"'+" "+"Name="+'"'+"Stress_Mid_Principal"+'"'+" "+"format="+'"'+"ascii"+'"'+">"+'\n')
# for i in reop_N:
# k = node[stg_n[i]].label-1
# X = midPrincipal
# outfile.write('%11.8e'%X+'\n')
# outfile.write('</DataArray>'+'\n')
# #</DataArray>
# #Stress Min.Principal, <DataArray>
# outfile.write("<"+"DataArray"+" "+"type="+'"'+"Float32"+'"'+" "+"Name="+'"'+"Stress_Min_Principal"+'"'+" "+"format="+'"'+"ascii"+'"'+">"+'\n')
# for i in reop_N:
# k = node[stg_n[i]].label-1
# X = minPrincipal
# outfile.write('%11.8e'%X+'\n')
# outfile.write('</DataArray>'+'\n')
# #</DataArray>
# #Stress Pressure, <DataArray>
# outfile.write("<"+"DataArray"+" "+"type="+'"'+"Float32"+'"'+" "+"Name="+'"'+"Stress_Pressure"+'"'+" "+"format="+'"'+"ascii"+'"'+">"+'\n')
# for i in reop_N:
# k = node[stg_n[i]].label-1
# X = press
# outfile.write('%11.8e'%X+'\n')
# outfile.write('</DataArray>'+'\n')
# #</DataArray>
# #Stress Tresca, <DataArray>
# outfile.write("<"+"DataArray"+" "+"type="+'"'+"Float32"+'"'+" "+"Name="+'"'+"Stress_Tresca"+'"'+" "+"format="+'"'+"ascii"+'"'+">"+'\n')
# for i in reop_N:
# k = node[stg_n[i]].label-1
# X = tresca
# outfile.write('%11.8e'%X+'\n')
# outfile.write('</DataArray>'+'\n')
# #</DataArray>
# #Stress Third_Invariant, <DataArray>
# outfile.write("<"+"DataArray"+" "+"type="+'"'+"Float32"+'"'+" "+"Name="+'"'+"Stress_Third_Invariant"+'"'+" "+"format="+'"'+"ascii"+'"'+">"+'\n')
# for i in reop_N:
# k = node[stg_n[i]].label-1
# X = inv3
# outfile.write('%11.8e'%X+'\n')
# outfile.write('</DataArray>'+'\n')
# #</DataArray>