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; } = "{}";
}
}