COMSOL - 一个点光源是否总能照亮整个房间?

20 世纪 50 年代,数学家恩斯特·施特劳斯(Ernst Straus)提出了一个有趣的问题:在一个侧壁由理想反射镜构成的任意形状的空房间里,一个点光源是否总能照亮整个房间?诺贝尔奖获得者罗杰·彭罗斯(Roger Penrose)爵士巧妙地回答了这个问题,他设计了一个包含不能被照亮区域的房间,因此被称为“无法被完全照亮的彭罗斯房间”(以下简称“彭罗斯房间”)。然而,彭罗斯房间真的不能被完全照亮吗?在今天这篇文章中,我们将使用 COMSOL Multiphysics 软件进行模拟,看看情况是不是像他所回答的那样,并讨论了射线光学的基本假设。

照明问题

当你次听到这个问题时,可能不能立即明白它到底在问什么。我们以下图中的示例来说明。如左图所示,一个二维房间的镜面墙可以是任意形状,光源可以位于房间内的任何位置。在这种特殊情况下,很容易想象整个房间都会被光源照亮,这一点也在右图中的射线追踪模拟中得到了证实。本质上,施特劳斯的问题是:是否存在这样一种房间形状设计,当在其中放置点光源时,某些区域不会被照亮。

图片一个任意形状的空房间,周围是完美的镜子,房间内放有一个点光源(左)。射线追踪模拟显示整个房间都被点光源照亮(右)。

看到这个问题,我立刻想到,也许一个拐角很尖的房间可以阻止某些区域被照亮。但是,你可能已经猜到了:如果可以这么容易地计算出一个不能被照亮的房间的形状,那么对于科学界来说,这就不是一个有趣的问题了。我们可以看到,只要有足够的时间,灯光总会照亮整个房间。在这一点上,你可能不相信并认为你可以设计一个不能被照亮的房间。如果你准备接受这个挑战,欢迎你随时使用 COMSOL 射线光学模块来试一试。

带有尖角的房间完全被点光源照亮。

无法被完全照亮的彭罗斯房间

这个棘手的问题终被杰出的 2020 年诺贝尔物理学奖得主罗杰·彭罗斯解决了。如下图所示,他的设计初看并不显眼。这个房间由顶部和底部的两个椭圆形墙壁和一个带有两个“伞”形切口的矩形区域组成。设计的要求是,将顶壁和底壁描述为椭圆 图片,并且椭圆的焦点与伞的角点重合。一些细节,诸如 图片 和 图片 的具体值、伞的形状、伞的宽度等都不会改变房间的属性。

无法被完全照亮的彭罗斯房间的设计。

让我们使用射线光学模块来看看它是否有效!在下面的动画中,我们将点光源放置在一些具有代表性的位置——中心、上半部分和左边伞的左侧(如果我们假设伞是直立的,那么光源就位于伞的下方),光线从这些点各向同性地发射。显然,在任何情况下,都存在未被光照亮的区域。当光源被放置在伞的下方时,光线甚至不会传播到房间的下半部分。请注意,这并不是因为时域仿真运行时间不够长。即使时间接近无限长,这些阴影区域仍然没有被照亮。

将点光源放置在彭罗斯房间的不同位置进行射线追踪模拟。在任何情况下,总是存在未照亮的区域。

彭罗斯房间的独特性来自于椭圆镜的特殊性。你可能还记得,在大学光学课上学过,从椭圆镜的一个焦点发出的光将聚焦在另一个焦点上,下面左下方的动画演示了这一特性。椭圆镜另一个鲜为人知的特性是,当光线从椭圆的一个焦点和其近的顶点之间发出时,它只会到达另一个焦点和另一个顶点之间的一点,永远不会与焦点之间的长轴相交,这个特性在下面中间的动画中进行了演示。此外,从两个焦点之间发出的光永远不会与每个焦点和其近的顶点之间的长轴相交,如下面右边的动画所示。

左:在焦点处发射的光线只会在焦点处与长轴相交。中:在焦点和近的顶点之间发射的光线不会与焦点之间的长轴相交。右:在两个焦点之间发射的光线只会与焦点之间的长轴相交。

考虑到这些特性,我们可以将彭罗斯房间划分为如下所示的区域。再次提醒,在彭罗斯的设计中,椭圆的焦点与伞的边缘重合。因此,我们知道:

放置在A1里面的一个点光源,只会照亮 ,A1,B1和 A2,因为它永远不能与焦点之间的椭圆长轴相交并进入 C1 区域。

