honeybee_phhvac.hot_water_piping module¶
Honeybee-PH-HVAC: Hot Water Piping.
- class honeybee_phhvac.hot_water_piping.PhHvacPipeBranch[source]¶
Bases:
_PhHVACBaseA ‘Branch’ Pipe which has geometry, and serves one or more ‘Fixture’ (Twig) pipe elements.
- add_fixture(_fixture: PhHvacPipeElement) None[source]¶
Add a new HBPH Fixture (twig) PhPipeBranch to the Trunk.
- duplicate() PhHvacPipeBranch[source]¶
- classmethod from_dict(_input_dict: Dict) PhHvacPipeBranch[source]¶
- move(moving_vec3D: Vector3D) PhHvacPipeBranch[source]¶
Move the pipe’s elements along a vector.
- Parameters:
moving_vec3D – A Vector3D with the direction and distance to move the ray.
- Returns:
A new PhHvacPipeBranch with the moved elements.
- reflect(normal_vec3D: Vector3D, origin_pt3D: Point3D) PhHvacPipeBranch[source]¶
Reflected the pipe’s elements across a plane with the input normal_vec3D vector and origin_pt3D.
- Parameters:
normal_vec3D – A Vector3D representing the normal_vec3D vector for the plane across which the line segment will be reflected. THIS VECTOR MUST BE NORMALIZED.
origin_pt3D – A Point3D representing the origin_pt3D from which to reflect.
- Returns:
A new PhHvacPipeBranch with the reflected elements.
- rotate(axis_3D: Vector3D, angle_degrees: float, origin_pt3D: Point3D) PhHvacPipeBranch[source]¶
Rotate the pipe’s elements by a certain angle_degrees around an axis_3D and origin_pt3D.
Right hand rule applies: If axis_3D has a positive orientation, rotation will be clockwise. If axis_3D has a negative orientation, rotation will be counterclockwise.
- Parameters:
axis_3D – A Vector3D axis_3D representing the axis_3D of rotation.
angle_degrees – An angle_degrees for rotation in degrees.
origin_pt3D – A Point3D for the origin_pt3D around which the object will be rotated.
- Returns:
A new PhHvacPipeBranch with the rotated elements.
- rotate_xy(angle_degrees: float, origin_pt3D: Point3D) PhHvacPipeBranch[source]¶
Rotate the pipe’s elements counterclockwise in the XY plane by a certain angle_degrees.
- Parameters:
angle_degrees – An angle_degrees in degrees.
origin_pt3D – A Point3D for the origin_pt3D around which the object will be rotated.
- Returns:
A new PhHvacPipeBranch with the rotated elements.
- scale(factor: float, origin_pt3D: Point3D | None = None) PhHvacPipeBranch[source]¶
Scale the pipe’s elements by a factor from an origin_pt3D point.
- Parameters:
factor – A number representing how much the line segment should be scaled.
origin_pt3D – A Point3D representing the origin_pt3D from which to scale. If None, it will be scaled from the World origin_pt3D (0, 0, 0).
- Returns:
A new PhHvacPipeBranch with the scaled elements.
- property daily_period: float¶
Return the length-weighted average daily period of all the pipe segments.
- property diameter_mm: float¶
Return the length-weighted diameter (MM) of the pipe element.
- property display_name¶
Get or set a string for the object name without any character restrictions. If not set, this will be equal to the identifier.
- property identifier¶
- property identifier_short: str¶
- property key¶
- property length: float¶
Return the total length of the branch itself in model-units. For the total length of the Branch PLUS all fixtures, use ‘total_length’.
- property material_name: str¶
Return the material name of the pipe element.
- property num_fixtures: int¶
Return the number of fixtures connected to the branch.
- property segments¶
Return a list of all the Pipe-Segments in the Branch.
- property total_home_run_fixture_length: float¶
Return the total length (in model-units) of all fixture pipes as measured from end to end.
NOTE: This method will include the branch’s length 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_length: float¶
Return the total length of the branch PLUS all fixture pipes in model-units.
- property twigs¶
Alias for the ‘fixtures’ to better match Phius terminology.
- property water_temp_c: float¶
Return the length-weighted average water temperature of all the pipe segments.
- class honeybee_phhvac.hot_water_piping.PhHvacPipeElement[source]¶
Bases:
_PhHVACBaseA Pipe Element (Fixture) made up of one or more individual Pipe Segments.
- add_segment(_segment: PhHvacPipeSegment) None[source]¶
Add a new Pipe Segment to the Pipe Element.
- duplicate() PhHvacPipeElement[source]¶
- classmethod from_dict(_input_dict: dict) PhHvacPipeElement[source]¶
- move(moving_vec3D: Vector3D) PhHvacPipeElement[source]¶
Move the pipe’s segments along a vector.
- Parameters:
moving_vec3D – A Vector3D with the direction and distance to move the ray.
- Returns:
A new PhHvacPipeElement with the moved segments.
- reflect(normal_vec3D: Vector3D, origin_pt3D: Point3D) PhHvacPipeElement[source]¶
Reflected the pipe’s segments across a plane with the input normal_vec3D vector and origin_pt3D.
- Parameters:
normal_vec3D – A Vector3D representing the normal_vec3D vector for the plane across which the line segment will be reflected. THIS VECTOR MUST BE NORMALIZED.
origin_pt3D – A Point3D representing the origin_pt3D from which to reflect.
- Returns:
A new PhHvacPipeElement with the reflected segments.
- rotate(axis_3D: Vector3D, angle_degrees: float, origin_pt3D: Point3D) PhHvacPipeElement[source]¶
Rotate the pipe’s segments by a certain angle_degrees around an axis_3D and origin_pt3D.
Right hand rule applies: If axis_3D has a positive orientation, rotation will be clockwise. If axis_3D has a negative orientation, rotation will be counterclockwise.
- Parameters:
axis_3D – A Vector3D axis_3D representing the axis_3D of rotation.
angle_degrees – An angle_degrees for rotation in degrees.
origin_pt3D – A Point3D for the origin_pt3D around which the object will be rotated.
- Returns:
A new PhHvacPipeElement with the rotated segments.
- rotate_xy(angle_degrees: float, origin_pt3D: Point3D) PhHvacPipeElement[source]¶
Rotate the pipe’s segments counterclockwise in the XY plane by a certain angle_degrees.
- Parameters:
angle_degrees – An angle_degrees in degrees.
origin_pt3D – A Point3D for the origin_pt3D around which the object will be rotated.
- Returns:
A new PhHvacPipeElement with the rotated segments.
- scale(factor: float, origin_pt3D: Point3D | None = None) PhHvacPipeElement[source]¶
Scale the pipe’s segments by a factor from an origin_pt3D point.
- Parameters:
factor – A number representing how much the line segment should be scaled.
origin_pt3D – A Point3D representing the origin_pt3D from which to scale. If None, it will be scaled from the World origin_pt3D (0, 0, 0).
- Returns:
A new PhHvacPipeElement with the scaled segments.
- property daily_period: float¶
Return the length-weighted average daily period of all the pipe segments
- property diameter_mm: float¶
Return the length-weighted average diameter of all the pipe segments
- property display_name¶
Get or set a string for the object name without any character restrictions. If not set, this will be equal to the identifier.
- property identifier¶
- property identifier_short: str¶
- property key¶
- property length: float¶
Return the total length of the pipe element in model-units.
- property material_name: str¶
Return the material name of the pipe element.
- property segment_names: List[str]¶
Return a list of the names of all the PipeSegments in the PipeElement.
- property segments: List[PhHvacPipeSegment]¶
Return a list of a;; the Pipe-Segments in the Pipe-Element.
- property water_temp_c: float¶
Return the length-weighted average water temperature of all the pipe segments
- class honeybee_phhvac.hot_water_piping.PhHvacPipeMaterial(_value: str | int = 2)[source]¶
Bases:
CustomEnum- ToString()¶
- classmethod from_dict(_dict: dict[str, Any]) CustomEnum¶
- to_dict() dict[str, Any]¶
- allowed: list[str] = ['1-COPPER_M', '2-COPPER_L', '3-COPPER_K', '4-CPVC_CTS_SDR', '5-CPVC_SCH_40', '6-PEX', '7-PE', '8-PEX_CTS_SDR']¶
- property allowed_upper: list[str]¶
- property number: int¶
Returns the index pos of self.value (usually 1-based)
- property value: str¶
- class honeybee_phhvac.hot_water_piping.PhHvacPipeSegment(_geom: LineSegment3D, _diameter_mm: float = 12.7, _insul_thickness_mm: float = 12.7, _insul_conductivity: float = 0.04, _insul_refl: bool = True, _insul_quality: None = None, _daily_period: float = 24, _water_temp_c: float = 60.0, _material: int = 2, *args: Any, **kwargs: Any)[source]¶
Bases:
_PhHVACBaseA single pipe segment (linear) with geometry and a diameter
Note: Following the LBT convention, while the geometry can be in a variety of units, thicknesses are all required to be in meters. This means that while the geometry will scale, the thickness and diameter will not.
- duplicate() PhHvacPipeSegment[source]¶
- classmethod from_dict(_input_dict: Dict) PhHvacPipeSegment[source]¶
- move(moving_vec3D: Vector3D) PhHvacPipeSegment[source]¶
Move the pipe’s geometry along a vector.
- Parameters:
moving_vec3D – A Vector3D with the direction and distance to move the ray.
- Returns:
A new PhHvacPipeSegment with the moved geometry.
- reflect(normal_vec3D: Vector3D, origin_pt3D: Point3D) PhHvacPipeSegment[source]¶
Reflected the pipe’s geometry across a plane with the input normal vector and origin_pt3D.
- 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_pt3D from which to reflect.
- Returns:
A new PhHvacPipeSegment with the reflected geometry.
- rotate(axis_3D: Vector3D, angle_degrees: float, origin_pt3D: Point3D) PhHvacPipeSegment[source]¶
Rotate the pipe’s geometry by a certain angle_degrees around an axis_3D and origin_pt3D.
Right hand rule applies: If axis_3D has a positive orientation, rotation will be clockwise. If axis_3D has a negative orientation, rotation will be counterclockwise.
- Parameters:
axis_3D – A Vector3D axis_3D representing the axis_3D of rotation.
angle_degrees – An angle_degrees for rotation in degrees.
origin_pt3D – A Point3D for the origin_pt3D around which the object will be rotated.
- Returns:
A new PhHvacPipeSegment with the rotated geometry.
- rotate_xy(angle_degrees: float, origin_pt3D: Point3D) PhHvacPipeSegment[source]¶
Rotate the pipe’s geometry counterclockwise in the XY plane by a certain angle_degrees.
- Parameters:
angle_degrees – An angle_degrees in degrees.
origin_pt3D – A Point3D for the origin_pt3D around which the object will be rotated.
- Returns:
A new PhHvacPipeSegment with the rotated geometry.
- scale(scale_factor: float, origin_pt3D: Point3D | None = None) PhHvacPipeSegment[source]¶
Scale the pipe’s geometry by a factor from an origin_pt3D point.
Note that following the LBT convention, while the geometry can be in a variety of units, thicknesses are all required to be in meters. This means that while the geometry will scale, the thickness and diameter will not.
- Parameters:
scale_factor – A number representing how much the line segment should be scaled.
origin_pt3D – A Point3D representing the origin_pt3D from which to scale. If None, it will be scaled from the World origin_pt3D (0, 0, 0).
- property diameter_m: float¶
Return the diameter of the pipe segment in meters.
- property display_name¶
Get or set a string for the object name without any character restrictions. If not set, this will be equal to the identifier.
- property identifier¶
- property identifier_short: str¶
- property insulation_thickness_m: float¶
Return the insulation thickness of the pipe segment in meters.
- property key¶
- property length: float¶
Return the length of the pipe segment in model-units.
- class honeybee_phhvac.hot_water_piping.PhHvacPipeTrunk[source]¶
Bases:
_PhHVACBaseA ‘Trunk’ Pipe which has geometry, and serves one or more ‘Branches’.
- add_branch(_branch: PhHvacPipeBranch) None[source]¶
Add a new HBPH PhPipeBranch to the Trunk.
- duplicate() PhHvacPipeTrunk[source]¶
- classmethod from_dict(_input_dict: Dict) PhHvacPipeTrunk[source]¶
- move(moving_vec3D: Vector3D) PhHvacPipeTrunk[source]¶
Move the pipe’s elements along a vector.
- Parameters:
moving_vec3D – A Vector3D with the direction and distance to move the ray.
- Returns:
A new PhHvacPipeTrunk with the moved elements.
- reflect(normal_vec3D, origin_pt3D)[source]¶
Reflected the pipe’s elements across a plane with the input normal_vec3D vector and origin_pt3D.
- Parameters:
normal_vec3D – A Vector3D representing the normal_vec3D vector for the plane across which the line segment will be reflected. THIS VECTOR MUST BE NORMALIZED.
origin_pt3D – A Point3D representing the origin_pt3D from which to reflect.
- Returns:
A new PhHvacPipeTrunk with the reflected elements.
- rotate(axis_3D: Vector3D, angle_degrees: float, origin_pt3D: Point3D) PhHvacPipeTrunk[source]¶
Rotate the pipe’s elements by a certain angle_degrees around an axis_3D and origin_pt3D.
Right hand rule applies: If axis_3D has a positive orientation, rotation will be clockwise. If axis_3D has a negative orientation, rotation will be counterclockwise.
- Parameters:
axis_3D – A Vector3D axis_3D representing the axis_3D of rotation.
angle_degrees – An angle_degrees for rotation in degrees.
origin_pt3D – A Point3D for the origin_pt3D around which the object will be rotated.
- Returns:
A new PhHvacPipeTrunk with the rotated elements.
- rotate_xy(angle_degrees: float, origin_pt3D: Point3D) PhHvacPipeTrunk[source]¶
Rotate the pipe’s elements counterclockwise in the XY plane by a certain angle_degrees.
- Parameters:
angle_degrees – An angle_degrees in degrees.
origin_pt3D – A Point3D for the origin_pt3D around which the object will be rotated.
- Returns:
A new PhHvacPipeTrunk with the rotated elements.
- scale(factor: float, origin_pt3D: Point3D | None = None) PhHvacPipeTrunk[source]¶
Scale the pipe’s elements by a factor from an origin_pt3D point.
- Parameters:
factor – A number representing how much the line segment should be scaled.
origin_pt3D – A Point3D representing the origin_pt3D from which to scale. If None, it will be scaled from the World origin_pt3D (0, 0, 0).
- Returns:
A new PhHvacPipeTrunk with the scaled elements.
- property daily_period: float¶
Return the length-weighted average daily period of all the pipe segments.
- property diameter_mm: float¶
Return the length-weighted diameter (MM) name of the pipe element.
- property display_name¶
Get or set a string for the object name without any character restrictions. If not set, this will be equal to the identifier.
- property identifier¶
- property identifier_short: str¶
- property key¶
- property length: float¶
Return the total length of the trunk itself in model-units.
- property material_name: str¶
Return the material name of the pipe element.
- property num_fixtures: int¶
Return the number of fixtures connected to the trunk.
- property segments¶
Return a list of all the Pipe-Segments in the Trunk.
- property total_home_run_fixture_length: float¶
Return the total length (in model-units) of all fixture pipes as measured from end to end.
NOTE: This method will include the trunk’s and branch’s length 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_length: float¶
Return the total length (in model-units) of the trunk PLUS all branches and fixture pipes in model-units.
- property water_temp_c: float¶
Return the length-weighted average water temperature (deg-C) of all the pipe segments.