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));
| }
| }
|
|