def load_panair_geometry(self, panairFileName, dirname, plot=True): self.nidMap = {} #key = self.caseKeys[self.iCase] #case = self.resultCases[key] skipReading = self.removeOldGeometry(panairFileName) if skipReading: return model = PanairGrid(log=self.log, debug=self.debug) self.modelType = model.modelType model.read_panair(panairFileName) nodes, elements, regions = model.getPointsElementsRegions() #for nid,node in enumerate(nodes): #print "node[%s] = %s" %(nid,str(node)) self.nNodes = len(nodes) self.nElements = len(elements) #print("nNodes = ",self.nNodes) #print("nElements = ", self.nElements) self.grid.Allocate(self.nElements, 1000) #self.gridResult.SetNumberOfComponents(self.nElements) self.grid2.Allocate(1, 1000) points = vtk.vtkPoints() points.SetNumberOfPoints(self.nNodes) #self.gridResult.Allocate(self.nNodes, 1000) #vectorReselt.SetNumberOfComponents(3) #elem.SetNumberOfPoints(nNodes) if 0: fraction = 1. / nNodes # so you can color the nodes by ID for nid, node in sorted(iteritems(nodes)): points.InsertPoint(nid - 1, *point) self.gridResult.InsertNextValue(nid * fraction) #print str(element) #elem = vtk.vtkVertex() #elem.GetPointIds().SetId(0, i) #self.aQuadGrid.InsertNextCell(elem.GetCellType(), elem.GetPointIds()) #vectorResult.InsertTuple3(0, 0.0, 0.0, 1.0) assert len(nodes) > 0 mmax = amax(nodes, axis=0) mmin = amin(nodes, axis=0) dim_max = (mmax - mmin).max() self.update_axes_length(dim_max) for nid, node in enumerate(nodes): points.InsertPoint(nid, *node) assert len(elements) > 0 for eid, element in enumerate(elements): (p1, p2, p3, p4) = element #print "element = ",element elem = vtkQuad() elem.GetPointIds().SetId(0, p1) elem.GetPointIds().SetId(1, p2) elem.GetPointIds().SetId(2, p3) elem.GetPointIds().SetId(3, p4) self.grid.InsertNextCell(elem.GetCellType(), elem.GetPointIds()) #print("eid = ", eid) self.grid.SetPoints(points) #self.grid2.SetPoints(points2) #self.grid.GetPointData().SetScalars(self.gridResult) #print dir(self.grid) #.SetNumberOfComponents(0) #self.grid.GetCellData().SetNumberOfTuples(1); #self.grid.GetCellData().SetScalars(self.gridResult) self.grid.Modified() self.grid2.Modified() self.grid.Update() self.grid2.Update() print("updated grid") #return # loadCart3dResults - regions/loads self.TurnTextOn() self.scalarBar.VisibilityOn() self.scalarBar.Modified() self.iSubcaseNameMap = {1: ['Panair', '']} cases = {} ID = 1 #print "nElements = ",nElements loads = [] cases = self.fillPanairGeometryCase(cases, ID, nodes, elements, regions, loads) self._finish_results_io(cases)
def load_panair_geometry(self, panairFileName, dirname, plot=True): self.nidMap = {} #key = self.caseKeys[self.iCase] #case = self.resultCases[key] skipReading = self.removeOldGeometry(panairFileName) if skipReading: return model = PanairGrid(log=self.log, debug=self.debug) self.modelType = model.modelType model.read_panair(panairFileName) nodes, elements, regions = model.getPointsElementsRegions() #for nid,node in enumerate(nodes): #print "node[%s] = %s" %(nid,str(node)) self.nNodes = len(nodes) self.nElements = len(elements) #print("nNodes = ",self.nNodes) #print("nElements = ", self.nElements) self.grid.Allocate(self.nElements, 1000) #self.gridResult.SetNumberOfComponents(self.nElements) self.grid2.Allocate(1, 1000) points = vtk.vtkPoints() points.SetNumberOfPoints(self.nNodes) #self.gridResult.Allocate(self.nNodes, 1000) #vectorReselt.SetNumberOfComponents(3) #elem.SetNumberOfPoints(nNodes) if 0: fraction = 1. / nNodes # so you can color the nodes by ID for nid, node in sorted(iteritems(nodes)): points.InsertPoint(nid - 1, *point) self.gridResult.InsertNextValue(nid * fraction) #print str(element) #elem = vtk.vtkVertex() #elem.GetPointIds().SetId(0, i) #self.aQuadGrid.InsertNextCell(elem.GetCellType(), elem.GetPointIds()) #vectorResult.InsertTuple3(0, 0.0, 0.0, 1.0) assert len(nodes) > 0 mmax = amax(nodes, axis=0) mmin = amin(nodes, axis=0) dim_max = (mmax - mmin).max() self.update_axes_length(dim_max) for nid, node in enumerate(nodes): points.InsertPoint(nid, *node) assert len(elements) > 0 for eid, element in enumerate(elements): (p1, p2, p3, p4) = element #print "element = ",element elem = vtkQuad() elem.GetPointIds().SetId(0, p1) elem.GetPointIds().SetId(1, p2) elem.GetPointIds().SetId(2, p3) elem.GetPointIds().SetId(3, p4) self.grid.InsertNextCell(elem.GetCellType(), elem.GetPointIds()) #print("eid = ", eid) self.grid.SetPoints(points) #self.grid2.SetPoints(points2) #self.grid.GetPointData().SetScalars(self.gridResult) #print dir(self.grid) #.SetNumberOfComponents(0) #self.grid.GetCellData().SetNumberOfTuples(1); #self.grid.GetCellData().SetScalars(self.gridResult) self.grid.Modified() self.grid2.Modified() if hasattr(self.grid, 'Update'): self.grid.Update() self.grid2.Update() print("updated grid") #return # loadCart3dResults - regions/loads self.TurnTextOn() self.scalarBar.VisibilityOn() self.scalarBar.Modified() self.iSubcaseNameMap = {1: ['Panair', '']} cases = {} ID = 1 #print "nElements = ",nElements loads = [] cases = self.fillPanairGeometryCase(cases, ID, nodes, elements, regions, loads) self._finish_results_io(cases)
def load_panair_geometry(self, panairFileName, dirname): self.nidMap = {} #key = self.caseKeys[self.iCase] #case = self.resultCases[key] skipReading = self.removeOldGeometry(panairFileName) if skipReading: return model = PanairGrid(panairFileName, log=self.log, debug=self.debug) self.modelType = model.modelType model.read_panair() nodes, elements, regions = model.getPointsElementsRegions() #for nid,node in enumerate(nodes): #print "node[%s] = %s" %(nid,str(node)) self.nNodes = len(nodes) self.nElements = len(elements) #print("nNodes = ",self.nNodes) print("nElements = ", self.nElements) self.grid.Allocate(self.nElements, 1000) #self.gridResult.SetNumberOfComponents(self.nElements) self.grid2.Allocate(1, 1000) points = vtk.vtkPoints() points.SetNumberOfPoints(self.nNodes) #self.gridResult.Allocate(self.nNodes, 1000) #vectorReselt.SetNumberOfComponents(3) #elem.SetNumberOfPoints(nNodes) if 0: fraction = 1. / nNodes # so you can color the nodes by ID for nid, node in sorted(nodes.iteritems()): points.InsertPoint(nid - 1, *point) self.gridResult.InsertNextValue(nid * fraction) #print str(element) #elem = vtk.vtkVertex() #elem.GetPointIds().SetId(0, i) #self.aQuadGrid.InsertNextCell(elem.GetCellType(), elem.GetPointIds()) #vectorResult.InsertTuple3(0, 0.0, 0.0, 1.0) for nid, node in enumerate(nodes): points.InsertPoint(nid, *node) #print "nid = ",nid for eid, element in enumerate(elements): (p1, p2, p3, p4) = element #print "element = ",element elem = vtkQuad() elem.GetPointIds().SetId(0, p1) elem.GetPointIds().SetId(1, p2) elem.GetPointIds().SetId(2, p3) elem.GetPointIds().SetId(3, p4) self.grid.InsertNextCell(elem.GetCellType(), elem.GetPointIds()) print("eid = ", eid) self.grid.SetPoints(points) #self.grid2.SetPoints(points2) #self.grid.GetPointData().SetScalars(self.gridResult) #print dir(self.grid) #.SetNumberOfComponents(0) #self.grid.GetCellData().SetNumberOfTuples(1); #self.grid.GetCellData().SetScalars(self.gridResult) self.grid.Modified() self.grid2.Modified() self.grid.Update() self.grid2.Update() print("updated grid") #return # loadCart3dResults - regions/loads self.TurnTextOn() self.scalarBar.VisibilityOn() self.scalarBar.Modified() self.iSubcaseNameMap = {1: ['Panair', '']} cases = {} ID = 1 #print "nElements = ",nElements loads = [] cases = self.fillPanairGeometryCase(cases, ID, nodes, elements, regions, loads) self.resultCases = cases self.caseKeys = sorted(cases.keys()) print "caseKeys = ",self.caseKeys #print "type(caseKeys) = ",type(self.caseKeys) self.iCase = -1 self.nCases = len(self.resultCases) #- 1 # number of keys in dictionary if self.nCases > 1: self.nCases -= 1 self.cycleResults() # start at nCase=0