Вентиляция (сущность)

Доменная сущность Версия: 1.0 accepted

Алиасы: Вентиляция (сущность). parents: [consumption-model-diagram].

⟨/⟩ Исходник

Связи

classDiagram
    direction LR
    class Ventilation {
        +Guid id
        +ConsumptionModel consumption_model_id
        +Boolean is_mech_vent_exist
        +Boolean is_recuperator_exist
        +Decimal coef_recuperator_efficiency
        +Decimal specific_ventilation_char_wt_per_m3c
        +Decimal heat_loss_energy_k_kwt_h
        +Decimal heat_loss_power_kwt
        +Decimal air_infiltrating_flow_kg_per_hour
        +Decimal ext_and_int_air_diff_pressure_pa
        +Decimal ext_air_specific_weight_n_per_m3
        +Decimal int_air_specific_weight_n_per_m3
        +Decimal supply_air_density_kg_per_m3
        +Decimal air_exchange_rate1per_hour
        +Decimal mech_vent_operating_time_hour_per_week
        +Decimal infiltration_accounting_hours_per_week
    }
    class ConsumptionModel
    Ventilation "1" --> "1" ConsumptionModel : consumption_model_id

Структура

НаименованиеАтрибутТипОбязательно для созданияТребуется для расчётаВычисляемый, методикаЕИДиапазон / форматЗначение по умолчаниюНеизменяемость
Идентификатор записиidGuidДаUUIDДа
Модель потребленияconsumption_model_idConsumptionModelДаДа
Наличие искусственной вентиляцииis_mech_vent_existBooleanДаДаfalse
Наличие рекуператораis_recuperator_existBooleanДаДаfalse
Коэффициент эффективности рекуператораcoef_recuperator_efficiencyDecimalДаДаесли "Наличие рекуператора"="Да", (0; 1], иначе 00
Удельная вентиляционная характеристика, Вт/(м³·°C)specific_ventilation_char_wt_per_m3cDecimalНетДаДа`Вт/(м³·°C)`вещественное ≥ 0
Энергия теплопотерь, кВт·чheat_loss_energy_k_kwt_hDecimalНетДакВт·чвещественное > 0
Мощность теплопотерь, кВтheat_loss_power_kwtDecimalНетДакВтвещественное > 0
Количество инфильтрующегося воздуха в здание, кг/чair_infiltrating_flow_kg_per_hourDecimalНетДаДакг/чвещественное > 0
Разность давлений наружного и внутреннего воздуха, Паext_and_int_air_diff_pressure_paDecimalНетДаДаПавещественное [-100; 100]
Удельный вес наружного воздуха, Н/м³ext_air_specific_weight_n_per_m3DecimalНетДаДаН/м³вещественное > 0
Удельный вес внутреннего воздуха, Н/м³int_air_specific_weight_n_per_m3DecimalНетДаДаН/м³вещественное > 0
Средняя плотность приточного воздуха, кг/м³supply_air_density_kg_per_m3DecimalНетДаДакг/м³вещественное > 0
Средняя кратность воздухообмена, ч⁻¹air_exchange_rate1per_hourDecimalНетДаДач⁻¹вещественное > 0
Время работы механической вентиляции, часов в неделюmech_vent_operating_time_hour_per_weekDecimalНетДаДачасов в неделюесли "Наличие рекуператора"="да", то 0, иначе - вещественное (0; 168]
Время учета инфильтрации, часов в неделюinfiltration_accounting_hours_per_weekDecimalНетДаДачасов в неделюесли "Наличие рекуператора"="да", то вещественное (0; 168], иначе 0

