| Author |
Topic  |
|
|
dnl
United Kingdom
11 Posts |
Posted - Sep 12 2007 : 12:09:31
|
When using a non-uniform ground plane and "contact connection", I have sometimes had the error message:
Internal error in nonuniform plane code: get_new_x_y: Vector never hits edge of box?
Changing the "contact initial_mesh_grid" does get round the problem but there is little in the error message, or the changes required to solve the problem that explains why it is occuring.
I initially used "contact equiv_rect" instead of "contact connection" to get fasthenry to run, proving the rest of my input stack, and then changed it back, and adjusted the initial grid setting. However, "contact equiv_rect" is not supported by the visualisation routines (as noted in seperate post in that forum)
I have, by mistake, used "contact initial_mesh_grid" istead of "contact initial_grid", which may have made this problem worse!
David Lee Power Electronics, UK |
|
|
Enrico
550 Posts |
Posted - Sep 12 2007 : 17:13:02
|
Can you provide a simple offending input file?
Enrico
|
 |
|
|
dnl
United Kingdom
11 Posts |
Posted - Sep 14 2007 : 11:18:33
|
quote: Originally posted by Enrico
Can you provide a simple offending input file?
Enrico
As follows - change the grid in plane G1a to remove error:
*Gate drive printed circuit board * September 2007 David Lee .units MM .default z=0 sigma=5.8e4 * 3 ounce copper is 105um thich * multi layer board with overall thichness of 1.6mm gives insulatation thickness as about 0.2mm *Layers: * Main power * Ov earth plane
*Layer 2 earth plane - model as simple plane with holes in it Glayer2 x1=0 x2=41 x3=41 y1=24.3 y2=24.3 y3=-24.3 z1=-0.3 z2=-0.3 z3=-0.3 thick=0.105 + seg1 = 30 seg2 = 40 + hole circle (24.5,0,-0.3,5) + hole rect (0,4,-0.3,16.4,5.5,-0.3) + hole rect (0,-4,-0.3,16.4,-5.5,-0.3) + hole circle (11.4,11.8,-0.3,1.5) + hole circle (11.4,-11.8,-0.3,1.5) + hole circle (40,11.8,-0.3,1.5) + hole circle (40,-11.8,-0.3,1.5) * connection points to plane +NVEA (11,-21,-0.3) +NVEB (13.85,-21,-0.3) +NVEC (16.7,-21,-0.3) +NVED (19.55,-21,-0.3) +NVEE (22.4,-21,-0.3) +NVEF (25.25,-21,-0.3) +NVEG (28.1,-21,-0.3) +NVEH (30.95,-21,-0.3) +NVEI (33.8,-21,-0.3) +NVEJ (36.65,-21,-0.3) +NEVA (11,21,-0.3) +NEVB (13.85,21,-0.3) +NEVC (16.7,21,-0.3) +NEVD (19.55,21,-0.3) +NEVE (22.4,21,-0.3) +NEVF (25.25,21,-0.3) +NEVG (28.1,21,-0.3) +NEVH (30.95,21,-0.3) +NEVI (33.8,21,-0.3) +NEVJ (36.65,21,-0.3) +NETA (8,0,-0.3) +NETB (14,0,-0.3) +NETC (11,-3,-0.3) +NETD (11,3,-0.3) +NETE (8.9,-2.1,-0.3) +NETF (8.9,2.1,-0.3) +NETG (13.1,-2.1,-0.3) +NETH (13.1,2.1,-0.3) +NETI (6.5,0,-0.3) +NETJ (4,0,-0.3) +NETK (1.5,0,-0.3) +NETL (6.5,2.5,-0.3) +NETM (4,2.5,-0.3) +NETN (1.5,2.5,-0.3) +NETO (6.5,-2.5,-0.3) +NETP (4,-2.5,-0.3) +NETQ (1.5,-2.5,-0.3) +NTEST (34.1,0,-0.3)
*top surface connection to cathode G1a x1=0 x2=14.7 x3=14.7 y1=-4 y2=-4 y3=4 z1=0 z2=0 z3=0 thick=0.105 +NETA1 (8,0,0) +NETB1 (14,0,0) +NETC1 (11,-3,0) +NETD1 (11,3,0) +NETE1 (8.9,-2.1,0) +NETF1 (8.9,2.1,0) +NETG1 (13.1,-2.1,0) +NETH1 (13.1,2.1,0) +NETI1 (6.5,0,0) +NETJ1 (4,0,0) +NETK1 (1.5,0,0) +NETL1 (6.5,2.5,0) +NETM1 (4,2.5,0) +NETN1 (1.5,2.5,0) +NETO1 (6.5,-2.5,0) +NETP1 (4,-2.5,0) +NETQ1 (1.5,-2.5,0) + file=NONE + contact initial_grid (10, 10) *+ contact equiv_rect n_kathode (3,-1,0,2,4) +contact connection n_kathode (9.5,-1,0,2,2,2)
*Vias to the output earth tab *need equivs only on old style earth plane NETA2 y=0 X=8 Z=-0.3 EETA NETA1 NETA2 W=0.7 H=0.7 .Equiv NETA NETA2 NETB2 y=0 X=14 Z=-0.3 EETB NETB1 NETB2 W=0.7 H=0.7 .Equiv NETB NETB2 NETC2 y=-3 X=11 Z=-0.3 EETC NETC1 NETC2 W=0.7 H=0.7 .Equiv NETC NETC2 NETD2 y=3 X=11 Z=-0.3 EETD NETD1 NETD2 W=0.7 H=0.7 .Equiv NETD NETD2 NETE2 y=-2.1 X=8.9 Z=-0.3 EETE NETE1 NETE2 W=0.7 H=0.7 .Equiv NETE NETE2 NETF2 y=2.1 X=8.9 Z=-0.3 EETF NETF1 NETF2 W=0.7 H=0.7 .Equiv NETF NETF2 NETG2 y=-2.1 X=13.1 Z=-0.3 EETG NETG1 NETG2 W=0.7 H=0.7 .Equiv NETG NETG2 NETH2 y=2.1 X=13.1 Z=-0.3 EETH NETH1 NETH2 W=0.7 H=0.7 .Equiv NETH NETH2 NETI2 y=0 X=6.5 Z=-0.3 EETI NETI1 NETI2 W=0.7 H=0.7 .Equiv NETI NETI2 NETJ2 y=0 X=4 Z=-0.3 EETJ NETJ1 NETJ2 W=0.7 H=0.7 .Equiv NETJ NETJ2 NETK2 y=0 X=1.5 Z=-0.3 EETK NETK1 NETK2 W=0.7 H=0.7 .Equiv NETK NETK2 NETL2 y=2.5 X=6.5 Z=-0.3 EETL NETL1 NETL2 W=0.7 H=0.7 .Equiv NETL NETL2 NETM2 y=2.5 X=4 Z=-0.3 EETM NETM1 NETM2 W=0.7 H=0.7 .Equiv NETM NETM2 NETN2 y=2.5 X=1.5 Z=-0.3 EETN NETN1 NETN2 W=0.7 H=0.7 .Equiv NETN NETN2 NETo2 y=-2.5 X=6.5 Z=-0.3 EETo NETo1 NETo2 W=0.7 H=0.7 .Equiv NETo NETo2 NETP2 y=-2.5 X=4 Z=-0.3 EETP NETP1 NETP2 W=0.7 H=0.7 .Equiv NETP NETP2 NETQ2 y=-2.5 X=1.5 Z=-0.3 EETQ NETQ1 NETQ2 W=0.7 H=0.7 .Equiv NETQ NETQ2
*gate connection G1b x1=15.2 x2=34.1 x3=34.1 y1=-10 y2=-10 y3=10 z1=0 z2=0 z3=0 thick=0.105 file=NONE + contact initial_grid (21, 22) *+contact connection nx_g1b_1 (20,-2,0,1,1,4) *+contact connection nx_g1b_2 (30,-2,0,1,1,4) *+ contact equiv_rect n_gate (20,-2,0,1,4) + contact connection n_gate (23,-1,0,2,2,2) *Translating contact connection nx_g1b_2 into: *contact decay_rect (30,0,0,1,1,0.5,0.5,-1,-1) *+ contact equiv_rect nx_g1b_2 (30,-2,0,1,4) + contact connection nx_g1b_2 (30,-1,0,2,2,2) +NVGA1 (21.0,0,0) * above contact out of place to be unique location +NVGB1 (27.5,0,0) +NVGC1 (24.5,-3,0) +NVGD1 (24.5,3,0) +NVGE1 (22.4,-2.1,0) +NVGF1 (22.4,2.1,0) +NVGG1 (26.6,-2.1,0) +NVGH1 (26.6,2.1,0)
n_earth x=34.1 y=0 z=-0.3 .equiv ntest n_earth
.equiv n_gate n_kathode
.external nx_g1b_2 n_earth .freq fmin=1e-1 fmax=1e8 ndec=0.5 .end
David Lee Power Electronics, UK |
 |
|
|
dnl
United Kingdom
11 Posts |
Posted - Sep 14 2007 : 15:34:33
|
I have also tried running the same file with the "-f hierarchy" option, generating a heir.qui file, and then feeding that through zbuf -m to get heir.mat. However, this file is then not readable in Matlab. On slightly more complex files, the "-f both", "zbuf -m" sequence also creates files that Matlab can not read.
Ideally, I would like to be able to select a file in Matlab, and have Matlab plot the current densities. I think the raw components are present to do this, but it is probably a bigger project than I can take on right now. Has anyone else done any work along this line?
David Lee Power Electronics, UK |
 |
|
|
Enrico
550 Posts |
Posted - Sep 25 2007 : 17:47:12
|
1. The "Internal error in nonuniform plane code: get_new_x_y: Vector never hits edge of box?" bug is under analysis, I'll let you know the result.
2. Regarding MatLab zbuf output, this is not a much used feature, since people usually rely on FastModel for visualization. It might be that is buggish; did you EVER get a valid MatLab file in this way?
3. Let's not confuse things together. The '-f' option, together with zbuf program, are for geometrical visualization only, not to show current distributions. Current distributions can be output with '-d grids' option in FastHenry, and then visualized loading the output files in MatLab. This feature has been tested, is used and should work. Examples are described in FastHenry's user manual, paragraph 4
Enrico
|
 |
