lx
2025-08-07 9827a8864ba0df0a4e148b4a7ac3225df7b80728
ErrorAnalysis.Service/PDEVCalcService.cs
@@ -8,17 +8,15 @@
{
    public class PDEVCalcService
    {
        public static double GetMergePDEV(string connectionString, string modelId, double porosity, double sw, double speed)
        public static double GetMergePDEV(string modelId, double porosity, double sw, double speed, double depth, double yieldCounting, double nearCofe, double farCofe)
        {
            var farC = COMergeCalcService.GetFarMergeCResult(connectionString, modelId, porosity);
            var farO = COMergeCalcService.GetFarMergeOResult(connectionString, modelId, porosity);
            var farPDEV = CalcPDEV(farC, farO);
            var farResult = COMergeCalcService.GetFarMergeCOResult(modelId, porosity, sw, speed, depth, yieldCounting);
            var farPDEV = CalcPDEV(farResult.Item1, farResult.Item2);
            var nearC = COMergeCalcService.GetNearMergeCResult(connectionString, modelId, porosity);
            var nearO = COMergeCalcService.GetNearMergeOResult(connectionString, modelId, porosity);
            var nearPDEV = CalcPDEV(nearC, nearO);
            var nearResult = COMergeCalcService.GetNearMergeCOResult(modelId, porosity, sw, speed, depth, yieldCounting);
            var nearPDEV = CalcPDEV(nearResult.Item1, nearResult.Item2);
            return nearPDEV * 0.65 + farPDEV * 0.35;
            return Math.Sqrt(Math.Pow(nearPDEV * nearCofe, 2) + Math.Pow(farPDEV * farCofe, 2));
        }
        private static double CalcPDEV(double c, double o) => Math.Sqrt(Math.Pow(c / o, 2) * (1 / c + 1 / o));