def test_09NodeDelete(self): import CGNS.PAT.cgnsutils as CGU import CGNS.PAT.cgnserrors as CGE import CGNS.PAT.cgnskeywords as CGK import numpy n = CGU.nodeCreate('Base', numpy.array([3, 3]), [], CGK.CGNSBase_ts) r = CGU.nodeCreate('ReferenceState', None, [], CGK.ReferenceState_ts, parent=n) d = CGU.nodeCreate('Data', numpy.array([3.14]), [], CGK.DataArray_ts, parent=r) self.assertIsNotNone(CGU.hasChildName(r, 'Data')) CGU.nodeDelete(n, d) self.assertIsNone(CGU.hasChildName(r, 'Data')) d = CGU.nodeCreate('DataZ', numpy.array([3.14]), [], CGK.DataArray_ts, parent=r) self.assertIsNotNone(CGU.hasChildName(r, 'DataZ')) CGU.nodeDelete(r, d) self.assertIsNone(CGU.hasChildName(r, 'DataZ')) CGU.nodeDelete(r, d) self.assertIsNone(CGU.hasChildName(r, 'DataZ')) n = CGU.nodeCreate('Base', numpy.array([3, 3]), [], CGK.CGNSBase_ts) r = CGU.nodeCreate('ReferenceState', None, [], CGK.ReferenceState_ts, parent=n) d = CGU.nodeCreate('Data', numpy.array([3.14]), [], CGK.DataArray_ts, parent=r) self.assertIsNotNone(CGU.getNodeByPath(n, '/Base/ReferenceState/Data')) CGU.nodeDelete(n, d) self.assertIsNone(CGU.hasChildName(r, 'Data')) n = CGU.nodeCreate('Base', numpy.array([3, 3]), [], CGK.CGNSBase_ts) r = CGU.nodeCreate('ReferenceState', None, [], CGK.ReferenceState_ts, parent=n) d = CGU.nodeCreate('Data', numpy.array([3.14]), [], CGK.DataArray_ts, parent=r) self.assertIsNotNone(CGU.getNodeByPath(n, '/Base/ReferenceState/Data')) CGU.removeChildByName(r, 'Data') self.assertIsNone(CGU.hasChildName(r, 'Data'))
TESTS.append((tag, T, diag)) # ------------------------------------------------------------------------- tag = 'indexarray InwardNormalList bad shape #3' diag = False (T, b, z, zbc) = makeCorrectTree(vertexsize, cellsize) n = CGL.newBoundary(zbc, 'BC', [range(1, cellsize + 1)], btype=CGK.Null_s, family=None, pttype=CGK.PointList_s) g = CGL.newGridLocation(n, value=CGK.CellCenter_s) inl = CGL.newIndexArray(n, CGK.InwardNormalList_s, value=NPY.ones([cellsize])) TESTS.append((tag, T, diag)) # ------------------------------------------------------------------------- tag = 'indexarray InwardNormalList bad shape #4' diag = False (T, b, z, zbc) = makeCorrectTree(vertexsize, cellsize) n = CGL.newBoundary(zbc, 'BC', [range(1, cellsize + 1)], btype=CGK.Null_s, family=None, pttype=CGK.PointList_s) g = CGL.newGridLocation(n, value=CGK.CellCenter_s) CGU.nodeDelete(T, CGU.getNodeByPath(n, 'BC/' + CGK.PointList_s)) inl = CGL.newIndexArray(n, CGK.InwardNormalList_s, value=NPY.ones([2, cellsize])) TESTS.append((tag, T, diag))
p_arr = var_mat[:,8] # For now, skip the elem connectivity section. Because I do not need it. ############################## # Write to CGNS file ############################## import CGNS.PAT.cgnsutils as CGU import CGNS.PAT.cgnslib as CGL import CGNS.PAT.cgnskeywords as CK import CGNS.MAP as CGM T=CGL.newCGNSTree() B=CGL.newBase(T,'hpMusic_base',2,2) # The shape (3,1) is critical zone_size = np.array([[n_node, n_elem, 0]]) Z=CGL.newZone(B,'Solution',zone_size,CK.Unstructured_s,'') GC=CGL.newGridCoordinates(Z,name='GridCoordinates') FS=CGL.newFlowSolution(Z,name='FlowSolution',gridlocation='Vertex') GL=CGU.getNodeByPath(FS,'GridLocation') CGU.nodeDelete(FS,GL) coordinatex_node = CGL.newDataArray(GC,'CoordinateX',value=x_arr) coordinatey_node = CGL.newDataArray(GC,'CoordinateY',value=y_arr) density_node = CGL.newDataArray(FS,'Density',value=rho_arr) velocityx_node = CGL.newDataArray(FS,'VelocityX',value=u_arr) velocityy_node = CGL.newDataArray(FS,'VelocityY',value=v_arr) p_node = CGL.newDataArray(FS,'Pressure',value=p_arr) CGM.save("sol_tec.cgns",T)