Temperature oscillations with nvt/sllod + fix/deform

Dear Lammps community

I am performing numerical simulations of polymer melts under steady shear flow at different temperatures. To do that, I consider:

fix nvtshear all nvt/sllod temp 0.30 0.30 0.2 # Here, damping is defined as 100*timestep.
fix shearbox all deform 1 xy erate 0.1 remap v units box

During the deformation, I compute the temperature in two different ways:

compute newT all temp/partial 0 1 1
compute newT2 all temp/deform

Doing this, I find that (1) the temperature differs depending on what “compute” I use, and (2) there is an initial transient period where the temperature exhibits significant and unphysical oscillations.

I have made a test by considering Langevin dynamics, and I did not see these oscillations. Has anyone seen this type of behavior before?

Please, below, you can find the script I am using.

Thank you in advance for your time.
Carmen

===================================================
variable mytemp 	   equal 	0.30			
variable seed              equal   123                     
variable A		   equal 	0.1			
variable Ndef		    equal	1			
variable tnvt                equal   10000          
variable thermodump  equal   10              
variable tstep		    equal   0.002			
variable Tdamping      equal   100*${tstep}		
variable thermofile      string  thermo.dat      

units                  lj                              
boundary          p p p                           
atom_style        bond                            

read_data         initconf_T0.30 
change_box     all triclinic remap units box   
group		 chain type 1
mass		 1 1.0

pair_style          lj/cut 2.5      
pair_coeff          * * 1.0 1.0 2.5
pair_modify       shift yes

special_bonds   fene
bond_style         harmonic
bond_coeff         * 555.5 0.97 

comm_modify   cutoff 4.0
neighbor           0.4 bin
neigh_modify    every 1 delay 1 check yes

fix  nvtshear all nvt/sllod temp 0.3 0.3 0.2	
fix  shearbox all deform 1 xy erate 0.1 remap v units box     

compute newT all temp/partial 0 1 1						
compute newT2 all temp/deform

variable step     equal step
variable temp    equal temp
variable newT   equal c_newT
variable newT2 equal c_newT2

thermo_style   custom step temp v_newT v_newT2
thermo            ${thermodump}

fix           dummy all print ${thermodump} "${step} ${newT} ${newT2}" file ${thermofile} screen no title "#1:step 2:newT 3:newT2"

timestep 0.002
run         10000

I would expect that. There is a kinetic energy contribution in x-direction on top of the shearing that is ignored by the first compute.

Has the initial geometry equilibrated with shearing applied? If not, some equilibration time would need to be included.

Thank you so much, Axel, for your comments.

(2) An equilibration of 1e7 steps was performed before applying any deformation. After that, I turn on the steady shear flow as in the script I shared below. If I wait for enough time, the temperature achieves the desired temperature, i.e., the temperature imposed by the thermostat. (Sorry, I cannot attach any image to show the temperature behavior because I am a new user). However, these oscillations can influence the mechanical behavior of the material because they are linked with kinetic energy. Indeed, I am studying glassy polymer melt under shear, so during the transitory state, the glass would be different in an unphysical way.

Hi @K-MLO,

The SLLOD equation assume a constant and continuous shear velocity profile during deformation: in other word homogeneous steady-state. That is why @akohlmey asked you if you did equilibration with shear. There is indeed a transition in fluids from 0 average velocity profile to the expected profile depending on your deformation, especially in molecular fluids. In polymer, due to entanglement, this transition can be especially long, so before any consideration of data gathering, the system needs to be close enough to its steady-state. See the note box in the compute temp/deform manual page. This is the one used by nvt/sllod to monitor temperature.

That said you say you are studying glassy polymers melt. This is an initially solid state so you have basically a phase transition more than a simple fluid flow. I am not very sure that the use of SLLOD is appropriate to physically reproduce the said transition. The use of a langevin thermostat with a bias removed from the velocity before any steady shear state seems indeed more appropriate to me.

Note also that:

  • compute newT all temp/partial 0 1 1 I don’t think this command does what you think it does. It essentially compute temperature only taking the yz plane into account. During a shear along the x direction, this is bogus and might explain some of your results.
  • I think you might be more interested in compute temp/profile which allows you to monitor the average temperature profile along the sheared direction. This compute can also be used by the fix langevin.
1 Like

Thank you, Germain, for your answer. After doing some tests with the Langevin thermostat, I completely agree that it is more appropriate than NVT/SLLOD for my case. Also, thanks for the comments regarding how to compute the temperature.