def get_mesh_data(self):
import numpy as np
letters = [chr(97+i) for i in range(26)] + [chr(65+i) for i in range(26)]
mesh = " {:11d} {:d} {:11d} NEL,NDIM,NELV".format(np.prod(self.n), 3, np.prod(self.n))
for e in range(self.elements.shape[0]):
ix = int(np.rint((self.elements[e,0] - self.root[0])/self.delta[0]))
iy = int(np.rint((self.elements[e,4] - self.root[1])/self.delta[1]))
iz = int(np.rint((self.elements[e,8] - self.root[2])/self.delta[2]))
mesh += "\n ELEMENT {:11d} [{:5d}{:1s}] GROUP 0\n".format(e+1, iz+1, letters[(ix+iy*self.n[0]) % 52])
mesh += " {: 13.10E} {: 13.10E} {: 13.10E} {: 13.10E} \n".format(*(self.elements[e, 0: 4].tolist()))
mesh += " {: 13.10E} {: 13.10E} {: 13.10E} {: 13.10E} \n".format(*(self.elements[e, 4: 8].tolist()))
mesh += " {: 13.10E} {: 13.10E} {: 13.10E} {: 13.10E} \n".format(*(self.elements[e, 8:12].tolist()))
mesh += " {: 13.10E} {: 13.10E} {: 13.10E} {: 13.10E} \n".format(*(self.elements[e,12:16].tolist()))
mesh += " {: 13.10E} {: 13.10E} {: 13.10E} {: 13.10E} \n".format(*(self.elements[e,16:20].tolist()))
mesh += " {: 13.10E} {: 13.10E} {: 13.10E} {: 13.10E} ".format(*(self.elements[e,20:24].tolist()))
return mesh
评论列表
文章目录