aboutsummaryrefslogtreecommitdiff
path: root/circuits/add_drop_sub.cir
diff options
context:
space:
mode:
authorClément Zrounba <6691770+clement-z@users.noreply.github.com>2023-09-30 23:06:01 +0200
committerClément Zrounba <6691770+clement-z@users.noreply.github.com>2023-09-30 23:26:46 +0200
commitff9b8bb838ecdfbfc1dc81038fcf3b2a87636982 (patch)
tree21f27be782ce11c6d00b96ce100a2bff88141b2e /circuits/add_drop_sub.cir
downloadspecs-ff9b8bb838ecdfbfc1dc81038fcf3b2a87636982.tar.gz
specs-ff9b8bb838ecdfbfc1dc81038fcf3b2a87636982.zip
Initial release
Diffstat (limited to 'circuits/add_drop_sub.cir')
-rw-r--r--circuits/add_drop_sub.cir15
1 files changed, 15 insertions, 0 deletions
diff --git a/circuits/add_drop_sub.cir b/circuits/add_drop_sub.cir
new file mode 100644
index 0000000..1d96aed
--- /dev/null
+++ b/circuits/add_drop_sub.cir
@@ -0,0 +1,15 @@
+* An Add-drop filter subcircuit
+
+.subckt add_drop_filter in drop out add radius_ring=50e-6 k1=0.85 k2=0.85 att_wg=2 neff_wg=2.2 ng_wg=4.3
+
+* Circuit parameters
+.assign length_wg = {pi}*{radius_ring}
+
+* Circuit definition
+coupler1 in ring_bl out ring_br k={k1}
+coupler2 add ring_tr drop ring_tl k={k2}
+
+wg_ring_l ring_tl ring_bl att={att_wg} length={length_wg} neff={neff_wg} ng={ng_wg}
+wg_ring_r ring_br ring_tr att={att_wg} length={length_wg} neff={neff_wg} ng={ng_wg}
+
+.ends