Skip to content

Commit d0948f8

Browse files
authored
Merge pull request #311 from wouterpeere/issue310-add-__repr__
Initial implementation
2 parents e759f5d + cb93dd5 commit d0948f8

39 files changed

+538
-19
lines changed

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,10 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
77

88
## [2.3.1] - unpublished
99

10+
## Added
11+
12+
- __repr__ for every class (issue #310).
13+
1014
## Fixed
1115

1216
- Problem with optimise energy profile (issue #306).

GHEtool/Borefield.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2007,3 +2007,14 @@ def calculate_quadrant(self) -> int:
20072007
# limited by minimum temperature
20082008
return 3
20092009
return 2
2010+
2011+
def __repr__(self):
2012+
return f'Maximum average fluid temperature [-]: {self.Tf_max}\n' \
2013+
f'Minimum average fluid temperature [-]: {self.Tf_min}\n' \
2014+
f'Average buried depth [m]: {self.D}\n' \
2015+
f'Average borehole depth [m]: {self.H}\n' \
2016+
f'Borehole diameter [mm]: {self.r_b * 2000:.0f}\n' \
2017+
f'Number of boreholes [m]: {self.number_of_boreholes}\n' \
2018+
f'{self.ground_data.__repr__()}\n' \
2019+
f'{self.borehole.__repr__()}\n' \
2020+
f'{self.load.__repr__()}'

GHEtool/Examples/combined_active_and_passive_cooling.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ def default_cooling_in_summer():
4040
# set variables
4141
load.eer = eer
4242
borefield.load = load
43-
43+
print(borefield)
4444
borefield.print_temperature_profile(plot_hourly=True)
4545

4646
# get active cooling data

GHEtool/VariableClasses/Borehole.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@
1212

1313

1414
class Borehole(BaseClass):
15-
1615
"""
1716
The borehole class contains all the functionalities related to the calculation of the equivalent
1817
borehole thermal resistance and contains a fluid and pipe class object.
@@ -239,3 +238,8 @@ def __eq__(self, other):
239238
if getattr(self, i) != getattr(other, i):
240239
return False
241240
return True
241+
242+
def __repr__(self):
243+
if self.use_constant_Rb:
244+
return f'Borehole effective thermal resistance [(m·K)/W]: {self.Rb}'
245+
return 'Borehole parameters:\n' + self.fluid_data.__repr__() + '\n' + self.pipe_data.__repr__()

GHEtool/VariableClasses/Efficiency/COP.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -114,3 +114,8 @@ def get_SCOP(self,
114114
w_array = np.array(power) / cop_array
115115

116116
return np.sum(power) / np.sum(w_array)
117+
118+
def __repr__(self):
119+
if self._has_part_load:
120+
return 'Temperature and part-load dependent COP'
121+
return 'Temperature dependent COP'

GHEtool/VariableClasses/Efficiency/EER.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -115,3 +115,8 @@ def get_SEER(self,
115115
w_array = np.array(power) / eer_array
116116

117117
return np.sum(power) / np.sum(w_array)
118+
119+
def __repr__(self):
120+
if self._has_part_load:
121+
return 'Temperature and part-load dependent EER'
122+
return 'Temperature dependent EER'

GHEtool/VariableClasses/Efficiency/EERCombined.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -197,3 +197,11 @@ def __eq__(self, other) -> bool:
197197
return False
198198

199199
return True
200+
201+
def __repr__(self):
202+
temp = f'\nActive cooling:\n\t{self.efficiency_active_cooling.__repr__()}\nPassive cooling:\n\t{self.efficiency_passive_cooling.__repr__()}'
203+
if self.threshold_temperature is not None:
204+
temp += f'\nWith active cooling above [°C]: {self.threshold_temperature}'
205+
if self.months_active_cooling is not None:
206+
temp += f'\nWith active cooling in months [-]: {self.months_active_cooling}'
207+
return temp

GHEtool/VariableClasses/Efficiency/SCOP.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,3 +74,6 @@ def get_COP(self, *args, **kwargs) -> float:
7474
float
7575
"""
7676
return self.SCOP
77+
78+
def __repr__(self):
79+
return f'SCOP [-]: {self.SCOP}'

GHEtool/VariableClasses/Efficiency/SEER.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,3 +75,6 @@ def get_EER(self, *args, **kwargs) -> float:
7575
float
7676
"""
7777
return self.SEER
78+
79+
def __repr__(self):
80+
return f'SEER [-]: {self.SEER}'

GHEtool/VariableClasses/FluidData.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -154,3 +154,14 @@ def __eq__(self, other):
154154
if getattr(self, i) != getattr(other, i):
155155
return False
156156
return True
157+
158+
def __repr__(self):
159+
temp = f'Fluid parameters\n\tThermal conductivity of the fluid [W/(m·K)]: {self.k_f}\n\t' \
160+
f'Density of the fluid [kg/m³]: {self.rho}\n\t' \
161+
f'Thermal capacity of the fluid [J/(kg·K)]: {self.Cp}\n\t' \
162+
f'Dynamic viscosity [Pa·s]: {self.mu}\n\t'
163+
if self._vfr is not None:
164+
temp += f'Volume flow rate [l/s]: {self.vfr}'
165+
else:
166+
temp += f'Mass flow rate [kg/s] : {self.mfr}'
167+
return temp

0 commit comments

Comments
 (0)