You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Follow-ups from the #475 adversarial review (none blocked the merge; all probed at the PR head):
_snes_max_it_user latch never clears (petsc_generic_snes_solvers.pyx ~6428-6443): set snes_max_it=200 → delete the option → the next solve correctly uses the default, but the one after resurrects the stale 200. The latch should clear when the key is absent from the options DB. (Still strictly better than the pre-yield_anchor: which side of exact Min the soft-min yield law sits on #475 always-clobber, hence follow-up not blocker.)
Docstring attributes the Min side to the smoother family (~8810): "powermean (default, approaches the yield surface from below) or sqrt (from above)" — the side belongs to yield_anchor, not the family; under the default onset anchor both families sit below Min near yield. Also anchor is forwardable via homotopy_options (**options passthrough) but missing from the documented key list.
Uncommented except Exception: return default at the options read (~6433) — Charter swallowed-exception rule: state what is being swallowed and why.
yield_anchor setter orphans a pre-built YieldHomotopyControl's δ atom (constitutive_models.py:1030-1039) — diagnostics-only exposure since yield_continuation refuses anchor= with a ready-made control; either rebind or document.
Test name: test_yield_anchor_keeps_onset_stress_exact exercises anchor="yield"; "onset" is the other anchor. Rename. A march-level test driving anchor="yield" through JIT/solve would also pin what is currently only probe-verified.
Follow-ups from the #475 adversarial review (none blocked the merge; all probed at the PR head):
_snes_max_it_userlatch never clears (petsc_generic_snes_solvers.pyx~6428-6443): setsnes_max_it=200→ delete the option → the next solve correctly uses the default, but the one after resurrects the stale 200. The latch should clear when the key is absent from the options DB. (Still strictly better than the pre-yield_anchor: which side of exact Min the soft-min yield law sits on #475 always-clobber, hence follow-up not blocker.)yield_anchor, not the family; under the default onset anchor both families sit below Min near yield. Alsoanchoris forwardable viahomotopy_options(**optionspassthrough) but missing from the documented key list.except Exception: return defaultat the options read (~6433) — Charter swallowed-exception rule: state what is being swallowed and why.yield_anchorsetter orphans a pre-builtYieldHomotopyControl's δ atom (constitutive_models.py:1030-1039) — diagnostics-only exposure sinceyield_continuationrefusesanchor=with a ready-made control; either rebind or document.test_yield_anchor_keeps_onset_stress_exactexercisesanchor="yield"; "onset" is the other anchor. Rename. A march-level test drivinganchor="yield"through JIT/solve would also pin what is currently only probe-verified.viscosity_min_roundingsetter unvalidated (constitutive_models.py:1192-1195) — accepts negative/wrong-sign values silently.