-
-
March 24, 2023 at 10:26 pm
Guilin Sun
Ansys Employee2019b R2 以及更新版本支持拓扑优化。 相关例子参见
Inverse Design of a Splitter Using Topology Optimization
Topology Optimization of a 4-channel wavelength demultiplexer 2D-TE
Inverse design of waveguide crossing
Optimizable Geometry - Python API
简介
使用拓扑优化进行逆向设计可以使用用户自定义评价函数FOM生成优化的器件。在本例中我们优化的是T_up 最大化,即上臂的(平均) 透射率,所以在仿真时使用了对称性边界条件(模式光源也具有此对称性)。 上臂的最大透射率是0.5, 所以我们将优化函数定义为 FOM=0.5 - T_up,相当于插入损耗。
此种优化的特点是用户只需要指定优化的区域,而不需要参数化结构和优化结构形状(参见之前的API优化)。虽然结果看起来并不是很直观(例如为什么是这个样子),但是透射效率很高。
当然,此种优化的缺点是可制造性。为了控制最小尺寸,可以定义半径函数滤波,进而一处太小的几何形貌并将尖角光滑话,进而改善可制造性。
下面是优化步骤。
Step 1: Define base simulation project
首先需要定义基础仿真文件,它含有器件的普通结构,含仿真区,输入输出波导,模式光源和监视器。本例50:50 splitter的工作波长是1450nm 到 1650nm。可以使用脚本文件生成splitter_base_2D_TE_topology.lsf
打开FDTD并运行脚本文件后可以看到
结构组‘initial_guess’生成优化的器件的起点,不过这个并不是必要的,拓扑优化也可以从零结构开始优化。 当然,先有初步结构可能会减少迭代次数。
Step 2: Define optimization region
首先需要你定义几个要优化的参数:
Name Value in the example Description size_x 3000 [nm] Length of the device size_y 1800 [nm] Since we use symmetry along the y-axis, the value is half the height of the device delta_x 20 [nm] Size of a pixel along x-axis delta_y 20 [nm] Size of a pixel along y-axis filter_R 500 [nm] Radius of the smoothing filter which removes small features and sharp corners eps_max 2.8^2=7.84 Effective permittivity for a Silicon waveguide with a thickness of 220nm eps_min 1.44^2=2.0736 Permittivity of the SiO2 cladding 此外还需要定义 FOM 和一些其它的优化设置。 所用脚本参见 pt_2D_TE_topology.py
这里也定义了初始参数。 前面讲过拓扑优化的优点是不需要设置复杂的初始条件,而是简单地在优化区设置为均匀的 eps_max 或 eps_min.Step 3: Run topology optimization
运行Python 脚本文件就可以开始优化了。在这个例子中,拓扑优化有两个阶段: 第一,灰色阶段 ‘grayscale phase’,优化器可以自由地使用 [eps_low,eps_high ] 中的任何数值。当优化器达到一个优化后, 它将开始二值化阶段 ‘binarization phase’。 此时优化器将连续的介电常数分布变成二值结构,即 eps_low 或者 eps_high但是没有其它中间值,此时用来选择实际材料。大约经过500次迭代后有结果。
我们看到FOM曾暂时变差,每一个极值预示着一个二值化因子的增加,进而进一步改善FOM。优化的最后我们看到FOM稍有变差,这是因为二值化结构表现得不如连续结构。但是实际上FOM是按半对数画出的结果,所以绝对的变化是很小的。
4. design for the manufacturing (DFM) phase
二值化后有些地方可能有很小的细节/孤岛,不利于实际制造。TopologyOptimization class里面有一个min_feature_size,可以指定最小半径 filter_R。
geometry = TopologyOptimization2D(params=params, eps_min=eps_min, eps_max=eps_max,
x=x_pos, y=y_pos, z=0, filter_R=filter_R, min_feature_size=filter_R)注: 此优化方法因为需要FDTD内部的一些参数,所以必须使用2019b R2及以上版本。
更多细节请参考例子,GitHub和LumApi。
虽然例子用的是单个介电常数,原则上也可以用色散材料。不过,优化仅对一个目标函数进行,光源是单色的,如果需要宽谱,应该修改光源和目标函数,比如用平均透射率等。
此外,强烈建议使用软件自带的Python,不要自己下载Python和其编辑器,否则不仅需要设置好路径,有些功能还不支持,或者不兼容等。
-
- You must be logged in to reply to this topic.

Boost Ansys Fluent Simulations with AWS
Computational Fluid Dynamics (CFD) helps engineers design products in which the flow of fluid components is a significant challenge. These different use cases often require large complex models to solve on a traditional workstation. Click here to join this event to learn how to leverage Ansys Fluids on the cloud, thanks to Ansys Gateway powered by AWS.

Earth Rescue – An Ansys Online Series
The climate crisis is here. But so is the human ingenuity to fight it. Earth Rescue reveals what visionary companies are doing today to engineer radical new ideas in the fight against climate change. Click here to watch the first episode.

Ansys Blog
Subscribe to the Ansys Blog to get great new content about the power of simulation delivered right to your email on a weekly basis. With content from Ansys experts, partners and customers you will learn about product development advances, thought leadership and trends and tips to better use Ansys tools. Sign up here.
- 询问关于FDTD和matlab软件的互联问题 ——appopen
- Ansys Insight: FDTD 和 varFDTD 常见的发散原因以及处理
- Ansys Insight: FDTD 如何设置圆偏振光
- Ansys Insight: FDTD Solutions 的光源类型及其典型应用:初学者
- 如何仿真一维光子晶体能带?
- Ansys Insight: 几个简单实用的脚本Script命令:用于结果分析
- Ansys Insight: FDTD 初学者: 平面波和全场散射场tfsf光源有什么区别
- Ansys Insight: 透射率反射率大于1,或者透射率反射率之和大于1的原因与解决方案–综合贴
- 老师,您好。FDTD中simulation bandidth和source中wavelength区别在哪里,仿真根据哪个进行?
- 左旋圆偏振光透过超表面后,获得的右旋圆偏振光能量比入射的左旋圆偏振光能量还要大?
-
5162
-
3251
-
2443
-
1308
-
956
© 2023 Copyright ANSYS, Inc. All rights reserved.