skrf.media.rectangularWaveguide.RectangularWaveguide
- class skrf.media.rectangularWaveguide.RectangularWaveguide(frequency=None, z0_port=None, z0_override=None, z0=None, a=1, b=None, mode_type='te', m=1, n=0, ep_r=1, mu_r=1, rho=1.724137931034483e-08, roughness=None, model='lomakin', dielectric=None, wall_a=None, wall_b=None, *args, **kwargs)[source]
A single mode of a homogeneously filled rectangular waveguide.
- Parameters:
frequency (
Frequencyobject) – frequency band of this transmission line mediumz0_port (number, array-like, or None) – z0_port is the port impedance for networks generated by the media. If z0_port is not None, the networks generated by the media are renormalized (or in other words embedded) from the characteristic impedance z0 of the media to z0_port. Else if z0_port is None, the networks port impedances will be the raw characteristic impedance z0 of the media. (Default is None)
z0_override (number, array-like, or None) – z0_override override the characteristic impedance for the media. If z0_override is not None, the networks generated by the media have their characteristic impedance z0 overridden by z0_override. (Default is None)
z0 (number, array-like, or None) – deprecated parameter, alias to z0_override if z0_override is None. Emit a deprecation warning.
a (number, optional) – width of waveguide, in meters. Default is 1.
b (number or None, optional) – height of waveguide, in meters. If None defaults to a/2. Default is None
mode_type (['te','tm']) – mode type, transverse electric (te) or transverse magnetic (tm) to-z. where z is direction of propagation
m (int) – mode index in ‘a’-direction
n (int) – mode index in ‘b’-direction
ep_r (number, array-like,) – filling material’s relative permittivity
mu_r (number, array-like) – filling material’s relative permeability
rho (number, array-like, string, or None) – resistivity (ohm-m) of the conductor walls. If array-like must be same length as frequency. if str, it must be a key in
skrf.data.materials. Default is 1/58e6, the resistivity of annealed copper at 20 °C (100% IACS). Use 0, or None, for perfectly conducting walls.roughness (number, or array-like) – rms roughness of the conductor walls, in meter. It is handed to
surface_impedance(), and it applies to any wall whose material does not carry an'rms_roughness'of its own.model (str, optional) – Model of the loss. ‘lomakin’ (default) is the two-wire model of [1], where the loss of the walls shapes the phase constant as well as the attenuation (agrees better with EM simulations). ‘marcuvitz’ is the power loss method of [2], which is also given by the IEC 60153-2 and IEEE 1785.1 standards and discussed in [3]; it leaves the phase constant at its lossless value. A TM mode, or a mode with both indices nonzero, is not covered by ‘lomakin’ and follows ‘marcuvitz’ instead, which is warned about.
dielectric (dict or None, optional) – Material filling the waveguide, as a dict taking the keys
'ep_r'(complex relative permittivity) and'mu_r'(complex relative permeability), both defaulting to 1. If None (default), the filling is described by parameters ep_r and mu_r.wall_a (dict, list of dict, or None, optional) – Material of the pair of walls of width a. It describes both walls of the pair. A single dict describes a bulk conductor, a list of dict a stack of coatings ordered from the filling inwards, of which the deepest layer is the bulk. Each dict takes the keys
'sigma','mu_r'and'ep_r'of the layer itself, and'rms_roughness','boundary_loc'and'distribution'of the boundary on top of it, which are handed tosurface_impedance(). If None (default), the pair is described by rho and roughness.wall_b (dict, list of dict, or None, optional) – Material of the pair of walls of width b, described in similar way as wall_a. The two pairs are usually of the same material, but would have different effective conductivities, e.g., different roughness due to machining or 3D printed waveguides [4], [5].
*args (arguments, keyword arguments) – passed to
Media’s constructor (__init__()**kwargs (arguments, keyword arguments) – passed to
Media’s constructor (__init__()
Note
The two-wire model is derived for the TE10 mode. It carries over to any TE_m0 and TE_0n mode. It does not carry over to a mode with both indices nonzero.
References
Examples
Most common usage is standard aspect ratio (2:1) dominant mode, TE10 mode of wr10 waveguide can be constructed by
>>> import numpy as np >>> import skrf as rf >>> from skrf.constants import mil >>> from skrf.media import RectangularWaveguide >>> freq = rf.Frequency(75, 110, 101, unit='ghz') >>> RectangularWaveguide(freq, a=100*mil) Rectangular Waveguide Media. 75.0-110.0 GHz. 101 points a= 2.54e-03m, b= 1.27e-03m
A WR-12 guide of brass, with the a walls rougher than the b ones, and the attenuation of a 100 mm length of it at 90 GHz:
>>> freq = rf.Frequency(60, 90, 61, unit='GHz') >>> wr12 = RectangularWaveguide(freq, a=3.0988e-3, b=1.5494e-3, ... wall_a={'sigma': 0.28*58e6, 'rms_roughness': 1e-6}, ... wall_b={'sigma': 0.28*58e6, 'rms_roughness': 0.4e-6}) >>> print(f"{wr12.line(100, 'mm').s_db[-1, 1, 0]:.3f} dB") -1.002 dB
A WR-6.5 waveguide (D-band) whose walls carry an ENIG finish, 0.05 um of gold over 4 um of nickel over copper, roughened by 50 nm rms at the outside and by 0.2 um rms at the copper underneath:
>>> enig = [{'sigma': 41.1e6, 'rms_roughness': 50e-9, 'boundary_loc': 0}, ... {'sigma': 14.5e6, 'mu_r': 20, 'rms_roughness': 50e-9, 'boundary_loc': 0.05e-6}, ... {'sigma': 58e6, 'rms_roughness': 0.2e-6, 'boundary_loc': 4.05e-6}] >>> freq = rf.Frequency(110, 170, 61, unit='GHz') >>> wr65 = RectangularWaveguide(freq, a=1.6510e-3, b=0.8255e-3, ... wall_a=enig, wall_b=enig) >>> smooth_copper = RectangularWaveguide(freq, a=1.6510e-3, b=0.8255e-3, rho=1/58e6) >>> np2db = 20*np.log10(np.e) >>> print(f"{np2db*wr65.gamma[-1].real:.1f} dB/m, against " ... f"{np2db*smooth_copper.gamma[-1].real:.1f} dB/m for smooth copper") 20.3 dB/m, against 4.6 dB/m for smooth copper
Attributes
Characteristic Impedance |
|
Real (attenuation) component of gamma. |
|
Loss of the walls by the power loss method, in Np/m. |
|
Imaginary (propagating) component of gamma. |
|
The permittivity of the filling material. |
|
cutoff frequency for this mode. |
|
Frequency vector normalized to cutoff. |
|
The propagation constant (aka Longitudinal wave number). |
|
Characteristic wave number. |
|
Cut-off wave number. |
|
Eigenvalue in the 'a' direction. |
|
Eigenvalue in the b direction. |
|
Cutoff wavelength. |
|
Guide wavelength. |
|
The permeability of the filling material. |
|
Number of points of the frequency axis. |
|
Resistivity of all four walls in ohm*m. |
|
Complex group velocity (in m/s). |
|
Complex phase velocity (in m/s). |
|
Return Characteristic Impedance z0_characteristic. |
|
The characteristic impedance, \(z_0\). |
|
Port Impedance. |
|
Port Impedance. |
Methods
Ideal matched attenuator of a given length. |
|
Capacitor. |
|
Capacitor with Q factor. |
|
Copy of this Media object. |
|
Delayed load. |
|
Delayed open transmission line. |
|
Delayed Short. |
|
Calculate the complex electrical length for a given distance. |
|
Determines physical distance from a transmission or reflection Network. |
|
Initialize from specified impedance at a given frequency, assuming the fundamental TE10 mode. |
|
Two-port network for an impedance mismatch. |
|
Inductor. |
|
Inductor with Q factor. |
|
Two-port isolator. |
|
Transmission line of a given length and impedance. |
|
Floating transmission line of a given length and impedance. |
|
Load of given reflection coefficient. |
|
Lossless, symmetric mismatch defined by its return loss. |
|
Perfect matched load (\(\Gamma_0 = 0\)). |
|
Create another mode in this medium. |
|
Open (\(\Gamma_0 = 1\)). |
|
Complex random network. |
|
Resistor. |
|
Short (\(\Gamma_0 = -1\)) |
|
Shunts a |
|
Shunted capacitor. |
|
Shunted delayed load. |
|
Shunted delayed open. |
|
Shunted delayed short. |
|
Shunted inductor. |
|
Shunted resistor. |
|
Ideal, lossless n-way splitter. |
|
Ideal, lossless tee. |
|
Convert electrical length to physical distance. |
|
Matched transmission line of length 0. |
|
Translate various units of distance into meters. |
|
Complex zero-mean gaussian white-noise network. |
|
write this media's frequency, gamma, Z0, and z0 to a csv file. |