Microstrip Corner

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)

CORNER = MicrostripCorner("CORNER1", substrate=sub, w=1e-3)
add_component!(circ, CORNER)

gnd = Ground("GND")
add_component!(circ, gnd)

@connect circ port1.nplus CORNER.n1
@connect circ CORNER.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.999840268015412 + 0.002601126710298795im, 0.9998099108301431 + 0.002837584945520297im, 0.9997769157344752 + 0.0030740411325404855im, 0.9997412831894253 + 0.003310495098275509im, 0.9997030136928139 + 0.0035469466690605795im, 0.9996621077792482 + 0.0037833956705965936im, 0.9996185660201005 + 0.004019841927968971im, 0.999572389023492 + 0.004256285265500067im, 0.9995235774342671 + 0.004492725506799413im, 0.9994721319339718 + 0.004729162474669516im  …  0.9866899043485874 + 0.02385050029855372im, 0.9864282033681844 + 0.024085906577814665im, 0.9861640480228218 + 0.024321288117146796im, 0.9858974418670704 + 0.02455664453418589im, 0.9856283884858087 + 0.024791975442776337im, 0.9853568914940992 + 0.02502728045297194im, 0.9850829545370696 + 0.025262559170997435im, 0.9848065812897893 + 0.025497811199239075im, 0.9845277754571444 + 0.025733036136214013im, 0.9842465407737161 + 0.025968233576556563im], (1, 1) => [4.6001746902101605e-5 - 0.017682490733647645im, 5.4746186088027604e-5 - 0.01928956506388006im, 6.425112184595068e-5 - 0.020896528596129307im, 7.451658175141695e-5 - 0.022503372108306604im, 8.554259555921183e-5 - 0.024110086380954642im, 9.732919519774194e-5 - 0.025716662197470534im, 0.00010987641476593185 - 0.02732309034434762im, 0.00012318429052141154 - 0.028929361611304216im, 0.00013725286087656663 - 0.030535466791528534im, 0.00015208216639057742 - 0.03214139668190793im  …  0.0038870785574573762 - 0.16080757728531375im, 0.0039646008249191855 - 0.1623685642125355im, 0.004042893057318948 - 0.1639286440720214im, 0.004121955407592661 - 0.16548780865310328im, 0.004201788028785197 - 0.1670460497643517im, 0.004282391074017394 - 0.1686033592337466im, 0.004363764696446448 - 0.17015972890882283im, 0.004445909049228807 - 0.17171515065681342im, 0.004528824285483764 - 0.17326961636481517im, 0.004612510558255909 - 0.17482311793992467im], (2, 2) => [4.600174690195441e-5 - 0.017682490733647645im, 5.4746186088088936e-5 - 0.01928956506388006im, 6.425112184624507e-5 - 0.020896528596129307im, 7.451658175158869e-5 - 0.022503372108300324im, 8.554259555938355e-5 - 0.024110086380951502im, 9.732919519797499e-5 - 0.025716662197470534im, 0.00010987641476593185 - 0.02732309034434762im, 0.00012318429052108037 - 0.028929361611304216im, 0.00013725286087637036 - 0.030535466791531678im, 0.00015208216639046702 - 0.03214139668190793im  …  0.003887078557457536 - 0.16080757728531375im, 0.003964600824919333 - 0.1623685642125355im, 0.004042893057318948 - 0.1639286440720214im, 0.004121955407592476 - 0.1654878086531029im, 0.004201788028785381 - 0.1670460497643517im, 0.004282391074017505 - 0.16860335923374623im, 0.004363764696446584 - 0.17015972890882283im, 0.004445909049228857 - 0.1717151506568142im, 0.004528824285483924 - 0.17326961636481517im, 0.004612510558256031 - 0.17482311793992505im], (2, 1) => [0.999840268015412 + 0.0026011267102925145im, 0.9998099108301429 + 0.002837584945520297im, 0.9997769157344752 + 0.003074041132543626im, 0.9997412831894251 + 0.0033104950982723686im, 0.9997030136928137 + 0.0035469466690574393im, 0.999662107779248 + 0.0037833956705965936im, 0.9996185660201005 + 0.004019841927968971im, 0.9995723890234922 + 0.004256285265500067im, 0.9995235774342671 + 0.004492725506802553im, 0.999472131933972 + 0.004729162474669516im  …  0.9866899043485874 + 0.02385050029855372im, 0.9864282033681842 + 0.024085906577814665im, 0.9861640480228218 + 0.024321288117146796im, 0.9858974418670704 + 0.02455664453418589im, 0.9856283884858085 + 0.024791975442775945im, 0.985356891494099 + 0.025027280452971156im, 0.9850829545370694 + 0.025262559170997435im, 0.9848065812897888 + 0.02549781119923986im, 0.9845277754571444 + 0.025733036136214013im, 0.9842465407737161 + 0.02596823357655617im]), 50.0, nothing, nothing, nothing, nothing)