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降低,整体均匀性提高。

相关推荐
无尽的大道12 小时前
Java反射原理及其性能优化
jvm·性能优化
萌面小侠Plus16 小时前
Android笔记(三十三):封装设备性能级别判断工具——低端机还是高端机
android·性能优化·kotlin·工具类·低端机
人工智能培训咨询叶梓21 小时前
探索开放资源上指令微调语言模型的现状
人工智能·语言模型·自然语言处理·性能优化·调优·大模型微调·指令微调
CodeToGym1 天前
Webpack性能优化指南:从构建到部署的全方位策略
前端·webpack·性能优化
无尽的大道1 天前
Java字符串深度解析:String的实现、常量池与性能优化
java·开发语言·性能优化
superman超哥1 天前
04 深入 Oracle 并发世界:MVCC、锁、闩锁、事务隔离与并发性能优化的探索
数据库·oracle·性能优化·dba
前端青山1 天前
Node.js-增强 API 安全性和性能优化
开发语言·前端·javascript·性能优化·前端框架·node.js
青云交2 天前
大数据新视界 -- 大数据大厂之 Impala 性能优化:应对海量复杂数据的挑战(上)(7/30)
大数据·性能优化·impala·数据分区·查询优化·海量复杂数据·经典案例
chusheng18402 天前
Python 爬取大量数据如何并发抓取与性能优化
开发语言·python·性能优化
ueotek2 天前
Ansys Zemax | 手机镜头设计 - 第 4 部分:用LS-DYNA进行冲击性能分析
智能手机·ansys·zemax·光学