public virtual void Execute(ref DissolvedGasAnalysis currentDga, ref DissolvedGasAnalysis previousDga, ref List<IOutput> outputs) { FindGases(currentDga); CalculatePercentages(FirstGas, SecondGas, ThirdGas); FailureCode = DetermineFaultZone(); outputs.Add(new Output() { Name = TriangleName, Description = FailureType.Description[FailureCode] }); }
public virtual void Execute(ref DissolvedGasAnalysis currentDga, ref DissolvedGasAnalysis previousDga, ref List <IOutput> outputs) { FindGases(currentDga); CalculatePercentages(currentDga); var coordinate = Pentagon.AddDataPoint(GasPercentages[Gas.Hydrogen], GasPercentages[Gas.Ethane], GasPercentages[Gas.Methane], GasPercentages[Gas.Ethylene], GasPercentages[Gas.Acetylene]); FailureCode = Pentagon.GetFaultCodeForDataPoint(coordinate); outputs.Add(new Output() { Name = PentagonName, Description = FailureType.Description[FailureCode] }); }
public FailureType.Code GetFaultCodeForDataPoint(PolygonalCoordinate dataPoint) { FailureType.Code faultCode = FailureType.Code.NA; CartesianCoordinate centroid = dataPoint.GetArea().GetCentroid(); foreach (var area in Areas) { if (area.CheckIfCoordinateIsInArea(centroid)) { faultCode = area.FaultCode; } } return(faultCode); }
public void Execute(ref DissolvedGasAnalysis currentDga, ref DissolvedGasAnalysis previousDga, ref List <IOutput> outputs) { CalculateRatios(currentDga); FailureCode = CalculateFailureCode(); outputs.Add(new Output() { Name = GasRatios.Description[Ratio.AcetyleneToEthylene], Description = _Ratios[Ratio.AcetyleneToEthylene].ToString("0.000") }); outputs.Add(new Output() { Name = GasRatios.Description[Ratio.MethaneToHydrogen], Description = _Ratios[Ratio.MethaneToHydrogen].ToString("0.000") }); outputs.Add(new Output() { Name = GasRatios.Description[Ratio.EthyleneToEthane], Description = _Ratios[Ratio.EthyleneToEthane].ToString("0.000") }); outputs.Add(new Output() { Name = "Rogers Ratio Failure Code", Description = FailureType.Description[FailureCode] }); }
public DuvalTriangleFiveRule(FailureType.Code triangleOneFailureCode) : base("Duval Triangle 5", Gas.Methane, Gas.Ethane, Gas.Ethylene) { TriangleOneFailureCode = triangleOneFailureCode; }
public DuvalTriangleFourRule(FailureType.Code triangleOneFailureCode) : base("Duval Triangle 4", Gas.Hydrogen, Gas.Methane, Gas.Ethane) { TriangleOneFailureCode = triangleOneFailureCode; }
public Area(FailureType.Code faultCode) { FaultCode = faultCode; }