예제 #1
0
        private StabilityClassEnum[] getStabilityClassDay(IncomeSolarRadiation solarRadiation)
        {
            StabilityClassEnum[] strong   = { StabilityClassEnum.A, StabilityClassEnum.A, StabilityClassEnum.B, StabilityClassEnum.C, StabilityClassEnum.C };
            StabilityClassEnum[] moderate = { StabilityClassEnum.A, StabilityClassEnum.B, StabilityClassEnum.B, StabilityClassEnum.C, StabilityClassEnum.D };
            StabilityClassEnum[] slight   = { StabilityClassEnum.B, StabilityClassEnum.C, StabilityClassEnum.C, StabilityClassEnum.D, StabilityClassEnum.D };


            switch (solarRadiation)
            {
            case IncomeSolarRadiation.Strong: return(strong);

            case IncomeSolarRadiation.Moderate: return(moderate);

            case IncomeSolarRadiation.Slight: return(slight);
            }

            return(moderate);
        }
예제 #2
0
        public StabilityClassEnum getStabilityClass(double windSpeed, Boolean isNight, IncomeSolarRadiation solarRadiation, CloudCover cloudCover)
        {
            int stabilityClassIndex = -1;

            if (windSpeed < 2)
            {
                stabilityClassIndex = 0;
            }
            else if ((windSpeed >= 2) && (windSpeed < 3))
            {
                stabilityClassIndex = 1;
            }
            else if ((windSpeed >= 3) && (windSpeed < 5))
            {
                stabilityClassIndex = 2;
            }
            else if ((windSpeed >= 5) && (windSpeed < 6))
            {
                stabilityClassIndex = 3;
            }
            else if (windSpeed >= 6)
            {
                stabilityClassIndex = 4;
            }


            StabilityClassEnum[] sClasses = null;
            if (isNight)
            {
                sClasses = getStabilityClassNight(cloudCover);
            }
            else
            {
                sClasses = getStabilityClassDay(solarRadiation);
            }

            return(sClasses[stabilityClassIndex]);
        }