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

相关推荐
~无忧花开~18 小时前
JavaScript学习笔记(二十八):JavaScript性能优化全攻略
开发语言·前端·javascript·笔记·学习·性能优化·js
武子康1 天前
Java-148 深入浅出 MongoDB 聚合操作:$match、$group、$project、$sort 全面解析 Pipeline 实例详解与性能优化
java·数据库·sql·mongodb·性能优化·系统架构·nosql
dcloud_jibinbin1 天前
【uniapp】体验优化:开源工具集 uni-toolkit 发布
前端·webpack·性能优化·小程序·uni-app·vue
程序员卷卷狗1 天前
JVM实战:从内存模型到性能调优的全链路剖析
java·jvm·后端·性能优化·架构
武子康1 天前
Java-146 深入浅出 MongoDB 数据插入、批量写入、BSON 格式与逻辑查询and or not操作指南
java·开发语言·数据库·sql·mongodb·性能优化·nosql
曾令胜1 天前
excel导出使用arthas动态追踪方法调用耗时后性能优化的过程
spring·性能优化·excel
笨笨狗吞噬者2 天前
【uniapp】体验优化:开源工具集 uni-toolkit 发布
性能优化·微信小程序·uni-app
智能化咨询2 天前
基于Spring Boot + Vue 3的乡村振兴综合服务平台性能优化与扩展实践
vue.js·spring boot·性能优化
去往火星2 天前
QML Profiler性能优化教程
性能优化
立方世界2 天前
HTML编写规则及性能优化深度解析:从基础到企业级实践
前端·性能优化·html