oemof-thermal
oemof-thermal copied to clipboard
quality grade sould not be a fixed value
Because of my switch from matlab to python I wanted to start to use oemof thermal for time series calculations with heat pumps. For the last years i used the open source toolbox Carnot 7.1 and its models. There, it is well documented that the quality grade is not a fixed value.
- Therefore it should be considered to change your heat pump model to accept pandas.dataframes or lists or arrays as input for
quality grade
- And next: A small function would be great to calculate the quality grade from datasheet input as a lookup-table or function of t_low and t_high
Here an example how much the quality grade relies on the different temperatures
Calculating the quality factor for "Stiebel Eltron WPL 13" with matlab With data from Datasheet and parameter identification (Schwarmberger), see Carnot 7.1 https://fh-aachen.sciebo.de/index.php/s/0hxub0iIJrui3ED?path=%2FCARNOT_documentation_7.1 see heat_pump.html Parameter of th heat pump
load('Stiebel_WPL_13.mat')
K1=K_h(1);K2=K_h(2);K3=K_h(3); % K1..K3 for thermal
K4=K_h(4);K5=K_h(5);K6=K_h(6); % K4..K6 for electric
loop for calculating heat and electric power over different temperatures
T_low = [-20:1:30]; %°C
T_high = [20:1:70]; %°C
for i=1:length(T_low)
for j=1:length(T_high)
P_th_WP(j,i) = K1*T_low(i) + K2*T_high(j) + K3;
P_el_WP(j,i) = K4*T_low(i) + K5*T_high(j) + K6;
end
end
Heating power in W
contourf(T_low,T_high,P_th_WP);
xlabel('Source temperature in °C')
ylabel('outlet temperature in °C')
title('heating power in W')
colorbar
electric power in W
contourf(T_low,T_high,P_el_WP);
xlabel('Source temperature in °C')
ylabel('outlet temperature in °C')
title('eletric power in W')
colorbar
COP
cop=P_th_WP./P_el_WP;
contourf(T_low,T_high,cop);
xlabel('Source temperature in °C')
ylabel('outlet temperature in °C')
title('COP')
colorbar
Quality factor
for i=1:length(T_low)
for j=1:length(T_high)
carnot(j,i) = (T_high(j)+273.15)/((T_high(j)+273.15)-(T_low(i)+273.15));
end
end
eta = cop ./ carnot;
contourf(T_low,T_high,eta);
xlabel('Source temperature in °C')
ylabel('outlet temperature in °C')
title('Quality grade')
colorbar
Plot quality grade over temperature difference
for i=1:length(T_low)
for j=1:length(T_high)
t_diff(j,i) = T_high(j)-T_low(i);
end
end
for i=1:length(T_low)
scatter(t_diff(:,i),eta(:,i))
hold on
end
xlabel('temperature difference (high - low) in K')
ylabel('quality grade')
title('Quality grade')
grid on
xlim([0,100])
ylim([0,0.5])
The last image shows that it is note recommended to find a fit-function with x=temperature difference. It has to be a fit with x1=temp_low and x2=temp_high