Open
Conversation
This internal function calculates the next sampling step in the blocking scheme. This may be used if any preparation for the correlation function is required before the actual sampling (e.g. to call enable_aux() before the force calculation)
Instead of letting the tcf call particle:aux_enable(), let the blocking scheme handle it, as it knows (through `next()') when a sampling step occurs. If the correlation module has, aux_enable defined, particle:aux_enable() will be called automatically then. This is a follow-up for 02ed3a2 and reverts it. Refs #282179
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This is an attempt to fix the problem discussed in ticket #282179. I've added a function that is able to calculate the next sampling step for the blocking scheme, which then can be used to enable the auxiliary variables only if required (e.g. for the stress tensor autocorrelation).
This moves the
aux_enable()logic out of the tcf and into the blocking scheme, but the tcf holds the information about whether auxiliary variables are calculated or not.blocking_scheme::next() could maybe optimized by recalculating the next sampling step only if the last old one has been reached (ie if
clock->step()> last returned value fromnext())