diff --git a/_setup/geometries/standardGeometries/_structuredMeshing/addMesh_Face.py b/_setup/geometries/standardGeometries/_structuredMeshing/addMesh_Face.py
new file mode 100644
index 0000000000000000000000000000000000000000..1946e2c7b303fd18e78e20f17b79fdb1af15efe4
--- /dev/null
+++ b/_setup/geometries/standardGeometries/_structuredMeshing/addMesh_Face.py
@@ -0,0 +1,47 @@
+from netgen.meshing import Element2D
+
+################################################################################
+
+#------------------------------------------------------------------------------#
+
+def AddMesh_TopFace(ngmesh, fd, p):
+ for j in range(p.shape[0]-1):
+ for k in range(p.shape[1]-1):
+ ngmesh.Add(Element2D(fd, [p[j,k], p[j+1, k+1], p[j, k+1]]))
+ ngmesh.Add(Element2D(fd, [p[j,k], p[j+1, k], p[j+1, k+1]]))
+
+#------------------------------------------------------------------------------#
+
+def AddMesh_BottomFace(ngmesh, fd, p):
+ for j in range(p.shape[0]-1):
+ for k in range(p.shape[1]-1):
+ ngmesh.Add(Element2D(fd, [p[j,k], p[j, k+1], p[j+1, k+1]]))
+ ngmesh.Add(Element2D(fd, [p[j,k], p[j+1, k+1], p[j+1, k]]))
+
+#------------------------------------------------------------------------------#
+
+def AddMesh_LeftFace(ngmesh, fd, p):
+ for j in range(p.shape[0]-1):
+ for k in range(p.shape[1]-1):
+ ngmesh.Add(Element2D(fd, [p[j+1,k], p[j, k+1], p[j+1, k+1]]))
+ ngmesh.Add(Element2D(fd, [p[j+1,k], p[j, k], p[j, k+1]]))
+
+#------------------------------------------------------------------------------#
+
+def AddMesh_RightFace(ngmesh, fd, p):
+ for j in range(p.shape[0]-1):
+ for k in range(p.shape[1]-1):
+ ngmesh.Add(Element2D(fd, [p[j+1,k], p[j+1, k+1], p[j, k+1]]))
+ ngmesh.Add(Element2D(fd, [p[j+1,k], p[j, k+1], p[j, k]]))
+
+#------------------------------------------------------------------------------#
+
+def AddMesh_FrontFace(ngmesh, fd, p): AddMesh_RightFace(ngmesh, fd, p)
+
+#------------------------------------------------------------------------------#
+
+def AddMesh_BackFace(ngmesh, fd, p): AddMesh_LeftFace(ngmesh, fd, p)
+
+#------------------------------------------------------------------------------#
+
+################################################################################
diff --git a/_setup/geometries/standardGeometries/_structuredMeshing/addStructuredMesh_BoundaryFaceCuboid.py b/_setup/geometries/standardGeometries/_structuredMeshing/addStructuredMesh_BoundaryFaceCuboid.py
index a689d01b96d23af32931464a8cc8c6df9685ef0b..3042f29961655946b2810b802723a618a3ada3be 100644
--- a/_setup/geometries/standardGeometries/_structuredMeshing/addStructuredMesh_BoundaryFaceCuboid.py
+++ b/_setup/geometries/standardGeometries/_structuredMeshing/addStructuredMesh_BoundaryFaceCuboid.py
@@ -1,28 +1,28 @@
+from commix._setup.geometries.standardGeometries._structuredMeshing.addMesh_Face \
+ import AddMesh_LeftFace, AddMesh_RightFace, AddMesh_FrontFace \
+ , AddMesh_BackFace, AddMesh_BottomFace, AddMesh_TopFace
################################################################################
def AddStructuredMesh_BoundaryFaceCuboid(ngmesh, fd, p, side):
- from netgen.meshing import Element2D
-
- if side in ["xmin", "ymin", "xmax", "ymax"]:
- flag = False
- elif side in ["zmin", "zmax"]:
- flag = True
- else:
- raise AttributeError(side)
+ AddMesh_Face = \
+ { "xmin" : AddMesh_LeftFace \
+ , "xmax" : AddMesh_RightFace \
+ , "ymin" : AddMesh_FrontFace \
+ , "ymax" : AddMesh_BackFace \
+ , "zmin" : AddMesh_BottomFace \
+ , "zmax" : AddMesh_TopFace \
+ }
- if flag:
- for j in range(p.shape[0]-1):
- for k in range(p.shape[1]-1):
- ngmesh.Add(Element2D(fd, [p[j,k], p[j+1, k+1], p[j, k+1]]))
- ngmesh.Add(Element2D(fd, [p[j,k], p[j+1, k+1], p[j+1, k]]))
- else:
- for j in range(p.shape[0]-1):
- for k in range(p.shape[1]-1):
- ngmesh.Add(Element2D(fd, [p[j+1,k], p[j, k+1], p[j, k]]))
- ngmesh.Add(Element2D(fd, [p[j+1,k], p[j, k+1], p[j+1, k+1]]))
+ try:
+ AddMesh_Face[side](ngmesh, fd, p)
+ except(KeyError):
+ raise ValueError("side", side, "not valid. Form must be, e.g., \"xmin\"")
+
+
+#------------------------------------------------------------------------------#
################################################################################
diff --git a/integrators/_integrator.py b/integrators/_integrator.py
index d251ea1902356dea10574cfb3cf29edf005cbcc3..4d44b56341f04ac01e09560b141461b69e63bd6d 100644
--- a/integrators/_integrator.py
+++ b/integrators/_integrator.py
@@ -102,15 +102,9 @@ class _Integrator( \
import sys
## TODO search for all the prints and sys.exits --> replace with raise(...)
-# if(self.parameters.maxwellCoupling == "oerstedField" \
-# or self.parameters.maxwellCoupling == "magnetostaticField"):
-# print("maxwellCoupling set to", self.parameters.maxwellCoupling)
-# print("Oersted field implementation is Work In Progress; not finished.")
-# sys.exit()
-
- if(self.parameters.maxwellCoupling != "none" \
- and self._geometry.structuredMesh == True):
- raise NotImplementedError("maxwellCoupling != none and structured mesh doesn't work for now")
+ if(False): #TODO
+ print("Oh no, something went wrong")
+ sys.exit()
#------------------------------------------------------------------------------#