Getting Started with EM.CUBE

From Emagtech Wiki
Jump to: navigation, search

A Visual Simulation Environment for Everything from DC to Light

Cad-ico.png Fdtd-ico.png Prop-ico.png Po-ico.png Static-ico.png Planar-ico.png Metal-ico.png

Back icon.png Back to EM.Cube Main Page

An EM.Cube Primer

EM.Cube in a Nutshell

EM.Cube is a visual software environment for electromagnetic (EM) modeling. It features several distinct simulation engines that can solve a wide range of modeling problems such as electromagnetic radiation, scattering, wave propagation in various media, coupling, interference, signal integrity, field interactions with biological systems, etc. Using EM.Cube, you can solve problems of different sizes, varying from a few microns in MEMS devices to several miles or larger in the case of urban propagation scenes.

EM.Cube has a highly integrated, modular architecture. We have eliminated the hurdle of learning too many different software tools for solving different types of problems by creating a streamlined user interface that is shared among all of EM.Cube's computational modules and simulation engines. EM.Cube's modules offer a mix of full-wave, static and asymptotic numerical solvers in both time and frequency domains. Once you learn the basics of the software application, you will find enormous computational power at your fingertips. EM.Cube allows you to plan and execute complex, system-level simulations of multi-scale structures.

Info icon.png Click here to learn more about EM.Cube's Applications.

Numerical Modeling of Electromagnetic Problems

The electric field excited above a battleship illuminated by a plane wave source.

Mathematically speaking, all electromagnetic modeling problems require solving some form of Maxwell's equations in conjunction with certain initial and boundary conditions. Radiation and scattering problems are defined over an unbounded domain. Circuit and device problems are often formulated as shielded structures within finite domains. Aside from a few well-known canonical problems, there are no closed-form solutions available for most electromagnetic problems due to the complexity of their domains and boundaries. Numerical analysis, therefore, is the only way to solve such problems.

Info icon.png Click here for a brief review of Maxwell's Equations.

Info icon.png Click here to learn more about Numerical Techniques for Solving Maxwell's Equations.

Using a numerical method to solve a certain electromagnetic modeling problem typically involves a recurring sequence of steps:

  • Geometrical construction of the physical structure and material assignments
  • Definition of the computational domain and boundary conditions
  • Definition of excitation sources
  • Definition of observables
  • Geometrical reduction and mesh generation

The above steps reduce your original physical problem to a numerical problem, which must be solved using an appropriate numerical solver. Verifying and benchmarking different techniques in the same simulation environment helps you better strategize, formulate and validate a definitive solution.

A ubiquitous question surfaces very often in electromagnetic modeling: "Does one really need more than one simulation engine? A true challenge of electromagnetic modeling is the right choice of numerical technique for any given problem. Depending on the electrical length scales and physical nature of your problem, some modeling techniques may provide more accurate or computationally more efficient solutions than the others. Full-wave techniques provide the most accurate solution of Maxwell's equations in general. In the case of very large-scale problems, asymptotic methods sometimes offer the only practical solution. On the other hand, static or quasi-static methods may provide more stable solutions for extremely small-scale problems. Having access to multiple simulation engines in a unified modeling environment provides many advantages beyond getting the best solver for your particular problem. Some complex problems involve dissimilar length scales which cannot be compromised in favor of one or another. In such cases, a hybrid simulation using different techniques for different parts of the larger problem can lead to a reasonable solution.

Attention icon.png EM.Tempo is EM.Cube's general-purpose EM simulator than can handle most types of modeling problems involving arbitrary geometries and complex material variations in both time and frequency domains.

EM.Cube's Modular Architecture

EM.Cube brings together several computational modules that can be used to solve a large variety of electromagnetic modeling and RF design problems. Each module revolves around a specific numerical method that is optimized for a certain class of problems or applications. EM.Cube's framework is based on total separation of the visual software interface and simulation engines. The numerical solvers communicate with the EM.Cube application solely through ASCII input and output files. This creates the opportunity to utilize the same user interface effectively to drive different simulation engines.

