XIAN-FEM-2026June/三维matlab代码/2023-2-端口激励问题(四面体网格)/README_Fem4.md

2.2 KiB
Raw Permalink Blame History

Fem4 端口激励算例MeshData2x

基准模型:COMSOL Fem4.mphMeshData2x.mat12444 节点69093 四面体z 方向长度 4 μm

运行 MATLAB推荐入口

cd('三维matlab代码/2023-2-端口激励问题(四面体网格)')
MainFem2x          % 求解 + 出图 + 写 OutFile_fem4/

首次或更新网格后,补全 Physic/Material

load('MeshData2x.mat','Mesh');
[Physic,Material,~,~] = configPhysicMaterialFem4();
save('MeshData2x.mat','Mesh','Physic','Material','-v7.3');

有 COMSOL LiveLink 时可用 MakeData2x.mFem4.mph 重新导出网格。

输出

路径 内容
OutFile_fem4/normE 顶点 |E|C++ 同格式)
OutFile_fem4/S_params.txt S11、S21、powerCoef、neff
Figure 15 端口模场 + 全场/端口面场

与旧脚本关系

脚本 网格 说明
MainFem2.m MeshData2.mat Fem2L=1 μm未改动
MainFemx.m MeshDatax.mat 大模型 Fem5未改动
MainFem2x.m MeshData2x.mat Fem4 基准,本算例

导出 A/b 矩阵(与 C++ OutFile 对比)

在 MATLAB 中PEC 消元后、symrcm 之前,与 C++ 约化系统一致):

cd('三维matlab代码/2023-2-端口激励问题(四面体网格)')
exportAbMatrixFem4    % -> OutFile_fem4_ab/Ai.txt, Aj.txt, Av.txt, Bv_*.txt

无 MATLAB 时可用 Python 复现(已与 MATLAB S 参数一致):

cd "3D opticsfem-master\tools"
python compare_port_full.py

对比 C++ 与 MATLAB/Python 导出:

python compare_ab_matrix.py "..\..\三维matlab代码\2023-2-端口激励问题(四面体网格)\OutFile_fem4_ab" "..\port\Release\OutFile"

python 3D opticsfem-master/tools/build_port_mesh_from_mat.py

→ port/Release/Portmesh.dat


3D 端口矩阵组装(`Assemble_Port`)尚在实施计划阶段 5.2;当前以 **MATLAB `MainFem2x` 为金标准**。

## 参考结果MeshData2x 一次运行)

- `neff ≈ 2.623`
- `|S11| ≈ 0.024`
- `|S21| ≈ 0.42`

与 COMSOL 对比:将 COMSOL 导出 `normE` 放到 `OutFile_comsol/normE`,运行:

```powershell
python 3D opticsfem-master/port/Release/compare_normE_comsol.py