首页/文章/ 详情

Ansys 2024 R2-Ansys 光学与光子学仿真新功能介绍——Speos

1月前浏览945

Speos 新功能介绍

1. 光学设计交换增强功能

1.1 在2024 R1版本中引入的光学设计交换文件旨在创建OpticStudio和Speos之间的连接,以确保无缝的杂散光分析流程。
     

1.2 改进定义面板:可以查看不同几何形状的所有参数(可从定义面板查看以下参数:非球面表面类型、Q型非球面表面类型、Zernike表面类型)。

1.3 所有参数均可通过Speos脚本功能访问。

1.4 Speos 2024 R2允许通过在几何表面上定义面光学特性来过度定义光学设计交换特征的表面光学特性。

     

2. 杂散光分析-峰值照度

Speos 2024 R2 通过使用峰值选项考虑斑点的能量,提供了一种对检测到的光学序列进行排序的新方法。

     

3. 杂散光分析-序列检测工具

3.1 为了便于分析检测到的不同序列,序列检测工具得到改进,该列表提供了新的排序功能:

1)“平均值”和“峰值”列对应于前面描述的值;

2)有关每种类型相互作用数量的信息(反射/透射、镜面/高斯/朗伯)。

     
3.2 用户可在右侧的交互列表中访问有关序列的详细信息。
     
3.3 新的序列检测工具包括一个专用的过滤面板。除了过滤包含特定交互ID的序列外,它还允许选择最多两列并设置最小值或最大值(或两者)以优化检索。
     

4. 相机模拟:光源功率随时间变化

Speos相机传感器会考虑动态场景和相关效果,例如卷帘效应和动态模糊效应;相机传感器也可感知的另一个效应是光源通量的时间变化,即所谓的LED闪烁。以往需要去移动灯箱来定义轨迹才能实现上述效果。而现在用户在设置表面光源参数时,可以在专用的json文件中定义相对源通量随时间的变化。此新功能可在CPU和GPU上使用。

     

5. 实时预览改进

5.1 通过实时预览,可以使用虚拟照明控制器对结果的后期处理单独控制光源。

     
5.2 可以通过输入数值或是使用滑块来单独或按组调整光源,光照水平会即时更新,无需重新启动GPU模拟。
5.3 可以在模拟过程中创建和使用照明配置,将结果导出为xmp文件时也会保留这些配置。

5.4 支持VR传感器,包括Observer和Immersive 传感器。

     

6. 光导-多光轴

光导允许沿其引导曲线定义不同的光轴,以将光线发送到各个方向。因此,当观察者的方向围绕光导改变时,可以创建一些动态照明外观。这种高级功能对于间接照明也很有用,可以更好地控制光线方向。

     

- END -



关注更多产品资讯

关注摩尔芯创



摩尔芯创专注于为硅基光电子、电力电子、高科技半导体等行业提供先进的电子设计自动化(EDA)和计算机辅助工程(CAE)协同解决方案;提供从光学、光电子学、电磁场、结构、流体、多物理场耦合等全面的工业软件应用解决方案和咨询服务。


来源:摩尔芯创
半导体光学电力电子CST控制SPEOSANSYS
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2024-10-19
最近编辑:1月前
摩尔芯创
光学仿真、光学培训、硅基光电子
获赞 6粉丝 5文章 36课程 0
点赞
收藏
作者推荐

Lumerical Python API (三) - 会话管理

