Skip to content

Conversation

@the-nic
Copy link
Member

@the-nic the-nic commented Mar 23, 2015

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 from next() )

the-nic added 2 commits March 23, 2015 11:27
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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant