SrinivasMushnoori / repex

An implementation of the RepEx package as an application written in the EnTK API
MIT License
2 stars 2 forks source link

Exchange seems to perform exchanges on incomplete swap matrix #18

Closed SrinivasMushnoori closed 5 years ago

SrinivasMushnoori commented 5 years ago

This is not currently affecting synchronous temperature exchange but absolutely will affect asynchronous (and multidimensional) exchange.

0.0
0.0
0.0
1.0
100.31310000000121
-0.08171502129867747
-8.197087103036463
0.000275454773868
268.0038000000004
-0.13490429602348364
-36.15486397061856
1.98674479363e-16
373.1172000000006
-0.23728643367772517
-88.53564973181867
3.54369119711e-39

This is the output in STDOUT of TempEx.py Here the E_diff is 0 so it does not matter, but could make ALL replicas reject all exchange when E_diff is non zero.

SrinivasMushnoori commented 5 years ago

Update: This occurs because an i-i "acceptance" is computed before an i-j "rejection". Fix in progress.

SrinivasMushnoori commented 5 years ago

Update: Independence Sampling scheme is now being implemented, that will eliminate this issue.

SrinivasMushnoori commented 5 years ago

Addressed in https://github.com/SrinivasMushnoori/repex/commit/3bf98d535f6442096435dcd98402638c37f7946e

Essentially, this is the "correct" exchange scheme. TempEx.py to be removed.