예제 #1
0
        /// <summary>
        /// gets Design Days from Heating Design Day
        /// </summary>
        /// <param name="HeatingDesignDay">Heating Design Day</param>
        /// <returns name="DesignDays">Design Day List</returns>
        /// <search>
        /// TAS, HeatingDesignDay, Design Day, HeatingDesignDay, design day, Heating Design Day, Heating design day, designdays, design days
        /// </search>
        public static List <DesignDay> DesignDays(HeatingDesignDay HeatingDesignDay)
        {
            List <DesignDay> aDesignDayList = new List <DesignDay>();

            int aIndex = 0;

            TBD.DesignDay aDesignDay = HeatingDesignDay.pHeatingDesignDay.GetDesignDay(aIndex);
            while (aDesignDay != null)
            {
                aDesignDayList.Add(new DesignDay(aDesignDay));
                aIndex++;
                aDesignDay = HeatingDesignDay.pHeatingDesignDay.GetDesignDay(aIndex);
            }
            return(aDesignDayList);
        }
예제 #2
0
        public static bool Update(this TBD.DesignDay designDay_TBD, DesignDay designDay, TBD.dayType dayType = null, int repetitions = 30)
        {
            if (designDay_TBD == null)
            {
                return(false);
            }

            designDay_TBD.yearDay     = designDay.GetDateTime().DayOfYear;
            designDay_TBD.repetitions = repetitions;

            if (dayType != null)
            {
                designDay_TBD.SetDayType(dayType);
            }

            return(Weather.Tas.Modify.Update(designDay_TBD?.GetWeatherDay(), designDay));
        }
예제 #3
0
        public static List <TBD.DesignDay> DesignDays(this TBD.CoolingDesignDay coolingDesignDay)
        {
            List <TBD.DesignDay> result = new List <TBD.DesignDay>();

            int index = 0;

            TBD.DesignDay designDay = coolingDesignDay?.GetDesignDay(index);
            while (designDay != null)
            {
                result.Add(designDay);
                index++;

                designDay = coolingDesignDay?.GetDesignDay(index);
            }

            return(result);
        }
예제 #4
0
        public static DesignDay ToSAM(this TBD.DesignDay designDay, string name = null, int year = 2018)
        {
            if (designDay == null)
            {
                return(null);
            }

            string name_Temp = name;

            if (string.IsNullOrWhiteSpace(name_Temp))
            {
                name_Temp = designDay.name;
            }

            int      dayOfYear = designDay.yearDay;
            DateTime dateTime  = new DateTime(year, 1, 1);

            dateTime = dateTime.AddDays(dayOfYear - 1);

            TBD.WeatherDay weatherDay_TBD = designDay.GetWeatherDay();

            DesignDay result = new DesignDay(name_Temp, System.Convert.ToInt16(dateTime.Year), System.Convert.ToByte(dateTime.Month), System.Convert.ToByte(dateTime.Day));

            for (int i = 1; i <= 24; i++)
            {
                result[WeatherDataType.CloudCover, i - 1]            = weatherDay_TBD.cloudCover[i];
                result[WeatherDataType.DryBulbTemperature, i - 1]    = weatherDay_TBD.dryBulb[i];
                result[WeatherDataType.WindSpeed, i - 1]             = weatherDay_TBD.windSpeed[i];
                result[WeatherDataType.DiffuseSolarRadiation, i - 1] = weatherDay_TBD.diffuseRadiation[i];
                result[WeatherDataType.GlobalSolarRadiation, i - 1]  = weatherDay_TBD.globalRadiation[i];
                result[WeatherDataType.RelativeHumidity, i - 1]      = weatherDay_TBD.humidity[i];
                result[WeatherDataType.WindDirection, i - 1]         = weatherDay_TBD.windDirection[i];
            }

            return(result);
        }
예제 #5
0
 internal DesignDay(TBD.DesignDay DesignDay)
 {
     pDesignDay = DesignDay;
 }