I have checked the ACT documentation and could not find a callback for when all steps in an ACT result have been evaluated. It feels inefficient to evaluate stress values for all steps in the evaluate callback which is triggered at each time step.
I don’t think I understand the question.
If the callback is being triggered at multiple times steps, what is forcing you to evaluate stress at all time points each time? Why not code the logic to only get the values you need for that time point? Or if you don’t want that turn time history off.
DPF could also provide an option to write all the data to a DPF fields container at the first evaluation point, then each new time point references the fields container. It is somewhat confusing because there are multiple ways to make this happen. If you describe more of your overall goal, you will probably get more specific guidance.