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

77 lines
2.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Fem4 端口激励算例MeshData2x
基准模型:**COMSOL Fem4.mph** → `MeshData2x.mat`12444 节点69093 四面体z 方向长度 4 μm
## 运行 MATLAB推荐入口
```matlab
cd('三维matlab代码/2023-2-端口激励问题(四面体网格)')
MainFem2x % 求解 + 出图 + 写 OutFile_fem4/
```
首次或更新网格后,补全 `Physic`/`Material`
```matlab
load('MeshData2x.mat','Mesh');
[Physic,Material,~,~] = configPhysicMaterialFem4();
save('MeshData2x.mat','Mesh','Physic','Material','-v7.3');
```
有 COMSOL LiveLink 时可用 `MakeData2x.m``Fem4.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++ 约化系统一致):
```matlab
cd('三维matlab代码/2023-2-端口激励问题(四面体网格)')
exportAbMatrixFem4 % -> OutFile_fem4_ab/Ai.txt, Aj.txt, Av.txt, Bv_*.txt
```
无 MATLAB 时可用 Python 复现(已与 MATLAB S 参数一致):
```powershell
cd "3D opticsfem-master\tools"
python compare_port_full.py
```
对比 C++ 与 MATLAB/Python 导出:
```powershell
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
```