| | |
| | | List<double[]> cWOL; |
| | | List<double[]> oWOL; |
| | | var firstErrorPass = new ErrorRatio(); |
| | | speed = 0.6; |
| | | speed = 2; |
| | | do |
| | | { |
| | | firstErrorPass = GetFirstErrorRatio(modelID, porosity, sw, speed, depth, out cWOL, out oWOL); |
| | |
| | | var wolResType = cWolRes?.GetType(); |
| | | try |
| | | { |
| | | if (sw > 0 && sw < 100) |
| | | { |
| | | foreach (var wolProperty in wolResType.GetProperties()) |
| | | { |
| | | if (wolProperty.Name.Contains("WLPu")) |
| | | { |
| | | var interC = Utility.Interpolate(sw, 100, 0, 0, (double)wolProperty.GetValue(cWolRes)); |
| | | var interO = Utility.Interpolate(sw, 0, 0, 100, (double)wolProperty.GetValue(oWolRes)); |
| | | wolProperty.SetValue(cWolRes, interC); |
| | | wolProperty.SetValue(oWolRes, interO); |
| | | } |
| | | } |
| | | } |
| | | //if (sw > 0 && sw < 100) |
| | | //{ |
| | | // foreach (var wolProperty in wolResType.GetProperties()) |
| | | // { |
| | | // if (wolProperty.Name.Contains("WLPu")) |
| | | // { |
| | | // //if (wolProperty.Name != "WLPu0") |
| | | // //{ |
| | | // var interC = Utility.Interpolate(sw, 100, 0, 0, (double)wolProperty.GetValue(cWolRes)); |
| | | // var interO = Utility.Interpolate(sw, 0, 0, 100, (double)wolProperty.GetValue(oWolRes)); |
| | | // wolProperty.SetValue(cWolRes, interC); |
| | | // wolProperty.SetValue(oWolRes, interO); |
| | | // //} |
| | | // //else |
| | | // //{ |
| | | // // var interC = Utility.Interpolate(sw, 100, 0, 0, (double)wolProperty.GetValue(cWolRes)); |
| | | // // var interO = Utility.Interpolate(sw, 0, 0, 100, (double)wolProperty.GetValue(oWolRes)); |
| | | // // var interVal = Utility.Interpolate(sw, 0, interC, 100, interO); |
| | | // // wolProperty.SetValue(cWolRes, interVal); |
| | | // // wolProperty.SetValue(oWolRes, interVal); |
| | | // //} |
| | | |
| | | // } |
| | | // } |
| | | //} |
| | | |
| | | foreach (var wolProperty in wolResType.GetProperties()) |
| | | { |
| | |
| | | oRes = Utility.Interpolate(porosity, floorPorosity, floorO, ceilingPorosity, ceilingO); |
| | | } |
| | | |
| | | var errorRatio = mergePDEV / (cRes - oRes); |
| | | var errorRatio = mergePDEV /( cRes > oRes ? (cRes - oRes) : (oRes - cRes)); |
| | | |
| | | return new ErrorRatio { Pass = 1, ErrorRatioValue = errorRatio }; |
| | | } |