


{"id":290237,"date":"2023-06-25T07:19:22","date_gmt":"2023-06-25T07:19:22","guid":{"rendered":"\/forum\/?post_type=topic&#038;p=290237"},"modified":"2023-06-25T07:19:22","modified_gmt":"2023-06-25T07:19:22","slug":"guanyu1x4gongfenqijiannixiangshejidewenti","status":"closed","type":"topic","link":"https:\/\/innovationspace.ansys.com\/forum\/forums\/topic\/guanyu1x4gongfenqijiannixiangshejidewenti\/","title":{"rendered":"\u5173\u4e8e1\u00d74\u529f\u5206\u5668\u4ef6\u9006\u5411\u8bbe\u8ba1\u7684\u95ee\u9898"},"content":{"rendered":"<p>\u8001\u5e08\u60a8\u597d\uff0c\u6211\u6700\u8fd1\u770b\u4e86\u5b98\u7f51\u6848\u4f8b\uff081x2_MMI\u548c1x4_CWDM_2D\uff09\uff0c\u4e8e\u662f\u6211\u5c31\u60f3\u5c1d\u8bd5\u4e00\u4e0b1&#215;4\u529f\u5206\u5668\u4ef6\uff0c\u4f46\u662f\u5728\u4f18\u5316\u8fed\u4ee3\u7684\u8fc7\u7a0b\u4e2d\u9047\u5230\u4e86\u65e0\u6cd5\u89e3\u91ca\u7684\u95ee\u9898\u3002<br \/>\u4f18\u5316\u811a\u672c\u4ee3\u7801\u4e3a\uff1a<\/p>\n<p>def runSim(params, eps_bg, eps_wg, x_pos, y_pos, z_pos, filter_R, min_feature_size, working_dir, beta = 1):<\/p>\n<p>geometry = TopologyOptimization3DLayered(params=params, eps_min=eps_bg, eps_max=eps_wg, x=x_pos, y=y_pos, z=z_pos, filter_R=filter_R, min_feature_size=min_feature_size, beta=beta)<\/p>\n<p>######## DEFINE FIGURE OF MERIT FOR EACH OUTPUT WAVEGUIDE ########<\/p>\n<p>fom1 = ModeMatch(monitor_name = &#8216;fom_1&#8217;, mode_number = &#8216;Fundamental TE mode&#8217;, direction = &#8216;Forward&#8217;, norm_p = 2, target_fom=0.25)<\/p>\n<p>fom2 = ModeMatch(monitor_name = &#8216;fom_2&#8217;, mode_number = &#8216;Fundamental TE mode&#8217;, direction = &#8216;Forward&#8217;, norm_p = 2, target_fom=0.25)<\/p>\n<p>fom3 = ModeMatch(monitor_name = &#8216;fom_3&#8217;, mode_number = &#8216;Fundamental TE mode&#8217;, direction = &#8216;Forward&#8217;, norm_p = 2, target_fom=0.25)<\/p>\n<p>fom4 = ModeMatch(monitor_name = &#8216;fom_4&#8217;, mode_number = &#8216;Fundamental TE mode&#8217;, direction = &#8216;Forward&#8217;, norm_p = 2, target_fom=0.25)<\/p>\n<p>######## DEFINE OPTIMIZATION ALGORITHM ########<\/p>\n<p>optimizer = ScipyOptimizers(max_iter=80, method=&#8217;L-BFGS-B&#8217;, scaling_factor=1, pgtol=1e-6, ftol=1e-5, scale_initial_gradient_to=0.25)<\/p>\n<p>######## DEFINE SETUP SCRIPT AND INDIVIDUAL OPTIMIZERS ########<\/p>\n<p>script = os.path.join(os.path.dirname(__file__), &#8216;1x4_test_material.fsp&#8217;)<\/p>\n<p>size_x = max(x_pos)-min(x_pos)<\/p>\n<p>script = script.replace(&#8216;opt_size_x=10e-6&#8242;,&#8217;opt_size_x={:1.6g}&#8217;.format(size_x))<\/p>\n<p>size_y = max(y_pos)-min(y_pos)<\/p>\n<p>script = script.replace(&#8216;opt_size_y=16e-6&#8242;,&#8217;opt_size_y={:1.6g}&#8217;.format(size_y))<\/p>\n<p>wavelengths = Wavelengths(start = 1550e-9, stop = 1550e-9, points = 1)<\/p>\n<p>opt1 = Optimization(base_script=script, wavelengths = wavelengths, fom=fom1, geometry=geometry, optimizer=optimizer, use_deps=False, hide_fdtd_cad=False, plot_history=False, store_all_simulations=False)<\/p>\n<p>opt2 = Optimization(base_script=script, wavelengths = wavelengths, fom=fom2, geometry=geometry, optimizer=optimizer, use_deps=False, hide_fdtd_cad=False, plot_history=False, store_all_simulations=False)<\/p>\n<p>opt3 = Optimization(base_script=script, wavelengths = wavelengths, fom=fom3, geometry=geometry, optimizer=optimizer, use_deps=False, hide_fdtd_cad=False, plot_history=False, store_all_simulations=False)<\/p>\n<p>opt4 = Optimization(base_script=script, wavelengths = wavelengths, fom=fom4, geometry=geometry, optimizer=optimizer, use_deps=False, hide_fdtd_cad=False, plot_history=False, store_all_simulations=False)<\/p>\n<p>######## PUT EVERYTHING TOGETHER AND RUN ########<\/p>\n<p>opt = opt1+opt2+opt3+opt4<\/p>\n<p>opt.continuation_max_iter = 20<\/p>\n<p>opt.run(working_dir = working_dir)<\/p>\n<p>\u5728\u8fed\u4ee3\u8fc7\u7a0b\u4e2d\u7684FOM\u5982\u4e0b\u56fe\u6240\u793a\uff1a<\/p>\n<p><img decoding=\"async\" src=\"\/forum\/wp-content\/uploads\/sites\/2\/2023\/06\/25-06-2023-1687676782-mceclip0.png\"><\/p>\n<p>\u60f3\u95ee\u4e00\u4e0b\u8001\u5e08\u4e2d\u95f4\u8fd9\u4e24\u4e2a\u7aef\u53e3\u529f\u7387\u8fd9\u4e48\u5927\u662f\u6b63\u5e38\u7684\u5417\uff1f<br \/>\u5f80\u4e0b\u7ee7\u7eed\u8fdb\u884c\u4e86\u51e0\u6b21\u8fed\u4ee3\uff0c\u53d1\u73b04\u4e2a\u7aef\u53e3\u7684\u529f\u7387\u53d8\u5316\u4e0d\u5927\uff0c\u5f97\u5230\u7684\u7ed3\u679c\u6ca1\u6709\u5411P=0.25\u65b9\u5411\u8d70\u3002<\/p>\n<p>\u5e0c\u671b\u8001\u5e08\u5e2e\u5fd9\u89e3\u7b54\u4e00\u4e0b\u7591\u60d1\uff0c\u975e\u5e38\u611f\u8c22\u3002<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"template":"","class_list":["post-290237","topic","type-topic","status-closed","hentry"],"aioseo_notices":[],"acf":[],"custom_fields":[{"0":{"_bbp_author_ip":["168.143.243.24"],"_bbp_subscription":["283021","2592"],"_btv_view_count":["655"],"_bbp_topic_status":["unanswered"],"_bbp_status":["publish"],"_bbp_topic_id":["290237"],"_bbp_forum_id":["27835"],"_bbp_engagement":["2592","283021"],"_bbp_voice_count":["2"],"_bbp_reply_count":["4"],"_bbp_last_reply_id":["290654"],"_bbp_last_active_id":["290654"],"_bbp_last_active_time":["2023-06-28 00:57:56"]},"test":"1505503830qq-com"}],"_links":{"self":[{"href":"https:\/\/innovationspace.ansys.com\/forum\/wp-json\/wp\/v2\/topics\/290237","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/innovationspace.ansys.com\/forum\/wp-json\/wp\/v2\/topics"}],"about":[{"href":"https:\/\/innovationspace.ansys.com\/forum\/wp-json\/wp\/v2\/types\/topic"}],"version-history":[{"count":0,"href":"https:\/\/innovationspace.ansys.com\/forum\/wp-json\/wp\/v2\/topics\/290237\/revisions"}],"wp:attachment":[{"href":"https:\/\/innovationspace.ansys.com\/forum\/wp-json\/wp\/v2\/media?parent=290237"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}