放置在 B1 的一个点光源,不能照亮 A3 和 A4,因为光线只能进入下椭圆的两个焦点之间的下半部。因此,它们永远不能与焦点和顶点之间的长轴相交并进入 A3 和 A4。

同样的原因,放置在C1 的一个点光源,不能照亮 A1, A2, A3和 A4。

由于对称性,放置在房间下半部分相应区域的光源也会产生相同的效果。因此,我们可以得出结论,无论点光源放置在房间内的哪个位置,彭罗斯房间都会存在不能被照亮的区域。

将房间划分为不同的区域。放置在 A1 区域的一个光源只会照亮 A1, B1和 A2区域;放置在 区域的 一个光源不会照亮A3 和 A4。放置在 C1 的一个光源不会照亮 A1,A2,A3 和 A4。

让光存在:照亮没有照亮的区域

上文中的射线追踪模拟似乎显示了令人信服的结果,证实了房间无法被照亮,但真的是这样吗?我们不能忘记射线光学的基本假设:光的波长远远小于与光相互作用的物体的大小,因此,衍射效应可以完全忽略。我们记得 图片 是描述房间顶部和底部墙壁的椭圆的长轴。射线光学模拟本质上是假设波长 <<。如果我们有一个大小在米级尺度的真实房间,光源在可见光谱范围内(约 500nm 波长),这个假设是成立的。但是,如果我们缩小房间或者增加光的波长,使 图片 与 图片 大小相当,那会怎样?

为了测试这一点,我们现在使用波动光学模块进行全波模拟。一个点[线电流(面外)]放置在左上角的伞的下方(图片 区域),类似于上面显示的房间的第三个射线追踪动画。线电流用作点源,发射出电场指向面外方向的圆柱形波。在频域中模拟波长增加时的场分布,如下图所示。正如预期的那样,在 图片(左上)时,场分布与射线追踪模拟相似。场似乎没有穿过房间的下半部分。然而,随着波长变长,衍射更加突出,场渗入到房间的下半部分。在 图片(左下)和 图片(右下)时,很明显之前没有被照亮的区域被照亮了!

图片在 图片, 图片, 图片 和 图片 时,模拟的频域中的场分布。在较短的波长下,场分布与射线追踪结果类似。然而,在较长的波长下,场会穿透到之前由于衍射而没有被照亮的区域。图中绘制了电场的模。

除了使用电磁波,频域接口来展现达到稳态时的场分布外,使用电磁波,瞬态接口运行时域仿真可以通过视图查看波的传播和衍射过程。

由位于房间上半部的左侧伞的“下方”(左侧)的线电流发出的面外电场,并在时域中进行了模拟。由于衍射,电场渗入到房间的下半部分。波长为 。

波干涉

到目前为止,我们的模拟似乎表明彭罗斯房间只有在忽略衍射效应的前提下才能不被照亮。但是,我们必须意识到,不能急于得出这个结论,实际情况更加复杂。当光的波动性出现时,需要考虑另一个重要现象——干涉。通过查看频域仿真结果,我们可以看到,在许多区域,电场模实际上为零。这是因为出射波和衍射波相互干涉,形成一个场强存在零点的驻波模式。因此,从某种意义上说,这些区域在达到稳态时并未被照亮。如果等待足够长的时间,总会有没有光线的区域。从时域角度来看,当光波次传播到这些区域时,它们在一段时间内被照亮,直到衍射波到达后抵消电场。从这个意义上说,整个房间至少在一段时间内都被照亮了。总之,整个房间有没有被照亮取决于你的解释。重要的是,我们可以看到,在不同的尺度上,光学现象看起来可能大不相同。作为仿真工作者,我们始终需要牢记波动光学和射线光学之间的根本区别,以及与之相关的独特现象。

结语

除了这个有意思的数学谜题之外,彭罗斯房间是展示波动光学和射线光学之间根本区别的一个很好的例子。在不同的假设下,同一个问题的结论可能完全不同。它还回答了很多初学者提出的问题:COMSOL? 软件有两个光学模块。我应该使用波动光学模块还是射线光学模块来模拟我的光学问题?简单的回答是:我们研究的几何尺寸远大于相关波长,如可见光与相机透镜系统的交互或街道上运行的激光雷达,那么使用射线光学模块就非常合适。另一方面,如果我们关注的是尺寸与波长相当或更小的纳米粒子的光散射现象,那么使用波动光学模块或 RF 模块进行全波模拟是不可避免的。同时,模块的选择还取决于你感兴趣的物理量和过程。例如,射线光学模拟可以生成光传播路径,而波动光学模拟可以渲染完整的电场分布。

