


{"id":391713,"date":"2024-10-29T11:02:24","date_gmt":"2024-10-29T11:02:24","guid":{"rendered":"https:\/\/innovationspace.ansys.com\/forum\/forums\/reply\/391713\/"},"modified":"2024-10-29T11:02:24","modified_gmt":"2024-10-29T11:02:24","slug":"391713","status":"publish","type":"reply","link":"https:\/\/innovationspace.ansys.com\/forum\/forums\/reply\/391713\/","title":{"rendered":"Reply To: Trapezoidal ring"},"content":{"rendered":"<p>&lt;p&gt;Hi Kirill,&nbsp;&lt;\/p&gt;&lt;p&gt;Do you know how to modify the code for 90-degree bend waveguide such that it creates a waveguide of an arbitrary angle instead of 90 deg?&nbsp;&lt;\/p&gt;&lt;p&gt;#####################################################################&lt;\/p&gt;&lt;p&gt;# 90 degree waveguide bend&lt;\/p&gt;&lt;p&gt;# This object makes a 90-degree waveguide bend with angled sidewalls.&lt;\/p&gt;&lt;p&gt;#&lt;\/p&gt;&lt;p&gt;# Input properties&lt;\/p&gt;&lt;p&gt;# base angle: sidewall angle of the waveguide&lt;\/p&gt;&lt;p&gt;# base height: height of the waveguide&lt;\/p&gt;&lt;p&gt;# base width: width of the waveguide base&lt;\/p&gt;&lt;p&gt;# radius: radius of the bend&lt;\/p&gt;&lt;p&gt;# start angle: start angle of the waveguide&lt;\/p&gt;&lt;p&gt;#&lt;\/p&gt;&lt;p&gt;# Tags: integrated optics waveguide bend 90 degrees ridge&lt;\/p&gt;&lt;p&gt;#&lt;\/p&gt;&lt;p&gt;# Copyright 2015 Lumerical Solutions Inc&lt;\/p&gt;&lt;p&gt;#####################################################################&lt;\/p&gt;&lt;p&gt;&nbsp;&lt;\/p&gt;&lt;p&gt;# simplify variable names by removing spaces&lt;\/p&gt;&lt;p&gt;base_angle = %base angle%;&lt;\/p&gt;&lt;p&gt;base_width = %base width%;&lt;\/p&gt;&lt;p&gt;base_height = %base height%;&lt;\/p&gt;&lt;p&gt;start_angle = %start angle%;&lt;\/p&gt;&lt;p&gt;&nbsp;&lt;\/p&gt;&lt;p&gt;select(&#8220;arc&#8221;);&lt;\/p&gt;&lt;p&gt;set(&#8220;material&#8221;,material);&lt;\/p&gt;&lt;p&gt;set(&#8220;base angle&#8221;,base_angle);&lt;\/p&gt;&lt;p&gt;set(&#8220;base height&#8221;,base_height);&lt;\/p&gt;&lt;p&gt;set(&#8220;base width&#8221;,base_width);&lt;\/p&gt;&lt;p&gt;set(&#8220;detail&#8221;,0.5);&lt;\/p&gt;&lt;p&gt;&nbsp;&lt;\/p&gt;&lt;p&gt;# magic number&lt;\/p&gt;&lt;p&gt;# The cubic Bezier curve using this magic number in the pole points approximates the semi-circile with least error&lt;\/p&gt;&lt;p&gt;m=0.55191502449;&lt;\/p&gt;&lt;p&gt;&nbsp;&lt;\/p&gt;&lt;p&gt;px = radius*[0;m;1;1];&lt;\/p&gt;&lt;p&gt;py = radius*[1;1;m;0];&lt;\/p&gt;&lt;p&gt;p = [px,py];&lt;\/p&gt;&lt;p&gt;&nbsp;&lt;\/p&gt;&lt;p&gt;set(&#8220;poles&#8221;,p);&lt;\/p&gt;&lt;p&gt;set(&#8220;first axis&#8221;,&#8217;z&#8217;);&lt;\/p&gt;&lt;p&gt;set(&#8220;rotation 1&#8221;,start_angle);&lt;\/p&gt;<\/p>\n","protected":false},"template":"","class_list":["post-391713","reply","type-reply","status-publish","hentry"],"aioseo_notices":[],"acf":[],"_links":{"self":[{"href":"https:\/\/innovationspace.ansys.com\/forum\/wp-json\/wp\/v2\/replies\/391713","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/innovationspace.ansys.com\/forum\/wp-json\/wp\/v2\/replies"}],"about":[{"href":"https:\/\/innovationspace.ansys.com\/forum\/wp-json\/wp\/v2\/types\/reply"}],"version-history":[{"count":0,"href":"https:\/\/innovationspace.ansys.com\/forum\/wp-json\/wp\/v2\/replies\/391713\/revisions"}],"wp:attachment":[{"href":"https:\/\/innovationspace.ansys.com\/forum\/wp-json\/wp\/v2\/media?parent=391713"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}