honeybee_phhvac.hot_water_system module

Honeybee-PH-HVAC: Hot Water System.

exception honeybee_phhvac.hot_water_system.PhHotWaterSystem_FromDictError(_expected_types, _input_type)[source]

Bases: Exception

with_traceback()

Exception.with_traceback(tb) – set self.__traceback__ to tb and return self.

args
class honeybee_phhvac.hot_water_system.PhHotWaterSystem[source]

Bases: object

PH-HVAC: Hot Water System.

ToString()[source]

Overwrite .NET ToString.

add_distribution_piping(_distribution_piping: hwp.PhHvacPipeTrunk | hwp.PhHvacPipeBranch | hwp.PhHvacPipeElement, _key: str | None = None) None[source]

Add a new distribution (branch, trunk, fixture) to the system.

If a branch or fixture pipe is passed, a 0-length trunk will be created and the branch or fixture will be added to it before adding to the system.

add_heater(_heater: hwd.PhHvacHotWaterHeater | None) None[source]

Adds a new hot-water heater to the system.

add_recirc_piping(_recirc_piping: hwp.PhHvacPipeElement, _key: str | None = None) None[source]
apply_properties_from_dict(abridged_data)[source]
clear_distribution_piping()[source]

Clear all distribution piping (Trunks) from the system.

clear_heaters()[source]
clear_recirc_piping()[source]
duplicate() PhHotWaterSystem[source]
classmethod from_dict(_input_dict: dict) PhHotWaterSystem[source]
move(moving_vec3D: Point3D) PhHotWaterSystem[source]

Move the System’s piping along a vector.

Parameters:

moving_vec3D – A Vector3D with the direction and distance to move the ray.

Reflect:

A new PhHotWaterSystem object with the moved piping.

reflect(normal_vec3D: Vector3D, origin_pt3D: Point3D) PhHotWaterSystem[source]

Reflected the System’s piping across a plane with the input normal vector and origin.

Parameters:
  • normal_vec3D – A Vector3D representing the normal vector for the plane across which the line segment will be reflected. THIS VECTOR MUST BE NORMALIZED.

  • origin_pt3D – A Point3D representing the origin from which to reflect.

Returns:

A new PhHotWaterSystem object with the reflected piping.

rotate(axis_vec3D: Point3D, angle_degrees: float, origin_pt3D: Point3D) PhHotWaterSystem[source]

Rotate the System’s piping by a certain angle around an axis and origin.

Right hand rule applies: If axis has a positive orientation, rotation will be clockwise. If axis has a negative orientation, rotation will be counterclockwise.

Parameters:
  • axis_vec3D – A Vector3D axis representing the axis of rotation.

  • angle_degrees – An angle for rotation in degrees.

  • origin_pt3D – A Point3D for the origin around which the object will be rotated.

Returns:

A new PhHotWaterSystem object with the rotated piping.

rotate_xy(angle_degrees: float, origin_pt3D: Point3D) PhHotWaterSystem[source]

Rotate the System’s piping counterclockwise in the XY plane by a certain angle.

Parameters:
  • angle_degrees – An angle in degrees.

  • origin_pt3D – A Point3D for the origin around which the object will be rotated.

Returns:

A new PhHotWaterSystem object with the rotated piping.

scale(scale_factor: float, origin_pt3D: Point3D | None = None) PhHotWaterSystem[source]

Scale the System’s piping by a factor from an origin point.

Parameters:
  • scale_factor – A number representing how much the line segment should be scaled.

  • origin_pt3D – A Point3D representing the origin from which to scale. If None, it will be scaled from the World origin (0, 0, 0).

Returns:

A new PhHotWaterSystem object with the scaled piping.

to_dict(abridged: bool = False, _include_properties: bool = False) dict[str, dict][source]
property distribution_piping: ValuesView[hwp.PhHvacPipeTrunk]

Returns a list of all the distribution-piping (Trunks) in the system.

property heaters: ValuesView[hwd.PhHvacHotWaterHeater]

Returns a list of all the heaters on the system.

property number_tap_points: int

Unless set explicitly by the user, will return the number of Branch Pipe Elements.

property recirc_hours: int

Return the length-weighted average of recirculation piping hours.

property recirc_piping: ValuesView[hwp.PhHvacPipeElement]

Returns a list of all the recirculation-piping objects in the system.

property recirc_temp: float

Return the length weighted average of recirculation piping temperatures

property tanks: list[PhHvacHotWaterTank | None]

Return a list of the system tanks in order (1, 2, buffer, solar).

property total_distribution_pipe_length: float

Returns the total length of all trunk, branch, and fixture piping.

property total_home_run_fixture_pipe_length: float

Returns the total length of all fixture piping from end to end.

NOTE: This method will count the branch and trunk lengths for EACH of the fixture pipes. The result will be a total hot-water transport length as if all the pipes were ‘home-run’ style. This value is used for the PHPP calculations and is not a true representation of the piping in the model.

property total_recirc_pipe_length: float

Returns the total length of all recirculation piping.