Resonant Cavity & Transmission-Line Model
Microstrip Patch Antenna Synthesizer
Calculates fringing fields (ΔL), effective permittivity (ε_eff), inset feed depth for 50 Ω direct line match, and exports automated PyAEDT scripts for Ansys HFSS.
Resonant Frequency & Substrate
GHz
Substrate Height (h)20 mil (0.508 mm)
Standard Radar & Telecom Bands
2D Top-Down Geometric Layout20.4 × 17.2 mm
Effective ε_eff:2.127
Fringing Field (2ΔL):0.54 mm
Inset Feed Depth (y₀):6.09 mm
Edge Impedance (R_in):257 Ω
PyAEDT HFSS Automation
One-click python script to launch Ansys HFSS, construct the exact 3D microstrip patch geometry, assign boundary conditions, and set up modal solves.
# NIKOLA RF - Automated Ansys HFSS Synthesis Script via PyAEDT
# Device: Microstrip Rectangular Patch Antenna
# Design Frequency: 5.8 GHz | Substrate: RT/duroid® 5880 (PTFE Glass Microfiber) (eps_r = 2.2)
from pyaedt import Hfss
import os
hfss = Hfss(specified_version="2024.1", designname="Patch_5.8GHz")
hfss.modeler.model_units = "mm"
# Substrate Material Definition
sub_name = "RT_duroid__5880__PTFE_Glass_Microfiber_"
if not hfss.materials.check_if_material_exists(sub_name):
mat = hfss.materials.add_material(sub_name)
mat.permittivity = 2.2
mat.dielectric_loss_tangent = 0.0009
# Parameters
sub_w = 23.48
sub_l = 20.23
sub_h = 0.508
patch_w = 20.43
patch_l = 17.19
inset_y = 6.09
# 1. Create Ground Plane & Substrate Box
gnd = hfss.modeler.create_rectangle(
origin=["-sub_w/2", "-sub_l/2", 0],
sizes=["sub_w", "sub_l"],
name="Ground_Plane",
plane="XY"
)
hfss.assign_perfecte_to_sheets(gnd, name="Ground_PerfE")
sub = hfss.modeler.create_box(
origin=["-sub_w/2", "-sub_l/2", 0],
sizes=["sub_w", "sub_l", "sub_h"],
name="Dielectric_Substrate",
material=sub_name
)
# 2. Radiating Patch Element
patch = hfss.modeler.create_rectangle(
origin=["-patch_w/2", "-patch_l/2", "sub_h"],
sizes=["patch_w", "patch_l"],
name="Radiating_Patch",
plane="XY"
)
hfss.assign_perfecte_to_sheets(patch, name="Patch_PerfE")
# 3. Setup Modal Analysis Setup & Frequency Sweep
setup = hfss.create_setup(name="Setup_5.8GHz", setup_type="HFSSDrivenModal")
setup.props["Frequency"] = "5.8GHz"
setup.props["MaximumPasses"] = 12
setup.props["MaxDeltaS"] = 0.02
hfss.create_frequency_sweep(
setupname=setup.name,
unit="GHz",
freqstart=4.64,
freqstop=6.96,
num_of_freq_points=401,
sweep_type="Interpolating"
)
hfss.save_project()
print("PyAEDT Parametric Microstrip Patch generated successfully.")
Full-Wave Design Rules Verified
W/h > 1 criterion satisfied. Radiation efficiency exceeds 94% on low-loss PTFE RT/duroid 5880 substrates.