-
Notifications
You must be signed in to change notification settings - Fork 238
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
Equations skipped at inlets in 1-D control volumes #424
Comments
To record some of the things that were discussed at the Core Dev meeting:
|
Additional thoughts:
Subject to having good values for those variables, then we can probably say that using the material, energy and pressure balances would at least give a consistent, if not meaningful, value at the boundary. |
I think I disagree with this. If we have values for state variables and flow rate, then the values for all other variables, except possibly derivatives, have a physical meaning. And this may not be typical, but when I have a constraint indexed by a set, I expect it to have an expression for every element of that set. The only instance I would expect otherwise is if the expression is not well-defined (e.g. discretization equations). If we think they lead to confusing values, I think deactivating them is sufficient.
I'm sure this can happen, but if the state variables are "smooth" along our length domain, then all other variables should be as well, right? "Property variables" (or similarly, algebraic variables) are continuous functions of the state variables, and derivatives are continuous functions of the state variables and property variables, right? If we add variables that are independent of the rest of our model, we should expect jump. If there are cases where what I'm proposing leads to this, then these independent equations/variables should remain inactive/stale.
I think I agree that it would probably be better to extrapolate towards the boundary than to interpolate with the boundary value. But that sounds hard to implement. I am interested in getting a quick result from a numpy regular grid interpolation function, and I think that values obtained using our model equations (if they existed) would be more useful than default values or
I don't think this changes for a counter-flow system. If the state variables of phase 1 at 0 are a good approximation of those at 0+, and the state variables of phase 2 at 0 are a good approximation of those at 0+, then the reaction rate at 0 will be a good approximation of that at 0+.
I don't see why mass transfer terms would need to be fixed. Are they not a function of the state variables? I am actually slightly less concerned about having balance equations (differential equations) than about having all the algebraic equations present at the boundaries. This is because I would like the set of algebraic variables and equations to be the same at every point in space. The alternative makes it much more difficult to check that a DAE model is index-1, or to exploit index-1 DAE structure in a solver/simulator. I believe consistent structure of our models across continuous sets will also be necessary to interface to external tools for DAEs/PDEs. |
|
|
|
In 1-D control volumes, and some property package state blocks, equations are often skipped at the inlet (or points where
defined_state is True
in state blocks). This causes some inconveniences/problems when attempting to treat a 1-D control volume as a spatial DAE. My proposal is to not skip (either implicitly, or viaConstraint.Skip
) any equations at a particular index of a continuous set. If an equation's presence at a particular index leads an over-determined model, as with sum equations whendefined_state is True
, then I propose that this equation be deactivated, rather than omitted.Problems I've encountered with skipped equations at inlets include:
The text was updated successfully, but these errors were encountered: