From e81cbb4c978bec283c58629156c07106aaa46943 Mon Sep 17 00:00:00 2001
From: lx <ex_lixiang17@cosl.com.cn>
Date: 星期二, 18 十一月 2025 15:35:58 +0800
Subject: [PATCH] update 1.3.1

---
 ErrorAnalysis.Service/PDEVCalcService.cs |   18 +++++++++---------
 1 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/ErrorAnalysis.Service/PDEVCalcService.cs b/ErrorAnalysis.Service/PDEVCalcService.cs
index 8c3e548..1bb718f 100644
--- a/ErrorAnalysis.Service/PDEVCalcService.cs
+++ b/ErrorAnalysis.Service/PDEVCalcService.cs
@@ -8,19 +8,19 @@
 {
     public class PDEVCalcService
     {
-        public static double GetMergePDEV(string modelId, double porosity, double sw, double speed, double depth)
+        //搴熷純
+        public static double GetMergePDEV(string modelId, double porosity, double sw, double speed, double depth, double yieldCounting, double nearCofe, double farCofe)
         {
-            var farC = COMergeCalcService.GetFarMergeCOResult( modelId, porosity, sw, 0, speed, depth);
-            var farO = COMergeCalcService.GetFarMergeCOResult( modelId, porosity, sw, 100, speed, depth);
-            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.GetNearMergeCOResult( modelId, porosity, sw, 0, speed, depth);
-            var nearO = COMergeCalcService.GetNearMergeCOResult( modelId, porosity, sw, 100, speed, depth);
-            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));
+        //搴熷純
+        private static double CalcPDEV(double c, double o) => c / o * Math.Sqrt((1 / c + 1 / o));
     }
 }

--
Gitblit v1.9.3