|
|
schaper
USA
1 Posts |
Posted - Aug 01 2010 : 12:28:43
|
quote: Originally posted by Enrico
1. The "Internal error in nonuniform plane code: get_new_x_y: Vector never hits edge of box?" bug is under analysis, I'll let you know the result.
2. Regarding MatLab zbuf output, this is not a much used feature, since people usually rely on FastModel for visualization. It might be that is buggish; did you EVER get a valid MatLab file in this way?
3. Let's not confuse things together. The '-f' option, together with zbuf program, are for geometrical visualization only, not to show current distributions. Current distributions can be output with '-d grids' option in FastHenry, and then visualized loading the output files in MatLab. This feature has been tested, is used and should work. Examples are described in FastHenry's user manual, paragraph 4
Enrico
Has the "Internal error in nonuniform plane code: get_new_x_y: Vector never hits edge of box?" bug been resolved? I am getting this error with a very simple file:
* Plane with multiple ports * .units mils .default sigma=1470 * * gplane x1=0 y1=0 z1=0 x2=1000 y2=0 z2=0 x3=1000 y3=1200 z3=0 thick=20 file=NONE + contact connection nb1 (500,100,20,800,50, 2.5) + contact connection nb2 (200,1100,20,200,50, 2.5) + contact connection nb3 (800,1100,20,200,50, 2.5) + contact initial_grid (4,5) * .external nb1 nb2 .external nb1 nb3 * .freq fmin=1e3 fmax=1e6 ndec=1 .end
I get this error many times on several different cases. Sometimes adjusting the initial grid parameters removes it. On one case I commented out the initial grid line and it worked.
I can provide other simple examples, if that would help. |
 |
|
| |
Topic  |
|
|
|