using CircuitSim
circ = Circuit()
sub = Substrate("Sub1", er=4.5, h=1.6e-3, t=35e-6)
add_component!(circ, sub)
port1 = ACPowerSource("P1", port_num=1, impedance=50.0)
port2 = ACPowerSource("P2", port_num=2, impedance=50.0)
add_component!(circ, port1)
add_component!(circ, port2)
STEP = MicrostripStep("STEP1", substrate=sub, w1=1e-3, w2=2e-3)
add_component!(circ, STEP)
gnd = Ground("GND")
add_component!(circ, gnd)
@connect circ port1.nplus STEP.n1
@connect circ STEP.n2 port2.nplus
@connect circ port1.nminus gnd
@connect circ port2.nminus gnd
sparam = SParameterAnalysis(start=1e9, stop=10e9, points=100,
sweep_type="linear",
z0=50.0
)
result = simulate_qucsator(circ, sparam)
SParameterResult([1.0e9, 1.090909090909091e9, 1.1818181818181818e9, 1.2727272727272727e9, 1.3636363636363635e9, 1.4545454545454545e9, 1.5454545454545455e9, 1.6363636363636365e9, 1.7272727272727273e9, 1.818181818181818e9 … 9.181818181818182e9, 9.272727272727272e9, 9.363636363636364e9, 9.454545454545454e9, 9.545454545454544e9, 9.636363636363636e9, 9.727272727272728e9, 9.818181818181818e9, 9.909090909090908e9, 1.0e10], 2, Dict{Tuple{Int64, Int64}, Vector{ComplexF64}}((1, 2) => [0.9999975683366114 + 0.0013019679913370095im, 0.9999971061212745 + 0.001420327844483098im, 0.9999966037139049 + 0.001538687470003462im, 0.9999960611146541 + 0.0016570468487304133im, 0.9999954783236853 + 0.0017754059615967487im, 0.9999948553411745 + 0.0018937647897864804im, 0.9999941921673088 + 0.002012123314232405im, 0.9999934888022884 + 0.0021304815159552456im, 0.9999927452463246 + 0.002248839375975724im, 0.9999919614996425 + 0.0023671968753773667im … 0.9997950485703141 + 0.011951213059751163im, 0.9997909710998004 + 0.012069476423034773im, 0.9997868534993254 + 0.012187737851678718im, 0.9997826957701289 + 0.012305997326775942im, 0.9997784979134623 + 0.012424254829387993im, 0.9997742599305885 + 0.012542510340579554im, 0.9997699818227831 + 0.012660763841440431im, 0.9997656635913339 + 0.01277901531302275im, 0.9997613052375407 + 0.012897264736416315im, 0.9997569067627146 + 0.013015512092695235im], (1, 1) => [-2.2117085648445097e-6 + 0.0017799425053030336im, -2.6321451664220917e-6 + 0.0019417546092628214im, -3.0891501973466106e-6 + 0.0021035664910482458im, -3.5827253188985514e-6 + 0.0022653781323457487im, -4.112872228323329e-6 + 0.0024271895145403133im, -4.679592656451618e-6 + 0.0025890006191927745im, -5.282888362694681e-6 + 0.002750811427776041im, -5.922761134897176e-6 + 0.002912621921725339im, -6.599212783253043e-6 + 0.0030744320826015035im, -7.31224514241532e-6 + 0.003236241891789518im … -0.00018666374085596381 + 0.016339966870579488im, -0.00019037836878916742 + 0.01650168483121766im, -0.00019412948895002811 + 0.016663400904931274im, -0.00019791709376326688 + 0.01682511507333769im, -0.00020174117545437463 + 0.016986827318076245im, -0.0002056017260488027 + 0.017148537620776862im, -0.00020949873737377827 + 0.017310245963075732im, -0.00021343220105877043 + 0.017471952326643603im, -0.0002174021085340183 + 0.01763365669312923im, -0.00022140845103134054 + 0.017795359044181374im], (2, 2) => [-2.4231586837693063e-6 + 0.0017799422300469846im, -2.883726565827007e-6 + 0.001941754251859535im, -3.3843338938041137e-6 + 0.0021035660368518994im, -3.924978704079213e-6 + 0.0022653775652283522im, -4.505658971919948e-6 + 0.00242718881721829im, -5.126372616561289e-6 + 0.002588999773113911im, -5.787117502235903e-6 + 0.002750810413194855im, -6.48789144276177e-6 + 0.002912620717728199im, -7.228692203529332e-6 + 0.0030744306669810216im, -8.00951750297345e-6 + 0.003236240241195279im … -0.00020397869916180002 + 0.016339759893404898im, -0.00020803573056770206 + 0.016501471671546517im, -0.00021213275352667432 + 0.016663181439084258im, -0.00021626977313594835 + 0.016824889176231813im, -0.00022044679466867972 + 0.01698659486320288im, -0.0002246638235725004 + 0.017148298480233134im, -0.00022892086547015688 + 0.017310000007526846im, -0.00023321792615877394 + 0.017471699425297717im, -0.00023755501160953587 + 0.017633396713746877im, -0.00024193212796734298 + 0.01779509185306604im], (2, 1) => [0.9999975683366114 + 0.0013019679912867664im, 0.9999971061212745 + 0.001420327844533341im, 0.9999966037139049 + 0.0015386874699783407im, 0.9999960611146543 + 0.001657046848705292im, 0.9999954783236853 + 0.0017754059615967487im, 0.9999948553411743 + 0.0018937647897739195im, 0.9999941921673088 + 0.002012123314232405im, 0.9999934888022882 + 0.002130481515942685im, 0.9999927452463246 + 0.002248839375988285im, 0.9999919614996424 + 0.0023671968753773667im … 0.9997950485703141 + 0.011951213059751163im, 0.9997909710998004 + 0.012069476423034773im, 0.9997868534993256 + 0.012187737851681858im, 0.9997826957701289 + 0.012305997326769662im, 0.9997784979134621 + 0.012424254829387993im, 0.9997742599305883 + 0.012542510340582694im, 0.9997699818227833 + 0.01266076384143415im, 0.9997656635913341 + 0.01277901531301961im, 0.9997613052375407 + 0.012897264736413176im, 0.9997569067627148 + 0.013015512092692095im]), 50.0, nothing, nothing, nothing, nothing)