Hi,
Aidan did some modifications by changing "domain->inside()"-checks
to "domain->inside_nonperiodic()"-checks in:
attempt_atomic_translation()
attempt_atomic_insertion()
attempt_molecule_translation()
attempt_molecule_rotation()
attempt_molecule_insertion()
but did keep "domain->inside()" check in:
attempt_atomic_translation_full()
attempt_atomic_insertion_full()
attempt_molecule_translation_full()
attempt_molecule_rotation_full()
attempt_molecule_insertion_full()
Why was this distinction made?
Furthermore: there seems to be some serious problem
with mapping/remapping in the rotation procedure of
molecules (in full_energy-mode), e.g.:
an atom of a spc water residing in some box at at:
orig[]= 26.4995,0.620019,11.1815, gets unmapped to
xtmp[]=-0.208751,-55.2257,-0.098093, but uses an
com[] = 26.7083,55.8458,11.2796 (from "group->xcm()"),
resulting in botched coordinates after rotation:
rot[]=20.0708,2.45379,-1.17742
This happens in attempt_molecule_rotation_full(), after
this event, the next call to "energy_full()" will fail
with whatever error message is near (missing bonded
atom etc.)
I circumvented this for now by setting a flag in
attempt_molecule_rotation_full() after detection of a
domain->inside()-problem, printing some debug info
(as above) and letting the move simply fail (and avoiding
energy_full()).
This is what I found out so far,
Regards
M.