[devel] iterators vs property output - design question

Łukasz Walewski l... at icm.edu.pl
Mon Jun 10 18:51:59 UTC 2013


Hi,

Despite of the fact that the path integral branch reached the production
quality (mostly thanks to H.F.) I still have some issues regarding the
iterators that CP2k uses e.g. to determine whether it should print some
property at a given step or not, etc (e.g. PRINT%EACH%MD, etc).

When implementing the iterators for PINT_ENV I tried to follow the 
design of the MD branch, so I create the logger..

pint_env%logger => cp_error_get_logger(error)

from the global error structure passed directly from cp2k_run function, 
then I add the "MD" iterator - exactly the same way as it is done in 
qs_mol_dyn_low routine:

CALL cp_add_iter_level(pint_env%logger%iter_info,"MD",error=error)

and subsequently iterate it every PINT step:

CALL cp_iterate(pint_env%logger%iter_info,iter_nr=pint_env%iter,error=error)

My problem is that some property calculating routines, e.g. those 
responsible for the Wannier centers do not recognize the stepping of the 
PINT iterator and output at the default intervals instead of those set 
in the input, e.g.

PRINT%LOCALIZATION%WANNIER_CENTERS%EACH%MD

It probably means that either I do not increment the correct iterator or 
something is overwriting it without me knowing it.

Could anyone please suggest what could go wrong or maybe explain how the 
iterators are supposed to be created and incremented within CP2k ?

I would be very grateful for any help.

Best regards,
Lukasz



More information about the CP2K-user mailing list