Coverage for src/methodsnm/mesh.py: 77%
30 statements
« prev ^ index » next coverage.py v7.3.1, created at 2023-09-27 13:22 +0000
« prev ^ index » next coverage.py v7.3.1, created at 2023-09-27 13:22 +0000
1from abc import ABC, abstractmethod
2import numpy as np
3from numpy import array
5class Mesh(ABC):
6 dimension = None
7 points = None
8 vertices = None
9 edges = None
10 faces = None
12 face2edges = None
14 bndry_vertices = None
15 bndry_edges = None
17 def __init__(self):
18 raise NotImplementedError("Not implemented")
20 def elements(self, codim=0, bndry=False):
21 if self.dimension - codim == 0:
22 if bndry:
23 return Exception("Invalid dimension")
24 else:
25 return self.vertices
26 elif self.dimension - codim == 1:
27 if bndry:
28 return [[self.vertices[i]] for i in self.bndry_vertices]
29 else:
30 return self.edges
31 elif self.dimension - codim == 2:
32 if bndry:
33 return self.edges[self.bndry_edges]
34 else:
35 return self.faces
36 else:
37 raise Exception("Invalid dimension")
39 def trafo(self, elnr, codim=0, bndry=False):
40 raise NotImplementedError("Not implemented")