Minimal reproducible example
from collections import defaultdict
import netgen.occ as occ
import ngsolve as ngs
import numpy as np
mm = 1e-3
μ0 = 1.25663706127e-6
ε0 = 8.8541878188e-12
ω = 10e9*2*np.pi
r1, r2 = 0.5*mm, 1*mm
def writeFile(path, data):
with open(path, "wb") as f: f.write(data)
writeFile("/tmp/shape.brep", b"""DBRep_DrawableShape
CASCADE Topology V3, (c) Open Cascade
Locations 0
Curve2ds 52
8 -5.9999999999999997e-07 0.0200006
1 4.7123889803846897 0 0 1
8 -5.9999999999999997e-07 0.0200006
1 -0.001 0 0 1
8 0 0.02
1 4.7123889803846897 0 0 1
1 0 0.0050000000000000001 1 0
2 0 0 1 0 -0 1 0.001
8 -5.9999999999999997e-07 0.0200006
1 1.5707963267948966 0 0 1
8 -5.9999999999999997e-07 0.0200006
1 0.001 0 0 1
8 0 0.02
1 7.8539816339744828 0 0 1
1 4.7123889803846897 0 1 0
8 0.00050000000000000001 0.001
1 0 0.0050000000000000001 -1 0
8 0.00050000000000000001 0.001
1 0 0 0 -1
8 999999.9999994 1000000.0200006
1 4.7123889803846897 0 0 1
8 999999.9999994 1000000.0200006
1 -0.00050000000000000001 -1000000 0 1
8 1000000 1000000.02
1 4.7123889803846897 0 0 1
8 -0.001 0.001
1 0 0 0 1
8 -0.001 0.001
1 0 0 1 0
1 0 1000000.005 1 0
2 0 0 1 0 -0 1 0.00050000000000000001
8 -0.001 -0.00050000000000000001
1 0 0.0050000000000000001 -1 0
8 -0.001 -0.00050000000000000001
1 0 0 0 -1
8 999999.9999994 1000000.0200006
1 1.5707963267948966 0 0 1
8 999999.9999994 1000000.0200006
1 0.00050000000000000001 -1000000 0 1
8 1000000 1000000.02
1 7.8539816339744828 0 0 1
1 4.7123889803846897 1000000 1 0
1 0 0.014999999999999999 1 0
2 0 0 1 0 -0 1 0.001
8 0.00050000000000000001 0.001
1 0 0.014999999999999999 -1 0
8 0.00050000000000000001 0.001
1 0 0 0 -1
1 0 1000000.015 1 0
2 0 0 1 0 -0 1 0.00050000000000000001
8 -0.001 -0.00050000000000000001
1 0 0.014999999999999999 -1 0
8 -0.001 -0.00050000000000000001
1 0 0 0 -1
1 7.8539816339744828 0.02 -1 -0
8 -0.001 0.001
1 0 0 0 1
8 -0.001 0.001
1 0 0.02 1 0
1 7.8539816339744828 1000000.02 -1 -0
1 0 0.02 1 0
2 0 0 1 0 -0 1 0.001
1 0 0.014999999999999999 1 0
2 0 0 1 0 -0 1 0.001
2 0 0 1 0 -0 1 0.00050000000000000001
1 0 1000000.02 1 0
1 0 1000000.015 1 0
2 0 0 1 0 -0 1 0.00050000000000000001
1 0 0.0050000000000000001 1 0
2 0 0 1 0 -0 1 0.001
1 0 1000000.005 1 0
2 0 0 1 0 -0 1 0.00050000000000000001
1 0 0 1 0
2 0 0 1 0 -0 1 0.001
2 0 0 1 0 -0 1 0.00050000000000000001
1 0 1000000 1 0
Curves 26
1 -0.001 0 0 0 1 0
2 0 0.0050000000000000001 0 0 1 0 0 -0 1 1 0 -0 0.001
1 0.001 0 0 0 1 0
8 0 3.1415926535897931
2 0 0 0 0 1 0 -1 0 -1.8369701987210297e-16 -1.8369701987210297e-16 0 1 0.001
1 0 0.0050000000000000001 0 -1 0 0
1 -0.00050000000000000001 -1000000 0 0 1 0
1 0 0 0 1 0 0
2 0 0.0050000000046566129 0 0 1 0 0 -0 1 1 0 -0 0.00050000000000000001
1 0 0.0050000000000000001 0 -1 0 0
1 0.00050000000000000001 -1000000 0 0 1 0
8 0 3.1415926535897931
2 0 0 0 0 1 0 -1 0 -1.8369701987210297e-16 -1.8369701987210297e-16 0 1 0.00050000000000000001
2 0 0.014999999999999999 0 0 1 0 0 -0 1 1 0 -0 0.001
1 0 0.014999999999999999 0 -1 0 0
2 0 0.015000000013969839 0 0 1 0 0 -0 1 1 0 -0 0.00050000000000000001
1 0 0.014999999999999999 0 -1 0 0
8 0 3.1415926535897931
2 0 0.02 0 0 -1 0 1 0 6.123233995736766e-17 -6.123233995736766e-17 0 1 0.001
1 0 0.02 0 1 0 0
8 0 3.1415926535897931
2 0 0.020000000018626451 0 0 -1 0 1 0 6.123233995736766e-17 -6.123233995736766e-17 0 1 0.00050000000000000001
2 0 0.02 0 0 1 0 0 -0 1 1 0 -0 0.001
2 0 0.014999999999999999 0 0 1 0 0 -0 1 1 0 -0 0.001
2 0 0.020000000018626451 0 0 1 0 0 -0 1 1 0 -0 0.00050000000000000001
2 0 0.015000000013969839 0 0 1 0 0 -0 1 1 0 -0 0.00050000000000000001
2 0 0.0050000000000000001 0 0 1 0 0 -0 1 1 0 -0 0.001
2 0 0.0050000000046566129 0 0 1 0 0 -0 1 1 0 -0 0.00050000000000000001
2 0 0 0 0 1 0 0 -0 1 1 0 -0 0.001
2 0 0 0 0 1 0 0 -0 1 1 0 -0 0.00050000000000000001
Polygon3D 0
PolygonOnTriangulations 0
Surfaces 9
10 3.1415926535897931 9.4247779607693793 -2e+100 2e+100
2 0 0 0 0 1 0 0 -0 1 1 0 -0 0.001
2 0 0 0 0 1 0 0 -0 1 1 0 -0 0.001
1 0 0 0 0 0 1 1 0 -0 -0 1 0
1 0 0.0050000000000000001 0 0 1 0 0 -0 1 1 0 -0
2 0 -1000000 0 0 1 0 0 -0 1 1 0 -0 0.00050000000000000001
10 3.1415926535897931 9.4247779607693793 -2e+100 2e+100
2 0 -1000000 0 0 1 0 0 -0 1 1 0 -0 0.00050000000000000001
1 0 0 0 0 1 0 0 -0 1 1 0 -0
1 0 0.014999999999999999 0 0 1 0 0 -0 1 1 0 -0
1 0 0.02 0 0 1 0 0 -0 1 1 0 -0
Triangulations 0
TShapes 117
Ve
1.50000000000184e-07
-0.001 0 -1.83697019872103e-19
0 0
0101101
*
Ve
1.5e-07
-0.001 0.005 0
0 0
0101101
*
Ed
1e-07 1 1 0
1 1 0 0 0.005
2 1 2 0 0 0.005
2 2 3 0 0 0.005
2 3 1 0 0 0.005
0
0101000
+117 0 -116 0 *
Ve
1.5e-07
0.001 0.005 0
0 0
0101101
*
Ed
1e-07 1 1 0
1 2 0 4.71238898038469 7.85398163397448
2 4 1 0 4.71238898038469 7.85398163397448
2 5 4 0 4.71238898038469 7.85398163397448
0
0101000
+116 0 -114 0 *
Ve
1.50000000000061e-07
0.001 0 6.12323399573677e-20
0 0
0101101
*
Ed
1e-07 1 1 0
1 3 0 0 0.005
2 6 2 0 0 0.005
2 7 3 0 0 0.005
2 8 1 0 0 0.005
0
0101000
+112 0 -114 0 *
Ed
1e-07 1 1 0
1 4 0 0 3.14159265358979
2 9 1 0 0 3.14159265358979
0
0101000
+117 0 -112 0 *
Wi
0101100
-115 0 -113 0 +111 0 +110 0 *
Fa
0 1e-07 1 0
0101000
+109 0 *
Ve
1.50004656612769e-07
-0.0005 0.00500000000465661 0
0 0
0101101
*
Ed
1.5e-07 1 1 0
1 5 0 0.0005 0.001
2 10 3 0 0.0005 0.001
2 11 4 0 0.0005 0.001
0
0101000
+107 0 -116 0 *
Ve
1.50000000000092e-07
-0.0005 0 -9.18485099360515e-20
0 0
0101101
*
Ed
1e-07 1 1 0
1 6 0 1000000 1000000.005
2 12 5 0 1000000 1000000.005
2 13 3 0 1000000 1000000.005
2 14 6 0 1000000 1000000.005
0
0101000
+105 0 -107 0 *
Ed
1.5e-07 1 1 0
1 7 0 -0.001 -0.0005
2 15 7 0 -0.001 -0.0005
2 16 3 0 -0.001 -0.0005
0
0101000
+117 0 -105 0 *
Wi
0101100
-115 0 +106 0 +104 0 +103 0 *
Fa
0 1e-07 3 0
0101000
+102 0 *
Ve
1.50004656612769e-07
0.0005 0.00500000000465661 0
0 0
0101101
*
Ed
1e-07 1 1 0
1 8 0 4.71238898038469 7.85398163397448
2 17 6 0 4.71238898038469 7.85398163397448
2 18 4 0 4.71238898038469 7.85398163397448
0
0101000
+107 0 -100 0 *
Ed
1.5e-07 1 1 0
1 9 0 -0.001 -0.0005
2 19 3 0 -0.001 -0.0005
2 20 4 0 -0.001 -0.0005
0
0101000
+114 0 -100 0 *
Wi
0101100
+106 0 -99 0 +98 0 +113 0 *
Fa
0 1e-07 4 0
0101000
+97 0 *
Ve
1.50000000000031e-07
0.0005 0 3.06161699786838e-20
0 0
0101101
*
Ed
1e-07 1 1 0
1 10 0 1000000 1000000.005
2 21 5 0 1000000 1000000.005
2 22 3 0 1000000 1000000.005
2 23 6 0 1000000 1000000.005
0
0101000
+95 0 -100 0 *
Ed
1.5e-07 1 1 0
1 7 0 0.0005 0.001
2 15 7 0 0.0005 0.001
2 16 3 0 0.0005 0.001
0
0101000
+95 0 -112 0 *
Wi
0101100
-94 0 +98 0 +111 0 +93 0 *
Fa
0 1e-07 3 0
0101000
+92 0 *
Ed
1e-07 1 1 0
1 11 0 0 3.14159265358979
2 24 6 0 0 3.14159265358979
0
0101000
+105 0 -95 0 *
Wi
0101100
+110 0 -93 0 -90 0 -103 0 *
Fa
0 1e-07 7 0
0111000
+89 0 *
Wi
0101100
-104 0 -99 0 +94 0 +90 0 *
Fa
0 1e-07 6 0
0101000
+87 0 *
Sh
0101100
+108 0 -101 0 +96 0 -91 0 -88 0 -86 0 *
So
0100000
+85 0 *
Ve
1.5e-07
-0.001 0.015 0
0 0
0101101
*
Ed
1e-07 1 1 0
1 1 0 0.005 0.015
2 1 2 0 0.005 0.015
2 2 3 0 0.005 0.015
2 3 1 0 0.005 0.015
0
0101000
+116 0 -83 0 *
Ve
1.5e-07
0.001 0.015 0
0 0
0101101
*
Ed
1e-07 1 1 0
1 12 0 4.71238898038469 7.85398163397448
2 25 1 0 4.71238898038469 7.85398163397448
2 26 8 0 4.71238898038469 7.85398163397448
0
0101000
+83 0 -81 0 *
Ed
1e-07 1 1 0
1 3 0 0.005 0.015
2 6 2 0 0.005 0.015
2 7 3 0 0.005 0.015
2 8 1 0 0.005 0.015
0
0101000
+114 0 -81 0 *
Wi
0101100
-82 0 -80 0 +79 0 +113 0 *
Fa
0 1e-07 1 0
0101000
+78 0 *
Ve
1.50013969839174e-07
-0.0005 0.0150000000139698 0
0 0
0101101
*
Ed
1.5e-07 1 1 0
1 13 0 0.0005 0.001
2 27 3 0 0.0005 0.001
2 28 8 0 0.0005 0.001
0
0101000
+76 0 -83 0 *
Ed
1e-07 1 1 0
1 6 0 1000000.005 1000000.015
2 12 5 0 1000000.005 1000000.015
2 13 3 0 1000000.005 1000000.015
2 14 6 0 1000000.005 1000000.015
0
0101000
+107 0 -76 0 *
Wi
0101100
-82 0 +75 0 +74 0 -106 0 *
Fa
0 1e-07 3 0
0101000
+73 0 *
Ve
1.50013969839174e-07
0.0005 0.0150000000139698 0
0 0
0101101
*
Ed
1e-07 1 1 0
1 14 0 4.71238898038469 7.85398163397448
2 29 6 0 4.71238898038469 7.85398163397448
2 30 8 0 4.71238898038469 7.85398163397448
0
0101000
+76 0 -71 0 *
Ed
1.5e-07 1 1 0
1 15 0 -0.001 -0.0005
2 31 3 0 -0.001 -0.0005
2 32 8 0 -0.001 -0.0005
0
0101000
+81 0 -71 0 *
Wi
0101100
+75 0 -70 0 +69 0 +80 0 *
Fa
0 1e-07 8 0
0101000
+68 0 *
Ed
1e-07 1 1 0
1 10 0 1000000.005 1000000.015
2 21 5 0 1000000.005 1000000.015
2 22 3 0 1000000.005 1000000.015
2 23 6 0 1000000.005 1000000.015
0
0101000
+100 0 -71 0 *
Wi
0101100
-66 0 +69 0 +79 0 -98 0 *
Fa
0 1e-07 3 0
0101000
+65 0 *
Wi
0101100
-74 0 -70 0 +66 0 +99 0 *
Fa
0 1e-07 6 0
0101000
+63 0 *
Sh
0101100
+77 0 -72 0 +67 0 -64 0 -96 0 -62 0 *
So
0100000
+61 0 *
Ve
1.50000000000184e-07
-0.001 0.02 -1.83697019872103e-19
0 0
0101101
*
Ed
1e-07 1 1 0
1 1 0 0.015 0.02
2 1 2 0 0.015 0.02
2 2 3 0 0.015 0.02
2 3 1 0 0.015 0.02
0
0101000
+83 0 -59 0 *
Ve
1.50000000000061e-07
0.001 0.02 6.12323399573677e-20
0 0
0101101
*
Ed
1e-07 1 1 0
1 16 0 0 3.14159265358979
2 33 1 0 0 3.14159265358979
0
0101000
+57 0 -59 0 *
Ed
1e-07 1 1 0
1 3 0 0.015 0.02
2 6 2 0 0.015 0.02
2 7 3 0 0.015 0.02
2 8 1 0 0.015 0.02
0
0101000
+81 0 -57 0 *
Wi
0101100
-58 0 +56 0 +55 0 +80 0 *
Fa
0 1e-07 1 0
0101000
+54 0 *
Ve
1.50018626451076e-07
-0.0005 0.0200000000186265 -9.18485099360515e-20
0 0
0101101
*
Ed
1.5e-07 1 1 0
1 17 0 -0.001 -0.0005
2 34 9 0 -0.001 -0.0005
2 35 3 0 -0.001 -0.0005
0
0101000
+59 0 -52 0 *
Ed
1e-07 1 1 0
1 6 0 1000000.015 1000000.02
2 12 5 0 1000000.015 1000000.02
2 13 3 0 1000000.015 1000000.02
2 14 6 0 1000000.015 1000000.02
0
0101000
+76 0 -52 0 *
Wi
0101100
-58 0 -51 0 +50 0 -75 0 *
Fa
0 1e-07 3 0
0101000
+49 0 *
Ve
1.50018626451076e-07
0.0005 0.0200000000186265 3.06161699786838e-20
0 0
0101101
*
Ed
1.5e-07 1 1 0
1 17 0 0.0005 0.001
2 34 9 0 0.0005 0.001
2 35 3 0 0.0005 0.001
0
0101000
+47 0 -57 0 *
Ed
1e-07 1 1 0
1 18 0 0 3.14159265358979
2 36 6 0 0 3.14159265358979
0
0101000
+47 0 -52 0 *
Wi
0101100
-51 0 -56 0 -46 0 +45 0 *
Fa
0 1e-07 9 0
0111000
+44 0 *
Ed
1e-07 1 1 0
1 10 0 1000000.015 1000000.02
2 21 5 0 1000000.015 1000000.02
2 22 3 0 1000000.015 1000000.02
2 23 6 0 1000000.015 1000000.02
0
0101000
+71 0 -47 0 *
Wi
0101100
-42 0 -46 0 +55 0 -69 0 *
Fa
0 1e-07 3 0
0101000
+41 0 *
Wi
0101100
-50 0 +45 0 +42 0 +70 0 *
Fa
0 1e-07 6 0
0101000
+39 0 *
Sh
0101100
+53 0 -48 0 +43 0 -40 0 -67 0 -38 0 *
So
0100000
+37 0 *
Ed
1e-07 1 1 0
1 19 0 1.5707963267949 4.71238898038469
2 37 2 0 1.5707963267949 4.71238898038469
2 38 9 0 1.5707963267949 4.71238898038469
0
0101000
+57 0 -59 0 *
Ed
1e-07 1 1 0
1 20 0 1.5707963267949 4.71238898038469
2 39 2 0 1.5707963267949 4.71238898038469
2 40 8 0 1.5707963267949 4.71238898038469
0
0101000
+81 0 -83 0 *
Wi
0101100
-35 0 +58 0 +34 0 -55 0 *
Fa
0 1e-07 2 0
0101000
+33 0 *
Ed
1e-07 1 1 0
1 21 0 1.5707963267949 4.71238898038469
2 41 9 0 1.5707963267949 4.71238898038469
2 42 5 0 1.5707963267949 4.71238898038469
0
0101000
+47 0 -52 0 *
Wi
0101100
+46 0 -31 0 +51 0 +35 0 *
Fa
0 1e-07 9 0
0101000
+30 0 *
Ed
1e-07 1 1 0
1 22 0 1.5707963267949 4.71238898038469
2 43 5 0 1.5707963267949 4.71238898038469
2 44 8 0 1.5707963267949 4.71238898038469
0
0101000
+71 0 -76 0 *
Wi
0101100
+34 0 -69 0 -28 0 -75 0 *
Fa
0 1e-07 8 0
0101000
+27 0 *
Wi
0101100
-31 0 +50 0 +28 0 -42 0 *
Fa
0 1e-07 5 0
0101000
+25 0 *
Sh
0101100
+32 0 +29 0 +48 0 -26 0 +40 0 -24 0 *
So
0100000
+23 0 *
Ed
1e-07 1 1 0
1 23 0 1.5707963267949 4.71238898038469
2 45 2 0 1.5707963267949 4.71238898038469
2 46 4 0 1.5707963267949 4.71238898038469
0
0101000
+114 0 -116 0 *
Wi
0101100
-34 0 +82 0 +21 0 -79 0 *
Fa
0 1e-07 2 0
0101000
+20 0 *
Ed
1e-07 1 1 0
1 24 0 1.5707963267949 4.71238898038469
2 47 5 0 1.5707963267949 4.71238898038469
2 48 4 0 1.5707963267949 4.71238898038469
0
0101000
+100 0 -107 0 *
Wi
0101100
+21 0 -98 0 -18 0 -106 0 *
Fa
0 1e-07 4 0
0101000
+17 0 *
Wi
0101100
-28 0 +74 0 +18 0 -66 0 *
Fa
0 1e-07 5 0
0101000
+15 0 *
Sh
0101100
+19 0 +26 0 +72 0 -16 0 +64 0 -14 0 *
So
0100000
+13 0 *
Ed
1e-07 1 1 0
1 25 0 1.5707963267949 4.71238898038469
2 49 2 0 1.5707963267949 4.71238898038469
2 50 7 0 1.5707963267949 4.71238898038469
0
0101000
+112 0 -117 0 *
Wi
0101100
-21 0 +115 0 +11 0 -111 0 *
Fa
0 1e-07 2 0
0101000
+10 0 *
Ed
1e-07 1 1 0
1 26 0 1.5707963267949 4.71238898038469
2 51 7 0 1.5707963267949 4.71238898038469
2 52 5 0 1.5707963267949 4.71238898038469
0
0101000
+95 0 -105 0 *
Wi
0101100
+93 0 -8 0 +103 0 +11 0 *
Fa
0 1e-07 7 0
0101000
+7 0 *
Wi
0101100
-18 0 +104 0 +8 0 -94 0 *
Fa
0 1e-07 5 0
0101000
+5 0 *
Sh
0101100
+9 0 +16 0 +101 0 -6 0 +91 0 -4 0 *
So
0100000
+3 0 *
Co
0100000
+84 0 +60 0 +36 0 +22 0 +12 0 +2 0 *
+1 0 """)
solids = occ.OCCGeometry("/tmp/shape.brep").solids
#set materials and find relevant edges
faceCounts = defaultdict(int)
for solid in solids:
for f in solid.faces: faceCounts[f] += 1
def setFace(f, name):
if faceCounts[f] == 1: f.name = name
voltageEdges = {}
currentEdges = {}
for solid in solids:
solid.name = "dielectric"
setFace(solid.faces.Min(occ.Y), "dirichlet")
setFace(solid.faces.Max(occ.Y), "dielectric")
for f in solid.faces:
if f.name is None: setFace(f, "conductor")
for e in solid.edges:
a, b = np.array([[*e.bounding_box[0]], [*e.bounding_box[1]]])
if abs(b[1] - a[1]) < 1e-5:
if abs(b[2] - a[2]) >= 1e-5:
mx, _, mz = np.maximum(np.abs(a), np.abs(b))
if max(mx, mz) < 1.001*r1:
e.name = f"Iedge{int(round(a[1]*1e6))/1e6}"
currentEdges[e.name] = e
elif a[0] > 0:
e.name = f"Vedge{int(round(a[1]*1e6))/1e6}"
voltageEdges[e.name] = e
mesh = ngs.Mesh(occ.OCCGeometry(solids).GenerateMesh(maxh=10*mm, grading=0.5, minedgelen=None))
mesh.Curve(2)
#material params
ε = {
"default" : 0,
"dirichlet" : 0,
"dielectric": 2*(1 + 0.1j)*ε0,
"conductor" : ε0 + 1e4j/ω,
}
εΩ, εΓ = [ngs.CoefficientFunction([ε[m] for m in mats]) for mats in [mesh.GetMaterials(), mesh.GetBoundaries()]]
kΩ, kΓ = [ω*ngs.sqrt(μ0*ε) for ε in [εΩ, εΓ]]
fes = ngs.HCurl(mesh, complex=True, order=3, dirichlet="dirichlet")
E, v = fes.TnT()
A = ngs.BilinearForm((ngs.curl(E)*ngs.curl(v) - kΩ*kΩ*E*v)*ngs.dx - 1j*kΓ*E.Trace()*v.Trace()*ngs.ds, symmetric=True).Assemble().mat
#excite with solution of Laplace equation
rSq = (ngs.x**2 + ngs.z**2)*np.log(r2/r1)
E = ngs.GridFunction(fes)
E.Set(ngs.CoefficientFunction((ngs.x/rSq, 0, ngs.z/rSq)), definedon=mesh.Boundaries("dirichlet"))
#solve
E.vec.data -= A.Inverse(fes.FreeDofs(), inverse="sparsecholesky")*(A*E.vec)
ngs.Draw(E, mesh, "E")
t = ngs.specialcf.tangential(3)
voltages = {name: ngs.Integrate(E*t, mesh.BBoundaries(name)) for name, e in voltageEdges.items()}
print(voltages)
#netgen.libngpy._meshing.NgException: GridFunctionCoefficientFunction: SIMD: don't know how I shall evaluate
currents = {name: -1j/(ω*μ0)*ngs.Integrate(ngs.curl(E)*t, mesh.BBoundaries(name)) for name, e in currentEdges.items()}
print(currents)
I am solving time-harmonic Maxwell’s equations/vector Helmholtz equation on a section of coax:
∇×∇×E - k²E = 0 in Ω
tr(∇×E) = i k n×tr(E) on Γ=∂Ω #Leontovich surface impedance boundary condition
Measuring voltages via ∫(E⋅t) works:
fes = HCurl(mesh, complex=True, order=3, dirichlet="dirichlet")
E = GridFunction(fes)
n = specialcf.normal(3)
t = specialcf.tangential(3)
voltages = {name: Integrate(E*t, mesh.BBoundaries(name)) for name, e in voltageEdges.items()}
Trying to measure inner conductor current via I = ∬(J_f⋅n) = ∮(H⋅t) = 1/(i ω μ)*∮((∇×E)⋅t):
currents = {name: Integrate(curl(E)*t, mesh.BBoundaries(name)) for name, e in currentEdges.items()}
gives NgException: GridFunctionCoefficientFunction: SIMD: don't know how I shall evaluate.
I’ve tried several ways and they all return zero or an error.
Is there any way to do this?