Стены

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

Алиасы: Стены. parents: [consumption-model-diagram].

⟨/⟩ Исходник

Связи

classDiagram
    direction LR
    class WallsModel {
        +Guid id
        +ConsumptionModel consumption_model_id
        +Material carrier_layer_material_id
        +Decimal carrier_layer_thickness
        +InsulationMaterial main_insulation_material_id
        +Decimal main_insulation_thickness
        +InsulationMaterial additional_insulation_material_id
        +Decimal additional_insulation_thickness
        +Decimal heat_loss_energy_k_kwt_h
        +Decimal heat_loss_power_kwt
        +Decimal walls_thermal_resistance
        +Decimal walls_inner_surface_area
        +Decimal walls_inner_perimeter
    }
    class ConsumptionModel
    class Material
    class InsulationMaterial
    WallsModel "1" --> "1" ConsumptionModel : consumption_model_id
    WallsModel "0..1" --> "1" Material : carrier_layer_material_id
    WallsModel "0..1" --> "1" InsulationMaterial : main_insulation_material_id
    WallsModel "0..1" --> "1" InsulationMaterial : additional_insulation_material_id

Структура

НаименованиеАтрибутТипОбязательно для созданияТребуется для расчётаВычисляемый, методикаЕИДиапазон / форматНеизменяемость
Идентификатор записиidGuidДаUUIDДа
Модель потребленияconsumption_model_idConsumptionModelДа
Несущий слой: материалcarrier_layer_material_idMaterialНетДа
Несущий слой: толщина, ммcarrier_layer_thicknessDecimalНетДаммвещественное > 0
Основной утеплитель: материалmain_insulation_material_idInsulationMaterialНет
Основной утеплитель: толщина, ммmain_insulation_thicknessDecimalНетДа, если указан материал утеплителя.ммвещественное > 0
Дополнительный утеплитель: материалadditional_insulation_material_idInsulationMaterialНет
Дополнительный утеплитель: толщина, ммadditional_insulation_thicknessDecimalНетДа, если указан материал утеплителя.ммвещественное > 0
Энергия теплопотерь, кВт·чheat_loss_energy_k_kwt_hDecimalНетДа, `methodSectionId: te.component_heat_loss_energy`кВт·чвещественное ≥ 0
Мощность теплопотерь, кВтheat_loss_power_kwtDecimalНетДа, `methodSectionId: te.transmission_heat_loss_power`кВтвещественное ≥ 0
Приведённое сопротивление теплопередаче стен, м²·°C/Втwalls_thermal_resistanceDecimalНетДаДа, `methodSectionId: te.wall_thermal_resistance`м²·°C/Втвещественное > 0
Площадь внутренней поверхности, м²walls_inner_surface_areaDecimalНетДаДа, `methodSectionId: te.inner_wall_surface_area`м²вещественное ≥ 0
Внутренний периметрwalls_inner_perimeterDecimalНетДаДа, `methodSectionId: te.inner_wall_perimeter`мвещественное ≥ 0

Исходник

    public class WallsModel
    {
        /// <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)]
        public ConsumptionModel? ConsumptionModel { get; set; }

        /// <summary>Несущий слой: материал</summary>
        [Relation]
        [DomainField(Alias = "carrier_layer_material_id", RequiredForCalc = "Да")]
        public Material? CarrierLayerMaterial { get; set; }

        /// <summary>Несущий слой: толщина, мм</summary>
        [DomainField(Alias = "carrier_layer_thickness", RequiredForCalc = "Да", Unit = "мм", Range = "вещественное > 0")]
        public decimal CarrierLayerThickness { get; set; }

        /// <summary>Основной утеплитель: материал</summary>
        [Relation]
        [DomainField(Alias = "main_insulation_material_id")]
        public InsulationMaterial? MainInsulationMaterial { get; set; }

        /// <summary>Основной утеплитель: толщина, мм</summary>
        [DomainField(
            Alias = "main_insulation_thickness",
            RequiredForCalc = "Да, если указан материал утеплителя.",
            Unit = "мм",
            Range = "вещественное > 0"
        )]
        public decimal MainInsulationThickness { get; set; }

        /// <summary>Дополнительный утеплитель: материал</summary>
        [Relation]
        [DomainField(Alias = "additional_insulation_material_id")]
        public InsulationMaterial? AdditionalInsulationMaterial { get; set; }

        /// <summary>Дополнительный утеплитель: толщина, мм</summary>
        [DomainField(
            Alias = "additional_insulation_thickness",
            RequiredForCalc = "Да, если указан материал утеплителя.",
            Unit = "мм",
            Range = "вещественное > 0"
        )]
        public decimal AdditionalInsulationThickness { get; set; }

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

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

        /// <summary>Приведённое сопротивление теплопередаче стен, м²·°C/Вт</summary>
        [DomainField(
            Alias = "walls_thermal_resistance",
            RequiredForCalc = "Да",
            Calculated = "Да, `methodSectionId: te.wall_thermal_resistance`",
            Unit = "м²·°C/Вт",
            Range = "вещественное > 0"
        )]
        public decimal WallsThermalResistance { get; set; }

        /// <summary>Площадь внутренней поверхности, м²</summary>
        [DomainField(
            Alias = "walls_inner_surface_area",
            RequiredForCalc = "Да",
            Calculated = "Да, `methodSectionId: te.inner_wall_surface_area`",
            Unit = "м²",
            Range = "вещественное ≥ 0"
        )]
        public decimal WallsInnerSurfaceArea { get; set; }

        /// <summary>Внутренний периметр</summary>
        [DomainField(
            Alias = "walls_inner_perimeter",
            RequiredForCalc = "Да",
            Calculated = "Да, `methodSectionId: te.inner_wall_perimeter`",
            Unit = "м",
            Range = "вещественное ≥ 0"
        )]
        public decimal WallsInnerPerimeter { get; set; }
    }