lx
2025-08-07 9827a8864ba0df0a4e148b4a7ac3225df7b80728
ErrorAnalysis.Service/PDEVCalcService.cs
@@ -8,17 +8,15 @@
{
    public class PDEVCalcService
    {
        public static double GetMergePDEV(string connectionString, string modelId, int porosity)
        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));