Ansys Speos|Optimization小工具快速优化设计

概述

优化是一个有助于找到一个光学系统的最佳解决方案的实验过程,它主要是利用参数的变化而试图达到预期的结果。在Speos 2023 R2中提供三种可供选择的方法来执行此类分析。第一个是基于workbench创建的优化,可以参考文章(基于Ansys Workbench和Speos的准直全反射透镜优化设计案例),第二种使用optiSLang及其强大的优化功能,在optiSLang种直接调用Ansys Speos求解器,访问发布的参数,设计识别最重要的输入参数,多目标优化在不同目标之间进行权衡,第三种是利用嵌入到Speos中的优化工具optimization,允许基于随机算法Random search设置一个优化,以研究不同参数集对仿真结果的影响。

本案例讲述使用Speos optimization 优化工具,快速优化设计。为描述案例讲解过程,首先对optimization工具的参数进行详细解释。

优化模式

Speos optimization优化功能提供三种优化模式: Random Search随机搜索算法是一种基于随机的全局优化方法,优值提供函数定义优化的收敛过程,Minimize允许获得尽可能接近目标值的模拟值。Maximum允许获得尽可能远离目标值的模拟值。Design of Experiment实验设计允许定义变量的值,通过使用基于所选变量的Excel文件来定义变量。Plugin插件允许使用自己创建的优化算法,以便在分析中增加更多的灵活性。

变量类型

Optimization特性根据变量的来源提供了三种变量类型。

Simulation variable模拟变量对应Speos的仿真变量,在此变量列表中可以选择光源的参数、探测器的参数、包括3D texture的参数。在optimization设置列表中,可以查看添加到优化中的变量的当前值,和数值变量可变范围,可以修改min和max的数值,使得变量在更大或更小的范围内变化。

Design variable设计变量对应于光学部件设计参数,在Speos 中完成的所有OPD光学部件设计参数,都可以作为优化变量选择optimization中,例如lightguide、TIR、optical lens、optical surfaces等设计参数。在optimization设置列表中,可以查看添加到优化中的变量的当前值,和数值变量可变范围,可以修改min和max的数值,使得变量在更大或更小的范围内变化。

Document variable对应于可以在spacecclaim Groups面板(驱动维度,脚本参数)中创建的输入参数,也可以是机械变量参数,例如机械半径等参数。在optimization设置列表中,可以查看添加到优化中的变量的当前值,和数值变量可变范围,可以修改min和max的数值,使得变量在更大或更小的范围内变化。

优化目标

优化目标对应于想要评估的目标结果,是整个优化过程的最终评估元素。为了得到目标首先需要建立direct或者是inverse仿真,运算仿真得到XMP结果后,使用measure功能确认目标数值,例如RMS、average等,得到一个含有目标结果的XMP。然后创建优化optimization后,在target列表选择评估目标。

优化

1.在Speos中,打开案例LightGuide_Tutorial,此案例可以在Ansys learning Hub优化课程中找到。

2.定义光源、探测器、材料属性、直接仿真运算得到XMP仿真结果。

3.对仿真结果中的出光区域的RMS做为目标优化值。

4.点击optimization,选择light guide仿真,选择R1-R5作为document variable,并修改参数变量的min和max。选择RMS作为target, 设置目标值,权重为1。

5.选择random search,Minimize优化,仿真运算时间600S,GPU运算仿真。

6.最终得到如下结果,优化后RMS降低,整体均匀性提高。

相关推荐
hhzz1 天前
【OpenCV 入门到精通 05】核心操作与像素处理:ROI、运算与性能优化
人工智能·python·opencv·性能优化
HwJack201 天前
HarmonyOS批量数据与性能优化实战:万条数据入库与不卡 UI 的查询
ui·性能优化·harmonyos
长征coder1 天前
【无标题】
java·性能优化
昇腾知识体系1 天前
昇腾 950 RegBase 性能优化:从 msprof 采数到优化手法
人工智能·华为·性能优化·知识图谱
风哥2号2 天前
数据库教程FGMT13‑Oracle性能优化之数据仓库与分区表
数据库·oracle·性能优化
爱喝水的鱼丶2 天前
SAP-ABAP:隐式/显式增强开发规范与避坑指南:10 类典型错误与运维方案
运维·性能优化·sap·abap·增强·经验交流
风哥2号2 天前
数据库教程FGMT17‑Oracle性能优化之故障诊断与性能优化
数据库·oracle·性能优化
Jay Kay2 天前
昇腾 NPU 上手:ResNet-50 从 ONNX 到 OM 的完整踩坑记录
性能优化
小溪学编程3 天前
Java BufferedReader 详解:从基础用法到性能优化
java·python·性能优化
泡海椒3 天前
告别反射低效:JQuick-Java ASM动态调用链性能优化实战
java·python·性能优化