Skip to content
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

Buildings Library #6

Open
DeadParrot opened this issue May 5, 2021 · 2 comments
Open

Buildings Library #6

DeadParrot opened this issue May 5, 2021 · 2 comments
Assignees
Labels
Buildings Buildings Library performance New feature or request QSS Quantized State System
Milestone

Comments

@DeadParrot
Copy link
Collaborator

Current issues related to the Buildings Library are:

  • Library changes can alter or remove models/components that one of the QSS test models depends on. The FMU build scripts in bin have a mechanism to specify a Buildings Library revision to use but this is non-ideal due to the overhead of cloning the Buildings Library for each such FMU build and because the model can then not benefit from updates. The solutions probably include:
    • Set up a default Buildings Library revision for use with these models that is occasionally updated and a mechanism (overridable) to check out that revision when building FMUs with this repository's bld_fmu.py script.
    • Request the restoration of removed models/components that are used here
  • FMU build and simulation warnings/errors should be reviewed by the Buildings Library experts
  • Model features that may unnecessarily impede QSS simulation should be reviewed and, where practical adapted, such as:
    • Some model zero-crossing expressions use a format that may create numerical sensitivities, such as things like flow1 * flow2 >= 0 as a shorthand for sign(flow1) == sign(flow2)
      • It isn't clear that this is actually a problem: reevaluate after the derivative sensitivity issue is resolved
    • Event indicators in some models generate very large values that can create overflows if not handled with care in QSS numerical differentiation and force building QSS with slower "precise" floating point model compiler options
    • noEvent() wrappers on some value or derivative discontinuity generating expressions may cause QSS simulation inaccuracy and don't exploit QSS event handling accuracy and (no backtrack) efficiency
@DeadParrot DeadParrot added performance New feature or request QSS Quantized State System Buildings Buildings Library labels May 5, 2021
@DeadParrot DeadParrot self-assigned this May 5, 2021
@mwetter
Copy link
Collaborator

mwetter commented Aug 18, 2021

@DeadParrot : Please let me know if flow1 * flow2 >= 0 should be changed to sign(flow1) == sign(flow2). This is used for example at
https://github.com/lbl-srg/modelica-buildings/blob/9e561662dbcb4fdc65014c7ae57dacb55f9b49c3/Buildings/Fluid/HeatExchangers/BaseClasses/PartialEffectivenessNTU.mo#L158

@DeadParrot
Copy link
Collaborator Author

@mwetter: The use of flow1 * flow2 degraded numerical differentiation somewhat so it is probably best to use the sign form, but this usage hasn't yet been shown to be a significant cause of QSS simulation problems for those models. Once QSS simulation of those models is working I can retry with a modified Buildings library that uses the sign version and see if this is beneficial.

@DeadParrot DeadParrot added this to the Future milestone Aug 17, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Buildings Buildings Library performance New feature or request QSS Quantized State System
Projects
None yet
Development

No branches or pull requests

2 participants