Beispiel #1
0
        public static void ComponentTypes(HeatingSystem heatingSystem, CoolingSystem coolingSystem, out bool radiator, out bool fanCoil_Heating, out bool fanCoil_Cooling, out bool dXCoil_Heating, out bool dXCoil_Cooling, out bool chilledBeam_Heating, out bool chilledBeam_Cooling)
        {
            radiator            = false;
            fanCoil_Heating     = false;
            fanCoil_Cooling     = false;
            dXCoil_Heating      = false;
            dXCoil_Cooling      = false;
            chilledBeam_Heating = false;
            chilledBeam_Cooling = false;

            if (heatingSystem == null && coolingSystem == null)
            {
                return;
            }

            if (heatingSystem != null)
            {
                if (heatingSystem.Name == "RAD" || heatingSystem.Name == "THR" || heatingSystem.Name == "UFH")
                {
                    radiator = true;
                }
                else if (heatingSystem.Name == "FCU")
                {
                    fanCoil_Heating = true;
                }
                else if (heatingSystem.Name == "RP" || heatingSystem.Name == "CHB")
                {
                    chilledBeam_Heating = true;
                }
                else if (heatingSystem.Name == "VRV")
                {
                    dXCoil_Heating = true;
                }
            }

            if (coolingSystem != null)
            {
                if (coolingSystem.Name == "RP" || coolingSystem.Name == "CHB")
                {
                    chilledBeam_Cooling = true;
                }
                else if (coolingSystem.Name == "TRC" || coolingSystem.Name == "FCU")
                {
                    fanCoil_Cooling = true;
                }
                else if (coolingSystem.Name == "VRV")
                {
                    dXCoil_Cooling = true;
                }
            }
        }
Beispiel #2
0
        public static void AddComponents(this TPD.SystemZone systemZone, TPD.EnergyCentre energyCentre, HeatingSystem heatingSystem, CoolingSystem coolingSystem)
        {
            if (systemZone == null || energyCentre == null)
            {
                return;
            }

            TPD.PlantRoom plantRoom = energyCentre?.PlantRoom("Main PlantRoom");
            if (plantRoom == null)
            {
                return;
            }
            dynamic plantSchedule_System = energyCentre.PlantSchedule("System Schedule");

            dynamic electricalGroup_FanCoilUnits = plantRoom.ElectricalGroup("Electrical Group - FanCoil Units");
            dynamic electricalGroup_DXCoilUnits  = plantRoom.ElectricalGroup("Electrical Group - DXCoil Units");

            dynamic heatingGroup = plantRoom.HeatingGroup("Heating Circuit Group");

            dynamic coolingGroup = plantRoom.CoolingGroup("Cooling Circuit Group");

            TPD.RefrigerantGroup refrigerantGroup = plantRoom.RefrigerantGroup("DXCoil Units Refrigerant Group");

            Query.ComponentTypes(heatingSystem, coolingSystem, out bool radiator, out bool fanCoil_Heating, out bool fanCoil_Cooling, out bool dXCoil_Heating, out bool dXCoil_Cooling, out bool chilledBeam_Heating, out bool chilledBeam_Cooling);

            if (radiator)
            {
                dynamic radiator_Group = systemZone.AddRadiator();
                radiator_Group.Name = "RAD";
                radiator_Group.SetSchedule(plantSchedule_System);
                radiator_Group.Description = "Radiator";
                radiator_Group.Duty.Type   = TPD.tpdSizedVariable.tpdSizedVariableSize;
                radiator_Group.Duty.AddDesignCondition(energyCentre.GetDesignCondition(1));
                radiator_Group.Duty.SizeFraction = 1.25;//per AHRAE
                radiator_Group.SetHeatingGroup(heatingGroup);
            }

            if (chilledBeam_Heating || chilledBeam_Cooling)
            {
                dynamic chilledBeam_Group = systemZone.AddChilledBeam();
                chilledBeam_Group.Flags       = chilledBeam_Heating ? 1 : 0;
                chilledBeam_Group.Name        = "Chilled Beam";
                chilledBeam_Group.Description = "CHB";
                chilledBeam_Group.SetSchedule(plantSchedule_System);

                if (chilledBeam_Cooling)
                {
                    chilledBeam_Group.SetCoolingGroup(coolingGroup);
                    chilledBeam_Group.CoolingDuty.Type         = TPD.tpdSizedVariable.tpdSizedVariableSize;
                    chilledBeam_Group.CoolingDuty.SizeFraction = 1.15;//per AHRAE
                    chilledBeam_Group.CoolingDuty.AddDesignCondition(energyCentre.GetDesignCondition(2));
                }

                if (chilledBeam_Heating)
                {
                    chilledBeam_Group.SetHeatingGroup(heatingGroup);
                    chilledBeam_Group.HeatingDuty.Type         = TPD.tpdSizedVariable.tpdSizedVariableSize;
                    chilledBeam_Group.HeatingDuty.SizeFraction = 1.25;//per AHRAE
                    chilledBeam_Group.HeatingDuty.AddDesignCondition(energyCentre.GetDesignCondition(1));
                }
            }

            if (fanCoil_Heating || fanCoil_Cooling)
            {
                dynamic fanCoilUnit_Group = systemZone.AddFanCoilUnit();
                fanCoilUnit_Group.SetSchedule(plantSchedule_System);
                fanCoilUnit_Group.Name        = "FanCoil Unit";
                fanCoilUnit_Group.Description = "FCU";
                fanCoilUnit_Group.SetElectricalGroup1(electricalGroup_FanCoilUnits);
                fanCoilUnit_Group.DesignFlowType = TPD.tpdFlowRateType.tpdFlowRateSized;

                fanCoilUnit_Group.OverallEfficiency.Value = 0.9;
                fanCoilUnit_Group.HeatGainFactor          = 0.9;
                fanCoilUnit_Group.Pressure = 150;

                fanCoilUnit_Group.DesignFlowRate.SizeFraction = 1.15;//per AHRAE
                for (int i = 1; i <= energyCentre.GetDesignConditionCount(); i++)
                {
                    fanCoilUnit_Group.DesignFlowRate.AddDesignCondition(energyCentre.GetDesignCondition(2));
                }

                if (fanCoil_Cooling)
                {
                    fanCoilUnit_Group.SetCoolingGroup(coolingGroup);
                    fanCoilUnit_Group.SetSchedule(plantSchedule_System);
                    fanCoilUnit_Group.CoolingDuty.Type         = TPD.tpdSizedVariable.tpdSizedVariableSize;
                    fanCoilUnit_Group.CoolingDuty.SizeFraction = 1.15;//per AHRAE
                    fanCoilUnit_Group.CoolingDuty.AddDesignCondition(energyCentre.GetDesignCondition(2));
                }
                else
                {
                    fanCoilUnit_Group.CoolingDuty.Type  = TPD.tpdSizedVariable.tpdSizedVariableValue;
                    fanCoilUnit_Group.CoolingDuty.Value = 0;
                }

                if (fanCoil_Heating)
                {
                    fanCoilUnit_Group.SetHeatingGroup(heatingGroup);
                    fanCoilUnit_Group.HeatingDuty.Type         = TPD.tpdSizedVariable.tpdSizedVariableSize;
                    fanCoilUnit_Group.HeatingDuty.SizeFraction = 1.15;//per AHRAE
                    fanCoilUnit_Group.HeatingDuty.AddDesignCondition(energyCentre.GetDesignCondition(1));
                }
                else
                {
                    fanCoilUnit_Group.HeatingDuty.Type  = TPD.tpdSizedVariable.tpdSizedVariableValue;
                    fanCoilUnit_Group.HeatingDuty.Value = 0;
                }
            }

            if (dXCoil_Heating || dXCoil_Cooling)
            {
                dynamic dXCoilUnit_Group = systemZone.AddDXCoilUnit();
                dXCoilUnit_Group.SetSchedule(plantSchedule_System);
                dXCoilUnit_Group.Name        = "DXCoil Unit";
                dXCoilUnit_Group.Description = "VRV";
                dXCoilUnit_Group.SetElectricalGroup1(electricalGroup_DXCoilUnits);
                dXCoilUnit_Group.DesignFlowType = TPD.tpdFlowRateType.tpdFlowRateSized;

                dXCoilUnit_Group.OverallEfficiency.Value = 0.9;
                dXCoilUnit_Group.HeatGainFactor          = 0.9;
                dXCoilUnit_Group.Pressure = 150;
                //dXCoilUnit_Group.Refrigerant = refrigerantGroup;
                dXCoilUnit_Group.SetRefrigerantGroup(refrigerantGroup);

                dXCoilUnit_Group.DesignFlowRate.SizeFraction = 1.15;//per AHRAE
                dXCoilUnit_Group.DesignFlowRate.AddDesignCondition(energyCentre.GetDesignCondition(1));
                dXCoilUnit_Group.DesignFlowRate.AddDesignCondition(energyCentre.GetDesignCondition(2));

                if (dXCoil_Cooling)
                {
                    dXCoilUnit_Group.SetCoolingGroup(coolingGroup);
                    dXCoilUnit_Group.SetSchedule(plantSchedule_System);
                    dXCoilUnit_Group.CoolingDuty.Type         = TPD.tpdSizedVariable.tpdSizedVariableSize;
                    dXCoilUnit_Group.CoolingDuty.SizeFraction = 1.15;//per AHRAE
                    dXCoilUnit_Group.CoolingDuty.AddDesignCondition(energyCentre.GetDesignCondition(2));
                }
                else
                {
                    dXCoilUnit_Group.CoolingDuty.Type  = TPD.tpdSizedVariable.tpdSizedVariableValue;
                    dXCoilUnit_Group.CoolingDuty.Value = 0;
                }

                if (dXCoil_Heating)
                {
                    dXCoilUnit_Group.SetHeatingGroup(heatingGroup);
                    dXCoilUnit_Group.HeatingDuty.Type         = TPD.tpdSizedVariable.tpdSizedVariableSize;
                    dXCoilUnit_Group.HeatingDuty.SizeFraction = 1.25;//per AHRAE
                    dXCoilUnit_Group.HeatingDuty.AddDesignCondition(energyCentre.GetDesignCondition(1));
                }
                else
                {
                    dXCoilUnit_Group.HeatingDuty.Type  = TPD.tpdSizedVariable.tpdSizedVariableValue;
                    dXCoilUnit_Group.HeatingDuty.Value = 0;
                }
            }
        }