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

connector with intertial pressure #946

Closed
mwetter opened this issue Jun 12, 2018 · 4 comments
Closed

connector with intertial pressure #946

mwetter opened this issue Jun 12, 2018 · 4 comments
Assignees

Comments

@mwetter
Copy link
Contributor

mwetter commented Jun 12, 2018

This branch is to evaluate the new fluid modeling approach from
Dirk Zimmer, Daniel Bender and Alexander Pollok presented in
"Robust modeling of directed thermofluid flows in complex networks". Japanese Modelica Conference, 2018. https://elib.dlr.de/120701/1/Modelica2018_Japan_paper_8.pdf

Development branch is issue946_inertialPressure

@mwetter mwetter self-assigned this Jun 12, 2018
@mwetter mwetter changed the title connector with intertia pressure connector with intertial pressure Jun 13, 2018
@Mathadon
Copy link
Member

Mathadon commented Jun 13, 2018

This indeed sounds interesting, although the fast dynamics could become a problem. I scanned the paper. Some initial thoughts before having more time to look into it in more detail:

  • Fast dynamics are introduced but I'm not sure how fast they are exactly. I expect that we won't be able to use explicit Euler integration anymore, so we have to resort to implicit methods that scale worse with model size. That's a showstopper for the type of simulations that we run with IDEAS.
  • If we add mass flow rate as a state, we should probably remove pressure as a state in mixing volumes to avoid a mass-damper configuration where oscillations will be produced.
  • We currently have mass/pressure as a state for air. This does indeed solves some problems but at the cost of more computation time. When using mass as a state, algebraic loops can still form if there is no mixing volume between components.
  • The overall number of equations increases and the complexity is offloaded to the integrator. It might then fail to converge. If that is not the case and the integrator is able to solve the equations then it would make sense to better understand why. Perhaps a different algorithm can be used to solve the algebraic loops.
  • The paper mentions a constraint that loops are not allowed? I'm not sure what this implies for our models right now.
  • We'd require a length and area parameter for each component that has fluid?
  • To be checked further: It looks like mass is conserved explicitly from the model equations. That task is not offloaded to the integrator or algebraic loop solver. That's good.

It would be interesting to figure out why 'our' algebraic loops sometimes do not converge and fix that, rather than try to work around it.

@mwetter
Copy link
Contributor Author

mwetter commented Oct 2, 2018

Try putting the loop breaker in the base class of the resistances, and set the default value for air volumes to be steady-state mass balance (to avoid oscillations).

  • Verify that series resistances do not lead to multiple states.

Separately, the Modelica spec may have to be changed to subtract the nominal value from variables when solving algebraic loops, e.g., for air pressure, one would subtract 1E-5 Pa to avoid pressure differences that are small compared to the variable value.

@Mathadon
Copy link
Member

Mathadon commented Oct 3, 2018

If we have a clear (not too many equations and too many different types of equations) example where JModelica fails to solve an algebraic loop, I may try to debug it to see what is really going on on the numerical side. Does anybody have something like that lying around?

@mwetter
Copy link
Contributor Author

mwetter commented Jan 7, 2019

For now, we will look into improvements to the solver and/or other model formulations
that does not require adding fast dynamics.

@mwetter mwetter closed this as completed Jan 7, 2019
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