Closed marcusfuchs closed 2 years ago
As discussed with @marcusfuchs we should consider a IdealHeatSink (or flow sink) with a input connector. With that, we are able to use DemandTables from text or ncDataReaders or .mos scripts, or outputs of other simulation classes, e.g. the thermal zone idealheatercooler
Just as a quick hint: We have a easy-to-use converter for .mat --> .nc in our ebc_python_library :)
@MichaMans and @TobiasBlacha : It seems that you two are working now on this issue. Any chance to complete it (maybe together with @marcusfuchs) for the next milestone?
@PMehrfeld I think this is and will be a WIP issue for the next weeks/month, but we can have a look at it and merge it at the current state into development. That would make it a bit more transparent
Thanks for the updates. I set this issue's milestone to a higher version and additionally assigned you, @MichaMans and @TobiasBlacha.
As the feature branches of this issue are getting a bit confusing I'm going to delete them:
@marcusfuchs @TobiasBlacha any objections?
No objections.
@MichaMans @TobiasBlacha @marcusfuchs Is anyone using the OpenLoop/HeatPumpCarnot model? I have two minor changes, that I want to add and don't want any other models to fail. Changes are:
If someone is currently working with that model, then @TobiasBlacha . From my side, every addition is an enhancement 👍
@MDHering I'm not working with the model at the moment, but I think the two proposed changes are good.
@MDHering @TobiasBlacha I did some small revisions of the partial supply model, set the time constant (tau) for temperature sensor to zero (reason: simulations with euler solver and fixed time step of 1s were otherwise not feasible), flipped the sensor for aesthetic reasons, implemented a Q_flow for the calculation of the heating power in the supply station. Any objections to push that directly?
@MichaMans No objection from me
@MichaMans @TobiasBlacha I tried to find a way to set additional pressure losses of the plugFlow pipe model in relation to zeta values of components. Right now, the parameter fac is used. If we want to use zeta values instead the parameterization of fac needs to be changed for three components. The equation for fac is: The components that need changing are:
The changes mainly consist of renaming the parameter fac and adapting its boundaries (e.g. from fac(min=1) to fac(min=0)). The equation for fac needs to be implemented into the HydraulicDiameter component to have access to all necessary parameters (e.g. dpNominal). Changing those three components will most certainly affect all district heating models. Therefore I want to check with you if you think this idea is worth implementing and which way should be used. I thought of two possible ways to implement it:
Do you have any thoughts or suggestions on this?
@MDHering Currently I'm not sure if i understand it all right. You already implemented your suggestion and tested it, didnt't you? Where the results better then before? Because this might be a large ajustment to the models of the ibpsa library. Maybe we can go for an implementation suggested with 2. with new models. So not changing the current, more adding new ones to test and discuss them.
@MichaMans I agree that adding new models is probably the best way to compare the two models. The advantage of writing zeta values directly to the pipe model is mainly that this decreases the need for a lot of preprocessing. Zeta values can be taken from literature directly, whereas fac needs to be calculated depending on flow regimes at nominal conditions right now. I will add the new models for a better understanding of the difference between the two, if this is okay?
@MDHering: I just went fast through your text, but if I see it correctly, it might be an option for you to take the model AixLib.Fluid.FixedResistances.HydraulicResistance
. Here you directly have the parameters m_flow_nominal
, diameter
and zeta
. So you can implement maybe a combination of zetaResis - PlugFlowPipe - zetaResis.
@PMehrfeld Thanks for the advice. Somehow I missed this possibility completely. I will add a model according to your suggestion and test it.
I added the models with an additional HydraulicResistance element. For small district heating networks this works fine. The Jülich heating network runs into Bad Allocation error when using the new pipe models.
I added my first draft of the PlugFlowPipes to the pipes folder in the disctrict heating folder. The pipes named PlugFlowPipeZeta and StaticPipeZeta use an additonal hydraulic resistance component. With those pipe models a large DH simulation failed during the comilation due to Bad Allocation error.
The model PlugFlowPipeFacAsZeta is modelling additional pressure losses with the factor fac instead of an additional hydraulic resistance component. This seems to reduce the number of equations and allows the simulation model to be compiled even for a large DH network. Addtitional components need to be changed to use this approach. Those components are added to the folder BasClassesPlugFlowFacAsZeta.
@MichaMans Do you think the model PlugFlowPipeFacAsZeta is an approach worth following? Or do you think an approach like PlugFlowPipeZeta is better for large DH networks?
@MichaMans @TobiasBlacha I tried the approach that you suggested to write the calculation of parameter fac in the model generation template. For my first test this works really well. The changes are all part of the uesmodels project (see issue 32). In my opinion this is a good solution. If you aggree I delete all additional pipe models that I added to this branch, because we do not need them any more.
@MDHering @TobiasBlacha As fare as i see the progress here, we reached a point in terms of model development which serves first DHC applications. Therefore we should think about merging it to the development. At least we should check the following for that:
@MichaMans I pushed a first draft of a valvecontrolled Closed Loop substation. This substation is allready optimized to minimize the number of equations and to substitute the secondary fluid flow and Heat Exchanger model. Additionally, a control loop is added to set the opening of the valve according to available heat flow and requiered heat flow. I sucessfully simulated the small LTDH network. Additionally, I tested the large juelich heating network and ended with the "bad allocation" error during the compilation of the model. To implement the functionality of the closed loop substation into the large network I added the OpenLoop.ValveControlledHX model. This model should yield similar results to the closed loop model with a reduced amount of equations. I simulated the large network sucessfully with the OpenLoop substations. However, there is still some interesting behavior: I compared the closed loop model to the open loop model for the small network and a simulation time of one week.
Thanks for the work you've put into this so far. Can you give us a short estimation of how much effort is still needed? Do you consider it realistic to close the issue in the near future? Otherwise I would assign it to v0.9.0.
@DaJansenGit thanks, i would go for v0.9.0. 😃
@DaJansenGit thanks, i would go for v0.9.0. 😃
Ok, I changed the milestone :) Thanks!
@MichaMans As I saw, you are going for v0.9.0. Maybe this could be something for the hackday next week. Otherwise, you can just remove the hackday label. ;)
Hello everyone, what is the status of this issue? Anything we could tackle in tomorrows hackday?
The Branch issue403_dev_integration_2 has been inactive for more than 872 days. A pull request is created and the branch is then deleted. If you want to restore the branch, go to the closed pull requests and restore your branch. Pull Request URL: https://github.com/RWTH-EBC/AixLib/pull/1262
The Branch issue403_dev_integration_4 has been inactive for more than 858 days. A pull request is created and the branch is then deleted. If you want to restore the branch, go to the closed pull requests and restore your branch. Pull Request URL: https://github.com/RWTH-EBC/AixLib/pull/1263
The Branch issue403_dhc_pipes_heatLosses has been inactive for more than 522 days. A pull request is created and the branch is then deleted. If you want to restore the branch, go to the closed pull requests and restore your branch. Pull Request URL: https://github.com/RWTH-EBC/AixLib/pull/1264
The Branch issue403_dhc_substation_refactoring has been inactive for more than 518 days. A pull request is created and the branch is then deleted. If you want to restore the branch, go to the closed pull requests and restore your branch. Pull Request URL: https://github.com/RWTH-EBC/AixLib/pull/1265
The Branch issue403_dhc_substations has been inactive for more than 523 days. A pull request is created and the branch is then deleted. If you want to restore the branch, go to the closed pull requests and restore your branch. Pull Request URL: https://github.com/RWTH-EBC/AixLib/pull/1266
The branch issue403_dhc has been inactive for more than 124 days. The branch is automatically deleted after 180 days. If you want to keep the branch, add changes to the branch. A pull request is created and the branch is then deleted. If you want to restore the branch, go to the closed pull requests and restore your branch. User name: MichaMans Branch URL: https://github.com/RWTH-EBC/AixLib/tree/issue403_dhc
Update
We are trying to make a renewed effort to add DHC models to AixLib, concentrating our previous activities from different projects.
This issue will be the central reference for a branch
issue403_dhc
, in which we will continue our development until a first version is ready for merging to thedevelopment
branch. We may require different feature branches that first merge toissue403_dhc
. We'll use separate issues and PRs toissue403_dhc
for this. In this issue, we will try to keep an overview of current activities.Feel free to participate. Currently, @MichaMans @TobiasBlacha and me are working on this topic.
First steps are:
development
in #515What is the problem?
Why do we want to solve it?
How do we want to solve it?
402 already adds a first reference network for hydraulic validation. Continuing this work, I'll add the base classes, a very simple first implementation of each network component, and an example recreating the reference network using the newly introduced modules. This may also show some need to modify the models added in #402.