Changes

Jump to: navigation, search
[[Image:Splash-generic2.jpg|right|800px720px]]
<table>
<tr>
<td>[[image:Cube-icon.png | link=Getting_Started_with_EM.CUBECube]] [[image:cad-ico.png | link=Building Geometrical Constructions in CubeCAD]] [[image:fdtd-ico.png | link=EM.Tempo]] [[image:prop-ico.png | link=EM.Terrano]] [[image:postatic-ico.png | link=EM.IlluminaFerma]] [[image:staticplanar-ico.png | link=EM.FermaPicasso]] [[image:planarmetal-ico.png | link=EM.PicassoLibera]] [[image:metalpo-ico.png | link=EM.LiberaIllumina]] </td>
<tr>
</table>
[[Image:Back_icon.png|40px30px]] '''[[EM.Cube | Back to EM.Cube Main Page]]'''
== Assigning Material Properties to the Physical Structure ==
<table>
<tr>
<td> [[Image:FDTD5E.png|thumb|left|300px320px|The Add New Material dialog.]]
</td>
</tr>
<table>
<tr>
<td> [[Image:FDTD5F.png|thumb|left|600px720px|A new custom material entry in the Materials List.]] </td>
</tr>
</table>
If your physical structure has two or more sources, but you have not defined any ports, all the lumped sources excite the structure simultaneously. However, when you assign N ports to the sources, then you have a multiport structure that is characterized by an N×N scattering matrix, an N×N impedance matrix, and an N×N admittance matrix. To calculate these matrices, [[EM.Cube]] uses a binary excitation scheme in conjunction with the principle of linear superposition. In this binary scheme, the structure is analyzed N times. Each time one of the N port-assigned sources is excited, and all the other port-assigned sources are turned off. The N solution vectors that are generated through the N binary excitation analyses are finally superposed to produce the actual solution to the problem. However, in this process, [[EM.Cube]] also calculates all the port characteristics.
For example, [[EM.Tempo]] primarily computes the S-parameters. For , which relates the computation of incident and reflected power waves at the S-parameters in [[EM.Tempo]], the source associated with each port is excited separately with all the other ports turned off. Due to the existence of internal source resistances, tuning the other sources off is indeed equivalent to terminating the other ports in their characteristics impedances (matched ports). When the jth port is excited, all the S<sub>ij</sub> parameters are calculated together based on the following definitionstructure as follows:
:<math> \mathbf{ [b] = [S][a] } </math> where the incident and reflected power waves a<sub>i</sub> and b<sub>i</sub> at port i are related to the voltage V<sub>i</sub> across port i and the current I<sub>i</sub> flowing into port i in the following manner:  :<math> a_i = \frac{V_i + Z_i I_i}{2\sqrt{|Re(Z_i)|}}, \quad\quad b_i = \frac{V_i - Z_i^* I_i}{2\sqrt{|Re(Z_i)|}} </math> and Z<sub>i</sub> is the reference or characteristic impedance of port i. For the computation of the S-parameters in [[EM.Tempo]], the source associated with each port is excited separately with all the other ports turned off. Due to the existence of internal source resistances, tuning the other sources off is indeed equivalent to terminating the other ports in their characteristics impedances (matched ports). When the jth port is excited, all the S<sub>ij</sub> parameters are calculated together based on the following definition: :<math> S_{ij} = \sqrt{\frac{|Re(Z_i)|}{|Re(Z_j)|}} \cdot \frac{V_j - Z_j^*I_j}{V_i+Z_i I_i} </math>
where V<sub>i</sub> is the voltage across Port i, I<sub>i</sub> is the current flowing into Port i and Z<sub>i</sub> is the characteristic impedance of Port i. The sweep loop then moves to the next port until all ports have been excited. The other parameters are then calculated as:
:<math>\mathbf{ [Z] = [\sqrt{Z_0}] \cdot ([U]+[S]) \cdot ([U]-[S])^{-1} \cdot [\sqrt{Z_0}] }</math>
== Calculating Scattering Parameters Using Prony's Method ==
[[EM.Picasso]] provides a special source type called '''[[Glossary of EMGlossary_of_EM.Cube's Excitation Sourcess_Materials,_Sources,_Devices_&_Other_Physical_Object_Types#Scattering Wave Port Scattering_Wave_Port | Scattering Wave Port]]''' that is specifically intended for computing the S-parameters of planar structures. This is done by analyzing the current distribution patterns on the port transmission lines. The discontinuity at the end of a port line (junction region) gives rise to a standing wave pattern in the line's current distribution. From the location of the current minima and maxima and their relative levels, one can determine the reflection coefficient at the discontinuity, <i>i.e.</i> the S<sub>11</sub> parameter. A more rigorous technique is Prony’s method, which is used for exponential approximation of functions. A complex function f(x) can be expanded as a sum of complex exponentials in the following form:
:<math> f(x) \approx \sum_{n=1}^N c_i e^{-j\gamma_i x} </math>
You couple two or more sources using the '''Port Definition Dialog'''. To do so, you need to change the default port assignments. First, delete all the ports that are to be coupled from the Port List of the dialog. Then, define a new port by clicking the '''Edit''' button of the dialog. This opens up the Add Port dialog, which consists of two tables: '''Available''' sources on the left and '''Associated''' sources on the right. A right arrow {{key|--&gt;}} button and a left arrow {{key|&lt;--}} button let you move the sources freely between these two tables. You will see in the &quot;Available&quot; table a list of all the sources that you deleted earlier. You may even see more available sources. Select all the sources that you want to couple and move them to the &quot;Associated&quot; table on the right. You can make multiple selections using the keyboard's {{key|Shift}} and {{key|Ctrl}} keys. Closing the Add Port dialog returns you to the Port Definition dialog, where you will now see the names of all the coupled sources next to the name of the newly added port.
{{Note|It When not using [[EM.Cube]]'s wizards, it is your the user's responsibility to set up coupled ports and coupled transmission lines properly. For example, to excite the desirable odd mode of a coplanar waveguide (CPW), you need to create two rectangular slots parallel to and aligned with each other and place two gap sources on them with the same offsets and opposite polarities. To excite the even mode of the CPW, you use the same polarity for the two collocated gap sources. Whether you define a coupled port for the CPW or not, the right definition of sources will excite the proper mode. The couple ports are needed only for correct calculation of the port characteristics.}}
<table>
== Modeling Finite-Sized Source Arrays ==
You scan can define arrays of sources on arrays of legitimate host objects. If your project in [[EM.Tempo]] has a line array object, you can define a lumped source array associated with it. If your project in [[EM.Picasso]] has an array of rectangle strips or an array of PEC vertical via objects, you can define and place a gap array or an array of probe sources on them, respectively. Similarly, if your project in [[EM.Libera]] has a line array object, a polyline array object, or an array of long, narrow rectangle strips, you can define and place a line gap array or a strip gap array on them, respectively. In all of these cases, the legitimate array objects will also be listed as an eligible object for source placement. A lumped or gap source will then be placed on each element of the array. All the individual sources will have identical direction and offset.
You can prescribe certain amplitude and/or phase distribution over the array of gap or probe sources. By default, all the gap or probe sources have identical amplitudes of 1V (or 1A for the slot case) and zero phase. The available amplitude distributions to choose from include '''Uniform''', '''Binomial''' and '''Chebyshev''' and '''Date File'''. In the Chebyshev case, you need to set a value for minimum side lobe level ('''SLL''') in dB. You can also define '''Phase Progression''' in degrees along all three principal axes. You can view the amplitude and phase of individual sources by right clicking on the top '''Sources''' item in the Navigation Tree and selecting '''Show Source Label''' from the contextual menu.
<table>
<tr>
<td> [[Image:PMOM49.png|thumb|left|480px|Defining gap sources on an array of rectangle strip objects.]] </td><td> [[Image:PMOM49_2nd.png|thumb|left|480px|Defining gap sources on an array of rectangle strip objects with a Chebyshev amplitude distribution.]] </td>
</tr>
</table>
<br />
<b> The Nonlinear Diode Device </b>
A diode is a rectifying device. The time-domain relationship between the voltage and current of a diode is given by the nonlinear equation:
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 &rarr; Discretization &rarr; 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.
To customizing customize the mesh of your physical structure or change some of the mesh settings in each [[EM.Cube]] module, follow the steps below:
# Click the '''Mesh Settings''' [[File:mesh_settings.png]] 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 (&lambda;<sub>eff</sub>). For each value of mesh density, the dialog also shows the average &quot;Cell Edge Length&quot; in the free space.
== Adding Fixed Grid Points to the Adaptive Yee The Triangular Surface Mesh Generator ==
Adding fixed grid points to an FDTD mesh increases its resolution locally[[EM. Each fixed grid point adds three grid lines along the three principal axes passing through that pointIllumina]], [[EM.Libera]], [[EM. You can add as many fixed grid points as you desire Terrano]] and create dense meshes at certain regions[[EM. Fixed grid points appear as grey points in Picasso]] use a triangular surface mesh to discretize the structure of your project workspace. To insert a new fixed grid pointAll these modules assume an unbounded, follow these steps: * Open the Fixed Grid Points Dialog by selecting '''Menu > Simulate > Discretization > Fixed Grid Points...''' or by rightopen-clicking on boundary computational domain, wherein the '''FDTD''' '''Mesh''' item physical structure is placed against some sort of the navigation tree and selecting '''Fixed Grid Points Settingsbackground medium with infinite extents...'''* Click the {{key|Add/Edit}} button It is important to open note that only finite-extent surfaces or the "Add Fixed Grid Point" dialog.* Enter the (X, Y, Z) coordinates surface of the new fixed point in the coordinate boxes and click the {{key|OK}} buttonfinite-extent volumes are discretized.* To modify the coordinates of an existing fixed grid point, select it from the table and click the {{key|Add/Edit}} button.* You can also remove a fix grid point from the FDTD The surface mesh using generating algorithm tries to produce regularized triangular cells with almost equal surface areas across the {{key|Delete}} buttonentire structure.
<table>
<tr>
<td> [[Image:FDTD36PO2.png|thumb|left420px|480px|A user-defined fixed grid point in an FDTD meshTwo ellipsoids of different compositions.]] </td>
</tr>
<tr>
<td> [[Image:FDTD38PO3.png|thumb|left420px|480px|Adding a new fixed grid point in EM.Tempo's fixed grid points settings dialog.]] </td></tr><tr><td> [[Image:FDTD39.png|thumb|left|480px|The "Add Fixed Grid Point" dialogTrinagular surface mesh of the two ellipsoids.]] </td>
</tr>
</table>
According The following general rules apply to the Courant-Friedrichs-Levy (CFL) stability criterion, the FDTD time step is determined by the smallest cell size in your FDTD mesh. Occasionally, [[FDTD Module]]'s adaptive mesh generator may create extremely tiny grid cells that would result in extremely small time steps. This would then translate into a very long computation time. [[EM.Cube]] offers the "Regular" FDTD 's surface mesh generator, which is a simplified version of the adaptive mesh generator. In a regular FDTD mesh, the grid cell sizes stay rather the same in objects of the same material composition. The mesh resolution increases in materials of higher permittivity and/or permeability based on the effective wavelength in exactly the same way as the adaptive mesh.generators:
== Profiling * The surface mesh generator merges all the Brick Mesh ==objects that belong to the same group in the navigation Tree using the Boolean Union operation before meshing. The union operation is carried out temporarily and solely for the purpose of mesh generation. * As a result of the Boolean union operation, all the overlapping objects are transformed into a single consolidated object leading to a contiguous and consistent mesh in the transition and junction areas between connected objects. * In general, objects of the same CAD category can be &quot;unioned&quot;. For example, surface objects can be merged together, and so can solid objects. However, a surface object and a solid in general do not merge. * In general, objects that belong to different groups on the navigation tree are not merged during mesh generation even if they have the same material composition and physically overlap.* Only [[EM.Libera]]'s surface mesh generator creates a special junction mesh between overlapping objects that have different material compositions. * All '''Polymesh''' objects as well as [[EM.Terrano]]'s terrain objects are considered already discretized and are not re-meshed once again by the surface mesh generator.
A volumetric brick mesh is overwhelming for visualization in == Controlling the 3D space. For this reason, [[EM.Cube]]'s mesh view shows only the outline Resolution & Quality of the cells on exterior surface of the (staircased) meshed objects. The mesh grid planes provide a 2D profile of the mesh cells along the principal coordinate planes. To display a mesh grid plane, select '''Menu > Simulate > Discretization > Grid Planes >''' and pick one of the three options: '''XY Plane''', '''YZ Plane''' or '''ZX Plane'''. You may also right click on one of the '''XY Plane''', '''YZ Plane''' or '''ZX Plane''' items in the '''Discretization''' section of the navigation tree and select '''Show''' from the contextual menu.Surface Mesh ==
While You can control the average mesh cell size using the "Mesh Density" parameter. By default, the mesh density of [[EM.Illumina]] and [[EM.Libera]] is expressed in terms of the free-space wavelength. The default mesh density is 10 cells per wavelength. This usually creates slightly more than 100 regular triangular cells per squared wavelength. The default mesh density of [[EM.Picasso]] is expressed in terms of the effective wavelength, which takes into account the material properties of a planar structure's substrate layers. The default planar mesh grid plane density is visible20 cells per effective wavelength. Alternatively, you can move it back and forth between base the two boundary planes at the two opposite sides definition of the computational domainmesh density on "Cell Edge Length" expressed in project units. You can do this [[EM.Terrano]]'s mesh density is always expressed in one of cell edge length and its default value is 100 units. This large edge length is intended to create the following four ways:fewest number of triangular facets on cubic objects with rectangular faces.
* Using You can change the keyboard's Page Up {{key|PgUp}} key and Page Down {{key|PgDn}} key.* By selecting '''Menu > Simulate > Discretization > Grid Planes > Increment Grid''' or ''' Decrement Grid'''.* By right clicking on one value of the '''XY PlaneMesh Density''', '''YZ Plane''' or '''ZX Plane''' items in from the '''Discretization''' section of the navigation tree Mesh Settings dialog and selecting '''Increment Grid''' generate a triangular mesh with a higher or ''' Decrement Grid''' from the contextual menu.* Using the keyboard shortcut {{key|>}} or {{key|<}}. As you “step through” or profile the mesh grid, you can see how the structure is discretized along internal planes of the computational domainlower resolution.
Surface mesh generation in [[EM.Cube]] is a two-step process. First, a tessellated version of an object in your project workspace is created. Then, the tessellated object undergoes a surface re-meshing to generate regularized triangular cells. This process is fairly straightforward in the case of flat planar structures. For curved surfaces and curved solid objects, the quality of the initial tessellation of the object is very important and directly affects the quality of the final surface mesh. You can access some additional mesh parameters by clicking the {{key|Tessellation Options}} button of the Mesh Settings dialog. In the Tessellation Options dialog, you can change '''Curvature Angle Tolerance''' expressed in degrees, which as a default value of 15&deg;. This parameter can affect the shape of the mesh especially in the case of solid CAD objects. It determines the apex angle of the triangular cells of the primary tessellation mesh which is generated initially before cell regularization. Lower values of the angle tolerance result in a less smooth and more pointed mesh of curved surface like a sphere.
<table>
<tr>
<td> [[Image:Tempo L1 Fig11PROP20B.png|thumb|left400px|360px|The XY mesh grid planeThree building objects with different basic and composite shapes in EM.Terrano.]] </td><td> [[Image:Tempo L1 Fig12prop_manual-29A.png|thumb|left|360px320px|The YZ mesh grid planeTessellation Options dialog.]] </td>
</tr>
</table>
 
== The FDTD Grid Coordinate System (GCS) ==
 
When your physical structure is discretized using the brick mesh generator, a second coordinate system becomes available to you. The mesh grid coordinate system allows you to specify any location in the computational domain in terms of node indices on the mesh grid. [[EM.Cube]] displays the total number of mesh grid lines of the simulation domain (N<sub>x</sub> × N<sub>y</sub> × N<sub>z</sub>) along the three principal axes on the '''Status Bar'''. Therefore, the number of cells in each direction is one less than the number of grid lines, i.e. (N<sub>x</sub>-1)× (N<sub>y</sub>-1) × (N<sub>z</sub>-1). The lower left front corner of the domain box (Xmin, Ymin, Zmin) becomes the origin of the mesh grid coordinate system (I = 0, J = 0, K = 0). The upper right back corner of the domain box (Xmax, Ymax, Zmax) therefore becomes (I = N<sub>x</sub>-1, J = N<sub>y</sub>-1, K = N<sub>z</sub>-1).
 
[[EM.Cube]] allows you to navigate through the mesh grid and evaluate the grid points individually. Every time you display one of the three mesh grid planes, the "'''Grid Coordinate System (GCS)'''" is automatically activated. On the Status Bar, you will see [[Image:statusgrid.png]] instead of the default [[Image:statusworld.png]]. This means that the current coordinates reported on Status Bar are now expressed in grid coordinate system. The current grid point is displayed by a small white circle on the current mesh grid plane, and it always starts from (I = 0, J = 0, K = 0). Using the keyboard's '''Arrow Keys''', you can move the white circle through the mesh grid plane and read the current node's (I, J, K) indices on the status bar. You can switch back to the "'''World Coordinate System (WCS)'''" or change to the "'''Domain Coordinate System'''" by double-clicking the status bar box that shows the current coordinate system and cycling through the three options. The domain coordinate system is one that establishes its origin at the lower left front corner of the computational domain and measure distances in project unit just like the WCS.
 
<table>
<tr>
<td> [[Image:FDTD35(1)PROP20C.png|thumb|left|480px360px|The grid cursor on default mesh of the XY grid plane three building objects in EM.Terrano with an edge length of 100m and its grid coordinates (I, J, K) displayed on the status bara curvature angle tolerance of 45&deg;.]]</td><td> [[Image:PROP20D.png|thumb|360px|The refined mesh of the three building objects in EM.Terrano with an edge length of 10m and a curvature angle tolerance of 10&deg;.]] </td>
</tr>
</table>
 
== General Rules of EM.Cube's Surface Mesh Generators ==
 
* The surface mesh generator merges all the objects that belong to the same group in the navigation Tree using the Boolean Union operation before meshing. The union operation is carried out temporarily and solely for the purpose of mesh generation.
* As a result of the Boolean union operation, all the overlapping objects are transformed into a single consolidated object leading to a contiguous and consistent mesh in the transition and junction areas between connected objects.
* In general, objects of the same CAD category can be &quot;unioned&quot;. For example, surface objects can be merged together, and so can solid objects. However, a surface object and a solid in general do not merge.
* In general, objects that belong to different groups on the navigation tree are not merged during mesh generation even if they have the same material composition and physically overlap.
* Only [[EM.Libera]]'s surface mesh generator creates a special junction mesh between overlapping objects that have different material compositions.
* All '''Polymesh''' objects as well as [[EM.Terrano]]'s terrain objects are considered already discretized and are not re-meshed once again by the surface mesh generator.
== Locking the Mesh Density of Object Groups ==
<tr>
<td>
[[Image:MESH MAN12.png|thumb|left|480px600px|Locking the mesh density in the property dialog of a material group.]]
</td>
</tr>
<tr>
<td>
[[Image:MESH MAN9.png|thumb|left|640px540px|The geometry of two dielectric spheres with the same material properties but belonging to two different object groups.]]
</td>
</tr>
<tr>
<td>
[[Image:MESH MAN11.png|thumb|left|640px540px|The FDTD mesh of the two dielectric spheres. The left sphere is meshed using a global density of 20 cells/&lambda;<sub>eff</sub>, while the right sphere is meshed using a locked density of 100 cells/&lambda;<sub>eff</sub>.]]
</td>
</tr>
<tr>
<td>
[[Image:MESH MAN10.png|thumb|left|640px540px|The top view of the mesh of the two dielectric spheres also showing the XY grid plane.]]
</td>
</tr>
<hr>
[[Image:Top_icon.png|48px30px]] '''[[Preparing_Physical_Structures_for_Electromagnetic_Simulation#Assigning_Material_Properties_to_the_Physical_Structure | Back to the Top of the Page]]'''
[[Image:Back_icon.png|40px30px]] '''[[EM.Cube | Back to EM.Cube Main Page]]'''
4,612
edits