lx
2025-07-25 07244fa2982091fc1c8b8b8b041a0783651bf712
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
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 modelId, double porosity, double sw, double speed, double depth)
        {
            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 nearC = COMergeCalcService.GetNearMergeCOResult( modelId, porosity, sw, 0, speed, depth);
            var nearO = COMergeCalcService.GetNearMergeCOResult( modelId, porosity, sw, 100, speed, depth);
            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));
    }
}