At the heart of EM.Cube lies CubeCAD, a stand-alone application which can be thought of as a general-purpose modeling environment. EM.Cube's computational modules are all customized variations of CubeCAD equipped with a particular simulation engine. Therefore, they all share the same CAD modeler (input utilities) and same data visualization tools (output utilities). CubeCAD features a powerful 3D CAD modeler with a large selection of native objects (solids, surfaces, curves) and a wide range of object creation, editing and transformation tools. You can import external CAD files with different popular standard formats. CubeCAD's intuitive, mouse-driven tools let you quickly build very sophisticated structures either from the ground up or by combining native objects with imported external structures. You can also export your projects to a number of popular CAD formats. CubeCAD's Data Manager is a versatile utility for processing and plotting your simulation data either as 3D visualizations or in a variety of graph types.

Besides their common CAD modeler and common data visualization tools, all computational modules share the following hierarchy of common elements:

  • Physical Structure
  • Computational Domain
  • Discretization
  • Sources
  • Observables

The specific contents of each element may vary from module to module depending on the underlying physics. For example, the CAD objects listed under your project's physical structure may have different sets of properties in each module. Many source and observable types are shared among several computational modules.

EM.Cube's Computational Modules

EM.Cube currently offers six distinct computational modules:

Fdtd-ico.png EM.Tempo FDTD Module This module features an FDTD simulator for full-wave time domain modeling of 3D objects, circuits, antennas, complex materials and periodic structures.
Prop-ico.png EM.Terrano Propagation Module This module features an asymptotic SBR ray tracer for physics-based, site specific modeling of radio wave propagation in urban and natural environments.
Po-ico.png EM.Illumina Physical Optics Module This module features an iterative Physical Optics (PO) solver for asymptotic modeling of electromagnetic scattering from large metallic structures and impedance surfaces in the free space.
Static-ico.png EM.Ferma Static Module This module features two electrostatic and magnetostatic simulation engines that can be used for static or low-frequency analysis of circuits, lumped devices and transmission lines.
Planar-ico.png EM.Picasso Planar Module This module features a 2.5-D Method of Moments (MoM) solver for full-wave frequency domain modeling of multilayer printed antennas, microwave circuits and periodic planar structures.
Metal-ico.png EM.Libera MoM3D Module This module features two 3D Method of Moments (MoM) solvers for full-wave frequency domain modeling of 3D free-space structures: A Wire MoM simulator and a Surface MoM simulator.

EM.Cube Installation

The EM.Cube application has been built on a Microsoft Windows platform. While the main program requires a Windows operating system to run, its simulation engines are platform-independent and can be run on Linux platforms or high performance computing (HPC) clusters. If you intend to run one or more of EM.Cube’s simulation engines on a platform other than Microsoft Windows, please contact our technical support for more information and guidance.

Hardware Requirements

Operating System Windows 8.1 Windows 7
Processor Intel Xeon 3GHz Intel Pentium 4 1GHz
Graphics Card 2GB NVIDIA Quadro 128MB OpenGL Compliant
Display HD (1080p) 96 DPI SVGA (1024 x 768) 96 DPI

If you have any questions regarding the ability of your system to run EM.Cube, please contact our technical support.

Browser Requirements

Windows Internet Explorer 8.0 or later with Javascript and Cookies enabled.
Flash Active X plugin 8.0 or later.
Other Platforms Firefox 3.0 or later with Javascript and Cookies enabled.
Flash Plugin 8.0 or later.

Running the Installer

  1. Double click on the installer to begin installing the EM.Cube software.
  2. Read and accept the license agreement.
  3. Follow the prompts until the installation process is completed.
Attention icon.png You must be an Administrator on your computer to run the installer. If you are using Windows 7, right click the installer and choose "Run as Administrator."

Placing the EM.Cube License File

EM.Cube Pro requires a valid license to run on any machine. Once you install EM.Cube on a computer and launch it for the first time, the screen displays a unique EM-ID key, which is made up of a sequence of numbers and letters. You need to write down the EM-ID key and email it to us. We will generate a license file based on the EM-ID key and will email it to you. You need to place the license file that has a ".lic" file extension in the directory "C:/Program Files (x86)/EMAG/Licenses/".

Getting to Know EM.Cube's User Interface

Figure: Visual elements of EM.Cube Desktop.

Before you start using EM.Cube, it is important to familiarize yourself with its visual user interface. This is called the EM.Cube Desktop and consists of a number of visual elements:

  • Menu Bar at the top of the screen
  • Four Toolbars below it
  • Module Bar on the left edge of the screen
  • Navigation Tree window on the left side of the screen
  • Simulate Toolbar on the right side of Navigation Tree
  • Status Bar at the bottom of the screen
  • Main Window which serves as the project workspace

