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

Handling temperature initial guesses #101

Open
inducer opened this issue Oct 12, 2021 · 0 comments
Open

Handling temperature initial guesses #101

inducer opened this issue Oct 12, 2021 · 0 comments

Comments

@inducer
Copy link
Owner

inducer commented Oct 12, 2021

In full-on combustion mirgecom, temperature is found via Newton iteration in https://github.com/ecisneros8/pyrometheus. This is expensive, and it's made substantially cheaper/more reliable by the availability of a starting guess (typically, the last temperature). In eager eval, this is easy: the last value can be sent "along for the ride" in the ConservedVars and looked at when needed. There are two aspects here:

  • So it sits in an array container, but it may not participate in arithmetic. (Realize that it's possible that no meaningful "temperature increments" are being computed, so the array container parts related to temperature initial guesses returned for the ODE RHS are likely None. The container arithmetic should be able to take that. Conceivably we could compute those increments, and the arithmetic might start making sense... but I'm not sure we want to.) So this is the first question: Do we teach with_container_arithmetic about what's needed? How? (Include Optional in the field type spec? More arguments like allow_none=["field1", "field2"]?)
  • The other aspect is that this temperature initial guess needs to be "placeholderized" and propagated into actx.compiled code. As long as it's a somewhat normal part of an array container, that happens automatically. (but @MTCam: the "just copy it from the template" mode we discussed likely won't work with lazy, because it won't get "placeholderized" upon entry to a compiled function.)

cc @MTCam @kaushikcfd @alexfikl

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

1 participant