inducer / inducer/arraycontext
Handling temperature initial guesses
- 主要語言
- Python
- 星號
- 9
- 分支
- 11
- 平均合併
- 17 小時 12 分鐘
- 30 天內合併 PR
- 2
描述
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.compile`d 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 `compile`d function.)
cc @mtcam @kaushikcfd @alexfikl
貢獻指南
這個儲存庫沒有索引到貢獻指南
研究方向
Start by reviewing the with_container_arithmetic entry point and the actx.compile placeholderization path, using ConservedVars as the described container context. Define done as a documented design and implementation plan for optional temperature-guess fields, their arithmetic behavior, and propagation through compiled code.
由索引模型根據 Issue 內容生成。
評估
- 技術堆疊
- python
- 領域
- tooling
- Issue 類型
- 功能
- 難度
- 5/5
- 預估耗時
- 一週以上
- 活躍度
- 停滯
- 描述清晰度
- 需要釐清
- 新手友好度
- 25/100