Glossary of EM.Cube's Simulation-Related Operations
Contents
- 1 Adaptive Yee Mesh
- 2 Boundary Conditions
- 3 Custom Output
- 4 Data Manager
- 5 Delete All Data Files
- 6 Discard All Visualization Data
- 7 Domain Settings
- 8 EM.Grid
- 9 Facet Mesh
- 10 Fixed-Cell Brick Mesh
- 11 Generate Input Files
- 12 Frequency Settings
- 13 Functions
- 14 Hybrid Planar Mesh
- 15 Materials
- 16 Mesh Generator
- 17 Mesh Settings
- 18 Models
- 19 Objectives
- 20 Project Units
- 21 Save Data As
- 22 Simulation Engine Settings
- 23 Simulation Run
- 24 Triangular Surface Mesh
- 25 Update All Visualization Data
- 26 Variables
- 27 Windows Calculator
- 28 Wireframe Mesh
Adaptive Yee Mesh
MODULE: EM.Tempo
FUNCTION: Generates a Yee brick mesh that adapts to the fine geometric details and material composition of the physical structure
PYTHON COMMAND: emtempo_mesh_settings(cells_per_lambda,ratio_contour,ratio_thin,ratio_abs)
ADAPTIVE YEE MESH PARAMETERS
Parameter Name | Value Type | Units | Default Value | Notes |
---|---|---|---|---|
minimum mesh density | real numeric | cells/lambda_eff | 20 | effective wavelength in the material medium |
minimum grid spacing for geometric contours | real numeric | - | 0.4 | as a fraction of maximum grid spacing in free space |
minimum grid spacing at thin or narrow regions | real numeric | - | 0.4 | as a fraction of maximum grid spacing in free space |
absolute minimum grid spacing | real numeric | - | 0.15 | as a fraction of maximum grid spacing in free space |
maximum adjacent cell size ratio | real numeric | - | 1.3 | controls gradual grid transitions |
curved edge angle tolerance | real numeric | degrees | 15 | controls the initial tessellation of the physical structure |
Boundary Conditions
MENU: Simulate → Computational Domain → Boundary Conditions...
KEYBOARD SHORTCUT: None
FUNCTION: Sets the type of boundary conditions on the faces of the computational domain in EM.Tempo & EM.Ferma
PYTHON COMMAND: set_boundary_conditions(xn_type,xp_type,yn_type,yp_type,zn_type,zp_type)
Custom Output
MENU: Simulate → Cutom Output...
KEYBOARD SHORTCUT: Ctrl+K
FUNCTION: Opens the list of the currently available user-defined custom Outputs
PYTHON COMMAND: None
Data Manager
MENU: Simulate → Data Manager...
KEYBOARD SHORTCUT: Ctrl+D
FUNCTION: Opens EM.Cube's Data Manager
PYTHON COMMAND: None
Delete All Data Files
ICON: None
MENU: Simulate → Delete All Data Files
KEYBOARD SHORTCUT: None
FUNCTION: Deletes all the data files in the current project folder
PYTHON COMMAND: None
Discard All Visualization Data
ICON: None
MENU: Simulate → Discard All Visualization Data
KEYBOARD SHORTCUT: None
FUNCTION: Deletes all the visualization data under the "Observables" section of the navigation tree
PYTHON COMMAND: None
Domain Settings
MENU: Simulate → Computational Domain → Domain Settings...
KEYBOARD SHORTCUT: Ctrl+A
FUNCTION: Sets the type & parameters of the computational domain
PYTHON COMMAND:
set_domain_offset(dxn_offset,dxp_offset,dyn_offset,dyp_offset,dzn_offset,dzp_offset)
set_domain_offset_lambda(dxn_offset,dxp_offset,dyn_offset,dyp_offset,dzn_offset,dzp_offset)
EM.Grid
ICON: None
MENU: Simulate → EM.Grid...
KEYBOARD SHORTCUT: Ctrl+Shift+G
FUNCTION: Opens EM.Grid for plotting data files
PYTHON COMMAND: plot_file(filename)
Facet Mesh
MODULE: EM.Terrano
FUNCTION: Generates a triangular surface mesh based on a specified edge length
PYTHON COMMAND: emterrano_mesh_settings(edge_length,angle_tol)
FACET MESH PARAMETERS
Parameter Name | Value Type | Units | Default Value | Notes |
---|---|---|---|---|
cell edge length | real numeric | project units | 100 | determines the mesh resolution |
curved edge angle tolerance | real numeric | degrees | 45 | controls the initial tessellation of the physical structure |
chord height | real numeric | project units | 0 | controls the initial tessellation of the physical structure |
maximum edge segment length | real numeric | project units | 0 | controls the initial tessellation of the physical structure |
Fixed-Cell Brick Mesh
FUNCTION: Generates a uniform 3D brick mesh with specified cell dimensions along the three principal axes to which the physical structure is adapted
PYTHON COMMAND: emferma_mesh_settings(cell_size_x,cell_size_y,cell_size_z)
FIXED-CELL BRICK MESH PARAMETERS
Parameter Name | Value Type | Units | Default Value | Notes |
---|---|---|---|---|
cell_size_x | real numeric | project units | 1 | - |
cell_size_y | real numeric | project units | 1 | - |
cell_size_z | real numeric | project units | 1 | - |
Generate Input Files
ICON: None
MENU: Simulate → Generate Input Files...
KEYBOARD SHORTCUT: None
FUNCTION: Generates all the necessary input files to run a simulation in one of EM.Cube's computational modules
PYTHON COMMAND: None
Frequency Settings
MENU: Simulate → Frequency Settings...
KEYBOARD SHORTCUT: Ctrl+F
FUNCTION: Sets the center frequency and bandwidth of the project
NOTES, SPECIAL CASES OR EXCEPTIONS: You can also access the Frequency Settings dialog by double-clicking on the frequency box in the Status Bar. The default units of frequency and bandwidth are GHz. The other available options are Hz, kHz, MHz and THz. "fc" is a reserved project variable for its center frequency and "bw" is a a reserved project variable for its bandwidth. Both fc and bw must be expressed in Hz.
PYTHON COMMAND:
set_frequency(value)
set_bandwidth(value)
Functions
MENU: Simulate → Functions...
KEYBOARD SHORTCUT: Ctrl+I
FUNCTION: Opens the list of standard, preloaded and EM.Cube Python functions
PYTHON COMMAND: None
Hybrid Planar Mesh
MODULE: EM.Picasso
FUNCTION: Generates a surface mesh of planar structures containing mixed rectangular and triangular cells
PYTHON COMMAND: empicasso_mesh_settings(cells_per_lambda)
HYBRID PLANAR MESH PARAMETERS
Parameter Name | Value Type | Units | Default Value | Notes |
---|---|---|---|---|
mesh density | real numeric | cells/lambda_eff | 20 | determines the mesh resolution as a function of operating frequency |
maximum angle for defective cell removal | real numeric | degrees | 5 | eliminates narrow cells with angles smaller than this value |
Materials
MENU: Simulate → Materials...
KEYBOARD SHORTCUT: Ctrl+T
FUNCTION: Opens EM.Cube's materials list
PYTHON COMMAND: None
EM.Cube provides a preloaded database of popular and widely used materials. You can view the various material entries and their constitutive parameter values. You can also type in the first letter of a material to find it. For example, typing V selects Vacuum in the list.
Mesh Generator
MENU:
Simulate → Discretization → Show Mesh
Simulate → Discretization → Regenerate Mesh
KEYBOARD SHORTCUT: Ctrl+M
FUNCTION: Generates and displays the mesh of the physical structure in the current EM.Cube module
TO GENERATE AND VIEW A MESH:
- Click the Show Mesh button of the Simulate Toolbar.
- EM.Cube's "Mesh View" mode is enabled, and a mesh of your physical structure in the currently active EM.Cube module appears in the project workspace.
- In the "Mesh View" mode, you can perform view operations like rotate view, pan or zoom, but you cannot create new objects or edit existing ones.
- To exit the mesh view mode, press the keyboard's Esc key or click the Show Mesh button once again.
PYTHON COMMAND: mesh()
NOTES, SPECIAL CASES OR EXCEPTIONS: Once a mesh is generated, it stays in the memory until the structure is changed or the mesh density or other settings are modified. Every time you view mesh, the one in the memory is displayed. You can force EM.Cube to create a new mesh from the ground up by selecting the menu item Simulate → Discretization → Regenerate Mesh or by right clicking on the Mesh item in the "Discretization" section of the navigation tree and selecting Regenerate from the contextual menu.
Mesh Settings
MENU: Simulate → Discretization → Mesh Settings...
KEYBOARD SHORTCUT: Ctrl+G
FUNCTION: Sets the density or resolution of the mesh and other related parameters
TO CUSTOMIZE A MESH:
- Click the Mesh Settings button of the Simulate Toolbar.
- The Mesh Settings dialog of the currently c=active EM.Cube module opens up.
- From the Host drop-down list, select a line object. Note that only line parallel to one of the three principal axes are listed.
- By default, the lumped source is placed at the midpoint of the host line object. You can modify the Offset parameter, which is measured from the start point of the line and is always positive.
- Click the OK button of the dialog to return to the project workspace.
You can change the mesh algorithm from the dropdown list labeled Mesh Type if there is more than one option. You can also enter a different value for Mesh Density in cells per effective wavelength (λeff). For each value of mesh density, the dialog also shows the average "Cell Edge Length" in the free space.
PYTHON COMMAND: mesh()
cubecad_mesh_settings(cell_size,angle_tol)
emtempo_mesh_settings(cells_per_lambda,ratio_contour,ratio_thin,ratio_abs)
emterrano_mesh_settings(edge_length,angle_tol)
emillumina_mesh_settings(cells_per_lambda)
emferma_mesh_settings(cell_size_x,cell_size_y,cell_size_z)
empicasso_mesh_settings(cells_per_lambda)
emlibera_mesh_settings(cells_per_lambda)
Models
MENU: Simulate → Python Models & Scripts...
KEYBOARD SHORTCUT: Ctrl+L
FUNCTION: Opens the list of the preloaded and currently available user-defined Python models and scripts
PYTHON COMMAND: None
Objectives
MENU: Simulate → Objective...
KEYBOARD SHORTCUT: Ctrl+J
FUNCTION: Opens the list of the currently available user-defined design objectives
PYTHON COMMAND: None
Project Units
MENU: Simulate → Project Units...
KEYBOARD SHORTCUT: Ctrl+U
FUNCTION: Sets the geometrical units of the project
NOTES, SPECIAL CASES OR EXCEPTIONS: You can also access the Units dialog by double-clicking on the units box in the Status Bar. The default unit of a new project is millimeters. The other available options are microns, centimeters, meters, kilometers, mils, inches, feet and miles.
PYTHON COMMAND: set_units(units)
Save Data As
ICON: None
MENU: Simulate → Save Data As...
KEYBOARD SHORTCUT: None
FUNCTION: Saves a project's data files in a specified subfolder other than the current project folder
NOTES, SPECIAL CASES OR EXCEPTIONS: This operation opens up the "Save Data" dialog with the default file path set to a subfolder named "Simulation Data" under 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. it is important to keep in mind that before every simulation, EM.Cube deletes all the data files in the current project folder. In order to preserve your simulation data, you have to save them in a different folder other than the project folder.
PYTHON COMMAND: None
Simulation Engine Settings
ICON: None
MENU: Simulate → Simulation Engine Settings...
KEYBOARD SHORTCUT: Ctrl+Shift+N
FUNCTION: Sets the numerical user-accessible simulation parameters in one of EM.Cube's computational modules
PYTHON COMMAND:
emtempo_engine_settings(engine,power_threshhold,max_timesteps)
emterrano_engine_settings(bounce_count,do_edge_diffraction,angular_resolution,ray_threshhold)
emillumina_engine_settings(engine,is_fixed_iteration,error_tol,max_iterations)
emferma_engine_settings(matrix_solver,error_tol,max_iterations)
empicasso_engine_settings(matrix_solver,error_tol,max_iterations)
emlibera_engine_settings_smom(matrix_solver,error_tol,max_iterations,ncpus,formulation,alpha)
emlibera_engine_settings_wmom(matrix_solver,error_tol,max_iterations)
Simulation Run
MENU: Simulate → Run...
KEYBOARD SHORTCUT: Ctrl+R
FUNCTION: Opens the Simulation Run dialog where you can set the simulation engine type & simulation mode and run a new simulation in one of EM.Cube's computational modules
PYTHON COMMAND: run_analysis()
Triangular Surface Mesh
MODULE: EM.Illumina, EM.Libera, EM.Picasso
FUNCTION: Generates a highly regular triangular surface mesh based on a mesh density expressed in cells per effective wavelength
PYTHON COMMAND(S):
emillumina_mesh_settings(cells_per_lambda)
emlibera_mesh_settings(cells_per_lambda)
TRIANGULAR SURFACE MESH PARAMETERS
Parameter Name | Value Type | Units | Default Value | Notes |
---|---|---|---|---|
density | real numeric | cells/lambda_eff | 10 | determines the mesh resolution as a function of operating frequency |
curved edge angle tolerance | real numeric | degrees | 15 | controls the initial tessellation of the physical structure |
chord height | real numeric | project units | 0 | controls the initial tessellation of the physical structure |
maximum edge segment length | real numeric | project units | 0 | controls the initial tessellation of the physical structure |
Update All Visualization Data
ICON: None
MENU: Simulate → Update All Visualization Data
KEYBOARD SHORTCUT: None
FUNCTION: Reloads all the visualization data under the "Observables" section of the navigation tree from the respective 3D data files in the current project file
NOTES, SPECIAL CASES OR EXCEPTIONS: This operation is particularly useful when the simulation engine resides on another computer (e.g. on a Linux machine) and is run from the command line. At the end of the simulation, you can transfer all the output simulation data files including the 3D data files like ".RAD", ".SEN", ".CUR", "RCS", etc. to your Windows computer for data visualization.
PYTHON COMMAND: None
Variables
MENU: Simulate → Variables...
KEYBOARD SHORTCUT: Ctrl+B
FUNCTION: Opens the list of constants, default project variables and available user-defined variables
PYTHON COMMAND: None
Windows Calculator
MENU: Simulate → Windows Calculator...
KEYBOARD SHORTCUT: None
FUNCTION: Opens Windows calculator
PYTHON COMMAND: None
Wireframe Mesh
MODULE: EM.Libera
FUNCTION: Generates a polygonized mesh of curve objects and a regular triangular mesh of surface and solid objects
PYTHON COMMAND: emlibera_mesh_settings(cells_per_lambda)
WIREFRAME MESH PARAMETERS
Parameter Name | Value Type | Units | Default Value | Notes |
---|---|---|---|---|
density | real numeric | cells/lambda_eff | 10 | determines the mesh resolution as a function of operating frequency |
curved edge angle tolerance | real numeric | degrees | 15 | controls the initial tessellation of the physical structure |
chord height | real numeric | project units | 0 | controls the initial tessellation of the physical structure |
maximum edge segment length | real numeric | project units | 0 | controls the initial tessellation of the physical structure |