| docs | ||
| release | ||
| src | ||
| test/cpp | ||
| tests/AirTransmission.Tests | ||
| .cursorrules | ||
| .gitignore | ||
| air.csproj | ||
| air.sln | ||
| docfx.json | ||
| toc.yml | ||
大气透过率计算库
项目简介
大气透过率计算库是一个用于模拟和计算各种电磁波(包括激光、红外线、毫米波和紫外线)在不同大气条件下透过率的工具。本项目考虑了多种天气因素和大气湍流的影响,为光学和通信系统的设计与分析提供了有力支持。
功能特性
- 支持多种电磁波类型:激光、红外线、毫米波和紫外线
- 激光 (1.06μm)
- 红外 (3-12μm)
- 紫外 (0.2-0.4μm)
- 毫米波 (94GHz)
- 考虑多种天气条件:晴天、雨天、雪天、雾天、沙尘天气
- 模拟大气湍流对光传输的影响
- 计算烟幕对透过率的影响
- 灵活配置传输距离和天气参数
- 提供详细的计算过程和结果输出
安装说明
- 确保您的系统已安装 .NET 7 或更高版本。
- 克隆此仓库到本地机器:
git clone https://github.com/11429339/atmospheric-transmittance-model.git - 进入项目目录:
cd atmospheric-transmittance-model - 编译项目:
dotnet build
快速开始
// 创建天气条件
var weather = new WeatherCondition(
type: WeatherType.晴天, // 天气类型
temperature: 20, // 温度(℃)
relativeHumidity: 0.45, // 相对湿度
visibility: 23000, // 能见度(米)
precipitation: 0 // 降雨量(mm/h)
);
// 计算激光透过率
double distance = 1000; // 1000米
double transmittance = AtmosphericTransmittanceCalculator.CalcLaser(weather, distance);
Console.WriteLine($"激光透过率: {transmittance:F4}");
项目结构
AtmosphericTransmittanceCalculator.cs: 主要的计算接口TransmittanceModel.cs: 透过率模型的基类LaserTransmittanceModel.cs: 激光透过率模型IRTransmittanceModel.cs: 红外线透过率模型MillimeterWaveTransmittanceModel.cs: 毫米波透过率模型UVTransmittanceModel.cs: 紫外线透过率模型AtmosphericTurbulenceModel.cs: 大气湍流模型
版本历史
- 1.0.0 (2024-10-13): 初始版本发布
作者
田建勇
许可证
本项目采用 MIT 许可证。
联系方式
如有任何问题或建议,请通过以下方式联系我们:
- 电子邮件:11429339@qq.com
致谢
感谢所有为本项目做出贡献的开发者和研究人员。