Implement calculated dissipative heat losses in pipe
General
The changes includes a component called "pipeline". It is a pipe component, where dissipative heat losses by forced convection by pipes over the ground and conduction through the soil by burried pipes is calculated.
Documentation
Not documented yet.
Testing
Basic test added to "test_piping.py"
Questions and Comments
The component needs several parameters to calculate the heat loss and they are grouped in a 'Q_ohc_group'. But depending on the case (pipes in ground/over ground) slightly different parameters are needed (pipe_depth/wind_velocity). Is there a way to subgroup those parameters?
Hi @HaSchneider,
thank you for your contribution!
The component needs several parameters to calculate the heat loss and they are grouped in a 'Q_ohc_group'. But depending on the case (pipes in ground/over ground) slightly different parameters are needed (pipe_depth/wind_velocity). Is there a way to subgroup those parameters?
We could set up two different groups in this case. Depending on which parameters you pass either one or the other group would be active. Q_ohc_group_surface and Q_ohc_group_subsurface maybe? One of the groups would have:
Q_ohc_group_surface: insulation_m, insulation_tc, Tamb, material, pipe_thickness, environment_media, wind_velocityQ_ohc_group_subsurface: insulation_m, insulation_tc, Tamb, material, pipe_thickness, environment_media, pipe_depth
Then, if you supply pipe_depth, the subsurface group will be active, if you supply wind_velocity the surface group will be active. Based on the choice, we an also add a consistency check after the super().preprocess() call.
I made a first commit and pushed it to your branch to format the code a little bit. I will add a couple of comments directly in the code :).
Have a good sunday!
Francesco
Once we have sorted out of the comments I left inside the code, and split up the two groups (surface and subsurface group), we can go ahead an merge this. Thank you again!
The commit a7e3b41d6187f598b2475d9143a8bfa78da45c58 raises an error for me:
AttributeError: 'Pipeline' object has no attribute 'dp'
I uncommented it in my last commit, for what is it needed?
The commit a7e3b41 raises an error for me:
AttributeError: 'Pipeline' object has no attribute 'dp'I uncommented it in my last commit, for what is it needed?
That is for postprocessing. The SimpleHeatExchanger postprocessing implements kA, which I deemed not relevant for this component. My thought was: Since one would specify so many details on the component here, you would not use the kA equation. For that reason, I removed the kA parameter also from the parameter list and then overwrote the postprocessing method.
dp is the pressure drop on the component. It should be available through the component's parameters as they are inherited from the SimpleHeatExchanger (or Pipe).
Hi @HaSchneider,
sorry I kind of lost track of this as I was quite involved with the new version release of tespy (and somehow I did not receive a notification by github, that you updated the branch here...). Anyways: Thank you very much for updating it. I will look into it asap and then we can go ahead merge the feature and I will create a new release soon.
Have a nice weekend
Francesco
@HaSchneider: Since I released version 0.9 with vast changes this Friday, there were a couple of merge conflicts. I resolved them and pushed to your branch. The tests seem to work for me, I had one sightly different result of .4 W on the second test and adjusted that.
Completed! Thank you for your contribution @HaSchneider