From e1413843f6f7756b3dacff2caf5598a15c0821a0 Mon Sep 17 00:00:00 2001
From: Carl-Martin Pfeiler <carl-martin.pfeiler@asc.tuwien.ac.at>
Date: Tue, 2 Oct 2018 17:09:29 +0200
Subject: [PATCH] structured mesh + maxwell(BEM) not working atm

---
 .../addStructuredMesh_BoundaryFaceCuboid.py      | 10 +++++-----
 .../_structuredMeshing/structuredMesh_Cuboid.py  | 16 +++++++++-------
 integrators/_integrator.py                       |  6 +++---
 3 files changed, 17 insertions(+), 15 deletions(-)

diff --git a/_setup/geometries/standardGeometries/_structuredMeshing/addStructuredMesh_BoundaryFaceCuboid.py b/_setup/geometries/standardGeometries/_structuredMeshing/addStructuredMesh_BoundaryFaceCuboid.py
index 7deba8f..a689d01 100644
--- a/_setup/geometries/standardGeometries/_structuredMeshing/addStructuredMesh_BoundaryFaceCuboid.py
+++ b/_setup/geometries/standardGeometries/_structuredMeshing/addStructuredMesh_BoundaryFaceCuboid.py
@@ -3,7 +3,7 @@
 ################################################################################
 
 
-def AddStructuredMesh_BoundaryFaceCuboid(ngmesh, p, side):
+def AddStructuredMesh_BoundaryFaceCuboid(ngmesh, fd, p, side):
   from netgen.meshing import Element2D
 
   if side in ["xmin", "ymin", "xmax", "ymax"]:
@@ -16,13 +16,13 @@ def AddStructuredMesh_BoundaryFaceCuboid(ngmesh, p, side):
   if flag:
     for j in range(p.shape[0]-1):
       for k in range(p.shape[1]-1):
-        ngmesh.Add(Element2D(1, [p[j,k], p[j+1, k+1], p[j, k+1]]))
-        ngmesh.Add(Element2D(1, [p[j,k], p[j+1, k+1], p[j+1, k]]))
+        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(1, [p[j+1,k], p[j, k+1], p[j, k]]))
-        ngmesh.Add(Element2D(1, [p[j+1,k], p[j, k+1], p[j+1, k+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]]))
 
 
 ################################################################################
diff --git a/_setup/geometries/standardGeometries/_structuredMeshing/structuredMesh_Cuboid.py b/_setup/geometries/standardGeometries/_structuredMeshing/structuredMesh_Cuboid.py
index fea7468..4c8bcf8 100644
--- a/_setup/geometries/standardGeometries/_structuredMeshing/structuredMesh_Cuboid.py
+++ b/_setup/geometries/standardGeometries/_structuredMeshing/structuredMesh_Cuboid.py
@@ -36,13 +36,15 @@ def StructuredMesh_Cuboid(Xmin, Xmax, h):
   
   fd = ngmesh.Add (FaceDescriptor(bc=1,domin=1,domout=0,surfnr=1))
   
-  AddStructuredMesh_BoundaryFaceCuboid(ngmesh, nodes[0, :, :], "xmin")
-  AddStructuredMesh_BoundaryFaceCuboid(ngmesh, nodes[-1, :, :], "xmax")
-  AddStructuredMesh_BoundaryFaceCuboid(ngmesh, nodes[:, 0, :], "ymin")
-  AddStructuredMesh_BoundaryFaceCuboid(ngmesh, nodes[:, -1, :], "ymax")
-  AddStructuredMesh_BoundaryFaceCuboid(ngmesh, nodes[:, :, 0], "zmin")
-  AddStructuredMesh_BoundaryFaceCuboid(ngmesh, nodes[:, :, -1], "zmax")
-  
+  AddStructuredMesh_BoundaryFaceCuboid(ngmesh, fd, nodes[0, :, :], "xmin")
+  AddStructuredMesh_BoundaryFaceCuboid(ngmesh, fd, nodes[-1, :, :], "xmax")
+  AddStructuredMesh_BoundaryFaceCuboid(ngmesh, fd, nodes[:, 0, :], "ymin")
+  AddStructuredMesh_BoundaryFaceCuboid(ngmesh, fd, nodes[:, -1, :], "ymax")
+  AddStructuredMesh_BoundaryFaceCuboid(ngmesh, fd, nodes[:, :, 0], "zmin")
+  AddStructuredMesh_BoundaryFaceCuboid(ngmesh, fd, nodes[:, :, -1], "zmax")
+  
+  # for unknown reasons, it seems this number (0) has to be the bc parameter in 
+  # FaceDescriptor, but -1.     ...
   ngmesh.SetBCName(0, "bc_dirichlet")
 
   return ngmesh
diff --git a/integrators/_integrator.py b/integrators/_integrator.py
index 31410aa..d251ea1 100644
--- a/integrators/_integrator.py
+++ b/integrators/_integrator.py
@@ -108,9 +108,9 @@ class _Integrator( \
 #      print("Oersted field implementation is Work In Progress; not finished.")
 #      sys.exit()
 
-    if(False): # TODO check bad combinations
-      print("message TODO")
-      sys.exit()
+    if(self.parameters.maxwellCoupling != "none" \
+      and self._geometry.structuredMesh == True): 
+      raise NotImplementedError("maxwellCoupling != none and structured mesh doesn't work for now")
 
 
 #------------------------------------------------------------------------------#
-- 
GitLab