Source code for accim.sim.utils

# accim - Adaptive-Comfort-Control-Implemented Model
# Copyright (C) 2021-2025 Daniel Sánchez-García

# accim is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# any later version.

# accim is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.

# You should have received a copy of the GNU General Public License
# along with this program. If not, see <https://www.gnu.org/licenses/>.

[docs] def scan_zones(self): """ Used to scan the occupied zones in an idf. """ from accim.sim.apmv_setpoints import _resolve_targets target_data = _resolve_targets(self.idf1) self.occupiedZones_orig = list(set([t['zone_name'] for t in target_data])) self.occupiedZones = [i.replace(' ', '_').replace(':', '_') for i in self.occupiedZones_orig] self.ems_objs_name = [t['ems_suffix'] for t in target_data] self.ems_objs_key = [t['sensor_key'] for t in target_data] self.ems_zonenames = [t['zone_name'] for t in target_data] self.ems_zonenames_underscore = [i.replace(' ', '_').replace(':', '_') for i in self.ems_zonenames] self.spacelist_use = False try: if len(self.idf1.idfobjects['SPACELIST']) > 0 or len(self.idf1.idfobjects['SPACE']) > 0: self.spacelist_use = True except KeyError: pass self.origin_dsb = not self.spacelist_use self.spacenames_for_ems_uniquekey_people = self.ems_objs_key self.spacenames_for_ems_name = self.ems_objs_name self.spacenames_for_ems_uniquekey = self.ems_objs_key
[docs] def add_vrf_system( z, TempCtrl, verboseMode, EnergyPlus_version, SupplyAirTempInputMethod, eer, cop, VRFschedule ): if TempCtrl.lower() == 'temperature' or TempCtrl.lower() == 'temp': z.addOpTempTherm(verboseMode=verboseMode) elif TempCtrl.lower() == 'pmv': z.setPMVsetpoint(verboseMode=verboseMode) z.addBaseSchedules(verboseMode=verboseMode) z.setAvailSchOn(verboseMode=verboseMode) z.addVRFsystemSch(verboseMode=verboseMode) z.addCurveObj(verboseMode=verboseMode) z.addDetHVACobj( EnergyPlus_version=EnergyPlus_version, verboseMode=verboseMode, SupplyAirTempInputMethod=SupplyAirTempInputMethod, eer=eer, cop=cop, VRFschedule=VRFschedule )