Skip to content

Commit

Permalink
feat(ph_hvac): Update all PH-HVAC Components
Browse files Browse the repository at this point in the history
  • Loading branch information
ed-p-may authored Apr 21, 2024
2 parents 6046236 + 522ea92 commit 12dd106
Show file tree
Hide file tree
Showing 149 changed files with 2,670 additions and 2,584 deletions.
Binary file modified hbph_installer.gh
Binary file not shown.
58 changes: 32 additions & 26 deletions honeybee_grasshopper_ph/src/HBPH - Add Exhaust Ventilator.py
Original file line number Diff line number Diff line change
@@ -1,30 +1,35 @@
#
# Honeybee-PH: A Plugin for adding Passive-House data to LadybugTools Honeybee-Energy Models
#
#
# This component is part of the PH-Tools toolkit <https://github.com/PH-Tools>.
#
# Copyright (c) 2022, PH-Tools and bldgtyp, llc <[email protected]>
# Honeybee-PH 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 (at your option) any later version.
#
#
# Copyright (c) 2022, PH-Tools and bldgtyp, llc <[email protected]>
# Honeybee-PH 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 (at your option) any later version.
#
# Honeybee-PH 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
# 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.
#
#
# For a copy of the GNU General Public License
# see <https://github.com/PH-Tools/honeybee_ph/blob/main/LICENSE>.
#
#
# @license GPL-3.0+ <http://spdx.org/licenses/GPL-3.0+>
#
"""
Add one or more Exhaust Ventilator devices to the Honeybee-Rooms. This is used
mainly for WUFI-Passive which has a separate input for dedicated exhaust equipment
Add one or more PH-HVAC Exhaust Ventilator devices to the Honeybee-Rooms. This is used
primarily for WUFI-Passive which has a separate input for dedicated exhaust equipment
such as that used for Kitchens, Dryers and other typical uses.
-
EM January 3, 2023
NOTE: Using the component will add ONLY the Passive House devices and will **NOT** add
any components to the HB-Energy model. If you need to model mechancial equipment for an EnergyPlus
/ OpenStudio simulation then you must also use the Honeybee-Energy / IronBug components to setup
those devices separate from the inputs defined on the component here.
-
EM April 21, 2024
Args:
_exhaust_vent_devices: (List[_ExhaustVentilatorBase]) A list of the Exhaust
Ventilator objects that you would like to add to the Honeybee-rooms.
Expand All @@ -38,40 +43,41 @@
hb_rooms_: The Honeybee rooms with the new Exhaust Ventilators added.
"""

import scriptcontext as sc
import Rhino as rh
import rhinoscriptsyntax as rs
import ghpythonlib.components as ghc
import Grasshopper as gh

import Rhino as rh
import rhinoscriptsyntax as rs
import scriptcontext as sc

try:
from honeybee_ph_utils import preview
except ImportError as e:
raise ImportError('Failed to import honeybee_ph_utils:\t{}'.format(e))
raise ImportError("Failed to import honeybee_ph_utils:\t{}".format(e))

try:
from honeybee_ph_rhino import gh_compo_io, gh_io
except ImportError as e:
raise ImportError('Failed to import honeybee_ph_rhino:\t{}'.format(e))
raise ImportError("Failed to import honeybee_ph_rhino:\t{}".format(e))


# -------------------------------------------------------------------------------------
import honeybee_ph_rhino._component_info_

reload(honeybee_ph_rhino._component_info_)
ghenv.Component.Name = "HBPH - Add Exhaust Ventilator"
DEV = honeybee_ph_rhino._component_info_.set_component_params(ghenv, dev=False)
if DEV:
reload(gh_compo_io)
reload(gh_io)
from honeybee_ph_rhino.gh_compo_io import ghio_validators

reload(ghio_validators)
from honeybee_ph_rhino.gh_compo_io import mech_add_exhaust_vent as gh_compo_io
from honeybee_ph_rhino.gh_compo_io.hvac import add_exhaust_vent as gh_compo_io

reload(gh_compo_io)

# ------------------------------------------------------------------------------
# -- GH Interface
IGH = gh_io.IGH( ghdoc, ghenv, sc, rh, rs, ghc, gh )
IGH = gh_io.IGH(ghdoc, ghenv, sc, rh, rs, ghc, gh)


# -------------------------------------------------------------------------------------
Expand Down
47 changes: 24 additions & 23 deletions honeybee_grasshopper_ph/src/HBPH - Add Foundations.py
Original file line number Diff line number Diff line change
@@ -1,22 +1,22 @@
#
# Honeybee-PH: A Plugin for adding Passive-House data to LadybugTools Honeybee-Energy Models
#
#
# This component is part of the PH-Tools toolkit <https://github.com/PH-Tools>.
#
# Copyright (c) 2022, PH-Tools and bldgtyp, llc <[email protected]>
# Honeybee-PH 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 (at your option) any later version.
#
#
# Copyright (c) 2022, PH-Tools and bldgtyp, llc <[email protected]>
# Honeybee-PH 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 (at your option) any later version.
#
# Honeybee-PH 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
# 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.
#
#
# For a copy of the GNU General Public License
# see <https://github.com/PH-Tools/honeybee_ph/blob/main/LICENSE>.
#
#
# @license GPL-3.0+ <http://spdx.org/licenses/GPL-3.0+>
#
"""
Expand All @@ -35,37 +35,38 @@
hb_rooms_: The honeyee-Rooms with building-segment information added.
"""

