Lumped Port & Elements#
Class representing a single rectangular lumped port. |
|
Class representing a single coaxial lumped port. |
The LumpedPort feature represents a planar, uniform current excitation with a fixed impedance termination.
# Define a lumped port
my_port_1 = LumpedPort(
name="My Port 1",
center=(0,0,0),
size=(0, port_width, port_height),
voltage_axis=2, # z-axis aligned excitation
impedance=50, # port impedance
)
The LumpedPort can be 1D (line) or 2D (plane). For 2D, only axis-aligned planes are supported at this time. Only real impedance values are supported at this time.
Note
Lumped ports and elements are fundamentally approximations and thus should only be used when the port/element size is much smaller than the wavelength of interest (typically lambda/10). For more accurate results, especially when the port is adjacent to an intentional waveguide or transmission line, consider using the WavePort excitation instead.
The CoaxialLumpedPort represents an analytical coaxial field source.
# Define coaxial lumped port
my_coaxial_port_1 = CoaxialLumpedPort(
name="My Coaxial Port 1",
center=(0,0,0),
inner_diameter=1000, # inner diameter in um
outer_diameter=2000, # outer diameter in um
normal_axis=0, # normal axis to port plane
direction="+", # direction of signal along normal axis
impedance=50, # port impedance
)
Note
Because the CoaxialLumpedPort injects an analytical field source, the structure connected to this port must match the physical port dimensions. Any deviation will result in signal reflection and potential inaccuracies. One common source of this issue is in imported geometries with faceted cylinders.
Class representing a rectangular lumped resistor. |
|
Class representing a coaxial lumped resistor. |
|
Lumped element representing a network consisting of resistors, capacitors, and inductors. |
|
Class for representing a simple network consisting of a resistor, capacitor, and inductor. |
|
Class for representing a network consisting of an arbitrary number of resistors, capacitors, and inductors. |
For a simple resistive lumped element, use LumpedResistor.
my_resistor = LumpedResistor(
name="My resistor",
center=(0,0,0),
size=(0, element_width, element_height),
voltage_axis=2, # z-axis aligned
resistance=50, # real-valued impedance
)
For more complicated RLC networks, use the general LinearLumpedElement class.
my_lumped_element = LinearLumpedElement(
name="My lumped element",
center=(0,0,0),
size=(0, element_width, element_height),
voltage_axis=2, # z-axis aligned
network=RLCNetwork(resistance=50, inductance=1e-9) # RLC network
)
All lumped elements should be added to the lumped_elements field of the base Simulation instance.
my_simulation = Simulation(
lumped_elements=[my_resistor, my_lumped_element],
...,
)
See also
For more in-depth discussion and examples, please see the following learning center article:
Example applications: