I am trying to write a new method (based off the temper command), and have run into 2 snags.
the first is that I have a compute which I need to track in my time integration loop and have available at times different than those I want to have for the thermo output (it is also included in a thermo_style custom command).
This compute is of the type ‘compute reduce max…’, and I am able to access the values by using something like:
my_maxdisp = maxdispcompute->compute_scalar();
However, this appears to only give me the value that is available from the last time the compute was calculated (i.e. from the last thermo ouput step), so I tried borrowing an idea from the pe compute in temper.cpp so that I have the following line after the above line:
maxdispcompute->addstep(update->ntimestep + nevery);
But I still seem to only get the values that were calculated at the last thermo output step. And when I remove that compute from the thermo_style custom line, it seems to work as I expect (updating at the times given in the addstep call). Any ideas what could be going on here? is there a way to do this that will allow me to have this value in the thermo output, but not have to have the thermo output steps match up with the steps in my time loop?
The second is how to go about selectively triggering a dump, rather than dumping at a uniform time. Is there a way to do this in the input file? or is this best done in the source code… and if so, how?
David E. Farrell
email: [email protected]…435…