本文演示了 Lumerical 仿真软件与 Python 联合工作的具体流程,展示了开发复杂的自动化仿真计算和高级数据处理、绘图的可行性。使用 Python API(即上一篇文章中提到的lumapi库)即可实现仿真软件与Python的交互操作。用户可以用 Python 代码实现对于 Lumerical 软件仿真的初始化设置,运行和迭代,以及数据传递和处理。1. 开启会话连接到 lumapi.py 文件是启用 Lumerical-Python API 接口的关键。首先需要导入 lumapi 库并初始化会话 (初始化会话需要 GUI lisence),详细方法参考Lumerical Python API (二) - 初始配置,之后便可以对仿真对象进行访问,相关的开启会话函数在lumapi库中均有定义:fdtd = lumapi.FDTD() #开启会话mode = lumapi.MODE()device = lumapi.DEVICE()interconnect = lumapi.INTERCONNECT()这种类似构造函数的命令中,带有以下两种可选参数:“hide”:可设置为“True”或“False”,默认为“False”,决定是否显示仿真软件的GUI/CAD界面;“filename”:默认为空,保持默认则创建一个新工程,如果提供了脚本文件,则会在新工程中运行该脚本;如果输入具体文件名则会打开相应文件名的工程。如果要打开名为simple_high_Q_cavity.fsp的工程,只需运行:shQc = lumapi.FDTD(filename="simple_high_Q_cavity.fsp", hide = False)如果要在FDTD中直接运行名为simple_high_Q_cavity.lsf的脚本,且不显示仿真软件的GUI/CAD,只需运行:run_script = lumapi.FDTD(filename="simple_high_Q_cavity.lsf", hide= True)2. 导入方法使用API接口进行编程时,可以用Python定义函数,也可以利用lumapi中的自动同步函数,从 .lsf 脚本文件中导入函数,具体方法是用eval( )函数执行脚本。例如,要导入脚本字符串中的函数,只需运行:fdtd = lumapi.FDTD()fdtd.eval("function helloWorld(){return \"hello world\";}\nfunction addTest(a,b){return a+b;}")print(fdtd.helloWorld())print(fdtd.addTest(9.2,2))便会输出结果“hello world”以及“11.2”。要导入脚本文件“testScript.lsf”中的函数,只需运行:fdtd = lumapi.FDTD()script = open('C:/desktop/testScript.lsf'.'r').read()fdtd.eval(code)脚本也可以在构造函数中作为参数来定义方法: def testAddingMethodsFromConstructor(self):app = self.appConstructor(script='testScript.lsf')expectedMethods = {'helloWorld'}expectedResults = ['hello world from script file']results = []results.append(app.helloWorld())self.assertEqual(results, expectedResults)app.close()3. 仿真对象从2019a版本开始,Python API支持使用构造函数添加对象和从构造函数设置仿真对象。构造函数可以添加仿真区,并设置相关的参数,如位置、大小等等:fdtd.addfdtd(dimension="2D", x=0.0e-9, y=0.0e-9, x_span=3.0e-6, y_span=3.0e-6)添加监视器:props = OrderedDict([("name", "power"),("override global monitor settings", True),("x", 0.),("y", 0.4e-6), ("monitor type", "linear x"),("frequency points", 10.0)])fdtd.addpower(properties=props)如果对象的某一参数会受到其他参数影响,这时使用有顺序的字典设置,要用到OrderedDict( )函数,注意OrderedDict包只适用于Python 2,可以安装适用于Python 3的Collections包。如果参数独立,则可以直接用Python字典设置:props = {"name": "power", "x" : "0.0", "y" : "0.0", "monitor type" : "linear x"}fdtd.addpower(properties=props)如果要给仿真对象修改或添加某些参数,lumapi中均有相应的函数来完成,也可以通过本文“2.导入方法”中提到的方式,用一些.lsf脚本命令实现,例如添加长方体:rectangle = fdtd.addrect(x = 2e-6, y = 0.0, z = 0.0)rectangle.x_span = 10.0e-6rectangle.y_span = 0.4e-6rectangle.z_span = 0.2e-6Python会自动删除作用域以外的变量,因此大多数时候不需要手动关闭会话。在pyCharm中,Python程序运行结束也会自动关闭会话,即所打开的仿真软件窗口在程序运行结束时会自动关闭。也有一些其他编译器,不自动关闭会话,如果想手动进行关闭,可以使用close( )函数:fdtd.close() #关闭会话本节简单介绍了lumapi的会话管理,可以初步实现Lumerical仿真软件与Python脚本的交互。Lumerical脚本语言可以看作是Python代码的子集,lumapi给用户提供了更为丰富的创造空间,原先.lsf脚本难以实现的功能,现在都有希望借助Python脚本实现。之后我们将讨论两种脚本之间的关联,并阐述Python与Lumerical之间数据传递的规律。[1]https://optics.ansys.com/hc/en-us/articles/360041873053来源:摩尔芯创

未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习 福利任务 兑换礼品
下载APP
联系我们
帮助与反馈