Exemplo n.º 1
0
        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] });
        }
Exemplo n.º 2
0
        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]
            });
        }
Exemplo n.º 3
0
        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);
        }
Exemplo n.º 4
0
 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]
     });
 }
Exemplo n.º 5
0
 public DuvalTriangleFiveRule(FailureType.Code triangleOneFailureCode) : base("Duval Triangle 5", Gas.Methane, Gas.Ethane, Gas.Ethylene)
 {
     TriangleOneFailureCode = triangleOneFailureCode;
 }
Exemplo n.º 6
0
 public DuvalTriangleFourRule(FailureType.Code triangleOneFailureCode) : base("Duval Triangle 4", Gas.Hydrogen, Gas.Methane, Gas.Ethane)
 {
     TriangleOneFailureCode = triangleOneFailureCode;
 }
Exemplo n.º 7
0
 public Area(FailureType.Code faultCode)
 {
     FaultCode = faultCode;
 }