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
Deferred. Opened so the design and its trigger are recorded.
Why not now
Constant folding is the only incremental part of update(); everything else runs every time. In the FFT solver the strain changes at every voxel and every iteration, and each voxel loads its own history, so nearly everything would rerun anyway. Change propagation pays off only in hosts that hold the strain fixed while something else changes (temperature-only updates, parameter studies). No current host does that.
Design, when needed
Every property gets a version number. A write bumps it: external sources on bind(), outputs when their callback runs, history on commit(), revert() and load_history().
Each callback stores the versions of its declared reads from its last run. It is skipped when they are all unchanged and it is not stateful().
A skipped callback that has side effects, or reads something it did not declare, gives stale values silently. The read check catches undeclared reads only in debug builds.
Trigger
The first host that updates with the strain held fixed.
Activity