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

Remaining issues with HelmholtzMedia in OpenModelica #39

Open
thorade opened this issue Oct 24, 2020 · 11 comments
Open

Remaining issues with HelmholtzMedia in OpenModelica #39

thorade opened this issue Oct 24, 2020 · 11 comments

Comments

@thorade
Copy link
Owner

thorade commented Oct 24, 2020

newInst Library report, Library coverage, last 7 runs


This is a follow-up ticket for #34, to track the few issues that are left after the release of OpenModelica 1.16.
There is a corresponding ticket in OM Trac: https://trac.openmodelica.org/OpenModelica/ticket/6088


  1. Examples.ConvergenceTest.Ancillary_Saturation
    This goes into a branch of an if-else that I thought is unreachable (this should also not happen)??? After updating the assert message, it is seen that h=nan

  2. Examples.ConvergenceTest.setSat
    An iteration written by me does not converge, close to the critical point, but it works in Dymola. There is a warning about abs value being negative.

  3. Examples.MediaTestModels.IsopentaneTestModel (during initialization)
    Failing assert

  4. Examples.Validation.Derivatives_SaturationBoundary (during initialization)
    fails during initialization, with liq.s and vap.s having same value

  5. Examples.Validation.idealGasLimit
    this should converge to a certain value, but starts to oscillate because of numerical noise, also with other tools, but at a later point. Might be solved by changing some tolerance or other setting?

@thorade
Copy link
Owner Author

thorade commented Nov 11, 2020

@thorade
Copy link
Owner Author

thorade commented Dec 10, 2020

Division by zero check: OpenModelica/OpenModelica#7023

thorade added a commit that referenced this issue Dec 10, 2020
@thorade
Copy link
Owner Author

thorade commented Sep 17, 2021

Some models broken due to #45, will be addressed through #33

@bilderbuchi
Copy link

bilderbuchi commented Nov 25, 2021

With the fix for #48, we are now at 36/41 models simulating: https://libraries.openmodelica.org/branches/master/HelmholtzMedia/HelmholtzMedia.html

A fresh case not yet mentioned is Examples.ConvergenceTest.SinglePhase_setState_pramp_Tsine , which tells about setSat_p not converging.

@bilderbuchi
Copy link

Examples.Validation.idealGasLimit
this should converge to a certain value, but starts to oscillate because of numerical noise, also with other tools, but at a later point. Might be solved by changing some tolerance or other setting?

Some of the problems stem from density being prescribed to go below its lower limit (Modelica.Constants.small). I guess something like

  when d < 2*Modelica.Constants.small then
    terminate("Stopping before hitting the density limit");
  end when;

could help with that at least.

@thorade
Copy link
Owner Author

thorade commented Nov 27, 2021

I have change the stop time of that example in 224effc

thorade referenced this issue Nov 27, 2021
to avoid that it runs into numerical noise failures in CI
@thorade
Copy link
Owner Author

thorade commented Nov 27, 2021

also see #40 for the convergence criterion

@thorade
Copy link
Owner Author

thorade commented Nov 29, 2021

@bilderbuchi
Copy link

bilderbuchi commented Nov 29, 2021

Funny, when I simulate that model locally with current HH master, OM 1.18, MSL 3.2.3, Win10, I get another error:

Model error: Argument of log(1.0 - exp(e[i,2] * tau)) was 0 should be > 0
simulation terminated by an assertion at initialization
Simulation process failed. Exited with code 0xffffffffffffffff.

Possibly connected? Sadly, I did not manage to trace where this error comes from, either.

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

No branches or pull requests

2 participants