3. Configuring the ray tracer (配置光线追踪器)
光线追踪是Tonatiuh用于仿真分析太阳能聚光系统的技术。在执行光线追踪之前,需要配置相关参数。
图1: 光线追踪器配置对话框,显示光线数量、随机数生成器、网格分割、绘制选项和光子图设置
3.1 基本设置参数
光线生成参数:
- Number of rays: 每次仿真的光线数量
- Random Generator: 随机数生成器算法(如Mersenne Twister)
- Width divisions & Height divisions: 太阳平面网格分割数
脚本配置:
javascript
// 光线生成参数
tonatiuh.SetRaysPerIteration(2000000); // 每次迭代的光线数量
tonatiuh.SetRandomDeviateType("Mersenne Twister"); // 随机数生成器类型
// 太阳网格分割 - 影响光线生成效率和精度
tonatiuh.SetRayCastingGrid(300, 300); // 宽度和高度分割数
3.2 绘制选项
可视化设置:
- Show rays: 是否显示光线路径
- Show photons: 是否显示光子交点位置
javascript
// 射线和光子显示选项
tonatiuh.SetRaysDrawingOptions(true, true); // (显示射线, 显示光子)
// 大量光线时建议设为false以提高性能
tonatiuh.SetRaysDrawingOptions(false, false);
3.3 光子图配置
缓冲区设置:
- Buffer size: 光子图中最大光子存储数量
- Construction: 新建光子图或累积到现有光子图
javascript
// 光子图设置
tonatiuh.SetPhotonMapBufferSize(5000000); // 最大光子存储数量
tonatiuh.SetIncreasePhotonMap(false); // 不累积光子图