为你的仿真选择合适的模块不仅可以确保仿真结果的准确性,还可以节省大量的仿真时间。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/35398.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

1S013485认证:企业腾飞的引擎

在全球化的今天&#xff0c;企业要想在激烈的市场竞争中立于不败之地&#xff0c;必须不断提升自身的综合实力。1S013485认证正是帮助企业实现这一目标的重要工具。获得这项认证&#xff0c;企业不仅能在市场竞争中占据优势&#xff0c;还能在多个层面实现质的飞跃&#xff0c;…

mac m芯片下安装nacos

背景&#xff1a;最近再研究 下载地址&#xff1a; https://nacos.io/download/nacos-server/ 解压zip包 unzip nacos-server-2.3.2.zip启动 进入到bin目录下 ./startup.sh -m standalone访问可视化界面 账号密码都是nacos&#xff0c;进行登录即可&#xff0c;nacos的端口为…

还在为职场烦恼?六西格玛黑带培训来帮忙!

为什么现在越来越多的学员都直奔六西格玛黑带培训呢&#xff1f;别急&#xff0c;张驰咨询这就来给你们揭秘&#xff01; 首先&#xff0c;六西格玛这个名头可不是盖的&#xff01;它就像是企业管理的“超级英雄”&#xff0c;专门解决各种流程中的“小怪兽”——也就是那些影…

Hadoop3:MapReduce中的Shuffle机制

一、流程图 Shuffle是Map方法之后&#xff0c;Reduce方法之前的数据处理过程称。 二、图解说明 1、数据流向 map方法中context.write(outK, outV);开始&#xff0c;写入环形缓冲区&#xff0c;再进行分区排序&#xff0c;写到磁盘 reduce方法拉取磁盘上的数据&#xff0c;…

Appium+python自动化(二十五)- 那些让人抓耳挠腮、揪头发和掉头发的事 - 获取控件ID(超详解)

简介 在前边的第二十二篇文章里&#xff0c;已经分享了通过获取控件的坐标点来获取点击事件的所需要的点击位置&#xff0c;那么还有没有其他方法来获取控件点击事件所需要的点击位置呢&#xff1f;答案是&#xff1a;Yes&#xff01;因为在不同的大小屏幕的手机上获取控件的坐…

[SAP ABAP] 汇总内表数据

在加入新数据记录时&#xff0c;将非数值字段具有相同内容记录的数值字段汇总 语法格式 COLLECT <wa> INTO <itab>. <wa>&#xff1a;代表工作区 <itab>&#xff1a;代表内表 示例1 结果显示&#xff1a;

多维度mysql性能优化手段实践

数据库优化维度有四个:硬件升级、系统配置、表结构设计、SQL语句及索引。 优化选择: 优化成本:硬件升级>系统配置>表结构设计>SQL语句及索引。 优化效果:硬件升级<系统配置<表结构设计<SQL语句及索引。 系统配置优化 保证从内存中读取数据 MySQL会在内…

【云原生】深入理解Pod的使用进行管理

深入理解Pod 文章目录 深入理解Pod一、介绍Pod1.1、什么是Pod1.2、Pod的特点1.3、Pod的用途1.4、Pod网络1.5、Pod存储1.6、Pod的工作方式 二、创建Pod2.1、命令行创建Pod2.2、资源清单创建Pod2.2.1、镜像拉取策略2.2.2、Pod重启策略2.2.3、部署资源2.2.4、删除资源 三、静态Pod…

Go语言之集合类型

个人网站&#xff1a; http://hardyfish.top/ 免费书籍分享&#xff1a; 资料链接&#xff1a;https://url81.ctfile.com/d/57345181-61545511-81795b?p3899 访问密码&#xff1a;3899 免费专栏分享&#xff1a; 资料链接&#xff1a;https://url81.ctfile.com/d/57345181-6…

浏览器扩展V3开发系列之 chrome.storage 的用法和案例

【作者主页】&#xff1a;小鱼神1024 【擅长领域】&#xff1a;JS逆向、小程序逆向、AST还原、验证码突防、Python开发、浏览器插件开发、React前端开发、NestJS后端开发等等 chrome.storage 是用于存储、获取用户数据的 API。当我们需要持久化存储数据时&#xff0c;比如&…

