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