模态分析¶
两个求解广义特征值问题而非受迫系统的示例——一个光子学,一个结构力学。两者遵循相同的流程:使用内置装配器装配两个(或三个)矩阵,将其交给位移-逆稀疏特征值求解器,并从频谱中读取物理频率/传播常数:
mesh -> assemble (K, M, ...) -> shift-invert eigsh -> modes + frequencies
每个示例均与闭合形式参考解进行验证(Marcatili 平板近似、欧拉-伯努利梁理论)。
矩形波导模式(光子学)¶
examples/wave/wave_guide_mode/waveguide_modes.py 从其二维截面计算矩形介质波导的导波模式。在弱导标量近似下,横向电场 \(E(x,y)\) 和传播常数 \(\beta\) 满足
由三个内置装配器构建——刚度矩阵(LaplaceElementAssembler)、质量矩阵(MassElementAssembler),以及折射率加权质量矩阵 \(M_\varepsilon = \int n^2\,\phi_i\phi_j\)(ScaledMassElementAssembler)。当模式的有效折射率 \(n_{\text{eff}} = \beta/k_0\) 介于包层与纤芯折射率之间时,该模式为导波模式;默认几何参数(\(18 \times 14\) µm 纤芯,\(n = 1.450/1.444\),\(\lambda_0 = 1.55\) µm)支持七个导波模式,计算所得有效折射率与 Marcatili 可分离平板近似一致至 \(\sim 10^{-4}\)。
图 50 导波横向电场 \(E_{pq}\)(红/蓝表示场符号,纤芯轮廓勾勒),按沿 \(x\) 和 \(y\) 方向的瓣数标记——基模 \(E_{11}\)、偶极子对 \(E_{21}/E_{12}\),以及高阶模式。¶
悬臂梁振动(结构力学)¶
examples/solid/beam_vibration_analysis/vibration_cylinder.py 对固支-自由钢圆柱(\(L = 1\) m,\(R = 25\) mm)进行经典三维线弹性自由振动分析:
其中 \(K\) 来自 LinearElasticityElementAssembler,一致向量质量矩阵由标量质量矩阵构建(\(M_{\text{vec}} = \rho\, M_{\text{scalar}} \otimes I_3\))。固支端通过常规的 Condenser 掩码去除。在模态分析之上,模态频响函数——横向尖端力作用下含 1% 模态阻尼的尖端响应——展示了共振/反共振结构。
第一阶弯曲频率计算结果为 37.2 Hz,而欧拉-伯努利理论值为 36.2 Hz(P1 四面体单元偏高 3%,随网格加密收敛);由于截面为圆形,每阶弯曲模式均以近简并模态对形式出现(两个正交弯曲平面),随后为第一阶扭转和轴向模式。
图 51 变形模态振型(位移幅值,已 exaggerate):弯曲模态对、第一阶扭转和第一阶轴向模式。¶
图 52 尖端动态放大系数 \(|u_x|/u_{\text{static}}\)——第一共振频率以下平坦为 1,在各弯曲模态处达到峰值,其间落入反共振谷。¶
运行示例¶
cd examples/wave/wave_guide_mode && python waveguide_modes.py
cd examples/solid/beam_vibration_analysis && python vibration_cylinder.py
两者均提供 run_demo(...) 接口以及几何/模态数/网格尺寸参数(--help 列出全部参数)。特征值求解通过 SciPy 的位移-逆 Lanczos 方法在装配好的稀疏矩阵上运行——仅为后处理,装配核心保持 torch 不变。
下一步¶
声子晶体(布洛赫-弗洛凯) —— 含布洛赫-弗洛凯相位边界条件的特征值问题(能带结构)。
开放域波动(PML 与端口) —— 受迫对应问题:端口与完全匹配层。
固体力学 —— 静力学与非线性固体力学进阶。