Menu Bar

EM.Cube's standard menus are: File, Edit, View, Object, Tools, Simulate, and Help.

  • File Menu allows you to manage (create, open, save and close) EM.Cube projects. It also provides the ability to import external CAD files or export CAD files into formats that can be used by other software packages. Printing is accessed from the File Menu.
  • Edit Menu provides Undo, Redo, Cut, Copy, Paste, and Delete – all of which can be used to manage your CAD objects. Through the Preferences dialog, you can set a number of global settings for the EM.Cube application including color preferences, etc.
  • From View Menu you can hide or show the Navigation Tree, Status Bar, and various Shortcut Toolbars. View Menu also allows you to pan, rotate, and zoom in and out of the current view of the main window. You can change EM.Cube's several snap modes from this menu. You can also change the viewing angle of the main window to a variety of pre-selected viewpoints (front, back, perspective, etc.) You can access the Split Viewports option, which splits the main window into a four-port view. You can change the current work plane from View Menu and toggle the grid from the default adaptive type to a fixed custom grid.
  • Object Menu provides one of the several methods for creating geometric objects including solids, surfaces, curves and points.
  • From Tools Menu you can access all the object editing and transformation tools.
  • Simulate Menu contains all the settings, tools and utilities that drive EM.Cube's computational modules. From this menu you get access to project units and frequency settings, computational domain, mesh generator, variables, models, custom output, objectives, data manager and simulation Run dialog.
  • Help Menu reports the current version of EM.Cube, displays the current EM_ID and provides a list of all the keyboard shortcuts. From this menu you can access EM.Cube's comprehensive documentation including the online manuals and tutorials for all the modules.
The Module Bar and Navigation Tree allow you to move among EM.Cube's modules and access the properties of the current project's various items in each module.


The toolbars can be used in place of the pull-down menus to perform the most commonly used functions with fewer mouse clicks. These functions are grouped into five toolbars: System, View, Object, Tools and Simulate. All toolbars can be repositioned however you like. Simply grab a toolbar's handle to undock and drag it to any location on the main window. Once undocked, you can also resize a toolbar and make it horizontal or vertical. Move the cursor to the border of the toolbar to turn it into a double arrow. Then drag the mouse until the toolbargets the right size and appearance. You can dock an undlocked toolbar by dragging and dropping it onto the border of the main window. You can show or hide any EM.Cube toolbar from Menu > View > Toolbars.

Navigation Tree

When you start the EM.Cube application, it lands you first in CubeCAD by default. The Module Bar located on the left edge of the screen is used to switch among CubeCAD and EM.Cube's various computational modules. It consists of eight buttons for CubeCAD, EM.Tempo, EM.Terrano, EM.Illumina, EM.Ferma, EM.Picasso, EM.Libera and RF.Spice A/D. Clicking on each of the first seven buttons of Module Bar changes the view to the selected module. Clicking on the RF.Spice A/D button, opens the RF.Spice A/D application if you have a valid license of that application.

The Navigation Tree provides all the details of an entire EM.Cube project. These include the CAD objects and geometric models, material assignments, computational domain and boundary conditions, mesh structure, source information, observable definitions, etc. Besides the menu bar and toolbars, the navigation tree serves as another place from which you can modify most items in your project. Similar to toolbar, you can undock, move around or hide the Module Bar and Navigation Tree.

The contents of the navigation tree varies depending on the selected module. In CubeCAD the navigation tree features two main sections: Geometrical Construction and Data Visualization. The Geometrical Construction section holds your CAD objects, while Data Visualization section contains all the 3D visualization objects which appear in the project workspace. In other modules, the navigation tree typically features five standard sections:

  • Physical Structure
  • Computational Domain
  • Discretization
  • Sources
  • Observables
EM.Cube's New Project Dialog.
EM.Cube's Units Dialog.
EM.Cube's Frequency Dialog.
Saving a project's simulation data into a subfolder.

Main Window

The Main Window occupies the largest part of the EM.Cube desktop. The main window is also referred to as the Project Workspace throughout the EM.Cube documentation. This is where most of your interaction with EM.Cube such as CAD construction and data visualization takes place. All the input to EM.Cube's simulation engines is created and assembled through the main window, including geometrical and material definitions, sources, boundary conditions, meshes, and observables, i.e. the output quantities that you instruct EM.Cube to generate at the end of a simulation. After a simulation run is completed, the main window is where you view the 3D visualization of the simulation results.

Status Bar

Underneath the main window and at the bottom of the EM.Cube desktop, the Status Bar is located. Status Bar displays important information about the current EM.Cube project including the project unit, frequency, the current coordinate system and state of Snap to Grid and Object Snap modes. Probably the most widely used piece of information on the Status Bar is the current mouse position in the project workspace.

Managing EM.Cube Projects

Creating, Opening, Saving & Closing Projects

You can start a new blank project by selecting Menu > File > New Project..., or clicking the New New.png button of the System Toolbar, or using the keyboard shortcut "Ctrl+N". In either case, the New Project Dialog opens up. The default name of the new project is "UntitledProj1". The new project folder by default is created in the "Projects Folder" of your EM.Cube installation folder. This is normally located in the "EMAG Folder" inside your hard drive's "Documents Folder". From the New Project Dialog, you can change the location of the new project folder to anywhere on your hard drive.

Before you start the new project, you can change its name to anything you would like. Simply type in a new name to replace the default "UntitledProj1". From the new Project dialog, you can also set the project Length Units. The default option is millimeter. For computational modules, you need to set the operational frequency. The dialog lets you select the Frequency Unit, which is Gigahertz by default. You can set the project's Center Frequency and Bandwidth. Once you have changed all the settings, click the Create button to make the changes effective.

Previously saved projects can be opened through Menu > File > Open Project..., or by clicking the Open Open.png button of the System Toolbar, or using the keyboard shortcut "Ctrl+O". If you are in a different project that has been modified, and your changes have not been saved yet, a warning message will appear asking you whether you want to save the current project before opening another project. Once the standard Windows Open Dialog pops up, you can browse the Windows Explorer and locate any project you wish to open. You have to open the project folder and select the project file with a ".PRJ" file extension.

You can save the current project through Menu > File > Save Project, or by clicking the Save Save.png button of the System Toolbar, or using the keyboard shortcut "Ctrl+S". You can save the project under another name through Menu > File > Save Project As.... This opens up the standard Windows Save Dialog. The Windows Explorer shows the current location of the project folder. You can type in any name in the provided file path. Or you may change the folder and save the project in another location. "Save As" can be used to make additional copies of the same project under different names.

You can close a project at any time via Menu > File > Close Project. A message pops up that prompts if you wish to save the existing project. You can quit the EM.Cube application via Menu > File > Quit or using the keyboard shortcut "Ctrl+Q". Note that when you close a project, you are still in the EM.Cube application. If you start a new project, you may still carry some of the program settings from the previous project. Quitting and exiting the application ensures that all the default settings would take effect the next time when you start a new project.

Changing Project Settings

You can change the project length units and frequency settings at any time after you create a new project. This can be done from the Units and Frequency dialogs.The Units dialog can be accessed from Menu > Simulate > Project Units or by clicking the Units Ruler-tool.png button of the Simulate Toolbar. Other alternatives include the keyboard shortcut "Ctrl+U" or double-clicking the "Units" section of Status Bar, which by default displays "mm".

You can access the Frequency dialog from Menu > Simulate > Frequency Settings..., or by clicking the Frequency Frequency-tool.png button of the Simulate Toolbar or using the keyboard shortcut "Ctrl+F". The current Center Frequency is displayed on the Status Bar with the current frequency units. Double-clicking on this value is another way to open up the Frequency Dialog. From this dialog you can change the values of Center Frequency and Bandwidth as well as the Frequency Unit.

Handling Project and Data Files

All the information about each EM.Cube project are stored in two files which bear the name of the project and have file extensions ".PRJ" (project file) and ".MDL" (model file). When you run a new simulation, a large number of files of different types are created in the project folder. Some of the output data files have reserved names and are overwritten after each simulation. EM.Cube deletes most of the files in the project folder before every simulation. The exceptions are the project and model files. It is very important to remember that the project folder is not a place to save your data. Every time you run a simulation, EM.Cube prompts that you are about to discard all previous results and asks whether you want to proceed.

