Question-and-Answer Resource for the Building Energy Modeling Community
Get started with the Help page
Ask Your Question

Revision history [back]

Error while simulating the 4pipefan coil system in C#

Hi, I defined a thermal zone and defined a fan coil system for it as follows

this.BoilerHotWater = new OpenStudio.BoilerHotWater(Model);
this.BoilerHotWater.setName("BoilerHotwater(" + SystemDrySpaceCollection.Id.ToString() + ")");
this.BoilerHotWater.setNominalThermalEfficiency(0.8);
this.BoilerHotWater.setFuelType("NaturalGas");
this.BoilerHotWater.setSizingFactor(1);
this.BoilerHotWater.setMaximumPartLoadRatio(1.1);
this.BoilerHotWater.setWaterOutletUpperTemperatureLimit(100);

this.HeatingCoil = new OpenStudio.CoilHeatingWater(Model);
this.HeatingCoil.setName("HeatingCoil(" + SystemDrySpaceCollection.Id.ToString() + ")");
this.HeatingCoil.setPerformanceInputMethod("UFactorTimesAreaAndDesignWaterFlowRate");
this.HeatingCoil.setRatedRatioForAirAndWaterConvection(0.5);
this.HeatingCoil.setRatedInletWaterTemperature(82.2);
this.HeatingCoil.setRatedOutletWaterTemperature(71.1);
this.HeatingCoil.setRatedInletAirTemperature(16.6);
this.HeatingCoil.setRatedOutletAirTemperature(32.2);

this.HeatingPlantLoop = new OpenStudio.PlantLoop(Model);
this.HeatingPlantLoop.setName("HeatingPlantLoop(" + SystemDrySpaceCollection.Id.ToString() + ")");
this.HeatingPlantLoop.setFluidType("Water");                              this.HeatingPlantLoop.setMaximumLoopTemperature(85);
this.HeatingPlantLoop.setMinimumLoopTemperature(75);
this.HeatingPlantLoop.addDemandBranchForComponent(this.HeatingCoil);
this.HeatingPlantLoop.addSupplyBranchForComponent(this.BoilerHotWater);

this.HeatingPumpVariableSpeed = new OpenStudio.PumpVariableSpeed(Model);
this.HeatingPumpVariableSpeed.setName("HeatingPumpVariableSpeed(" + SystemDrySpaceCollection.Id.ToString() + ")");
this.HeatingPumpVariableSpeed.addToNode(this.HeatingPlantLoop.supplyInletNode());

this.HeatingSetpointManagerScheduled = new OpenStudio.SetpointManagerScheduled(Model, OpenStudioCollection.Instance.Design.Schedule.GetScheduleById(SystemDrySpaceCollection.Design.HeatingSetPointManegerScheduleIndex));

this.HeatingSetpointManagerScheduled.setName("SetpointManagerScheduled(" + SystemDrySpaceCollection.Id.ToString() + ")");
this.HeatingSetpointManagerScheduled.addToNode(this.HeatingPlantLoop.supplyOutletNode());
this.HeatingSetpointManagerScheduled.setControlVariable("Temperature");

this.ChillerAbsorption = new OpenStudio.ChillerAbsorption(Model);
this.ChillerAbsorption.setName("Chiller(" + SystemDrySpaceCollection.Id.ToString() + ")");
this.ChillerAbsorption.setSizingFactor(1);
this.ChillerAbsorption.setMaximumPartLoadRatio(1.1);
this.ChillerAbsorption.setChilledWaterOutletTemperatureLowerLimit(7);

this.CoolingTowerSingleSpeed = new OpenStudio.CoolingTowerSingleSpeed(Model);
this.CoolingTowerSingleSpeed.setName("CoolingTowerSingleSpeed(" + SystemDrySpaceCollection.Id.ToString() + ")");

this.CondenserPlantLoop = new OpenStudio.PlantLoop(Model);
this.CondenserPlantLoop.setName("CondenserPlantLoop(" + SystemDrySpaceCollection.Id.ToString() + ")");
this.CondenserPlantLoop.setFluidType("Water");
this.CondenserPlantLoop.setMaximumLoopTemperature(40);
this.CondenserPlantLoop.setMinimumLoopTemperature(30);
this.CondenserPlantLoop.addDemandBranchForComponent(this.ChillerAbsorption);
this.CondenserPlantLoop.addSupplyBranchForComponent(this.CoolingTowerSingleSpeed);

