Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Blocking scheme sampling #8

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

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