You can clean up your project folder at any time through Menu > Simulate > Delete All Data Files All Data Files or by right clicking on the Data Manager item in the Observables section of the Navigation Tree and selecting Delete All Data Files. In order to preserve your simulation data, you have to save them in a different folder other than the project folder. One way is to create a subfolder in your project folder. The contents of subfolders are not deleted at the start of a simulation. To save the data in a project subfolder, select Menu > Simulate > Save Data As... or right click on the Data Manager item in the Observables section of the Navigation Tree and select Save Data As... This opens up the Save Data dialog with the default subfolder name "Simulation Data" in your current project folder. You can choose the default subfolder name and location or change the name or browse to another location on your hard drive.

Changing EM.Cube's Visual Settings

Customizing Your Desktop

You can customize the EM.Cube Desktop to your liking in a number of ways and change its view mode or drawing grid. These functions can be accessed through the View Menu or View Toolbar or through the Preferences Dialog of Edit Menu. You can turn any toolbar on or off, show or hide the Navigation Tree and Status Bar using the entries at the top of View Menu (i.e. Menu > View > Toolbars..., Menu > View > Navigation Tree and Menu > View > Status Bar). Furthermore, you can drag the handle of the Navigation Tree or any toolbar and drop them anywhere within the project workspace.

Setting Environment Colors

Changing the background color of EM.Cube's project workspace.
The Guides tab of the Preferences Dialog.
The background color of the main window can be changed through Menu > Edit > Preferences... or using the keyboard
The Grid Properties Dialog.
shortcut "Ctrl+H". Select the Colors tab of the Preferences Dialog and click the button labeled "Color" next to Background. A color selection window pops up. We suggest staying with the default light-gray color since it contrasts best with the default color maps of data visualization. Another global color in EM.Cube is the "Selection Color". When you select an object, its color turns to the selection color. When you mouse-over an object, it becomes transparent with a shade of the selection color. You can snap to characteristic points of objects (e.g. vertices, edge midpoints, face centers, etc.). These snap points appear in the complementary color of the selection color. By default, EM.Cube's selection color is bright yellow. You can also change the selection color from the Colors tab of the Preferences Dialog.

The Grid

EM.Cube's grid is used as a guide for drawing objects. By default, when you start EM.Cube, the grid is on and the Snap to Grid mode is enabled. As you move the mouse in the project workspace, a small white square follows the mouse cursor snapping to the nearest grid node. EM.Cube's grid can be turned on or off through the Preferences Dialog. Select the Guides tab of this dialog and place a check mark in the box labeled Show Grid Lines. From this dialog you can also set the color of grid lines. You can show or hide the axis lines in the project workspace. When Snap to Grid is enabled, a text reading like Grid Snap: 5 appears on the Status Bar. This shows the current grid cell size. You can turn the Snap to Grid mode on and off from the status bar by double-clicking on this text to toggle its state. You can also do the same using the keyboard shortcut G.

EM.Cube displays grid adaptive by default. As you zoom in or zoom out the view (e.g. using the mouse scroll wheel), the size of the grid cells changes automatically. When you zoom out, the actual grid cell size increases. When you zoom in, it becomes smaller accordingly proportional to the total view size. It seems like you always have the same numbers of grid cells to work with regardless of the total size of the visible workspace. As you zoom in or out, you can see the grid cell size changing in the Status Bar. You can alternatively opt for a fixed grid. To change the grid from Adaptive to Fixed, select Menu > View > Grid Properties.... In the Grid Properties Dialog, select the desired radio button. If you select the Fixed Grid option, you have to define the grid cell size in all three X, Y and Z directions. Thus, you can have a non-uniform grid. You also need to define the extents of the grid. You do this be setting the lower left (Min Coordinates) and upper right corners (Max Coordinates) of the "View Box". These are set as the Min X, Y, Z and Max X, Y, Z values.

Basic View Operations

When you start EM.Cube, the default grid cell size is set to 5 units. The default view may not be good enough for very small or very large structures. You can change the view settings as you desire. The simplest view operation is zooming in or out. This can easily be done using the scroll wheel of your mouse. Turning the scroll wheel towards yourself zooms out of a structure, while turning it away from yourself zooms into the structure. Zooming in and out using the mouse scroll wheel is a temporary operation and does not change the "View Mode". EM.Cube provides a number of View Modes, which persist until you change the mode or return to the Normal Mode. You can always return to the normal mode using the Esc (Escape) key of your keyboard. You can also return to the normal mode by clicking the Select Select-tool tn.png button of the View Toolbar or selecting Menu > View > Normal View.

