Hierarchical Design
Hierarchical design is a fundamental principle of HFSS 3D Layout that allows users to manage complex systems by breaking them down into manageable sub-components, such as single components or groups of component instances (i.e., components or MCAD 3D Components). In HFSS 3D Layout, the application of hierarchical design concepts is facilitated through the framework of Coordinate Systems (CS). By using coordinate systems, users can:
-
Create individual components that can be designed, exported, and imported at different hierarchical levels within a relative or global CS, a modular approach streamlines the design process for complex systems.
-
Parameterize individual components, or modify the parameters of an entire relative CS throughout the hierarchy.
-
Create easily navigable schematic representations of large systems.
-
Conduct simulations on individual components or an entire hierarchical design.
Hierarchical design can be used to define independent mesh domains (i.e., regions), which can then be meshed independently. This Mesh Fusion enables robust and rapid initial meshing of ECAD and MCAD 3D Components. For an example of hierarchical design at work within the context of Mesh Fusion/assembly, refer to Mesh Fusion/Assembly or Mesh Setup for Mesh Fusion/Assembly.
Refer to Component Placement in HFSS 3D Layout.
Coordinate Systems
From the Layout Editor, a CS forms the basis for organizing and managing objects (i.e., component instances) in a hierarchical design. A new coordinate system can include new object or group existent objects. If the CS is modified (e.g., offset or rotation angle), all grouped objects within are moved and rotate together. Each coordinate system is defined by an X-axis and a Y-axis. The origin (0,0) of each CS is located at the intersection of the axes. Each CS can be manipulated relative to the rest of the hierarchical design (i.e., users can specify a custom rotation angle of the X-axis of a CS relative to the parent CS's X-axis. The two types of coordinate systems in the Layout Editor are described as follows:
- The Global CS is the fixed, default CS for each new project. The global CS cannot be edited or deleted.
- A Relative CS is dynamic within the global CS. A relative coordinate system's origin and orientation are relative to any existing objects or to the origin and orientation of its parent CS. All relative coordinate systems can be separate, albeit nested with the global CS, or they can be in a multi-level nested arrangement. Modifying a relative CS affects all of the objects within CS and any nested coordinate systems.
- Switch between global and relative coordinate systems by changing the active CS. The colors of objects outside the active CS are lightened to differentiate the appearance of active CS objects.
- Activate a CS to select and modify the objects within (e.g., move, resize, et cetera).
- User-defined coordinate systems are saved with the active project.
Creating a Coordinate System
From Draw, select Coordinate System > Create. The Create command allows users to define a relative CS whose origin and orientation can be set relative to an existing object or set relative to another existing CS to create nested coordinate systems. When a relative CS is active, and a new CS is created, the new CS becomes a child of the CS on which it was based. Use Push Down and Pop Up commands to navigate the nested CS hierarchy.
New Coordinate System with No Object Selected
If no edge, port, or port instance is selected, the command creates a new relative CS. The cursor becomes a circle with XY crosshairs to indicate a new CS is being created. When positioned over a grid snapping point, the cursor becomes a diamond. Click in the Layout Editor to position the new relative CS. Objects created subsequently are grouped together and positioned relative to the origin of the new CS. This relative placement is indicated by each object's positional values in the Properties window.
New Coordinate System with Edge, Port, or Port Instance Selected
If an edge, port, or port instance is selected, the command creates a new CS relative to the selected object. By default, the origin of the new CS is located at the midpoint of the edge, port, or port instance, whether straight or curved. The new CS axes are rotated to align with a selected object that is not parallel to the global coordinate axes. Adjust the position of the origin along the length of a selected object by altering its Edge Position value in the Properties window. Specify a value between 0 and 1 (default is 0.5). Objects created subsequently are grouped together and positioned relative to the origin and rotation angle of the new CS. If appropriate, enter a custom Name for the CS in the adjacent field.
New Coordinate System with a Non-Applicable Object Selected
If a non-applicable object is selected, the selection is ignored and cleared.
Selecting a Coordinate System
The CS Edit command allows you to switch the active CS between multiple existing coordinate systems (i.e., the global CS and all relative coordinate systems). Complete these steps to select and edit a CS.
-
Select Draw > Coordinate System > Edit to open the Select Coordinate System window.
-
Select a CS to edit. The selected CS is temporarily activated in the layout to show which objects are affected.
-
After making any appropriate edits, click Select, and the modified CS becomes active in the Layout Editor.
Push Down and Pop Up Commands
The Push Down and Pop Up commands are multipurpose, even within the context of coordinate systems. They are used to navigate between levels of the CS hierarchy, push into components, and navigate the context of sub-designs. If a CS is selected, the Push Down and Pop Up commands refer to the nested coordinate systems within. Using Push Down and Pop Up, users can navigate between different contexts in the design hierarchy in HFSS 3D Layout. They allow you to modify the footprints of components (e.g., coordinate systems, discrete devices, et cetera.) by pushing the components down and changing their pad position.
For sub-circuits and components, the Push Down and Pop Up commands are accessible by right-clicking in the Layout Editor or via the Layout menu. There are also special variants for 3D structures. For information about selecting the active 3D structure, refer to 3D Structures.
If neither the Push Down nor Pop Up command is available, the global CS or hierarchical design is active. You cannot rise higher than the global CS or push down unless a relative CS or sub-circuit is selected. When a relative CS is created for the first time, it is created as a child CS relative to the global CS, similar to how a sub-circuit is related to the hierarchical design in which it is added.
For regular user-defined coordinate systems, the Push Down and Pop Up commands are located at Draw > Coordinate System .
The Push Down and Pop Up commands allow you to switch between different nested CS levels or from a relative CS to the global CS.
- Draw > Coordinate System > Push Down activates the selected CS from its parent global or relative CS.
- Draw > Coordinate System > Pop Up switches on the currently active CS to its parent (up one level). If a single-level relative CS or the highest level of a set of nested CSs is active, popping up activates the global CS.
Users can also push down within a relative CS or design by double-clicking the rectangular border around its objects. The border does not display if component visibility is deactivated for the layers with objects comprising the CS or sub-design. Like Push Down, double-clicking only moves down one level at a time. You cannot pop up to a higher-level CS or sub-design by double-clicking. You can only switch to a child of the current CS or sub-design (e.g., assume CS_1 and CS_2 are not nested, but both are defined relative to the global CS. If CS_1 is active, you cannot activate CS_2 by double-clicking it. First, Pop Up to activate the global CS. Then, double-click CS_2.) .
The following group/ungroup commands are available when working with objects in a relative CS.
- Draw > Coordinate System > Group Into CS groups all selected objects into a new relative CS.
- Draw > Coordinate System > Ungroup ungroups all selected objects and deletes the relative CS.
To group or ungroup a 3D structure, refer to 3D Structures.