Исходник

    public class Ventilation
    {
        /// <summary>Идентификатор записи</summary>
        [DomainField(Alias = "id", RequiredOnCreate = true, Range = "UUID", Immutable = true)]
        public Guid Id { get; set; }

        /// <summary>Модель потребления</summary>
        [Relation]
        [DomainField(Alias = "consumption_model_id", RequiredOnCreate = true, Immutable = true)]
        public ConsumptionModel? ConsumptionModel { get; set; }

        /// <summary>Наличие искусственной вентиляции</summary>
        [DomainField(Alias = "is_mech_vent_exist", RequiredOnCreate = true, RequiredForCalc = "Да", Default = "false")]
        public bool IsMechVentExist { get; set; }

        /// <summary>Наличие рекуператора</summary>
        [DomainField(Alias = "is_recuperator_exist", RequiredOnCreate = true, RequiredForCalc = "Да", Default = "false")]
        public bool IsRecuperatorExist { get; set; }

        /// <summary>Коэффициент эффективности рекуператора</summary>
        [DomainField(
            Alias = "coef_recuperator_efficiency",
            RequiredOnCreate = true,
            RequiredForCalc = "Да",
            Range = "если \"Наличие рекуператора\"=\"Да\", (0; 1], иначе 0",
            Default = "0"
        )]
        public decimal CoefRecuperatorEfficiency { get; set; }

        /// <summary>Удельная вентиляционная характеристика, Вт/(м³·°C)</summary>
        [DomainField(
            Alias = "specific_ventilation_char_wt_per_m3c",
            RequiredForCalc = "Да",
            Calculated = "Да",
            Unit = "`Вт/(м³·°C)`",
            Range = "вещественное ≥ 0"
        )]
        public decimal SpecificVentilationCharWtPerM3c { get; set; }

        /// <summary>Энергия теплопотерь, кВт·ч</summary>
        [DomainField(Alias = "heat_loss_energy_k_kwt_h", Calculated = "Да", Unit = "кВт·ч", Range = "вещественное > 0")]
        public decimal HeatLossEnergyKKwtH { get; set; }

        /// <summary>Мощность теплопотерь, кВт</summary>
        [DomainField(Alias = "heat_loss_power_kwt", Calculated = "Да", Unit = "кВт", Range = "вещественное > 0")]
        public decimal HeatLossPowerKwt { get; set; }

        /// <summary>Количество инфильтрующегося воздуха в здание, кг/ч</summary>
        [DomainField(
            Alias = "air_infiltrating_flow_kg_per_hour",
            RequiredForCalc = "Да",
            Calculated = "Да",
            Unit = "кг/ч",
            Range = "вещественное > 0"
        )]
        public decimal AirInfiltratingFlowKgPerHour { get; set; }

        /// <summary>Разность давлений наружного и внутреннего воздуха, Па</summary>
        [DomainField(
            Alias = "ext_and_int_air_diff_pressure_pa",
            RequiredForCalc = "Да",
            Calculated = "Да",
            Unit = "Па",
            Range = "вещественное [-100; 100]"
        )]
        public decimal ExtAndIntAirDiffPressurePa { get; set; }

        /// <summary>Удельный вес наружного воздуха, Н/м³</summary>
        [DomainField(
            Alias = "ext_air_specific_weight_n_per_m3",
            RequiredForCalc = "Да",
            Calculated = "Да",
            Unit = "Н/м³",
            Range = "вещественное > 0"
        )]
        public decimal ExtAirSpecificWeightNPerM3 { get; set; }

        /// <summary>Удельный вес внутреннего воздуха, Н/м³</summary>
        [DomainField(
            Alias = "int_air_specific_weight_n_per_m3",
            RequiredForCalc = "Да",
            Calculated = "Да",
            Unit = "Н/м³",
            Range = "вещественное > 0"
        )]
        public decimal IntAirSpecificWeightNPerM3 { get; set; }

        /// <summary>Средняя плотность приточного воздуха, кг/м³</summary>
        [DomainField(Alias = "supply_air_density_kg_per_m3", RequiredForCalc = "Да", Calculated = "Да", Unit = "кг/м³", Range = "вещественное > 0")]
        public decimal SupplyAirDensityKgPerM3 { get; set; }

        /// <summary>Средняя кратность воздухообмена, ч⁻¹</summary>
        [DomainField(Alias = "air_exchange_rate1per_hour", RequiredForCalc = "Да", Calculated = "Да", Unit = "ч⁻¹", Range = "вещественное > 0")]
        public decimal AirExchangeRate1perHour { get; set; }

        /// <summary>Время работы механической вентиляции, часов в неделю</summary>
        [DomainField(
            Alias = "mech_vent_operating_time_hour_per_week",
            RequiredForCalc = "Да",
            Calculated = "Да",
            Unit = "часов в неделю",
            Range = "если \"Наличие рекуператора\"=\"да\", то 0, иначе - вещественное (0; 168]"
        )]
        public decimal MechVentOperatingTimeHourPerWeek { get; set; }

        /// <summary>Время учета инфильтрации, часов в неделю</summary>
        [DomainField(
            Alias = "infiltration_accounting_hours_per_week",
            RequiredForCalc = "Да",
            Calculated = "Да",
            Unit = "часов в неделю",
            Range = "если \"Наличие рекуператора\"=\"да\", то вещественное (0; 168], иначе 0"
        )]
        public decimal InfiltrationAccountingHoursPerWeek { get; set; }
    }