⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 test.py

📁 利用C
💻 PY
字号:
"""Unit tests for the mesh library"""__author__ = "Anders Logg (logg@simula.no)"__date__ = "2006-08-08 -- 2007-05-23"__copyright__ = "Copyright (C) 2006 Anders Logg"__license__  = "GNU LGPL Version 2.1"import unittestfrom dolfin import *class SimpleShapes(unittest.TestCase):    def testUnitSquare(self):        """Create mesh of unit square"""        mesh = UnitSquare(5, 7)        self.assertEqual(mesh.numVertices(), 48)        self.assertEqual(mesh.numCells(), 70)    def testUnitCube(self):        """Create mesh of unit cube"""        mesh = UnitCube(5, 7, 9)        self.assertEqual(mesh.numVertices(), 480)        self.assertEqual(mesh.numCells(), 1890)class MeshRefinement(unittest.TestCase):    def testRefineUnitSquare(self):        """Refine mesh of unit square"""        mesh = UnitSquare(5, 7)        mesh.refine()        self.assertEqual(mesh.numVertices(), 165)        self.assertEqual(mesh.numCells(), 280)    def testRefineUnitCube(self):        """Refine mesh of unit cube"""        mesh = UnitCube(5, 7, 9)        mesh.refine()        self.assertEqual(mesh.numVertices(), 3135)        self.assertEqual(mesh.numCells(), 15120)class MeshIterators(unittest.TestCase):    def testVertexIterators(self):        """Iterate over vertices"""        mesh = UnitCube(5, 5, 5)        n = 0        for v in vertices(mesh):            n += 1        self.assertEqual(n, mesh.numVertices())    def testEdgeIterators(self):        """Iterate over edges"""        mesh = UnitCube(5, 5, 5)        n = 0        for e in edges(mesh):            n += 1        self.assertEqual(n, mesh.numEdges())    def testFaceIterators(self):        """Iterate over faces"""        mesh = UnitCube(5, 5, 5)        n = 0        for f in faces(mesh):            n += 1        self.assertEqual(n, mesh.numFaces())    def testFacetIterators(self):        """Iterate over facets"""        mesh = UnitCube(5, 5, 5)        n = 0        for f in facets(mesh):            n += 1        self.assertEqual(n, mesh.numFacets())    def testCellIterators(self):        """Iterate over cells"""        mesh = UnitCube(5, 5, 5)        n = 0        for c in cells(mesh):            n += 1        self.assertEqual(n, mesh.numCells())            def testMixedIterators(self):        """Iterate over vertices of cells"""        mesh = UnitCube(5, 5, 5)        n = 0        for c in cells(mesh):            for v in vertices(c):                n += 1        self.assertEqual(n, 4*mesh.numCells())class BoundaryExtraction(unittest.TestCase):     def testBoundaryComputation(self):         """Compute boundary of mesh"""         mesh = UnitCube(2, 2, 2)         boundary = BoundaryMesh(mesh)         self.assertEqual(boundary.numVertices(), 26)         self.assertEqual(boundary.numCells(), 48)     def testBoundaryBoundary(self):         """Compute boundary of boundary"""         mesh = UnitCube(2, 2, 2)         b0 = BoundaryMesh(mesh)         b1 = BoundaryMesh(b0)         self.assertEqual(b1.numVertices(), 0)         self.assertEqual(b1.numCells(), 0)class MeshFunctions(unittest.TestCase):     def testAssign(self):         """Assign value of mesh function"""         mesh = UnitSquare(3, 3)         f = MeshFunction('int', mesh, 0)         f.set(3, 10)         v = Vertex(mesh, 3)         self.assertEqual(f(v), 10)      class InputOutput(unittest.TestCase):     def testMeshXML2D(self):         """Write and read 2D mesh to/from file"""         mesh_out = UnitSquare(3, 3)         mesh_in  = Mesh()         file = File("unitsquare.xml")         file << mesh_out         file >> mesh_in         self.assertEqual(mesh_in.numVertices(), 16)     def testMeshXML3D(self):         """Write and read 3D mesh to/from file"""         mesh_out = UnitCube(3, 3, 3)         mesh_in  = Mesh()         file = File("unitcube.xml")         file << mesh_out         file >> mesh_in         self.assertEqual(mesh_in.numVertices(), 64)     def testMeshMatlab2D(self):         """Write matlab format (no real test)"""         mesh = UnitSquare(5, 5)         file = File("unitsquare.m")         file << mesh         self.assertEqual(0, 0)     def testMeshFunction(self):         """Write and read mesh function to/from file"""         mesh = UnitSquare(1, 1)         f = MeshFunction('int', mesh, 0)         f.set(0, 2)         f.set(1, 4)         f.set(2, 6)         f.set(3, 8)         file = File("meshfunction.xml")         file << f         g = MeshFunction('int', mesh, 0)         file >> g         for v in vertices(mesh):             self.assertEqual(f(v), g(v))class PyCCInterface(unittest.TestCase):     def testGetGeometricalDimension(self):         """Get geometrical dimension of mesh"""         mesh = UnitSquare(5, 5)         self.assertEqual(mesh.geometry().dim(), 2)     def testGetCoordinates(self):         """Get coordinates of vertices"""         mesh = UnitSquare(5, 5)         self.assertEqual(len(mesh.coordinates()), 36)     def testGetCells(self):         """Get cells of mesh"""         mesh = UnitSquare(5, 5)         self.assertEqual(len(mesh.cells()), 50)if __name__ == "__main__":    unittest.main()

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -