public List <DamageResultVO> MissileMulti(MissileBO bo) { double psi = 1; double rem = 100; double calcm = 1.9; double vm = 200; GetLimits(ref psi, ref rem, ref calcm, ref vm); var nuclearradiation = MyCore.NuclearAlgorithm.GetNuclearRadiationRadius(bo.Yield, bo.Alt, rem); var airblast = MyCore.NuclearAlgorithm.GetShockWaveRadius(bo.Yield, bo.Alt, psi); var thermalradiation = MyCore.NuclearAlgorithm.GetThermalRadiationRadius(bo.Yield, bo.Alt, calcm); var nuclearpulse = MyCore.NuclearAlgorithm.GetNuclearPulseRadius(bo.Yield, bo.Alt, vm); List <DamageResultVO> list = new List <DamageResultVO>(); list.Add( new DamageResultVO("早期核辐射", nuclearradiation, bo.Lon, bo.Lat, bo.Alt, rem, "rem")); list.Add( new DamageResultVO("冲击波", airblast, bo.Lon, bo.Lat, bo.Alt, psi, "psi")); list.Add( new DamageResultVO("光辐射", thermalradiation, bo.Lon, bo.Lat, bo.Alt, calcm, "cal/cm²")); list.Add( new DamageResultVO("核电磁脉冲", nuclearpulse * 1000, bo.Lon, bo.Lat, bo.Alt, vm, "v/m")); return(list); }
public IActionResult MissileArea([FromBody] MissileBO bo) { return(new JsonResult(new { return_status = 0, return_msg = "", return_data = _analysisService.MissileArea(bo) })); }
public MissileAreaVO MissileArea(MissileBO bo) { double psi = 1; double rem = 100; double calcm = 1.9; double vm = 200; GetLimits(ref psi, ref rem, ref calcm, ref vm); var r = MyCore.NuclearAlgorithm.GetNuclearPulseRadius(bo.Yield, bo.Alt, vm); return(new MissileAreaVO(r, bo.Lon, bo.Lat, bo.Alt)); }