import scriptcontext as sc
import Rhino as rh
import rhinoscriptsyntax as rs
import ghpythonlib.components as ghc
import Grasshopper as gh

import Rhino as rh
import rhinoscriptsyntax as rs
import scriptcontext as sc

try:
from honeybee_ph_rhino import gh_compo_io, gh_io
except ImportError as e:
raise ImportError('Failed to import honeybee_ph_rhino:\t{}'.format(e))
raise ImportError("Failed to import honeybee_ph_rhino:\t{}".format(e))


# -------------------------------------------------------------------------------------
import honeybee_ph_rhino._component_info_

reload(honeybee_ph_rhino._component_info_)
ghenv.Component.Name = "HBPH - Add Foundations"
DEV = honeybee_ph_rhino._component_info_.set_component_params(ghenv, dev=False)
if DEV:
from honeybee_ph_rhino.gh_compo_io import foundations_add as gh_compo_io

reload(gh_compo_io)

# -------------------------------------------------------------------------------------
# -- GH Interface
IGH = gh_io.IGH( ghdoc, ghenv, sc, rh, rs, ghc, gh )
IGH = gh_io.IGH(ghdoc, ghenv, sc, rh, rs, ghc, gh)


# -------------------------------------------------------------------------------------
gh_compo_interface = gh_compo_io.GHCompo_AddFoundations(
IGH,
_ph_foundations,
_hb_rooms,
IGH,
_ph_foundations,
_hb_rooms,
)
hb_rooms_ = gh_compo_interface.run()
57 changes: 32 additions & 25 deletions honeybee_grasshopper_ph/src/HBPH - Add Mech Supportive Devices.py
Original file line number Diff line number Diff line change
@@ -1,60 +1,67 @@
#
# Honeybee-PH: A Plugin for adding Passive-House data to LadybugTools Honeybee-Energy Models
#
#
# This component is part of the PH-Tools toolkit <https://github.com/PH-Tools>.
#
# Copyright (c) 2022, PH-Tools and bldgtyp, llc <[email protected]>
# Honeybee-PH 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 (at your option) any later version.
#
#
# Copyright (c) 2022, PH-Tools and bldgtyp, llc <[email protected]>
# Honeybee-PH 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 (at your option) any later version.
#
# Honeybee-PH 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
# 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.
#
#
# For a copy of the GNU General Public License
# see <https://github.com/PH-Tools/honeybee_ph/blob/main/LICENSE>.
#
#
# @license GPL-3.0+ <http://spdx.org/licenses/GPL-3.0+>
#
"""
Add HBPH mechanical Supportive Devices (fans, pumps, etc.) to HB-Rooms.
Set the PH-HVAC mechanical Supportive Devices (fans, pumps, etc.) serving the HB-Rooms.
-
NOTE: Using the component will add ONLY the Passive House devices and will **NOT** add
any components to the HB-Energy model. If you need to model mechancial equipment for an EnergyPlus
/ OpenStudio simulation then you must also use the Honeybee-Energy / IronBug components to setup
those devices separate from the inputs defined on the component here.
-
EM September 13, 2023
EM April 21, 2024
Args:
_supportive_devices: (list[PhSupportiveDevice]) One or more HBPH Supportive
Devices (fans, pumps, etc.) which will be added to each of the HB-Rooms
_supportive_devices: (list[PhSupportiveDevice]) One or more PH-HVAC Supportive
Devices (fans, pumps, etc.) which will serve the HB-Rooms
_hb_rooms: (list[Room]) A list of the HB-Rooms to add the new
HBPH Supportive Devices to.
Returns:
hb_rooms_: The input hb-rooms with the new HBPH Supportive Devices added.
hb_rooms_: The input hb-rooms with the new PH-HVAC Supportive Devices set.
"""

try:
from honeybee_ph_rhino import gh_compo_io, gh_io
except ImportError as e:
raise ImportError('Failed to import honeybee_ph_rhino:\t{}'.format(e))
raise ImportError("Failed to import honeybee_ph_rhino:\t{}".format(e))


#-------------------------------------------------------------------------------
# -------------------------------------------------------------------------------
import honeybee_ph_rhino._component_info_

