Hello,
I asked a question regarding tip4p earlier, but this is a different topic, so hopefully people don’t mind me starting a separate thread for this question. I am trying to study the lammps code, and am having issues figuring out how the fictitious m site in the tip4p model is being thermostatted in lammps, and included when the temperature is calculated. For instance, I had lammps dump the position and velocity of a 2 molecule tip4p water model after setting the velocity to 217.00 (I.E. lammps says the velocity is 217.00 K)
ITEM: ATOMS id x y z vx vy vz
1 ‘O’ 149.649 147.785 151.388 0.00267316 0.00126655 0.00451636
2 ‘H’ 149.706 148.061 152.303 0.010903 0.0256255 0.00155614
3 ‘H’ 149.776 148.59 150.886 -0.0080722 -0.0111786 -0.00203906
5 ‘O’ 149.27 150.273 149.327 -0.00464517 -0.0137007 -0.0079375
4 ‘H’ 150.01 150.065 149.897 0.00398954 -0.00106168 9.97245e-05
6 ‘H’ 150.763 150.025 149.308 0.0163819 -0.00855383 -0.0191179
If I take assume the number of constraints to be 9 (each water contributes 2 bond constraints and one angle constraint, and 3 constraints for removing velocity center of mass), then I can only calculate 217.00 for the temperature if I assume there are 8 atoms in the system, so the m atoms are included in the number of particles count, and the m atoms contribute nothing to the KE (zero mass). Is this correct, or is lammps representing the m positions as constraint in some way, since the bond distance is restrained to 0.15?
For the langevin thermostat, how is the thermostat handling the m site with no mass? The langevin thermostat will force all atoms to sample from the correct velocity distribution, but because the M site has zero mass and hence always zero KE, I feel it would lead to a temperature below the set point, if something were not adjusted compared to say a TIP3P simulation. Could someone help me out with my understanding?