Skip to content
This repository has been archived by the owner on Nov 9, 2021. It is now read-only.

Problems with hyperlynx.ulp polygon export and Octave 5.2.0 #14

Open
oataggart opened this issue Apr 30, 2020 · 3 comments
Open

Problems with hyperlynx.ulp polygon export and Octave 5.2.0 #14

oataggart opened this issue Apr 30, 2020 · 3 comments

Comments

@oataggart
Copy link

I'm trying to use EAGLE 9.5.0, hyperlynx-NEW.ulp, Octave 5.2.0, and OpenEMS to layout and simulate PCB antennas. But I'm having trouble even running the hyp2mat tutorial. No version of hyperlynx.ulp that I can find will properly export the tutorial layout. Here's a list of things I've tried and the results.

Case 0: Directly use msl.HYP file provided in the hyp2mat tutorial
This works fine. A nice clean mesh is created, the FDTD timestep is 2.51662e-013 and the OpenEMS simulation completes in about 1 minute.
case0_mesh

Case 1: Create a fresh msl.HYP file from msl.brd using hyperlynx-NEW.ulp or Export -> Hyperlynx
The 0-width polygons (i.e. polygon objects with an edge width of 0) in msl.brd cause a failure in hyperlynx-NEW.ulp. The ULP takes ~5 minutes to run and the produced HYP file is enormous at 463 MB. OpenEMS fails to import this huge HYP file with the following message:

command: "c:/openEMS/hyp2mat/matlab..\hyp2mat.exe" --verbose --output-format csxcad --output pcb.m
"msl.HYP"
error: error executing "c:/openEMS/hyp2mat/matlab..\hyp2mat.exe" --verbose --output-format csxcad --
output pcb.m "msl.HYP"
error: called from
ImportHyperLynx at line 190 column 5
tutorial_hyp2mat at line 34 column 5

Case 2: Change the polygon edge width to 0.1 mm and export with hyperlynx-NEW.ulp or Export -> Hyperlynx
From openEMS.de wiki:

polygon edges are always drawn with width 0 (zero).

If I change the polygon edge with to 0.1 mm or any other value, hyperlynx-NEW.ulp runs quickly and produces a normal-size HYP file (20 kB). But the non-0 width polygons cause DetectEdges.m to create extremely fine mesh cells at the polygon edge. The tiny cells lead to a small FDTD timestep (1.33064e-014 s) and therefore the simulation never finishes.
case2_mesh

Case 3: Use 0-width polygons with an old hyperlynx.ulp version from EAGLE 5.11
I tried a very old version of hyperlynx.ulp from EAGLE 5.11. The ULP is dated 17.08.2005. This version of the ULP quickly exports the layout with 0-width polygons to a small HYP file (5 kB). But now the Hyperlynx import fails with the following message:

command: "c:/openEMS/hyp2mat/matlab..\hyp2mat.exe" --verbose --output-format csxcad --output pcb.m
"msl.HYP"
warning: padstack without metal:
warning: padstack without metal:
warning: padstack without metal:
warning: padstack without metal:
warning: padstack without metal:
warning: padstack without metal:
warning: padstack without metal:
warning: padstack without metal:
warning: padstack without metal:
warning: padstack without metal:
warning: padstack without metal:
warning: padstack without metal:
warning: padstack without metal:
warning: padstack without metal:
warning: padstack without metal:
board size:
x = 0.00 : 20.00 mm
y = 0.00 : 20.00 mm
z = 0.00 : 1.50 mm
layers:
signal 23.84 um eps_r 1.00 'Top'
dielectric 0.75 mm eps_r 4.80 'DL01'
signal 23.84 um eps_r 4.80 'Route2'
dielectric 0.75 mm eps_r 4.80 'DL02'
signal 23.84 um eps_r 1.00 'Bottom'
Valid ports:
error: port not found: C1.1
error: called from
GetHyperLynxPort at line 73 column 5
tutorial_hyp2mat at line 37 column 40

Bottom line is, nothing I've tried works. Any suggestions?

@koendv
Copy link
Owner

koendv commented May 1, 2020 via email

@oataggart
Copy link
Author

Thanks for the quick response Koen. I'm sorry to hear this tool is nearing retirement age, but thanks for maintaining it for so long. I'm still just wondering if there was a specific older version of hyperlynx.ulp that was used to create the tutorial HYP file...

Coming from an EE/PCB design background, I always find it easier to "draw" layouts as opposed to "coding" them with CSXCAD. Is there any graphical tool that I can use to create layouts for OpenEMS? hyp2mat itself is not necessarily the problem, it's more the way it interacts with hyperlynx.ulp. It might be challenging to code a complex structure like this in CSXCAD:

an1088

@koendv
Copy link
Owner

koendv commented May 1, 2020 via email

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants