IBM®
Skip to main content
    United States change      Terms of use
 
 
Select a scope:    
     Home      Products      Services & industry solutions      Support & downloads      My account     
alphaWorks  >  Information management  >  

IBM Electromagnetic Field Solver Suite of Tools

A suite of full-wave and quasi-static electromagnetic field solver tools used to calculate the electrical parameters for interconnection and packaging design.


Date Posted: May 18, 2006
Overview Requirements DownloadFAQsForum Reviews

1. What is IBM Electromagnetic Field Solver Suite of Tools?
2. What is the history of these tools?
3. What distinguishes these tools from those developed elsewhere?
4. What knowledge and background should someone have in order to use these tools?
5. Is there any relationship between the tools, or are they simply a collection of unrelated codes?
6. How can I understand the limits of the tools?
7. Briefly, what is included in the download?
8. Is there anything else that I should know about these tools?
9. CZ2D calculates capacitance and inductance. Can you tell me what programs are called?
10. When I run CZ2D with structures that have some zero-thick conductors, I notice funny things in the results. Why?
11. I generated a .modl file for CZ2D analysis that has several conductors, but the output appears to be missing one or more conductors in the output. What could cause this?
12. I have several conductors in CZ2D that form my ground supply and serve as reference supplies. How do I make sure that they are all properly connected in parallel?
13. What are floating conductors?
14. I want to do a power supply analysis where I have several voltage supplies and would like to observe the voltages on all the planes. How do I model this in CZ2D?
15. I want to observe the current/charge distribution in CZ2D, but the plotter does not show the distribution. What's wrong?
16. What's the purpose of the Keep Temporary Files box on the GUI?
17. I want to place conductors inside dielectric regions. Do I need to hollow out the dielectric to make room for the conductors to fit?
18. How can I tell if my results have converged in CZ2D and RSURF?
19. What does automatic gridding mean?
20. Can infinitely-wide power planes be specified in CZ2D?
21. Over some frequency range, I observe negative coupling inductances. Is this physical?
22. For capacitance calculation using LCGen, single zero-thick rectangular conductors entered into the model editor seem to effectively disappear and not have any effect upon the results. What is happening?
23. In EMSIM, I assign a source for a conductive segment, but the current in the structure is very small and does not seem correct. Why?
24. I am a little confused about the equivalent inductive network provide by LCGen. How is the configuration decided?
25. Results for LCGen seem to change when I use a number of smaller 3D rectangles to replace larger rectangles in the same structure. Why?
26. Are there restrictions on the geometric aspect ratios or material properties in the tools?
27. There are several symmetry options for EMSIM. What are the differences?
28. When analyzing structures using EMSIM and having dielectrics, I notice that the accuracy is not as good as for homogeneous structures. Is there a reason?
29. Sometimes, just after a structure is brought up in the Edit model window and I perform an editing function, the window just vanishes. What happened?
30. For RGEN and RSURF, are there some things to keep in mind when setting up analyses?
31. Can I use a really large-area node to short features together in LCGEN, RSURF, and RGEN?
32. I am trying to compare 2D results from CZ2D with 3D results from LCGEN, but I notice differences. Why?
33. In running LGGEN, some nodes seem to be missing. Why?
34. LCGEN does more than calculate the inductance matrix for a structure. Can you tell me a little more about what it does?
35. I set up a .modl file and ran RGEN and RSURF for resistance calculation and CZ2D for inductance calculation. However, my results do not make sense. What could be wrong?
36. I need to do waveguide analysis and would like to use PropCalc. How is this done?
37. I am trying to run a structure in PropCalc and get too many subsections and unknowns to run. What do I do?
38. What is the unit cell attribute for in PropCalc?
39. I am running a structure with two mesh planes and a signal line inside, and PropCalc does not seem to be doing what I thought. What could be wrong?
40. What are the grounded conductor and floating attributes for in PropCalc?
41. Can you tell me a little about PropCalc?
42. The model editor is based on 3D shapes. How do I work with 2D structures for CZ2D?
43. EMSURF and EMSIM work on similar structures. Can you tell me when to use one or the other?
44. Does CZ2D handle microstrip transmission lines?
45. What is CSURF for?
46. What is the input of CSURF?
47. What is the output of CSURF?
48. In CSURF, what color should be used for geometries?
49. In CSURF, is there any requirement for the dielectric input?
50. In CSURF, what is CMESH for?
51. In CSURF, what are Even and Uneven partition modes?
52. In CSURF, what is TL Direction?
53. In CSURF, what is Overwrite?
54. In CSURF, what is the difference between Partition, Partition and Gridding, and Partition and Gridding and Run?
55. For EMSURF, what do the following statements mean?: Error in .in file, which appears along with printed message to screen, and Error, Only 3 or 4 vertices are allowed, which appears when trying to make an input file.
56. When running EMSURF, what do I do when I see the following error message?: On entry to zgetrf parameter number 4 had an illegal value.
57. When I run EMSURF, the output does not contain the correct number of ports. What should I do?
58. How do I define a port in EMSURF?
59. Please tell me a little more about the attributes I need to assign to structures.
60. Sometimes I assign an attribute in the model editor, and the attribute does not seem to stick to the shape. What is happening?
61. I have solid shapes (called bodies) and 2D shapes (called skins) in my structure within the model editor, and I want to select a particular shape, but they overlap. How do I do this?
62. Are there some tricks for quickly generating structures?
63. What kinds of structures are more difficult for CZ2D to handle?
64. A number of utilities, such as modldump, dump2modl, and doublegrid, are included in the download, but they may not be mentioned in the manuals. How do I find out their function?
65. When a run fails, do these tools give indications of the cause?


1. What is IBM Electromagnetic Field Solver Suite of Tools?

It is a rich set of tools for comprehensive package analysis. It includes tools for two-dimensional capacitance and inductance analysis; two-dimensional and three-dimensional capacitance and inductance; DC resistance calculation; and full-wave, three-dimensional analysis. Also included is a set of tools for generating standard formats and converting industry standard physical descriptions to the EIP physical format (.modla) and converting back.
Back to top Back to top

2. What is the history of these tools?

These tools can be traced back to early work on capacitance and inductance calculation within IBM (as can be seen from the references contained within the manuals provided in the download). Some of the kernels of these tools were updated with more advanced mathematical approaches, tied to a graphical user interface, and interfaced with advanced automatic gridding algorithms. Others were developed using the latest hierarchical algorithms, advanced iterative, FFT, and other techniques.
Back to top Back to top

3. What distinguishes these tools from those developed elsewhere?

These tools were designed to handle complicated structures, such as single- and multi-chip modules, with issues related to signal integrity, coupled and delta-I noise, and resistance analysis. Results from these tools were used to help design actual products. Once accuracy was assured, the tools were further developed to handle larger problems, reduce run times, and improve user friendliness. The tools provide highly-predictable results, in the sense that they allow a skilled user to obtain results of high resolution and accuracy. In all cases, special effort has been taken to assure internal physical consistency and consistency in results with those obtained from actual measurements of the structure.
Back to top Back to top

4. What knowledge and background should someone have in order to use these tools?

Anyone with a basic knowledge of simple circuits should feel comfortable using these tools because the required boundary conditions are entered using lumped resistances, capacitances, and inductances and voltage or current sources. The output, in many cases, includes equivalent circuits or plots of voltage and current. Microwave engineers, however, can also use these tools to design antennas, and EMC engineers can use the tools for calculating electromagnetic effects related to interference and other issues.
Back to top Back to top

5. Is there any relationship between the tools, or are they simply a collection of unrelated codes?

Where appropriate, the basis functions and boundary conditions were kept the same or made consistent, so that results from one code agree closely with others. For example, 2D rooftop functions and RWG basis functions that are used in the full-wave codes are consistent through the continuity equation with rectangular charge patches used for LCGen capacitance calculation, and these same basis functions were used in the RSurf codes. Thus, with effort to assure the same gridding and other factors (such as frequency), it is often possible to get agreement within a few percent for at least some of the 2D, 3D, and full-wave tools.
Back to top Back to top

6. How can I understand the limits of the tools?

Users should construct simple canonical cases with known solutions, such parallel plate capacitors, wide loops, and rectangular coaxial cables, and compare the EIP results to the known values. Users should then test the code with structures having high geometric aspect ratios and other extremes in order to understand the limits. The above could also be used in order to understand various symmetry and other features of the codes; by observing how known results change as user controls are varied, the user can understand effects not mentioned in the included manuals.
Back to top Back to top

7. Briefly, what is included in the download?

The executable codes for the tools are included, as well as documentation, examples, installation script, troubleshotting guide, and README file. It is hoped that this FAQ provides considerable information on the finer points, so that some understanding of the codes can be obtained before downloading.
Back to top Back to top

8. Is there anything else that I should know about these tools?

These tools, in present and earlier forms, have a long history of use within IBM. For many of the tools, considerable convergence and other studies have been performed, results compared with measurements, and feedback obtained associated with considerable use on generations of actual products. However, some of the tools were developed using one platform and more recently ported to others, so users should be aware of and mindful of what this means.
Back to top Back to top

9. CZ2D calculates capacitance and inductance. Can you tell me what programs are called?

CZ2D runs a program called c2d for capacitance and conductance calculations, and it runs another program called z2d for inductance and resistance calculation. A number of interface codes are also run in order to use the results from these programs and generate SPICE W-element or other transmission line formats.
Back to top Back to top

10. When I run CZ2D with structures that have some zero-thick conductors, I notice funny things in the results. Why?

For capacitance problems (running c2d), zero-thick conductors are fine because, for all practical problems, the charge density resides on the surface of conductors. For inductance analysis, they are also mathematically viable and accepted by z2d. However, these conductors require special care in gridding for skin-effect and may not be handled properly by the automatic facilities built into z2d. Thus, users are advised to replace zero-thick conductors by very thin ones and to give perferctly-conducting thick conductors a small resistivity. If these recommendations are not followed, results must be viewed with appropriate caution. If zero-thick conductors are specified, the resistance entered through the attribute window will be interpreted to be in units of ohms/square.
Back to top Back to top

11. I generated a .modl file for CZ2D analysis that has several conductors, but the output appears to be missing one or more conductors in the output. What could cause this?

Make sure that the cutting plane is specified correctly, so that, for example, if the signal lines run along the y direction, the cutting plane specified is "Y" and that all the signal lines pass through the y location given in the entry field. In addition, make sure that each conductor has a group number associated with it and that the reference conductor(s) have a group number that is the largest from the set of group numbers. It is recommended that reference conductors be given an easily-identified group number, such as 99.
Back to top Back to top

12. I have several conductors in CZ2D that form my ground supply and serve as reference supplies. How do I make sure that they are all properly connected in parallel?

Reference conductors, as well as signal conductors, can be placed in parallel by giving them the same group number.
Back to top Back to top

13. What are floating conductors?

Floating conductors are standard signal line conductors that physically exist and modify the fields in the structure, but whose input and output terminals will not be accessed in any subsequent circuit simulation and thus need not appear in the output RLCG matrices. For example, a structure with three signal lines and one reference plane gives rise to a 3-by-3 C matrix. If one of the signal lines is specified as floating, the resulting matrix is only 2-by-2. This reduces clutter in the analysis procedure. Whether the 3-by-3 matrix or the 2-by-2 matrix is used in a subsequent circuit simulation, the voltages and currents on the non-floating lines will be identical, but the voltages and currents on the floating lines can be observed only in the analysis where all lines are specified as non-floating. Floating lines can be placed in parallel, either in one or several groups, by properly assigning group numbers.
Back to top Back to top

14. I want to do a power supply analysis where I have several voltage supplies and would like to observe the voltages on all the planes. How do I model this in CZ2D?

The conductors associated with each power or ground plane should be given different group numbers, with one of these supplies treated as a true reference conductor and given the highest value. The output matrices will have entries for all the signal lines and for non-reference power supplies. These power supplies can be treated in the same way as signal lines, albeit very wide ones.

For example, if Vcc, Vdd, and GND power planes exist along with two signal lines, then Vcc, Vdd, and GND can be given group numbers of 3, 4, and 99. If multiple Vcc planes exist and are to be treated as being in parallel, they can all be given group number 3. Otherwise, they should be given distinct group numbers.

Back to top Back to top

15. I want to observe the current/charge distribution in CZ2D, but the plotter does not show the distribution. What's wrong?

The save charge and/or save current boxes were not selected from the GUI panel. But file sizes may be much larger when these options are specified.
Back to top Back to top

16. What's the purpose of the Keep Temporary Files box on the GUI?

Some details of the analysis are listed and serve as information to the developers for debugging purposes.
Back to top Back to top

17. I want to place conductors inside dielectric regions. Do I need to hollow out the dielectric to make room for the conductors to fit?

No. There is a hierarchy of material specifications so that conductors override dielectric material properties where overlap exists. Higher conductivity conductors take precedence over lower conductivity conductors, and dielectrics with higher permittivities similarly take precedence over those with lower values.
Back to top Back to top

18. How can I tell if my results have converged in CZ2D and RSURF?

Keep the same gridding options, but increase the bisection gridding factor by one; this will cut subsections size in half, doubling the number of unknowns for the capacitance calculation and quadrupling it for the inductance calculation and resistance. Convergence is generally quadratic, and the error is probably less than the difference in results observed in the parameters. For the other tools, the grid files can be saved and subsections made finer by using the doublegrid facility or by hand. Gridding can also be increased by representing given shapes by several shapes instead; a proper union of shapes will automatically occur, though additional grid lines will be present.
Back to top Back to top

19. What does automatic gridding mean?

The CZ2D code has the facility to account for interaction of nearby conductors and for edge effects and skin effects. Automatic gridding will internally call algorithms that apply a physically-based gridding procedure that should, with no user involvement, give rise to errors within a few percent for homogenous structures; specifying bisection gridding will rapidly further reduce the error, though results for inhomogeneous structures will, in general, converge more slowly. However, for 3D and full-wave analysis, additional gridding may be needed when finite dielectric regions are specified, and additional subsections to account for skin-effect are not automatically included. Users should be aware that gridding algorithms are common for some codes and different for others.
Back to top Back to top

20. Can infinitely-wide power planes be specified in CZ2D?

No, but planes can be made as wide as necessary within reason. Very wide planes require additional unknowns and thus increase run time and could result in a loss of accuracy. Given a signal line h units above a ground plane, the general guideline is that planes should extend at least a factor five to ten times h beyond the outermost signal lines. For signal lines that both lie between power planes and are widely separated with respect to distance between the planes, the coupling values may be be very small (for example, 1 part in one million) and may not be very accurately calculated (but since they are so small, the error may not matter).
Back to top Back to top

21. Over some frequency range, I observe negative coupling inductances. Is this physical?

It is often so, and it may be due to signal proximity effects at low frequencies. It may occur when some conductors in part of the reference supply lie very close to signal lines and also carry currents that are far greater (because the current distribution is more spread out at near DC) than those it carries at higher frequencies.
Back to top Back to top

22. For capacitance calculation using LCGen, single zero-thick rectangular conductors entered into the model editor seem to effectively disappear and not have any effect upon the results. What is happening?

For LCGen capacitance calculation, an isolated zero-thick rectangle, which would have been assigned a constant charge during solution, may be erroneously thrown out. To prevent this error, give the shape a small thickness or define the shape by two touching rectangles instead; in either case, the shape will not be omitted.
Back to top Back to top

23. In EMSIM, I assign a source for a conductive segment, but the current in the structure is very small and does not seem correct. Why?

Make sure that the source is assigned a proper direction; for example, if a via carries current in the z direction, the corresponding source should be in the z direction so that the delta-gap voltage source produces a z-directed current. If the source direction is picked in the transverse direction by mistake, a transverse current is being excited and does not represent what the user had in mind.
Back to top Back to top

24. I am a little confused about the equivalent inductive network provide by LCGen. How is the configuration decided?

LCGen determines which nodes (which serve as circuit terminals) are conductively connected and generates a tree structure for each contiguous set of nodes; these tree-structures are coupled through appropriate mutual inductances. The topology for each tree is not unique, but this does not matter because subsequent circuit analysis will provide the same answer, independent of chosen topology. The code will automatically assign a node that can serve as ground for each tree.
Back to top Back to top

25. Results for LCGen seem to change when I use a number of smaller 3D rectangles to replace larger rectangles in the same structure. Why?

LCGen does not include resistance effects, so that the resulting inductance solution corresponds to one made from perfect conductors (it can be thought of as associated with the high-frequency current distribution). A structure that has only a single rectangle in a cross-section will have a uniform current associated with it, and a cross-section with multiple rectangles will have a uniform current over each rectangle but a distribution over rectangles that is consistent with skin-effect behavior. In other words, the current distribution over any given rectangular solid is uniform (across a 2D shape or through a 3D shape) but has an overall distribution that satisfies the appropriate boundary conditions.
Back to top Back to top

26. Are there restrictions on the geometric aspect ratios or material properties in the tools?

The tools were designed to handle geometrical and material extremes, and, within reason, the full-wave tools will handle frequencies well down into the quasi-static range. The best way to understand their limits is to run simple structures with known solutions.
Back to top Back to top

27. There are several symmetry options for EMSIM. What are the differences?

Even and odd symmetry can be specified for the y and z directions only, and one of the odd symmetry choices involves the effective placement of an ideal ground plane. The best way to understand symmetry options is to make a few simple structures that have known solutions, such as parallel plate capacitors and wide rectangular loops with non-zero source and or termination resistances, run the structures with and without the particular symmetry option specified, and then compare the results. Pay particular attention to the input impedance/admittance.
Back to top Back to top

28. When analyzing structures using EMSIM and having dielectrics, I notice that the accuracy is not as good as for homogeneous structures. Is there a reason?

Because EMSIM employs a volume polarization solution, dielectric volumes are often limited to perhaps several tens of cubic wavelengths and may be further limited in cases where finite dielectric layers are thin compared to their transverse dimensions and spaced non-zero distances away from conductors. It is best to make the structure as homogenous as possible (for example, if signal lines run between two finite ground planes filled with a dielectric, use an appropriate background dielectric constant instead of using a finite dielectric block between the planes) and use dielectric sparingly. Some additional grid lines, beyond those added by the automatic gridding facility, may be needed.
Back to top Back to top

29. Sometimes, just after a structure is brought up in the Edit model window and I perform an editing function, the window just vanishes. What happened?

This is a known bug; simply left-mouse-click in the edit window and the window will not vanish.
Back to top Back to top

30. For RGEN and RSURF, are there some things to keep in mind when setting up analyses?

Yes. Make sure that no part of a node exists outside a conductive region, and that all conductors are assigned non-zero resistivities. It is recommended that lumped resistances, for example, have values that lie between several megohms and a few tenths of a microhm because the dynamic range of these codes has been set with typical package analysis in mind.
Back to top Back to top

31. Can I use a really large-area node to short features together in LCGEN, RSURF, and RGEN?

Because ideal shorts do not practically exist, shorting should be done consistently with that done on a real structure undergoing measurement: The use a wide, very-low-resistivity finite sheet is recommended. Where loop inductances are small, appropriate use of a pair of such sheets can often minimize the extraneous inductance associated with the pair.
Back to top Back to top

32. I am trying to compare 2D results from CZ2D with 3D results from LCGEN, but I notice differences. Why?

Aside from issues of 3D end effects and assuring equivalent numbers of subsections across cross-sections, considerable care must be taken in the location and number of nodes used in the 3D solution in order to assure that the 2D and 3D boundary conditions match; when properly done, results often agree within a few percent.
Back to top Back to top

33. In running LGGEN, some nodes seem to be missing. Why?

For inductance analysis, though conductors having no attached nodes will support currents (the current distribution will also be a function of conductor gridding), equivalent circuit inductances will appear only when two or more differently-numbered nodes are attached to each contiguous region. Therefore, make sure at least two nodes having different numbers are connected to the conductor.
Back to top Back to top

34. LCGEN does more than calculate the inductance matrix for a structure. Can you tell me a little more about what it does?

The LCGEN inductance calculation first subsections the structure, trying to assure that touching features are gridded in order to account for current spreading and other effects, and then internally generates an inductance matrix. Then a reduction of the terminals algorithm is performed in order to generate an equivalent inductance network, where access to the structure is limited to the nodes (which serve as circuit terminals). From a subsequent circuit analysis point of view, the inductive effects associated with all conductors is included, but the actual voltages and currents from the internal conductors are lost, and only those at the nodes will be seen. If voltages and currents must be observed or injected at other locations, additional nodes (terminals) must be specified.
Back to top Back to top

35. I set up a .modl file and ran RGEN and RSURF for resistance calculation and CZ2D for inductance calculation. However, my results do not make sense. What could be wrong?

Make sure that you specify non-zero resistivities when running these codes because otherwise perfectly-conducting loops may be formed that cause singular solutions in RGEN and RSURF, and lossless conductors may also interfere with proper gridding for inductance calculation within CZ2D. If the run times and number of unknowns seem too large in CZ2D output files or if CZ2D fails to run, make sure that you have not made an error in the scale of the structure; for example, it is unusual for a user to perform CZ2D analyses on structures that have cross-section sizes of one centimeter when the frequency range extends into the GHz. The automatic gridding will account for skin-effect depths, and large numbers of unknowns may result. Thus, the user should to check to see if transverse dimensions, resistivities, and frequency ranges are consistent for the analysis requested.
Back to top Back to top

36. I need to do waveguide analysis and would like to use PropCalc. How is this done?

PropCalc has a facility in which, instead of periodic structures, 2D uniform structures can be entered. Using this facility, hollow waveguides, dielectric waveguides, partially-filled waveguides, and a large variety of other structures can be analyzed. Surface waves and other physical effects will be properly captured and included. But the user should note that the grid size must be uniform along each direction (though grid size can be different along x, y, and z). For this kind of calculation, it may be necessary to hand modify the .propin file (see the PropCalc manual).
Back to top Back to top

37. I am trying to run a structure in PropCalc and get too many subsections and unknowns to run. What do I do?

Because the grid along each direction must be uniform, the facility in the GUI tries to find a commensurate grid size, for each direction, among all the shapes. The user may need to slightly adjust the dimensions of some shapes so that a reasonable value of grid size can represent the entire structure. For example, if conductors having widths along the y direction are 0.100 mm and 0.205 mm and their spacing is 0.54 mm, the user could use widths of 0.100 mm and 0.200 mm and change the spacing to 0.55 mm, so that a grid of 0.05 mm could be used instead. The GUI will try to find a commensurate grid, but this grid may be too fine (requiring too many unknowns or exceeding the internal limit of 1000 along any direction). In such cases, the user must modify the structure as just described.
Back to top Back to top

38. What is the unit cell attribute for in PropCalc?

To perform a PropCalc analysis, a unit cell must be defined; this definition explicitly gives the periodicities along the x and y directions and the finite height along z (propagation is always assumed along x, and the structure is considered finite along z). By defining a rectangular solid and attributing it as a unit cell, the rectangular solids dimensions give the periodicities and extent along z. By defining a dielectric constant other than unity, a non-unity background dielectric can be entered.
Back to top Back to top

39. I am running a structure with two mesh planes and a signal line inside, and PropCalc does not seem to be doing what I thought. What could be wrong?

If the structure contains N non-touching conductors, then, for a quasi-TEM analysis, there will be N-1 modes; so the above structure supports two modes. In most cases, the user intends for the two mesh reference planes to be shorted together so that only one mode is supported -- thus, the user needs to add a thin conductor (located at some position that will minimally affect the field near the signal line) in order to short the two mesh planes together and preclude the additional mode. The original solution is correct, however, and would be appropriate if the two mesh planes were not shorted (for example, in a delta-I analysis where the voltage difference between mesh planes is sort).
Back to top Back to top

40. What are the grounded conductor and floating attributes for in PropCalc?

The number of modes that PropCalc searches for is determined by the number of different conductor group numbers. The desired reference conductor(s) should be assigned as grounded. Any conductors that are not part of the ground and not part of a signal line should be assigned as floating conductors. The propagation constant is not a function of how the conductors are assigned, but the internal total current calculation is a function and will affect the characteristic impedance calculated.
Back to top Back to top

41. Can you tell me a little about PropCalc?

PropCalc is a full-wave tool that finds the propagation constants (eigenvalues) for a structure composed of rectangular conductors and dielectrics. An initial guess, the normalized propagation delay (unity for speed of light) is needed, but a default is provided through the GUI. The various modes are searched for and given as part of the output. The tool is ideal for finding the propagation characteristics of structures situated between mesh planes, and the output was actually intended for looking at quasi-TEM structures. However, it includes all full-wave effects and will solve for propagation in arbitrary wave-guide structures. Users can find the propagation constant associated for isolated mesh planes and dielectric waveguides as well.
Back to top Back to top

42. The model editor is based on 3D shapes. How do I work with 2D structures for CZ2D?

Simply treat one direction as the infinite length direction for 2D analysis, and then change the view accordingly. For example, lines that run in the y direction could be given an artificial length of one unit along the y direction, and the model editor view could be set to XZ plane. For easy viewing, it is best to pick the same length along y and to make it commensurate with the cross-section dimensions (if the signal line is 2 mm wide and the ground plane is 20 mm wide, a y-length of 10 mm would appropriate, but a length of 1000 mm would not).
Back to top Back to top

43. EMSURF and EMSIM work on similar structures. Can you tell me when to use one or the other?

EMSIM and EMSURF are both full-wave, moment-method tools, based on the use of 2D rooftop functions and, for EMSURF, RWG basis functions in addition. EMSIM works strictly for rectangular shapes and can handle dielectric blocks, and EMSURF works for shapes that are polygonal-prism (rectangles, triangles, etc.), but the version included works only for homogenous structures. EMSURF is the follow-up to EMSIM and shares many common elements; for example, when the user learns one code it is easy to use the other. EMSURF, in general, handles much larger problems and runs faster. EMSURF also allows for sources defined through use of a point. For structures that are acceptable to both codes, results should agree closely in all cases.
Back to top Back to top

44. Does CZ2D handle microstrip transmission lines?

CZ2D is a quasi-static tool. Microstrip analysis is not a quasi-static problem and requires a full-wave analysis. However, in many cases, full-wave effects do not start to appear over the frequency range of interest, and then CZ2D can be used. PropCalc, a full-wave tool, will capture the full-wave effects.
Back to top Back to top

45. What is CSURF for?

CSURF is a capacitance extraction tool based on the static laplacian wave equation. It uses a hierarchical block boundary-element method to extract the self and coupling capacitances in homogeneous and inhomogeneous media.
Back to top Back to top

46. What is the input of CSURF?

CSURF accepts geometrical input from modla files. Modla files are generated through EIP GUI model editor. In modla files, there are many bodies. Each body is required to have an attribute and a color associated with it. Further details about how to use EIP GUI are in the EMSIM User's Guide.
Back to top Back to top

47. What is the output of CSURF?

CSURF gives an output file with extension cout. In it, there is a dense capacitance matrix. The capacitances in the matrix are Maxwellian capacitances, which are different than physical capacitances. To convert them into physical capacitances, use the following relations:

Cii_phy = \sum_j cij, Cij_phy = - cij

Back to top Back to top

48. In CSURF, what color should be used for geometries?

Color matters in the geometry set-up. LightBlue is a color that must always be assigned to grounded conductors. For example, if two lines in the geometry are grounded, both of them must be assigned with LightBlue even if they are not connected. Transparent is reserved for surfaces with Neumann boundary condition.
Back to top Back to top

49. In CSURF, is there any requirement for the dielectric input?

Yes; dielectrics must be rectangular. Non-rectangular structures are not supported in this version.
Back to top Back to top

50. In CSURF, what is CMESH for?

