i-pi / i-pi

i-PI: a universal force engine
https://ipi-code.org/
233 stars 117 forks source link

Calculate Winding number #386

Open 1597446909 opened 4 weeks ago

1597446909 commented 4 weeks ago

May I ask if anyone can provide a code for calculating the Winding Number?

ceriottm commented 4 weeks ago

@yotamfe @BarakHirshberg ?

yotamfe commented 3 weeks ago

Hi, the winding number is not yet implement as a property in i-PI, because it is different than for PIMC. But it is a very timely question, as we are working on it just now! In the meantime, if what you're interested in is gauging the level of exchange, you can use the 'exchange_all_prob' and 'exchange_distinct_prob' properties.

1597446909 commented 3 weeks ago

Hi, the winding number is not yet implement as a property in i-PI, because it is different than for PIMC. But it is a very timely question, as we are working on it just now! In the meantime, if what you're interested in is gauging the level of exchange, you can use the 'exchange_all_prob' and 'exchange_distinct_prob' properties.

Hi,my current research is similar to the methodology presented in your published paper "Prediction of a Supersolid Phase in High-Pressure Deuterium", but I am encountering difficulties in calculating the winding number. Although this paper provided an algorithm framework to form a closed ring in the supplementary material, I am still puzzled. Suppose, when the last bead of particle 1 is connected to the head bead of particle 2, and the nearest head bead to the last bead of particle 2 is the head bead of particle 3, but the nearest bead to the last bead of particle 3 is also the head bead of particle 3. In this case, should I determine that the head bead of particle 3 is connected to the last bead of particle 2 or to the last bead of particle 3? If the head bead of particle 3 is connected to the last bead of particle 3 to form a closed ring, then with whom should the last bead of particle 2 connect—is it the head bead of particle 1, or the second nearest head bead to the last bead of particle 2? Additionally, when calculating the winding number, if the last bead of particle i is not in the same box as the head bead of particle i (being in box1 and box2, respectively), then where exactly is the endpoint of the imaginary time path—is it the head bead of particle i in box1, or the mirrored head bead position of particle i in box2. Would it be possible for you to provide a simple demo of the code to calculate the winding number? Thank you very much. Looking forward to your reply!

1597446909 commented 3 weeks ago

Hi, the winding number is not yet implement as a property in i-PI, because it is different than for PIMC. But it is a very timely question, as we are working on it just now! In the meantime, if what you're interested in is gauging the level of exchange, you can use the 'exchange_all_prob' and 'exchange_distinct_prob' properties.

Hi,my current research is similar to the methodology presented in your published paper "Prediction of a Supersolid Phase in High-Pressure Deuterium", but I am encountering difficulties in calculating the winding number. Although this paper provided an algorithm framework to form a closed ring in the supplementary material, I am still puzzled. Suppose, when the last bead of particle 1 is connected to the head bead of particle 2, and the nearest head bead to the last bead of particle 2 is the head bead of particle 3, but the nearest bead to the last bead of particle 3 is also the head bead of particle 3. In this case, should I determine that the head bead of particle 3 is connected to the last bead of particle 2 or to the last bead of particle 3? If the head bead of particle 3 is connected to the last bead of particle 3 to form a closed ring, then with whom should the last bead of particle 2 connect—is it the head bead of particle 1, or the second nearest head bead to the last bead of particle 2? Additionally, when calculating the winding number, if the last bead of particle i is not in the same box as the head bead of particle i (being in box1 and box2, respectively), then where exactly is the endpoint of the imaginary time path—is it the head bead of particle i in box1, or the mirrored head bead position of particle i in box2. Would it be possible for you to provide a simple demo of the code to calculate the winding number? Thank you very much. Looking forward to your reply!

Im want to use it to calculate supefliud fraction in PIMDB trajectory.

BarakHirshberg commented 3 weeks ago

Hi,

What we did back then, which is a little ad hoc, is that we made sure: 1) all rings (of varying particle lengths) ended up being closed, and 2) if a particle was supposed to be connected to another particle, but that other particle is already connected to a third one, we didn't connect them, and continued with the second closest. We also implemented random particle indices shuffling during the simulations to overcome some sampling difficulties we had, if I recall correctly.

Since all of these choices were a little ad hoc, we started recently working on a better way to evaluate the winding exactly.

In the meantime, the lead author on that paper was Chang Woo Myung, who's now assistant professor in Korea. I can send you whatever scripts I have from him, and also include him in the loop and I hope together we can help you out. Please email me at: hirshb@tauex.tau.ac.il.

Thanks, Barak