Function Repository Resource:

CircularWaveguideProperties

Source Notebook

Compute the propagation mode properties of a circular electromagnetic waveguide

Contributed by: Julián Laverde

ResourceFunction["CircularWaveguideProperties"][assoc]

returns the mode properties for an electromagnetic wave propagating in a circular waveguide for the conditions specified in the Association assoc.

ResourceFunction["CircularWaveguideProperties"][property]

returns the specified property of the circular waveguide equations.

Details and Options

A waveguide is a linear structure that conveys electromagnetic waves between its endpoints.
In ResourceFunction["CircularWaveguideProperties"][assoc], the association assoc must include either one of the following basic elements:
"Wavelength"3 nmincident electromagnetic wave wavelength
"Frequency"50 GHzincident electromagnetic wave frequency
assoc can also include:
"AngularMode"1angular mode
"RadialMode"1radial mode
"Radius"2 mmwaveguide radius
The "Wavelength" value can be a Quantity with length units. If given only as a number, the default unit of "Wavelength" is nanometers. If unspecified, "Wavelength" is taken by default to be 3 nm.
The "Frequency" can be a Quantity with per-time units. If given only as a number, the default unit of "Frequency" is gigahertz. If unspecified, "Frequency" is taken by default to be 50 GHz.
"RadialMode" and "AngularMode" can be non-negative real numbers.
The "Radius" can be a Quantity with length units. If given only as a number, the default unit of "Radius" is millimeters. If unspecified, "Radius" is taken by default to be 2 mm.
ResourceFunction["CircularWaveguideProperties"] can take the option "ModeType" to select the mode category. "ModeType" can take the following values:
"TransverseElectric"(default) transverse electric mode
"TransverseMagnetic"transverse magnetic mode
Properties include:
"Formula"equations for circular waveguide
"QuantityVariableNames"English names for all variables

Examples

Basic Examples (2) 

Find the properties of the modes for a specified wavelength:

In[1]:=
ResourceFunction[
 "CircularWaveguideProperties"][<|
  "Wavelength" -> Quantity[3, "Nanometers"], "AngularMode" -> 2, "RadialMode" -> 2, "Radius" -> Quantity[100, "Micrometers"]|>]
Out[1]=

Find the properties of the modes for a specified frequency:

In[2]:=
ResourceFunction[
 "CircularWaveguideProperties"][<|
  "Frequency" -> Quantity[500, "Gigahertz"], "AngularMode" -> 2, "RadialMode" -> 3, "Radius" -> Quantity[10, "Millimeters"]|>]
Out[2]=

Scope (3) 

Find the properties of the modes for an Interval of wavelengths:

In[3]:=
ResourceFunction[
 "CircularWaveguideProperties"][<|
  "Frequency" -> Quantity[Interval[{300, 400}, {600, 800}], "Gigahertz"], "AngularMode" -> 2, "RadialMode" -> 1, "Radius" -> Quantity[5, "Millimeters"]|>]
Out[3]=

Find the properties of the modes for an Interval of frequencies:

In[4]:=
ResourceFunction[
 "CircularWaveguideProperties"][<|
  "Frequency" -> First@ Entity["FrequencyAllocation", "InfraredA"]["Frequencies"], "AngularMode" -> 2, "RadialMode" -> 2, "Radius" -> Quantity[10, "Micrometers"]|>]
Out[4]=

Examine the equations for a circular waveguide:

In[5]:=
ResourceFunction["CircularWaveguideProperties"]["Formula"]
Out[5]=

Obtain the formal names of the variables used:

In[6]:=
ResourceFunction[
 "CircularWaveguideProperties"]["QuantityVariableNames"]
Out[6]=

Options (1) 

ModeType (1) 

Find mode properties for a transverse magnetic mode:

In[7]:=
ResourceFunction[
 "CircularWaveguideProperties"][<|
  "Frequency" -> Quantity[500, "Gigahertz"], "AngularMode" -> 1, "RadialMode" -> 2, "Radius" -> Quantity[2, "Millimeters"]|>, "ModeType" -> "TransverseMagnetic"]
Out[7]=

Properties and Relations (1) 

Use Quantity to specify the units of the inputs:

In[8]:=
ResourceFunction[
 "CircularWaveguideProperties"][<|
  "Frequency" -> Quantity[250, "Gigahertz"], "AngularMode" -> 1, "RadialMode" -> 1, "Radius" -> Quantity[10, "Millimeters"]|>]
Out[8]=

Neat Examples (1) 

Visualize the dependency of the cutoff frequency on the waveguide radius for different modes:

In[9]:=
ListPlot[
 Table[ResourceFunction[
    "CircularWaveguideProperties"][<|
     "Frequency" -> Quantity[3000, "Gigahertz"], "AngularMode" -> j, "RadialMode" -> 1, "Radius" -> Quantity[r, "Millimeters"]|>][
   "CutoffFrequency"], {j, 1, 5}, {r, 0.3, 2, 0.05}], Joined -> True, AxesLabel -> Automatic, TargetUnits -> {"Millimeters", "Terahertz"}, DataRange -> {0.5, 2}, PlotLegends -> {Subscript[
      "\!\(\*SubscriptBox[\(TE\), \(1\)]\)", #] & /@ Range[1, 5]}, PlotRange -> All]
Out[9]=

Publisher

WolframSpecialProjects

Version History

  • 1.0.0 – 02 March 2021

Source Metadata

Related Resources

License Information