this.CondenserPumpVariableSpeed = new OpenStudio.PumpVariableSpeed(Model);
this.CondenserPumpVariableSpeed.setName("CondenserPumpVariableSpeed(" + SystemDrySpaceCollection.Id.ToString() + ")");
this.CondenserPumpVariableSpeed.addToNode(this.CondenserPlantLoop.supplyInletNode());

this.CoolingCoil = new OpenStudio.CoilCoolingWater(Model);
this.CoolingCoil.setName("CoolingCoil(" + SystemDrySpaceCollection.Id.ToString() + ")");

this.CoolingPlantLoop = new OpenStudio.PlantLoop(Model);
this.CoolingPlantLoop.setName("CoolingPlantLoop(" + SystemDrySpaceCollection.Id.ToString() + ")");
this.CoolingPlantLoop.setFluidType("Water");
this.CoolingPlantLoop.setMaximumLoopTemperature(6.6);
this.CoolingPlantLoop.setMinimumLoopTemperature(3.8);
this.CoolingPlantLoop.addDemandBranchForComponent(this.CoolingCoil);
this.CoolingPlantLoop.addSupplyBranchForComponent(this.ChillerAbsorption);

this.CoolingPumpVariableSpeed = new OpenStudio.PumpVariableSpeed(Model);
this.CoolingPumpVariableSpeed.setName("CoolingPumpVariableSpeed(" + SystemDrySpaceCollection.Id.ToString() + ")");
this.CoolingPumpVariableSpeed.addToNode(this.CoolingPlantLoop.supplyInletNode());

this.CoolingSetpointManagerScheduled = new OpenStudio.SetpointManagerScheduled(Model, OpenStudioCollection.Instance.Design.Schedule.GetScheduleById(SystemDrySpaceCollection.Design.CoolingSetPointManegerScheduleIndex));
this.CoolingSetpointManagerScheduled.setName("SetpointManagerScheduled(" + SystemDrySpaceCollection.Id.ToString() + ")");
this.CoolingSetpointManagerScheduled.addToNode(this.HeatingPlantLoop.supplyOutletNode());
this.CoolingSetpointManagerScheduled.setControlVariable("Temperature");

this.FanConstantVolume = new OpenStudio.FanConstantVolume(Model);
this.FanConstantVolume.setName("SupplyFan(" + SystemDrySpaceCollection.Id.ToString() + ")");

this.ZoneHVACFourPipeFanCoil = new OpenStudio.ZoneHVACFourPipeFanCoil(Model,
                                    OpenStudioCollection.Instance.Design.Schedule.GetScheduleById(SystemDrySpaceCollection.Design.SystemAvailabilityScheduleIndex),
 this.FanConstantVolume,
this.CoolingCoil,
this.HeatingCoil);
this.ZoneHVACFourPipeFanCoil.setName("FanCoil(" + SystemDrySpaceCollection.Id.ToString() + ")");

for (int d = 0; d < DrySpaceCollection.Collection.Count; d++)
 {
         if (DrySpaceCollection.Collection[d].Design.SystemNumber == i)
         {                                        
this.ZoneHVACFourPipeFanCoil.addToThermalZone(OpenStudioCollection.Instance.Design.DrySpace.GetDrySpaceById(DrySpaceCollection.Id));
         }
}

But I encountered this error during simulation

 ** Severe  ** DualSetPointWithDeadBand: Effective heating set-point higher than effective cooling set-point - increase deadband if using unmixed air model
   **   ~~~   ** occurs in Zone=THERMALZONE FOR DRYSPACE(1) During Warmup & Sizing, Environment=SUMMERDESIGNDAY, at Simulation time=07/21 00:00 - 00:10
   **   ~~~   ** LoadToHeatingSetPoint=-3522.862, LoadToCoolingSetPoint=-5279.425
   **   ~~~   ** Zone TempDepZnLd=395.23
   **   ~~~   ** Zone TempIndZnLd=14720.95
   **   ~~~   ** Zone Heating ThermostatSetPoint=28.33
   **   ~~~   ** Zone Cooling ThermostatSetPoint=23.89
   **  Fatal  ** Program terminates due to above conditions.

I will send you the osm file. Thank you for your attention

Error while simulating the 4pipefan coil system in C#

Hi, I defined a thermal zone and defined a fan coil system for it as follows

this.BoilerHotWater = new OpenStudio.BoilerHotWater(Model);
this.BoilerHotWater.setName("BoilerHotwater(" + SystemDrySpaceCollection.Id.ToString() + ")");
this.BoilerHotWater.setNominalThermalEfficiency(0.8);
this.BoilerHotWater.setFuelType("NaturalGas");
this.BoilerHotWater.setSizingFactor(1);
this.BoilerHotWater.setMaximumPartLoadRatio(1.1);
this.BoilerHotWater.setWaterOutletUpperTemperatureLimit(100);

this.HeatingCoil = new OpenStudio.CoilHeatingWater(Model);
this.HeatingCoil.setName("HeatingCoil(" + SystemDrySpaceCollection.Id.ToString() + ")");
this.HeatingCoil.setPerformanceInputMethod("UFactorTimesAreaAndDesignWaterFlowRate");
this.HeatingCoil.setRatedRatioForAirAndWaterConvection(0.5);
this.HeatingCoil.setRatedInletWaterTemperature(82.2);
this.HeatingCoil.setRatedOutletWaterTemperature(71.1);
this.HeatingCoil.setRatedInletAirTemperature(16.6);
this.HeatingCoil.setRatedOutletAirTemperature(32.2);

this.HeatingPlantLoop = new OpenStudio.PlantLoop(Model);
this.HeatingPlantLoop.setName("HeatingPlantLoop(" + SystemDrySpaceCollection.Id.ToString() + ")");
this.HeatingPlantLoop.setFluidType("Water");                              this.HeatingPlantLoop.setMaximumLoopTemperature(85);
this.HeatingPlantLoop.setMinimumLoopTemperature(75);
this.HeatingPlantLoop.addDemandBranchForComponent(this.HeatingCoil);
this.HeatingPlantLoop.addSupplyBranchForComponent(this.BoilerHotWater);

this.HeatingPumpVariableSpeed = new OpenStudio.PumpVariableSpeed(Model);
this.HeatingPumpVariableSpeed.setName("HeatingPumpVariableSpeed(" + SystemDrySpaceCollection.Id.ToString() + ")");
this.HeatingPumpVariableSpeed.addToNode(this.HeatingPlantLoop.supplyInletNode());

this.HeatingSetpointManagerScheduled = new OpenStudio.SetpointManagerScheduled(Model, OpenStudioCollection.Instance.Design.Schedule.GetScheduleById(SystemDrySpaceCollection.Design.HeatingSetPointManegerScheduleIndex));

this.HeatingSetpointManagerScheduled.setName("SetpointManagerScheduled(" + SystemDrySpaceCollection.Id.ToString() + ")");
this.HeatingSetpointManagerScheduled.addToNode(this.HeatingPlantLoop.supplyOutletNode());
this.HeatingSetpointManagerScheduled.setControlVariable("Temperature");

this.ChillerAbsorption = new OpenStudio.ChillerAbsorption(Model);
this.ChillerAbsorption.setName("Chiller(" + SystemDrySpaceCollection.Id.ToString() + ")");
this.ChillerAbsorption.setSizingFactor(1);
this.ChillerAbsorption.setMaximumPartLoadRatio(1.1);
this.ChillerAbsorption.setChilledWaterOutletTemperatureLowerLimit(7);

this.CoolingTowerSingleSpeed = new OpenStudio.CoolingTowerSingleSpeed(Model);
this.CoolingTowerSingleSpeed.setName("CoolingTowerSingleSpeed(" + SystemDrySpaceCollection.Id.ToString() + ")");

this.CondenserPlantLoop = new OpenStudio.PlantLoop(Model);
this.CondenserPlantLoop.setName("CondenserPlantLoop(" + SystemDrySpaceCollection.Id.ToString() + ")");
this.CondenserPlantLoop.setFluidType("Water");
this.CondenserPlantLoop.setMaximumLoopTemperature(40);
this.CondenserPlantLoop.setMinimumLoopTemperature(30);
this.CondenserPlantLoop.addDemandBranchForComponent(this.ChillerAbsorption);
this.CondenserPlantLoop.addSupplyBranchForComponent(this.CoolingTowerSingleSpeed);

