| | |
| | | { |
| | | 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 farResult = COMergeCalcService.GetFarMergeCOResult(modelId, porosity, sw, speed, depth); |
| | | var farResult = COMergeCalcService.GetFarMergeCOResult(modelId, porosity, sw, speed, depth, yieldCounting); |
| | | var farPDEV = CalcPDEV(farResult.Item1, farResult.Item2); |
| | | |
| | | var nearResult = COMergeCalcService.GetNearMergeCOResult(modelId, porosity, sw, speed, depth); |
| | | 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)); |