CMESH is an automatic partition and mesh-generating tool for rectangular geometries. It reads in a modla file, encloses the whole geometry into a big rectangular box, and partitions the geometry, including the artificial box, into small cells. This process is called "partition." Then it can generate the mesh on the surface of the conductors, dielectrics, and artificial cutting surfaces and put them into a modla file, which can be accepted by CSURF simulator. This second step is called "gridding."
Back to top Back to top

51. In CSURF, what are Even and Uneven partition modes?

CMESH can put cutting planes evenly or unevenly in the enclosing box. If the conductors in the input geometry are almost evenly distributed, Even Partition mode is preferred. Uneven Partition mode can provide better simulation efficiency.
Back to top Back to top

52. In CSURF, what is TL Direction?

For bus structures that are close to 2D geometry, TL Direction is the direction most bus lines are pointing to. This direction is used for special transmission line simulations and it should be left unset in most circumstances.
Back to top Back to top

53. In CSURF, what is Overwrite?

After the partitioning process, a new modla file with _p.modla will be generated. However, if Overwrite is checked, this file will be used to overwrite the original geometry modla input file.
Back to top Back to top

54. In CSURF, what is the difference between Partition, Partition and Gridding, and Partition and Gridding and Run?

A Partition only sets the geometry into a big box and puts artificial cutting surfaces into it. Partition and Gridding also meshes the output results from the Partition step. Partition and Gridding and Run will start CSURF in order to extract capacitances using the output from the gridding process.
Back to top Back to top

55. For EMSURF, what do the following statements mean?: Error in .in file, which appears along with printed message to screen, and Error, Only 3 or 4 vertices are allowed, which appears when trying to make an input file.

These error statements mean that the gridding failed at some stage of the process and, as a result, the routine for generating the input file is failing to find the correct grid file. Look through the printed messages to the screen for some indication of an error.
Back to top Back to top

56. When running EMSURF, what do I do when I see the following error message?: On entry to zgetrf parameter number 4 had an illegal value.

Verify that there is at least one source in the input file. Search the *.in file for the key word "@source". If the line directly under this key word is "0 0", then legitimate sources were detected in your geometry file. Verify that the sources were defined properly.
Back to top Back to top

57. When I run EMSURF, the output does not contain the correct number of ports. What should I do?

Verify the number of ports in the input file. Search the *.in file for the key word "@source". The line directly underneath this key word contains two integer values. The first is the total number of source patches after gridding, the second is the total number of ports. If the number of ports in not the expected number verify that the source was defined properly in the model file.
Back to top Back to top

58. How do I define a port in EMSURF?

A port is defined by assigning the attribute of source to one or more of the shapes in the model file. The source is given an x, y, or z direction. Current is impressed across the appropriate shape edge in the specified direction. Make sure the shape that is assigned the attribute of source has an edge that is perpendicular to this direction; otherwise, the shape will be considered as illegitimate and no port or source will appear in the input file.
Back to top Back to top

59. Please tell me a little more about the attributes I need to assign to structures.

The same 3D GUI is common to all the EIP tools, with the exception of the attributes that differ from tool to tool. The GUI uses a binary file called the .modl file to describe the structure, with the equivalent ASCII file called .modla. Users should make sure that, when editing an existing .modl or .modla file, the attributes meant for different tools are not mixed together. Many of the attributes are the same or are compatible, but problems could arise.
Back to top Back to top

60. Sometimes I assign an attribute in the model editor, and the attribute does not seem to stick to the shape. What is happening?

Sometimes the model editor forgets that it is in the assign attributes mode; simply re-click on Attributes at the top of the model editor window, re-click on attribute assign, and then left-click on the desired shape.
Back to top Back to top

61. I have solid shapes (called bodies) and 2D shapes (called skins) in my structure within the model editor, and I want to select a particular shape, but they overlap. How do I do this?

Middle-clicking the mouse puts you in x-ray mode; a number that indicates depth will then appear near a cross-hair. Simply move the mouse around until the correct shape is highlighted. Sometimes selecting Options in the model editor window and then deselecting either skins or bodies can help, because one the remaining shapes will be selected.