AixLib icon indicating copy to clipboard operation
AixLib copied to clipboard

initial implementation of BoilerGeneric and Example

Open DaJansenGit opened this issue 1 year ago • 3 comments

This includes the first model of the new ModularEnergySystems models (see #1147)

Before merge we want to solve all todos listed in #1439

DaJansenGit avatar Jun 06 '23 13:06 DaJansenGit

I looked roughly over the code and saw some issues regarding the naming convention. I am mentioning them here so that you can consider them in your further development.

You use "Nom" as an abbreviation in some models (e.g., in NominalFuelConsumption). In a lot of other models, we use "nominal" (also mentioned at the bottom of the wiki). Additionally, in NominalFuelConsumption the naming for dTNom is confusing when you also have dTNominal. Another thing is the order of the variable names (use m_flow_rel instead of rel_m_flow).

FelixStege avatar Jun 06 '23 16:06 FelixStege

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/issue1147_GenericBoiler/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!

ebc-aixlib-bot avatar Jul 29 '24 12:07 ebc-aixlib-bot

  • [ ] Let's check the naming violations listed here against the guidelines and correct if needed

DaJansenGit avatar Jul 30 '24 11:07 DaJansenGit