目标检测系列(四)-利用pyqt5实现yolov8目标检测GUI界面

1、pyqt5安装 Qt Designer&#xff1a;一个用于创建图形用户界面的工具&#xff0c;可轻松构建复杂的用户界面。它基于MVC架构&#xff0c;可以将界面设计与逻辑分离&#xff0c;使得开发更为便捷。在Qt Designer中&#xff0c;可以通过拖拽控件来灵活地调整界面&#xff0c;并…

11. Java线程的状态详解

1. 前言 本节内容主要是对多线程的 6 种状态进行详细讲解&#xff0c;具体内容点如下&#xff1a; 抛开语言&#xff0c;谈操作系统的线程的生命周期及线程 5 种状态&#xff0c;这是我们学习 Java 多线程 6 种状态的基础&#xff1b;掌握 Java 的线程生命周期及 6 种线程状态…

电脑没声音是什么原因?一篇文章帮你解决疑惑

在使用电脑时&#xff0c;声音是至关重要的一部分&#xff0c;无论是播放音乐、观看视频还是进行视频会议。然而&#xff0c;有时候电脑可能会出现没声音的情况&#xff0c;这让人感到非常困扰。那么电脑没声音是什么原因呢&#xff1f;本文将详细介绍解决电脑没声音问题的三种…

机器人自主学习方法学习

各类算法的优缺点 原理&#xff1a; 该结构中初始的知识为0&#xff0c;不存在任何先验知识&#xff0c;让机器人与环境交互不断获得经验&#xff0c;是一个增量学习的过程。 算法举例 基于强化学习的开源算法及工具 OpenAI Gym&#xff1a;用于开发和比较强化学习算法的工具…

电脑开不了机怎么办?无响应就试试这3个方法,快速解决黑屏

当电脑突然变得沉默寡言&#xff0c;没有任何响应&#xff0c;屏幕只剩下一片漆黑时&#xff0c;不仅会打断我们的计划&#xff0c;还可能让我们感到无助和焦虑。电脑开不了机怎么办呢&#xff1f;如果你正面临这样的困境&#xff0c;别担心&#xff0c;本文将引导你通过三个简…

姚期智、张亚勤、薛澜、Stuart Russell、Max Tegmark,DeepMind研究员等共话全球AI治理丨大会回顾...

为什么AI安全已迫在眉睫&#xff1f;如何构建全球范围内的合作&#xff1f;民众该如何参与到其中&#xff1f;未来的AI系统将是什么样的&#xff1f; 2024年6月15日&#xff0c;智源大会第二天&#xff0c;多位AI安全领域专家进行圆桌讨论&#xff0c;连接中国北京和美国加利福…

Unity编辑器工具---版本控制与自动化打包工具

Unity - 特殊文件夹【作用与是否会被打包到build中】 Unity编辑器工具—版本控制与自动化打包工具&#xff1a; 面板显示&#xff1a;工具包含一个面板&#xff0c;用于展示软件的不同版本信息。版本信息&#xff1a;面板上显示主版本号、当前版本号和子版本号。版本控制功能…

企业数据挖掘平台产品特色及合作案例介绍

泰迪企业数据挖掘平台是一款通用的、企业级、智能化的数据分析模型构建与数据应用场景设计工具&#xff0c;能够一体化地完成数据集成、模型构建、模型发布&#xff0c;为数据分析、探索、服务流程提供支撑&#xff0c;提供完整的数据探索、多数据源接入、特征处理、模型搭建、…

基于KNN的旋转机械故障诊断(MATLAB)

KNN算法又称K-近邻算法&#xff0c;其主要思想是&#xff1a;对于要分类的样本按照一定的相似性度量方法寻找与之最近的K个邻居&#xff0c;计算这K个邻居中类别出现次数最多的那个类作为该样本所属类。其算法步骤如下。 (1)计算待分类样本与训练集中各个数据之间的距离。 (2…

mybatis-plus 实体中空字段更新不上

FieldStrategy 是一个枚举类型&#xff0c;它定义了字段的几种策略&#xff1a; IGNORED&#xff1a;忽略判断&#xff0c;所有字段都进行更新操作 NOT_NULL&#xff1a;非 NULL 判断&#xff08;默认策略&#xff09;&#xff0c;字段非 NULL 才进行更新 NOT_EMPTY&#xff…