using System; using SQLite; namespace CounterDrone.Core.Models { /// 弹药基础参数(第三方数据) [Table("AmmunitionSpec")] public class AmmunitionSpec { [PrimaryKey] public string Id { get; set; } = Guid.NewGuid().ToString(); public int AerosolType { get; set; } public string Name { get; set; } = string.Empty; // 初始扩散状态 public double InitialRadius { get; set; } public double InitialVolume { get; set; } public double CoreDensity { get; set; } public double EdgeDensity { get; set; } public double InitialTemperature { get; set; } public double BuoyancyFactor { get; set; } // 弹药基础参数 public double EffectiveConcentration { get; set; } /// 源强 Q(kg),PG 大气扩散模型用 public double SourceStrength { get; set; } = 50.0; /// 基础扩散速率(m/s),线性模型用 public double DispersionRateBase { get; set; } = 3.0; /// 爆发药 TNT 当量(kg),决定 Phase 1 初始火球半径 public double BurstChargeKg { get; set; } = 0.3; /// 湍流扩散系数,Phase 2 中 R=R₀+k√t 的 k 值 public double TurbulentExpansionK { get; set; } = 5.0; /// Phase 2 湍流膨胀持续时间(s),之后进入 Phase 3 高斯扩散。默认 30s public double Phase2Duration { get; set; } = 30.0; public double MaxRadius { get; set; } public double MaxDuration { get; set; } /// 粒子渲染参数 JSON public string ParticlesJson { get; set; } = "{}"; } }