首页/文章/ 详情

用 AI 编程实现全自动 COMSOL 仿真

3月前浏览2204

启语

真正拉开效率差距的,已不再是会不会操作软件,而是能不能把经验、流程与试错教训,凝练成 AI 可执行的指令 当 Agent 接管 COMSOL 的建模、调参、验收与交付,我们得到的便不只是一次仿真结果,而是一条可复 制、可进化的自动化工作流——这正是 AI 时代最强大的生产力。


需要预先准备好的东西



1、在windows电脑上安装COMSOL

2、在windows电脑上安装Codex


(具体方案不便细说,大概是可以去某鱼上搜business激活账号,去官网安装codex即可,非常便宜。)

(其他的Coding Agent理论上也可以完成该任务,包括Claude Code 、 Codex 、Cursor 、Trae 、 AntiGravity等,但是 Claude Code 和 Codex 是其中最强大的。其实更推荐使用 Claude Code,但是订阅难度远高于Codex,因此用Codex作为示例。)


COMSOL 自动化仿真步骤


1、找到自己电脑上 COMSOL 的 Java 解释器 和 help 文档的位置

我电脑上6.3 版本的COMSOL是自带Java解释器的,其他版本一般也会自带,路径为:


"T:\Program Files\COMSOL\COMSOL63\Multiphysics\java\win64\jre\bin\java.exe"

大家也要找到并记录下来,一般都在COMSOL安装目录下的类似位置。

然后就是找到COMSOL的Java API等 help文档的路径。因为Codex关于COMSOL使用的训练资料比较少,给它关键的help文档,它可以学习COMSOL Java 接口的调用。此外如果遇到问题它可以自己去查询,纠错。

在我的电脑上他们的路径是:














备注:下面这些路径的文档是COMSOL官方提供的脚本文件参考文档,你可以选择学习其中有价值的,以及遇到问题可以去其中检索:T:\\Program Files\\COMSOL\\COMSOL63\\Multiphysics\\doc\\pdf\\COMSOL_Multiphysics\\ApplicationProgrammingGuide.pdf适合让 AI 理解 COMSOL Java API 的编写流程、建模步骤、调用方式、自动化思路。
T:\\Program Files\\COMSOL\\COMSOL63\\Multiphysics\\doc\\pdf\\COMSOL_Multiphysics\\COMSOL_ProgrammingReferenceManual.pdf这是更偏“命令/对象/接口参考”的手册,写自动仿真代码时很关键。
T:\\Program Files\\COMSOL\\COMSOL63\\Multiphysics\\doc\\help\\wtpwebapps\\ROOT\\doc\\com.comsol.help.comsol\\api\\index.html这是一整套本地 Java API 文档入口,下面有大约 497 个文件,属于 Javadoc 风格的 API 参考。
T:\\Program Files\\COMSOL\\COMSOL63\\Multiphysics\\doc\\help\\wtpwebapps\\ROOT\\doc\\com.comsol.help.comsol\\api\\com\\comsol\\model\\util\\ModelUtil.html这是 COMSOL Java API 里非常核心的入口类文档。

这四个是比较关键的,大家找到这四个文件放到prompt的最后作为备注就可以了。


2、编写并发送 prompt(核心步骤)

因为COMSOL能仿真的东西实在太多了,这里仅以一个集成光学的MMI器件为例,其他各种仿真的方法几乎一样。只要把你的仿真需求足够详细地描述出来,Codex基本都可以实现。

初版本Prompt:

























你需要完成COMSOL仿真任务,具体细节如下:1. 我正在使用6.3版本的COMSOL Multiphysics,请使用其自带的JAVA解释器,路径为"T:\\Program Files\\COMSOL\\COMSOL63\\Multiphysics\\java\\win64\\jre\\bin\\java.exe"2. 编写脚本仿真设计一个3D的 1x2 MMI分束器分束器包括输入波导,输入taper,矩形的MMI干涉区,输出taper,输出波导等结构你需要自己搜索学习标准的1x2MMI的结构3. 仿真波段为1550nm,基模 TE 模式4. 基于 220nm 的SOI 硅波导工艺平台,衬底和包层均为二氧化硅,波导宽度450nm
**验收条件为:器件成功实现等功率分束,分束功率的不均衡度小于5%,同时传输损耗小于0.5dB。**
**要注意的地方:**1请你自己运行代码,根据代码的返回结果,在终端里帮我debug程序,直到最终整个代码可以正常运行并且器件性能满足验收条件
最后,在你完成所有的优化后:1把最后的优化完成的结果,保存为一个COMSOL仿真文件让我来检验2撰写一份详细的仿真报告,格式为docx,包括详细的仿真过程和仿真结果
备注:下面这些路径的文档是COMSOL官方提供的脚本文件参考文档,你可以选择学习其中有价值的,以及遇到问题可以去其中检索:[ApplicationProgrammingGuide.pdf](T:\\Program Files\\COMSOL\\COMSOL63\\Multiphysics\\doc\\pdf\\COMSOL_Multiphysics\\ApplicationProgrammingGuide.pdf)适合让 AI 理解 COMSOL Java API 的编写流程建模步骤调用方式自动化思路[COMSOL_ProgrammingReferenceManual.pdf](T:\\Program Files\\COMSOL\\COMSOL63\\Multiphysics\\doc\\pdf\\COMSOL_Multiphysics\\COMSOL_ProgrammingReferenceManual.pdf)这是更偏“命令/对象/接口参考”的手册,写自动仿真代码时很关键[api\\index.html](T:\\Program Files\\COMSOL\\COMSOL63\\Multiphysics\\doc\\help\\wtpwebapps\\ROOT\\doc\\com.comsol.help.comsol\\api\\index.html)这是一整套本地 Java API 文档入口,下面有大约 497 个文件,属于 Javadoc 风格的 API 参考[ModelUtil.html](T:\\Program Files\\COMSOL\\COMSOL63\\Multiphysics\\doc\\help\\wtpwebapps\\ROOT\\doc\\com.comsol.help.comsol\\api\\com\\comsol\\model\\util\\ModelUtil.html)这是 COMSOL Java API 里非常核心的入口类文档

(缺点:这个Prompt比较初级,Codex在运行的时候会发现很多问题,需要codex自己试错,花费时间较长。但是我自己尝试过是完全可以跑通的。)

  1. 这是一个简易的但是能用的Prompt。在开头和结尾的备注提供 COMSOL 的 Java 解释器 和 help 文档的位置

  2. 合适的「验收条件」很重要!是你需要的优化的器件的性能量化指标,达到这个指标后Codex会结束仿真优化。

  3. 「要注意的地方」这里可以填入一些你以往跟Codex交互觉得它做得不够好的地方,提前提醒让它注意。

  4. 最后你写上一些方便的生成检查文件的要求,比如可以让他把仿真结果做成生动的PPT给你看,或者写成标准的说明文档。


Codex需要选择一个工作目录,可以是桌面上创建的一个新的文件夹。建议使用 GPT 5.4 模型,推理等级高。并且切换为「完全访问权限」。

写好这样一个Prompt,就把它直接发送给Codex即可。

3、等待Codex运行

就纯等。仿真时间可能会达到几个小时。因为Codex第一次使用COMSOL会经历很多次试错。

4、验收仿真结果。

如果有问题可以继续反馈给Codex让它修改。

这里可以看到他已经给我生成了比较好的仿真结果。

已经生成好的各种仿真文件和仿真报告:

生成的仿真文件:

物理结构:

光场传输仿真结果:

最终的结构参数和性能参数,实现了较均衡的功率分束和低损耗:

步骤总结



Prompt积累与进阶


当你完成这次仿真后,你可以给Codex发下面这样的Prompt:








我看得出来你在使用COMSOL的过程中经历了很多次试错。接下来请总结你这次运行代码的所有过程,然后把使用COMSOL 6.3的经验总结下来,生成一个md文档,仅仅保留核心的内容即可。然后再帮我生成一个附注prompt, 让我可以发给另一个codex,让它可以避免这些试错,来更高效地完成这样一个COMSOL仿真任务。注意我需要的是一个一个通用的附注Prompt,不需要包括这次仿真器件的具体细节,让我的这个Prompt针对其他器件仿真也能够对Codex起到帮助避免错误的作用。

这样Codex会把这次仿真过程中遇到的所有关键错误都总结下来,下次让Codex调用COMSOL仿真的时候,就可以把这个附注Prompt放到你的主要Prompt的后面,把这些错误提前告诉它,从而提高仿真效率。

下面是我得到的Codex反馈:
































































# COMSOL 6.3 通用附注 Prompt```text你现在要完成一个 COMSOL 6.3 的自动化仿真任务。请把重点放在“减少试错、快速形成可运行闭环”上,而不是一开始就追求完整大模型。请严格遵守以下工作方式:1. 先验证环境,再开始正式建模- 先确认 COMSOL 自带 Java、编译器、类路径都可用- 先写一个最小 s moke test:创建模型、保存 .mph、退出- 在 s moke test 成功前,不要开始完整器件建模2. 先查官方资料,再写 API- 优先使用本地官方文档、Javadoc、Programming Reference、Application Programming Guide- 优先参考 COMSOL Application Library 中最接近的官方模型- 不要仅凭记忆猜对象名、特征名、属性名3. 先做“最小可运行模型”,再迭代- 第一阶段只验证:几何、材料、物理接口、求解流程能否跑通- 第二阶段再增加端口、边界、分区、后处理- 第三阶段再做参数扫描和优化- 永远不要一开始就把全部复杂度堆上去4. 建模时优先选稳定的几何工作流- 先建背景/包层大块- 再在 WorkPlane 中画器件核心截面或顶视图- 多段轮廓先 Union,再 Extrude- 如果后面需要稳定的端口或测量面,优先用 Partition 明确切出边界- 几何变化后,要重新检查关键 selection 是否仍然正确5. 优先追求数值稳定,而不是理论上最“直接”的接口- 如果一个任务有多个可选物理接口,先做小样本测试,比较谁更稳- 一旦某条路线反复出现 NaN/Inf、模式不稳定、端口不收敛,不要死磕,及时换路线- 选择“能稳定自动化并满足验收”的方案6. 对端口/模态问题,先做模态,再做主求解- 如果任务涉及端口、波导、模态或频域传播,先做对应的 mode/boundary mode an alysis- 再做主求解- 如果主求解失败,优先检查端口边界、边界条件、几何内部假界面,而不是直接乱改求解器7. 命名和选择集必须显式- 给关键区域、边界、端口、测量面建立 named selection- 给关键参数写清名称和单位- 把验收指标所需的后处理量明确定义出来8. 参数优化要分两步- 先用较粗精度/较低网格找趋势- 再在目标精度下重新验证候选点- 不要把粗网格最优点直接当最终答案9. 验收量要直接、可解释- 优先使用物理上直接对应验收要求的量- 如果有 S 参数、能量、总功率、反射/透射等标准量,优先用这些量- 不要只用局部积分或间接量做最终结论,除非没有更直接指标10. 最终交付必须顺序收尾- 最终验证、保存 .mph、导图、导报告尽量顺序执行- 避免把最终求解和大批量参数扫描混在一起- 最终要明确写出:关键参数、最终结果、是否通过验收请把你的工作过程控制成下面的节奏:阶段 A:环境验证阶段 B:最小模型跑通阶段 C:关键物理量可提取阶段 D:参数优化阶段 E:目标精度复核阶段 F:导出模型、图片、报告如果中途失败,请优先按这个顺序排查:1. Java/编译/类路径是否正确2. API 对象名或属性名是否真实存在3. 几何是否存在未合并的内部界面4. 选择集是否选错、空选、或选到多余实体5. 端口/边界条件是否合理6. 当前物理接口是否适合自动化求解7. 是否只是网格/精度问题目标不是“探索所有可能性”,而是尽快找到一条能稳定跑通并可交付的 COMSOL 6.3 工作路径。

随着 Prompt 与 skills 的不断积累,那些重复造轮子的工作会被逐步消解,经验开始沉淀为能力,你对 AI 的使用也会越来越得心应手,工作的效率因此不断跃升。



来源:找寻归宿的流浪猫
Comsol光学通用UG参数优化理论材料控制
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2026-05-08
最近编辑:3月前
祈愿的猫
博士 寻觅
获赞 15粉丝 152文章 3课程 5
点赞
收藏
作者推荐

让 AI 替你跑仿真:用 Agent 实现 Lumerical 全自动设计优化

1. 启言Agent(智能体)的出现,让大模型可以直接操控电脑。发展最成熟的Agent就是编程Agent,使用编程Agent的过程一般称作 AI编程 或者 Vibe Coding 。最近我用这套方法,跑通了 Lumerical FDTD、Ansys HFSS、CST 等多款仿真软件的全自动建模与优化,效果超出预期。写下这篇文章,把经验和方法分享给大家。掌握这个方法后,我已经再也没有自己手动跑过仿真了。2. 关于 Vibe Coding什么是 Vibe Coding?最前沿的 Vibe Coding 技术已经不是“随便跟 AI 聊聊,让它写几行代码”,而是:用自然语言描述目标,让 Agent 负责拆解、执行、调试和交付,人类负责定义问题、设置边界、审核结果。第一层次的 Vibe Coding,就是直接与网页端大模型对话。我们和模型直接聊天,靠 Ctrl+C、Ctrl+V 来回搬运信息。这种方式门槛最低,效率也很低。第二层就到了使用Agent进行编程。目前也大概有两种:第一种是在 IDE 中使用 AI。比如 VS Code 插件,或者原生集成 AI 能力的 IDE,例如 Trae、AntiGravity、Cursor 等。第二种是脱离 IDE 的纯 Agent 编程。Agent 能调用终端、读写文件、运行脚本、查看报错、反复迭代。主要工具就是Claude Code 和 Codex。还有更高级的一些手段,但是能达到第二层的人已经寥寥无几。Vibe Coding 工具推荐:第一档:最推荐的当然是Claude Code和 Codex。本文使用Codex Windows桌面端作为演示工具。Claude Code基本只能官方订阅,价格昂贵。Codex可以自己注册账号,然后在咸 鱼一些渠道用很便宜的价格订阅。第二档:Cursor、Trae国际版、AntiGravity、以及Kimi Code 、智谱ZCode等。这些里面有些比较弱的模型,可能不能很好地完成任务。比如Trae国际版中,建议选择Codex5.3模型,Auto模型则很容易出错。大家可以自己想办法获取这些的订阅,都有一些渠道。大家任选一个使用,都可以接着进行下面的自动化仿真。(但是使用较弱的模型可能会导致出错)3. Vibe Coding 驱动 Lumerical 仿真演示:需要事先配置好Codex。使用Vibe Coding的工具推荐中的其他工具也是可以的。这里用Lumerical FDTD的仿真进行举例,实际我还尝试了Lumerical EME 、 FDE 、INTERCONNECT等,方法基本类似,完全适用。我这里使用的 Lumerical 版本是 2025R1 。演示案例:Codex全自动完成 1×2 MMI 分束器设计与仿真第一步,在你喜欢的地方创建一个文件夹,然后打开codex,选择这个文件夹作为Workpspace。然后可以打开下面的更改权限-完全访问权限,这样可以减少很多手动认证的步骤,目前感觉仿真lumerical并没有太大安全风险。第二步,设计好Prompt,发送给Codex:Prompt的设计是该方法最核心的技巧!!!你需要完成Lumerical FDTD仿真任务,具体细节如下:1. 我正在使用2025 R1版本的Lumerical ,请使用其自带的Python解释器,路径为"C:\\Program Files\\ANSYS Inc\\v251\\Lumerical\\python-3.9.9-embed-amd64\\python.exe"。2. 编写脚本仿真设计一个3D的 1x2 MMI分束器。分束器包括输入波导,输入taper,矩形的MMI干涉区,输出taper,输出波导等结构。你需要自己搜索学习标准的1x2MMI的结构。3. 仿真波段为1550nm,基模 TE 模式。4. 基于 220nm 的SOI 硅波导工艺平台,衬底和包层均为二氧化硅,波导宽度450nm。5. FDTD的仿真精度设为2.**验收条件为:器件成功实现等功率分束,分束功率的不均衡度小于5%,同时传输损耗小于0.5dB。****要注意的地方:**1、请你自己运行代码,根据代码的返回结果,在终端里帮我debug程序,直到最终整个代码可以正常运行。并且器件性能满足验收条件。2、全程用固定文件名自动保存文件,避免 lumerical 弹交互窗口。3、注意监视器的尺寸,不要与其他波导重叠,导致检测功率值偏高。最后,在你完成所有的优化后:1、把最后的优化完成的结果,保存为一个lumerical FDTD文件让我来检验。2、撰写一份详细的仿真报告,展示MMI器件的模型结构、传输光场、损耗、分束功率等核心参数。Prompt核心要点:(1)Lumerical 自带的Python路径提取。这个路径一般就跟我的Prompt中的类似,如果找不到的话,可以用 Everything 这个软件搜索 python.exe,就能找到了。一定要把这个路径提供给编程Agent。(2)介绍所需要仿真的器件的要求,基本的要给出工艺平台,仿真波段等参数,要求当然是写的越详细越好。(3)验收条件。一定要给予AI一个可量化的验收条件。而且心里要有数这个验收条件是可以设计出来的,如果把握不准,可以跟上一句:“如果达不到这个条件,请在迭代X次后结束”。X可以是十几次、几十次,具体多少需要根据不同的场景来决定。(4)**要注意的地方:**这里面的几条是使用的过程中发现,Codex等编程Agent容易犯的Lumerical仿真错误,因此特地提醒一下,可以减少一些错误。这些提醒可以固化在所有的Lumerical仿真的Prompt中。(5)最后,为了方便自己验收,可以给他提供一些额外的要求,比如创建好文件让我检查,把所有的数据都处理好做成文档等。然后把Prompt发给Codex,就可以等待它仿真结束了,验收成果了。第三步,等候 Codex 自己迭代运行……如果没有开启完全访问权限这个过程可能需要手动确认一些操作。第四步,验收大概等了半个小时,Codex已经自动完成所有仿真。下面是它给我的仿真结果,已经在工作目录下创建好文件:打开生成的仿真文件:还有他生成好的仿真报告,器件结构图,光场传输图等:性能参数也完全满足我的需求。此外还有其他的使用方法,比如直接喂一篇文献,让Codex复现其中的某个结构,只要prompt认真写,就可以一键复现文章。4. 整个方案的总结:整个流程可以概括为四步:第一步:准备环境。 创建一个工作文件夹,打开 Codex(或其他编程 Agent),将文件夹设为 Workspace。第二步:编写 Prompt。 这是核心环节,Prompt 里需要包含四个关键信息——Lumerical 自带 Python 解释器的路径、器件结构与工艺参数(材料、波段、波导尺寸等)、可量化的验收条件(比如损耗小于 0.5dB、功率不均衡度小于 5%)、以及交付物要求(保存 .fsp 文件、输出仿真报告)。第三步:发送 Prompt,等待 Agent 自动执行。 Agent 会自己建模、运行仿真、读取结果、发现问题、修改参数、重新跑——整个"写代码→跑仿真→看报错→改代码"的循环完全由它自主完成,不需要人盯着。第四步:验收结果。 打开 Agent 生成的 .fsp 文件检查模型结构,查看仿真报告中的光场分布、损耗、分束比等指标,确认是否满足验收条件。不满足就补充反馈让它继续迭代。一句话说就是:你负责定义问题和验收标准,Agent 负责中间所有的脏活累活。5. 为什么 Lumerical 场景特别适合做 Vibe Coding?并不是所有工作都适合一上来就交给 Agent,但 Lumerical 仿真是一个非常典型的适合场景。原因至少有四个。第一,任务目标足够清晰。第二,反馈链条足够完整。第三,验收条件可以量化。第四,交付物是可以检查的。Vibe Coding 在科研和工程里的价值,不只是节省一点写代码的时间,而是把原来靠人盯着软件一点点推进的流程,变成一个可重复、可追踪、可复盘的自动迭代系统。6. 思考科研的时候,有多少个日夜在跑仿真,一点一点建模型,debug,优化参数。但是现在,一段Prompt就可以让AI完全替你完成这些工作。睡觉前把任务交给AI,躺在床上,或许还没睡着,AI已经把任务完成。回头想想,真有点不真实。但这不是梦,是时代确确实实翻了一页。工具从来不是为了取代思考,而是为了把思考者从重复劳动中解放出来。当年 MATLAB 替我们算矩阵,FDTD 替我们解麦克斯韦方程,今天 Agent 开始替我们操作这些求解器本身。你还在手动调参的每一个小时,都是你本可以用来思考下个突破的一个小时。我们热爱科研,不是因为热爱熬夜调参,而是热爱那些灵光乍现的瞬间。把重复的还给机器,把星辰留给自己。未来不属于最会写代码的人,而属于最会提问的人。来源:找寻归宿的流浪猫

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