大学物理数值仿真与可视化教学案例库

本项目基于 Julia 语言和 Syslab 内置 TyPlot 绘图能力开发,面向高校《大学物理》《普通物理》《大学物理实验》《数值计算与可视化》《电磁学》《电磁场与电磁波》《光学》《工程光学》等课程。案例库覆盖力学、电磁学、热学与统计物理、波动与光学、近代物理五大模块,并已扩展光学、电磁学和电磁场专题案例。

每个案例均可独立运行,也可通过 main.jl 统一菜单调用。运行后图片默认保存到中文目录 仿真图像/

目录结构

UniversityPhysics_Syslab_CaseLibrary
├─ README.md
├─ main.jl
├─ common.jl
├─ 仿真图像
├─ 01_力学基础
├─ 02_电磁学
│  ├─ 静电场与电势
│  ├─ 磁场电路与感应
│  └─ 电磁波与场专题
├─ 03_热学与统计物理
├─ 04_波动与光学
│  ├─ 基础波动与几何光学
│  ├─ 干涉衍射与傅里叶光学
│  └─ 偏振与现代光学
├─ 05_近代物理
└─ 教学App
   ├─ 光栅光谱分析教学App
   ├─ 光栅分辨本领仿真App
   ├─ 干涉与衍射综合教学App
   ├─ 圆孔衍射与分辨率教学App
   └─ 牛顿环实验数据处理App

五大模块目录均已改为中文名称。案例较多的电磁学和波动与光学模块只增加一层知识点子目录,便于教学查找,同时避免目录层级过深。

模块说明

模块 内容
01_力学基础 抛体运动、空气阻力、单摆、阻尼受迫振动、行星轨道
02_电磁学 静电场与电势、磁场、电磁感应、电路、电磁波、电磁场专题
03_热学与统计物理 麦克斯韦速率分布、布朗运动、一维热传导
04_波动与光学 基础波动、几何光学、干涉衍射、傅里叶光学、偏振、现代光学
05_近代物理 黑体辐射、光电效应、氢原子能级、无限深势阱

教学App

项目根目录新增 教学App 一级目录,当前包含 5 个光学教学 App。各 App 均使用 Syslab TyAppDesigneruifigure、面板、中文参数输入框、下拉框、复选框、按钮、结果文本框、uiaxesuiimage 开发,可直接形成可操作 GUI 界面,不再是单纯脚本式绘图。

运行方式示例:

cd("教学App/光栅光谱分析教学App")
include("主程序.jl")
启动光栅光谱分析教学App()

5 个 App 分别覆盖光栅光谱分析、光栅分辨本领、干涉与衍射综合、圆孔衍射与分辨率、牛顿环实验数据处理。2026-05-28 已使用 Syslab MCP 逐个完成隐藏 GUI 实例化、参数修改、下拉框/复选框切换、按钮回调、非法参数提示和导出图像测试。

电磁学分层

02_电磁学 下新增电磁场专题案例脚本均已改为中文文件名,并按知识点放入三个子目录:

02_电磁学
├─ 静电场与电势
│  ├─ 点电荷电场分布.jl
│  ├─ 电偶极子电场.jl
│  ├─ 连续带电体电场分布.jl
│  ├─ 均匀带电圆环轴线电场.jl
│  ├─ 电势等值线与电场线.jl
│  ├─ 平行板电容器电场与电势.jl
│  ├─ 高斯定理典型电场.jl
│  ├─ 二维静电场有限差分求解.jl
│  ├─ 平行板电容器边缘场仿真.jl
│  └─ 微带线准静态电场分布.jl
├─ 磁场电路与感应
│  ├─ 长直导线磁场分布.jl
│  ├─ 圆形电流环轴线磁场.jl
│  ├─ 亥姆霍兹线圈磁场分布.jl
│  ├─ 螺线管磁场分布.jl
│  ├─ 霍尔效应仿真.jl
│  ├─ 法拉第电磁感应定律.jl
│  ├─ 导体棒切割磁感线.jl
│  ├─ 旋转线圈发电机.jl
│  ├─ RC电路充放电.jl
│  ├─ RL电路暂态响应.jl
│  ├─ RLC电路暂态与频率响应.jl
│  ├─ 交流电路功率因数.jl
│  ├─ 磁偶极子磁场分布.jl
│  └─ 非均匀磁场带电粒子磁镜效应.jl
└─ 电磁波与场专题
   ├─ 带电粒子在电磁场中的运动.jl
   ├─ 平面电磁波传播.jl
   ├─ 电磁波偏振.jl
   ├─ 坡印廷矢量可视化.jl
   ├─ 电偶极子天线方向图.jl
   ├─ 同轴电缆电磁场与坡印廷矢量.jl
   ├─ 电磁屏蔽与趋肤效应.jl
   ├─ 电磁波界面反射与透射.jl
   ├─ 电磁波驻波与反射系数.jl
   ├─ 矩形波导TE10模式场分布.jl
   ├─ 感应涡旋电场仿真.jl
   └─ 电偶极子辐射场方向图与近远场示意.jl

波动与光学分层

04_波动与光学
├─ 基础波动与几何光学
│  ├─ 一维简谐波传播.jl
│  ├─ 驻波形成.jl
│  ├─ 薄透镜成像仿真.jl
│  ├─ 凸透镜凹透镜光路追迹.jl
│  ├─ 棱镜色散仿真.jl
│  └─ 光纤全反射仿真.jl
├─ 干涉衍射与傅里叶光学
│  ├─ 双缝干涉.jl
│  ├─ 单缝衍射.jl
│  ├─ 光栅衍射仿真.jl
│  ├─ 牛顿环仿真.jl
│  ├─ 劈尖干涉仿真.jl
│  ├─ 薄膜干涉仿真.jl
│  ├─ 迈克尔逊干涉仪仿真.jl
│  ├─ 透镜傅里叶变换仿真.jl
│  ├─ 空间滤波仿真.jl
│  ├─ 圆孔衍射与艾里斑.jl
│  └─ 瑞利判据仿真.jl
├─ 偏振与现代光学
   ├─ 马吕斯定律仿真.jl
   ├─ 布儒斯特角仿真.jl
   ├─ 波片与偏振态转换.jl
   ├─ Jones矩阵偏振仿真.jl
   ├─ 高斯光束传播.jl
   ├─ 激光谐振腔稳定性.jl
   └─ 光拍频现象.jl
└─ 光学专题扩展案例
   ├─ 光栅光谱分析.jl
   ├─ 光栅分辨本领.jl
   ├─ 闪耀光栅仿真.jl
   ├─ 单缝菲涅尔衍射.jl
   ├─ 菲涅尔波带片.jl
   ├─ 圆孔衍射艾里斑.jl
   ├─ 矩形孔衍射.jl
   ├─ 二维孔径FFT衍射.jl
   ├─ 法布里珀罗干涉仪.jl
   ├─ 马赫曾德尔干涉仪.jl
   ├─ 牛顿环曲率测量.jl
   ├─ 薄膜干涉颜色.jl
   ├─ 偏振光干涉.jl
   ├─ 双折射晶体.jl
   ├─ 旋光效应.jl
   ├─ 光纤模式场分布.jl
   ├─ 光纤数值孔径.jl
   ├─ 高斯光束透镜聚焦.jl
   ├─ 激光纵模频率.jl
   └─ 光学系统MTF.jl

新增“光学专题扩展案例”统一放在 04_波动与光学/光学专题扩展案例 中文层级下。20 个教学脚本均使用中文文件名,便于教师按课堂主题直接识别;每个脚本均展开了本案例所需的模型函数、参数设置、数值计算、可视化和关键结果输出,可独立运行和二次修改。

光学专题扩展案例

案例名称 知识点 脚本文件名 教学用途
光栅光谱分析 光栅方程、色散、级次 光栅光谱分析.jl 演示白光经光栅展开及红绿蓝衍射角
光栅分辨本领 R=mN、近邻谱线 光栅分辨本领.jl 比较缝数对谱线分辨能力的影响
闪耀光栅仿真 闪耀角、目标级次 闪耀光栅仿真.jl 说明能量向指定级次集中
单缝菲涅尔衍射 菲涅尔数、近远场 单缝菲涅尔衍射.jl 展示传播距离改变时衍射图样演化
菲涅尔波带片 环带半径、衍射聚焦 菲涅尔波带片.jl 说明衍射元件的聚焦作用
圆孔衍射艾里斑 艾里斑、第一暗环 圆孔衍射艾里斑.jl 连接衍射极限与分辨率
矩形孔衍射 sinc 衍射、主瓣宽度 矩形孔衍射.jl 说明孔径越窄衍射越宽
二维孔径FFT衍射 孔径函数、傅里叶谱 二维孔径FFT衍射.jl 建立孔径与远场衍射图样的对应
法布里珀罗干涉仪 多光束干涉、精细度 法布里珀罗干涉仪.jl 分析反射率对透射峰的影响
马赫曾德尔干涉仪 双光束干涉、相位调制 马赫曾德尔干涉仪.jl 展示相位变化到强度变化的转换
牛顿环曲率测量 等厚干涉、线性拟合 牛顿环曲率测量.jl 用于大学物理实验数据处理演示
薄膜干涉颜色 膜厚、波长选择性 薄膜干涉颜色.jl 解释肥皂膜和油膜彩色条纹
偏振光干涉 相位延迟、检偏器 偏振光干涉.jl 区分偏振干涉与普通光强干涉
双折射晶体 寻常光、非常光 双折射晶体.jl 展示晶体中的光线分裂
旋光效应 旋光率、浓度测量 旋光效应.jl 说明旋光法测量浓度
光纤模式场分布 LP01 模式、模场半径 光纤模式场分布.jl 展示单模光纤横向光强分布
光纤数值孔径 NA、接收角 光纤数值孔径.jl 判断不同入射角是否可耦合
高斯光束透镜聚焦 束腰、瑞利长度 高斯光束透镜聚焦.jl 分析透镜焦距和入射束径对聚焦的影响
激光纵模频率 纵模、自由光谱范围 激光纵模频率.jl 说明腔长越长纵模间隔越小
光学系统MTF MTF、截止频率 光学系统MTF.jl 连接空间频率、分辨率和图像模糊

运行方式

在 Syslab Julia 环境中进入项目目录后运行:

include("main.jl")
run_optics_extension_cases()      # 运行全部光学专题扩展案例
run_wave_and_optics_cases()       # 运行全部波动与光学案例
run_all_library_cases()           # 运行全部案例库案例

也可以直接运行任一中文脚本,例如:

include(joinpath("04_波动与光学", "光学专题扩展案例", "光栅光谱分析.jl"))
run_grating_spectrum_analysis()

教学App

项目根目录新增 教学App 一级目录,当前包含 5 个光学教学 App:

App 子目录 主要内容
光栅光谱分析教学 App 教学App/光栅光谱分析教学App 光栅方程、衍射级次、白光色散
光栅分辨本领仿真 App 教学App/光栅分辨本领仿真App R=mN、近邻谱线分辨、缝数对比
干涉与衍射综合教学 App 教学App/干涉与衍射综合教学App 单缝衍射、双缝干涉、综合条纹
圆孔衍射与分辨率教学 App 教学App/圆孔衍射与分辨率教学App 艾里斑、第一暗环、瑞利判据
牛顿环实验数据处理 App 教学App/牛顿环实验数据处理App 牛顿环半径、线性拟合、曲率半径测量

每个 App 子目录包含 主程序.jl计算函数.jl示例参数说明.mdREADME.md测试.jl。主程序按“左侧参数区、中间图形区、右侧结果说明区、底部按钮区”的教学 App 布局组织,按钮回调包括运行仿真、重置参数、导出图像和清空结果;牛顿环 App 还包含“生成模拟实验数据”回调。

示例运行:

cd("教学App/光栅光谱分析教学App")
include("主程序.jl")
启动光栅光谱分析教学App()

测试方式:

include("测试.jl")
测试光栅光谱分析教学App()

参数修改

每个案例脚本前部均设置“参数设置区”,并带有中文参数说明、单位和教学含义。教师可直接修改电荷量、线圈半径、匝数、电流、磁场、频率、电容、电感、波长、介电常数、网格数量、迭代次数等参数。公共数值积分、图片保存和统一打印函数集中在 common.jl

教学建议

力学部分可作为数值积分和微分方程入门;热学部分适合讲统计分布、随机过程与偏微分方程;近代物理部分适合展示量子化、能级、辐射谱和波函数概率解释。

电磁学可按“静电场与电势 -> 恒定电流与磁场 -> 电磁感应 -> 电路暂态与交流电 -> 电磁波 -> 电磁场专题”的顺序组织。新增电磁场专题尤其适合展示从解析公式到二维/三维场分布、边界条件、有限差分迭代、电磁波边界、能量传输和工程结构的过渡。

光学可按“基础波动与几何光学 -> 干涉衍射与傅里叶光学 -> 偏振与现代光学”的顺序组织。这样既保留大学物理主线,又能自然过渡到工程光学、傅里叶光学和激光基础。

光学专题扩展案例教学建议

光栅与光谱主线可从 光栅光谱分析.jl 开始,随后进入 光栅分辨本领.jl闪耀光栅仿真.jl,用于讲解色散、分辨本领和光谱仪设计思想。

衍射与傅里叶光学主线可依次使用 单缝菲涅尔衍射.jl菲涅尔波带片.jl圆孔衍射艾里斑.jl矩形孔衍射.jl二维孔径FFT衍射.jl,从近场衍射过渡到远场频谱。

干涉仪与薄膜干涉主线可使用 法布里珀罗干涉仪.jl马赫曾德尔干涉仪.jl牛顿环曲率测量.jl薄膜干涉颜色.jl,覆盖精密测量、实验数据处理与颜色形成机理。

偏振与晶体光学主线可使用 偏振光干涉.jl双折射晶体.jl旋光效应.jl,适合从 Jones 矢量、检偏器投影讲到晶体各向异性和浓度测量。

光纤与激光基础主线可使用 光纤模式场分布.jl光纤数值孔径.jl高斯光束透镜聚焦.jl激光纵模频率.jl光学系统MTF.jl,面向光电信息、通信光学和成像系统课程扩展。

云图与二维可视化说明

新增案例优先使用二维云图、强度分布图、条纹图、频谱图或光斑图。典型二维图包括:光谱强度条带、传播距离-屏幕位置衍射云图、波带片黑白图样、艾里斑光斑图、矩形孔衍射强度图、二维孔径与远场频谱图、法布里-珀罗透射云图、马赫-曾德尔相位调制云图、牛顿环条纹图、薄膜膜厚-波长反射云图、偏振相位-角度云图、双折射角差云图、旋光角云图、光纤模式场横截面图、高斯光束聚焦 x-z 光强图和 MTF 条纹图。必要的一维曲线图仍保留,用于读取峰值、暗环、模式间隔、截止频率等定量信息。

中文脚本文件名说明

main.jl 使用 joinpath 构造 04_波动与光学/光学专题扩展案例/中文脚本名.jl 路径,并通过 include(file) 调用脚本,避免手写平台相关路径分隔符。Syslab Julia 2026a / Julia 1.10 环境可正常处理 UTF-8 中文目录和中文文件名;如果个别系统终端显示乱码,优先检查终端编码或工作目录编码,但项目仍保留中文层级和中文脚本文件名。确需英文别名时,可在本地另建英文快捷脚本转调对应中文脚本,不建议替换原中文文件。

MATLAB 经典案例向 Syslab 迁移说明

本项目不调用 MATLAB,也不依赖外部商业工具箱。常见 MATLAB 教学脚本中的 plotsubplotlegendquivercontourcontourfsaveas 等流程,在 Syslab Julia 中由 TyPlot 和 Julia 标准数值能力完成。电场、磁场、电磁感应、电路暂态、光学干涉和数值场分布模型采用显式公式、离散叠加、有限差分或项目内自写 RK4 工具实现,便于高校教师阅读、课堂讲解和二次修改。

后续扩展方向

后续可继续加入有限元电场、传输线时域反射、涡流、互感、Fabry-Perot 干涉仪、ABCD 矩阵光学、光学传递函数、量子隧穿、波包演化等案例。也可将案例参数封装为教学 GUI,或输出实验报告模板与课堂练习题。

使用许可

本模型库版权由MoHub版权所有,未经许可,不得用于商业用途。