Skip to content

1593 add additional heat pump data records #1594

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 7 commits into
base: main
Choose a base branch
from

Conversation

Anton2355
Copy link

Added multiple heat pump data records (Q_max, Pel, model name, manufacturer) to EN14511 package for broader applicability. Also included a mean performance curve as a generic model when no specific heat pump is selected.

@Anton2355 Anton2355 requested a review from FWuellhorst May 8, 2025 15:16
@Anton2355 Anton2355 self-assigned this May 8, 2025
@Anton2355 Anton2355 linked an issue May 8, 2025 that may be closed by this pull request
Copy link
Contributor

@FWuellhorst FWuellhorst left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the records! I mainly have doc-comments :)

Comment on lines 26 to 32
// These tables were created by taking data from graphs from the manufacturer.
// The temperature intervals are discretized based on the curvature of the curves:
// finer resolution is used in regions with higher curvature to preserve accuracy.
// The electrical power (Pel) is calculated using: Pel = Qmax / COP.
// Some manufacturers don’t provide the same temperature intervals for COP and Qmax,
// so for Pel, only the common temperature values are used to avoid extrapolation.
// That’s why the table sizes for Qmax and Pel may be different.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you make sure each record gets a proper documentation section?
It is easiest to either do it in Dymolas viewer or just directly in text.
An example html structure below. Be sure to include the revision section with your name and the issue number. If at hand, also specify the link to the datasheet and explain the method you used in each file - even though this creates redundancy.
You can highlight variable names like this: <code>PEle</code>.

(Documentation(info="<html>
<p>
  Data for large scale (220 kW) water-to-water heat pump from WAMAK.
  Nominal pressure losses are the maximal values given in the datasheet,
  same for the nominal mass flow rates.
</p>

<h4>References</h4>
<p>
WAMAK, Produktblatt ver. 2023/24.
<a href=\"https://products.wamak.eu/\">
WAMAK Product Sheets Application</a>.
</p>
</html>", revisions="<html>
<ul><li>
<i>November 10, 2023</i> by Fabian Wuellhorst:<br/>
  First implementation (see issue <a href=
  \"https://github.com/ibpsa/modelica-ibpsa/issues/1576\">#1576</a>)
</li></ul>
</html>"))

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should I add more to the explanation of the method as I already have in the text above? Should i include that I digitalized the data using https://automeris.io/wpd/? Or what else should I include?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You may mention that, but I find your description above to be sufficient!

@@ -0,0 +1,29 @@
within AixLib.Fluid.HeatPumps.ModularReversible.Data.TableData2D.EN14511;
record Average_Heat_Pump "Average Heat Pump"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Specify how the record was created and what it represents in the doc.
Also, it is mainly residential air-water heat pumps, or? In that case, Maybe AverageAirToWaterResidential as a name?

extends AixLib.Fluid.HeatPumps.ModularReversible.Data.TableData2D.GenericAirToWater(
dpEva_nominal=0,
dpCon_nominal=0,
tabUppBou=[253.15, 331.15; 316.15, 331.15],
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe 333.15 is more "average"?

@ebc-aixlib-bot
Copy link
Contributor

Thank you for making a Pull Request to AixLib!

Our CI pipeline will help you finalize your contribution.
Here's what is typically checked:

  • HTML syntax of your models, primarily in your documentation.
  • Adherence to the naming convention in all changed files.
  • Ability to check all models.
  • Ability to simulate all models, if they are examples.
  • If your contribution changes existing reference results.

If HTML errors occur, I will fix the issues using a separate pull request.
For the other checks, I will post the results here: https://rwth-ebc.github.io/AixLib/1593-add-additional-heat-pump-data-records/index.html

Tips to fix possible naming violations:

  • Stick to the naming guidelines, e.g. Namespace Requirements
  • Do all paramaters, variables, models, etc. have a description?
  • Use absolute paths to classes! -> AixLib.Fluid.HeatExchangers.Radiator - Avoid: HeatExchangers.Radiator

If all CI stages pass and you have addressed possible naming violations, please consider the following:

  • Use "group" and "tab" annotations to achieve a good visualization window.
  • Use units consistently.
  • Instantiate the replaceable medium package as:
    replaceable package Medium = Modelica.Media.Interfaces.PartialMedium "Medium model";
    instead of using a full media model like AixLib.Media.Water directly.
  • Never using absolute paths to files (e.g., C: or D:). Replace them with modelica://AixLib/....
  • Ensure your documentation is helpful and concise.
  • Make sure icons are clear. Please avoid using images!
  • Stick to 80 characters per line, as long as it makes sense.
  • Add or modify examples for new or revised models.
  • Include a simulate-and-plot script as a regression test for new models.
    How? Follow the documentation here: https://github.com/ibpsa/modelica-ibpsa/wiki/Unit-Tests#how-to-include-models-as-part-of-the-unit-tests
    Tip: To create the initial script, you can use Dymolas script generator, explained here: https://www.claytex.com/tech-blog/how-to-use-a-plot-script/)

Once you have addressed these points, you can assign a reviewer.
Although this process may seem tedious, ensuring CI passes allows the reviewer to focus
their time on the actual modeling rather than syntax and unintended breakages caused by your changes.

If you have any questions or issues, please tag a library developer.
Once again, thank you for your valuable contribution!

</li></ul>

</html>", info="<html>
<p>Data for air-to-water heat pump from Remko. These tables are based on digitized data from manufacturer graphs. Temperature intervals are discretized with finer resolution in areas of high curvature to maintain accuracy. Electrical power <span style=\"font-family: Courier New;\">PEle</span> is calculated using the formula: <span style=\"font-family: Courier New;\">PEle</span> = <span style=\"font-family: Courier New;\">Qmax</span> / <span style=\"font-family: Courier New;\">COP</span>. Since manufacturers often provide <span style=\"font-family: Courier New;\">COP</span> and <span style=\"font-family: Courier New;\">Qmax</span> at different temperature points, <span style=\"font-family: Courier New;\">PEle</span> is calculated only at the temperature values common to both datasets to avoid extrapolation. As a result, the <span style=\"font-family: Courier New;\">Qmax</span> and <span style=\"font-family: Courier New;\">PEle</span> tables may differ in size.</p>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you replace <span style=\"font-family: Courier New;\"> with <code> and </span> with </code>?

@TobiasSpratte TobiasSpratte self-requested a review May 15, 2025 13:58
TobiasSpratte
TobiasSpratte previously approved these changes May 15, 2025
Copy link
Contributor

@TobiasSpratte TobiasSpratte left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks very nice, thank you!

@FWuellhorst
Copy link
Contributor

@Anton2355 There was a HTML error, see: #1595. You can merge this pull request without any review.
Please also consider my comment regarding the span. Else, all looks nice!

…al-heat-pump-data-records

Corrected HTML Code in branch correct_HTML_1593-add-additional-heat-pump-data-records
Copy link
Contributor

@FWuellhorst FWuellhorst left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

When the pipeline passes, you can merge! Thanks for the work!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Add additional heat pump data records
5 participants