reload(honeybee_ph_rhino._component_info_)
ghenv.Component.Name = "HBPH - Add Mech Supportive Devices"
DEV = honeybee_ph_rhino._component_info_.set_component_params(ghenv, dev=False)
if DEV:
from honeybee_ph_rhino.gh_compo_io import mech_add_supportive_devices as gh_compo_io
from honeybee_ph_rhino.gh_compo_io.hvac import add_supportive_devices as gh_compo_io

reload(gh_compo_io)
reload(gh_io)


#-------------------------------------------------------------------------------
# -------------------------------------------------------------------------------
# -- Add the new HBPH Supportive Devices to the HB-Rooms
gh_compo_interface = gh_compo_io.GHCompo_AddMechSupportiveDevices(
_supportive_devices,
_hb_rooms,
)
hb_rooms_ = gh_compo_interface.run()
_supportive_devices,
_hb_rooms,
)
hb_rooms_ = gh_compo_interface.run()
66 changes: 36 additions & 30 deletions honeybee_grasshopper_ph/src/HBPH - Add Mech Systems.py
Original file line number Diff line number Diff line change
@@ -1,67 +1,73 @@
#
# Honeybee-PH: A Plugin for adding Passive-House data to LadybugTools Honeybee-Energy Models
#
#
# This component is part of the PH-Tools toolkit <https://github.com/PH-Tools>.
#
# Copyright (c) 2022, PH-Tools and bldgtyp, llc <[email protected]>
# Honeybee-PH 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 (at your option) any later version.
#
#
# Copyright (c) 2022, PH-Tools and bldgtyp, llc <[email protected]>
# Honeybee-PH 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 (at your option) any later version.
#
# Honeybee-PH 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
# 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.
#
#
# For a copy of the GNU General Public License
# see <https://github.com/PH-Tools/honeybee_ph/blob/main/LICENSE>.
#
#
# @license GPL-3.0+ <http://spdx.org/licenses/GPL-3.0+>
#
"""
Add HBPH mechanical ventilation, heating, and cooling systems to the HB-Rooms.
Set the PH-HVAC mechanical ventilation, heating, and cooling systems serving the Honeybee-Rooms.
-
NOTE: Using the component will add ONLY the Passive House devices and will **NOT** add
any components to the HB-Energy model. If you need to model mechancial equipment for an EnergyPlus
/ OpenStudio simulation then you must also use the Honeybee-Energy / IronBug components to setup
those devices separate from the inputs defined on the component here.
-
EM November 1, 2023
EM April 21, 2024
Args:
_ventilation_system: (PhVentilationSystem) Enter the type of heating system.
_ventilation_system: (PhVentilationSystem) The Ventilation System serving the HB-Rooms.
_space_conditioning_systems: (List) A list of the HBPH 'Space Conditioning'
(Heating/Cooling) Systems to add to the HB-Rooms. Use the 'HBPH - Create
Space Conditioning System' component in order to create heating and cooling equipment.
(Heating/Cooling) Systems serving the HB-Rooms.
_supportive_devices: (List) A list of any HBPH Supportive Devices (extra pumps, fans, etc)
to add to the hb-rooms.
serving the HB-rooms.
_hb_rooms: (List[Room]) A list of the hb-rooms to add the mechanical systems to.
_hb_rooms: (List[Room]) A list of the hb-rooms served by the mechanical systems.
Returns:
hb_rooms_: A copy of the hb-rooms input, with the new HBPH Mechanical Systems added.
hb_rooms_: The hb-rooms input, with the new PH-HVAC Mechanical Systems set.
"""

try:
from honeybee_ph_rhino import gh_compo_io, gh_io
except ImportError as e:
raise ImportError('Failed to import honeybee_ph_rhino:\t{}'.format(e))
raise ImportError("Failed to import honeybee_ph_rhino:\t{}".format(e))


#-------------------------------------------------------------------------------
# -------------------------------------------------------------------------------
import honeybee_ph_rhino._component_info_

reload(honeybee_ph_rhino._component_info_)
ghenv.Component.Name = "HBPH - Add Mech Systems"
DEV = honeybee_ph_rhino._component_info_.set_component_params(ghenv, dev=False)
if DEV:
reload(gh_io)
from honeybee_ph_rhino.gh_compo_io import mech_add_mech_systems as gh_compo_io
from honeybee_ph_rhino.gh_compo_io.hvac import add_systems as gh_compo_io

reload(gh_compo_io)


#-------------------------------------------------------------------------------
# -------------------------------------------------------------------------------
# -- Add the new Systems to the HB-Rooms
gh_compo_interface = gh_compo_io.GHCompo_AddMechSystems(
_ventilation_system,
_space_conditioning_systems,
_supportive_devices,
_hb_rooms,
)
hb_rooms_ = gh_compo_interface.run()
_ventilation_system,
_space_conditioning_systems,
_supportive_devices,
_hb_rooms,
)
hb_rooms_ = gh_compo_interface.run()
Loading

0 comments on commit 12dd106

Please sign in to comment.