Skip to content

SDC temperature cutoff discards advective sources as well as reactions #2059

Description

@zingale

Suggested priority: High
Reviewed revision: 3ac0bda4f00da3eed0446beadfc1cd5c51b99a40

Problem and impact

At either temperature bound, the SDC RHS zeros every derivative and returns before rhs_to_int() adds state.ydot_a.

The SDC system includes nonreacting sources for species partial densities and internal energy. Disabling reactions at a temperature limit must not disable those sources. Density continues to be reconstructed from its advective source separately, so this early return can also make density and partial densities inconsistent. Advective heating that should move a cold cell back into the burning temperature range is lost.

Affected code

Reproduction and observed behavior

From the repository root, run:

python3 agent-notes/integration-review-2026-09-06/reproduce.py

Run sdc_cutoff. Use zero nuclear rates and nonreacting derivatives (0.1, -0.1, 2) for the two species and energy.

T=1 rhs=0,0,0 expected=.1,-.1,2
T=10 rhs=0.1,-0.1,2 expected=.1,-.1,2
T=1e+11 rhs=0,0,0 expected=.1,-.1,2

The bounds here are mintemp = 1 and MAX_TEMP = 1e11. The test includes the actual SDC state-conversion and RHS headers.

The companion script and captured output are part of this review. These are focused CPU tests with minimal AMReX/physics substitutes, not full network or GPU integration tests. Attach the script when submitting this issue.

Suggested fix and regression coverage

Zero only the reaction contribution at the temperature limits, then execute the ordinary conversion/addition of advective sources and energy scaling. Add source-only SDC tests at both bounds, with and without scale_system, and a case where advective heating crosses the lower bound.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions