1
lx
2025-08-07 0c104a6455d55a8d50f5164638827ac5c88cc51c
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));