Most view operations can be accessed either from the View Toolbar or from the View Menu. One of persistent view modes is the Dynamic Zoom Mode and it can be activated by clicking the Zoom Dynamic Zoom-tool tn.png button of the View Toolbar. In this mode you can continuously zoom in or zoom out by dragging the mouse around in the workspace. You can pan the view by dragging the right mouse button (RMB)in the workspace while holding the Shift Key down. Again, this is a temporary state and as soon as you release the right mouse button, the view operation ends. Alternatively, you can click the Pan Pan-tool tn.png button of the View Toolbar to enable the Pan Mode. In this case, the shape of the cursor changes to a hand, and CubeCAD stays in the Pan Mode until you return to the Normal Mode.

Another very useful view operation is Rotate View. You can change your viewing angle towards the structure and examine it from different directions. You can rotate the view very easily by simply dragging the right mouse button (RMB)in the workspace. This, too, is a temporary state and as soon as you release the right mouse button, the rotate view operation ends. Another alternate, temporary, view rotation can be accomplished by dragging the right mouse button (RMB)in the workspace while holding the Alt Key down. Alternatively, you can click the Rotate View Rotate-tool tn.png button of the View Toolbar to enable the Rotate View Mode. In this case, the shape of the cursor changes to two circular arrows, and EM.Cube stays in the Rotate View Mode until you return to the Normal Mode. You can also activate the Rotate View Mode by selecting Menu → View → Rotate View. While in the Rotate View Mode, you can perform two different rotation operations depending on whether you drag the left or right mouse buttons.

You can perform a number of zoom operations in EM.Cube's project workspace. One of the most widely used tools is Zoom Extents. This tool automatically zooms to fit the whole structure into the main window. You can access this tool from Zoom Extents button Zoom-to-extent tn.png of View Toolbar, or by using the keyboard shortcut Ctrl+E. Sometimes you may prefer to zoom on a certain part of a structure. In this case, you should use the Zoom Window tool, which can be accessed from Zoom Extents button Zoom-to-area tn.png of View Toolbar, or by using the keyboard shortcut Ctrl+W. Once this tool is enabled, draw a selection box around all the objects that you would like to zoom to. The view size is adjusted to fit the selected area. You can also zoom to one or more selected objectsusing the Zoom Selected tool.

The size and boundaries of the viewport can be set manually via Menu > View > Viewport Properties. In the Viewport Properties Dialog, you can set the viewport size by specifying the coordinates of the "Top-Left-Near" and "Bottom-Right-Far" points. You can also set the coordinates of the viewing camera location.

Using the Viewports

EM.Cube's four-port view of project workspace.

EM.Cube provides a number of standard viewports with preset view angles for viewing a structure. When you start EM.Cube, it is in the Perspective View Mode. This sets an isometric view of the structure on an XY-plane. Six more standard views are available and can also be accessed from either the View Menu or the View Toolbar. You can always return to the Perspective Mode by clicking the Perspective View View-perspective tn.png button of View Toolbar or by simply typing the keyboard's Home Key. The other six standard views are Top, Bottom, Front, Back, Right and Left views.

You can also split the main window into multiple viewports. This provides simultaneous Perspective, Top, Front and Right views in the Project Workspace. To split the view, click the Split Viewport Four-port-view tn.png button of View Toolbar. Each viewport’s settings can be changed individually. The name of the active viewport on which changes apply is always highlighted with a dark blue background; inactive views are indicated by a gray background. In the Four-Port View mode, you can zoom extents for all four view at the same time by right clicking the Zoom Extents button Zoom-to-extent tn.png of View Toolbar, or by using the keyboard shortcut Ctrl+Shift+E. You can always return to the single-port view at any time. To do so, click the Merge Viewport Single-port-view tn.png button of View Toolbar or use the keyboard shortcut End.

Info icon.png Click here for a Summary of View Operations.


Top icon.png Back to the Top of the Page

Back icon.png Back to EM.Cube Main Page