Water Temperature 2/3 desired value

Hello Everyone,

I’m working on the SPE water model and trying the get the spatially averaged bin temperature. I do understand that I need to remove the bias velocity from the system and with reference to Axel comments, I come to know that I need to remove additional 3 DOF globally in order to get the accurate temperature readings per bin. However, even when I’m using the command to remove the extra DOF, I’m still facing the same problem and the temperature is 2/3 the value of what I need.

I tried many commands to correct this issue but failed in every single attempt. Could anyone of you suggest me what exactly I’m missing out? I really need some fresh eyes to look into this problem and point out the stupid mistake that I’m doing. I need to understand how compute_modify extra/dof is working and removing the DOFs and why it is not working in my case?


Compute water temperature

compute mTemp water temp/profile 1 1 1 y 60 out tensor
compute WTemp water temp/com
compute_modify WTemp extra/dof 3
fix tprofile water ave/time 1 500 500 c_mTemp file temp.profile

Computational Parameters

compute C1 water chunk/atom bin/1d y lower 2.5 units box
compute peratom water stress/atom NULL
#compute newT water temp/partial 1 1 1

variable sumpress atom -(c_peratom[1]+c_peratom[2]+c_peratom[3])/3
variable pressN atom -(c_peratom[2])
variable pressT atom -(c_peratom[1]+c_peratom[3])/2

compute ke_water_pa water ke/atom
compute pe_water_pa water pe/atom
compute newpress all pressure WTemp

fix F3 water ave/chunk 1 500 500 C1 density/mass temp v_sumpress v_pressN v_pressT c_ke_water_pa c_pe_water_pa file Data.txt

Sidharth Raut

you are not making much sense in your reasoning and how and why you apply computes and compute_modify.

i don’t know any SPE water model. could it be you mean SPC/E?

if yes, that you are probably using fix shake or fix rigid to constrain the geometry of the water molecules. that subtracts 3 degrees of freedom from each water molecule. thus for N water molecules you have instead of 3N * 3 DOFs you have now 3N * 3 - (3N) = 3N * 2 DOFs. the documentation of fix ave/chunk explains how to correct for this. unless you are simulating a flow, you don’t need to remove a bias (which you are not doing in the quoted input anyway).