this.CondenserPumpVariableSpeed = new OpenStudio.PumpVariableSpeed(Model);
this.CondenserPumpVariableSpeed.setName("CondenserPumpVariableSpeed(" + SystemDrySpaceCollection.Id.ToString() + ")");
this.CondenserPumpVariableSpeed.addToNode(this.CondenserPlantLoop.supplyInletNode());

this.CoolingCoil = new OpenStudio.CoilCoolingWater(Model);
this.CoolingCoil.setName("CoolingCoil(" + SystemDrySpaceCollection.Id.ToString() + ")");

this.CoolingPlantLoop = new OpenStudio.PlantLoop(Model);
this.CoolingPlantLoop.setName("CoolingPlantLoop(" + SystemDrySpaceCollection.Id.ToString() + ")");
this.CoolingPlantLoop.setFluidType("Water");
this.CoolingPlantLoop.setMaximumLoopTemperature(6.6);
this.CoolingPlantLoop.setMinimumLoopTemperature(3.8);
this.CoolingPlantLoop.addDemandBranchForComponent(this.CoolingCoil);
this.CoolingPlantLoop.addSupplyBranchForComponent(this.ChillerAbsorption);

this.CoolingPumpVariableSpeed = new OpenStudio.PumpVariableSpeed(Model);
this.CoolingPumpVariableSpeed.setName("CoolingPumpVariableSpeed(" + SystemDrySpaceCollection.Id.ToString() + ")");
this.CoolingPumpVariableSpeed.addToNode(this.CoolingPlantLoop.supplyInletNode());

this.CoolingSetpointManagerScheduled = new OpenStudio.SetpointManagerScheduled(Model, OpenStudioCollection.Instance.Design.Schedule.GetScheduleById(SystemDrySpaceCollection.Design.CoolingSetPointManegerScheduleIndex));
this.CoolingSetpointManagerScheduled.setName("SetpointManagerScheduled(" + SystemDrySpaceCollection.Id.ToString() + ")");
this.CoolingSetpointManagerScheduled.addToNode(this.HeatingPlantLoop.supplyOutletNode());
this.CoolingSetpointManagerScheduled.setControlVariable("Temperature");

this.FanConstantVolume = new OpenStudio.FanConstantVolume(Model);
this.FanConstantVolume.setName("SupplyFan(" + SystemDrySpaceCollection.Id.ToString() + ")");

this.ZoneHVACFourPipeFanCoil = new OpenStudio.ZoneHVACFourPipeFanCoil(Model,
                                    OpenStudioCollection.Instance.Design.Schedule.GetScheduleById(SystemDrySpaceCollection.Design.SystemAvailabilityScheduleIndex),
 this.FanConstantVolume,
this.CoolingCoil,
this.HeatingCoil);
this.ZoneHVACFourPipeFanCoil.setName("FanCoil(" + SystemDrySpaceCollection.Id.ToString() + ")");

for (int d = 0; d < DrySpaceCollection.Collection.Count; d++)
 {
         if (DrySpaceCollection.Collection[d].Design.SystemNumber == i)
         {                                        
this.ZoneHVACFourPipeFanCoil.addToThermalZone(OpenStudioCollection.Instance.Design.DrySpace.GetDrySpaceById(DrySpaceCollection.Id));
         }
}

But I encountered this error during simulation

 ** Severe  ** DualSetPointWithDeadBand: Effective heating set-point higher than effective cooling set-point - increase deadband if using unmixed air model
   **   ~~~   ** occurs in Zone=THERMALZONE FOR DRYSPACE(1) During Warmup & Sizing, Environment=SUMMERDESIGNDAY, at Simulation time=07/21 00:00 - 00:10
   **   ~~~   ** LoadToHeatingSetPoint=-3522.862, LoadToCoolingSetPoint=-5279.425
   **   ~~~   ** Zone TempDepZnLd=395.23
   **   ~~~   ** Zone TempIndZnLd=14720.95
   **   ~~~   ** Zone Heating ThermostatSetPoint=28.33
   **   ~~~   ** Zone Cooling ThermostatSetPoint=23.89
   **  Fatal  ** Program terminates due to above conditions.

I will send you the osm file. Thank you for your attention