using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ErrorAnalysis.Service { public class PDEVCalcService { public static double GetMergePDEV(string connectionString, string modelId, double porosity, double sw, double speed) { var farC = COMergeCalcService.GetFarMergeCResult(connectionString, modelId, porosity); var farO = COMergeCalcService.GetFarMergeOResult(connectionString, modelId, porosity); var farPDEV = CalcPDEV(farC, farO); var nearC = COMergeCalcService.GetNearMergeCResult(connectionString, modelId, porosity); var nearO = COMergeCalcService.GetNearMergeOResult(connectionString, modelId, porosity); var nearPDEV = CalcPDEV(nearC, nearO); return nearPDEV * 0.65 + farPDEV * 0.35; } private static double CalcPDEV(double c, double o) => Math.Sqrt(Math.Pow(c / o, 2) * (1 / c + 1 / o)); } }