Replies: 2 comments 5 replies
-
If those are your mesh lines and your resolution is 312, I wouldn't expect SmoothMeshLines to do anything since there aren't any gaps greater than 312 in your mesh. SmoothMeshLines looks for gaps greater than the mesh resolution and adds mesh lines until the gaps are filled. |
Beta Was this translation helpful? Give feedback.
-
After reading this discussion and taking in the points made here, I went back in and remeshed my latest project with the following method. My results were very good this time which is a contrast with my previous results. First, I defined three scale numbers. The first, m1, is my shortest wavelength / 20 for free space meshing. The second, m2, is my trace width / 5 for the mesh size near my traces. The third, m3, is either half or a third of my trace mesh size which is what I use to position the grid near the edge of traces or near my ground plane. This should result in m1 > m2 > m3. Second, I set a pair of mesh lines near the edges of traces using the 1/3, 2/3 rule with one line inside and one outside the trace. If one of these mesh lines was very close to the coordinates of a probe or signal injection port, I omit doing that mesh line explicitly or move the port a bit away. This isn't much of a problem given how tight the edge mesh is at the edges. Previously, I had fits with this. At this point, I use smooth meshing to fill in at my trace meshing interval, m2. This causes smoothly variable mesh widths as the mesh moves away from the trace edges. Finally, I add mesh lines outside my simulation area and fill smoothly with my free space interval. The overall result is both esthetic and seems to avoid the surprises I have had so far. Thanks to the participants in this discussion. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
openEMS ver 0.0.35 built from source on AlmaLinux 9 kernel 5.14.0-570.24.1.el9_6.x86_64
I am using the Python interface. I have a mesh created by multiple AddLine (). The result before smoothing is:
lx=mesh.GetLines('x',do_sort=True); lx array([ 0. , 29. , 30. , 40. , 41. , 195. , 196. , 392.11111111,
393.11111111, 589.22222222, 590.22222222, 786.33333333, 787.33333333, 983.44444444, 984.44444444, 1180.55555556,
1181.55555556, 1377.66666667, 1378.66666667, 1574.77777778, 1575.77777778, 1771.88888889, 1772.88888889, 1960. ,
1969. , 1970. , 2000. ])
I then perform mesh.SmoothMeshLines('x', resolution, ratio = 1.5) with resolution 312.28381041666665
the new mesh in 'x' direction is unchanged, and obviously does not meat the ratio=1.5 requirement
any advice most welocme
thanks
i
Beta Was this translation helpful? Give feedback.
All reactions