About thermal coductivity calculation by Muller plathe method.

Dear all users,
Always, Thank you for your kind answers.
Due to the complex letter to understand, I was sorry for that, and now I send the simpler one.
When I performed the NEMD calculation for thermal conductivity calculation for silicon (2x2x2nm^3) ,
I faced a problem that showed me the phrase "ERROR: Fix in variable not computed at compatible time (../variable.cpp:1640)"
I followed the example "in.mp" file in example/KAPPA folder and changed the values a little bit. But it stopped at equilibration2 step or calculation step.
I posted my input script and let me know where is the problem...
Always, Thank you for your kindness.

From. Soon-sung

P.S input script
## sample LAMMPS input script for thermal conductivity by Muller-Plathe method via fix thermal_conductivity
## setup problem

variable T equal 298.13
variable dt equal 0.001 #0.001=1fs

units metal
atom_style atomic
boundary p p s
read_data atoms.dat
velocity all create T 1004 sum no dist gaussian rot yes mom yes pair\_style tersoff pair\_coeff \* \* SiHGe\.tersoff Si\(D\) minimize 1\.0e\-8 1\.0e\-12 1000 10000 timestep {dt}

## 1st equilibration run

fix NVT all nvt temp $T $T 500
thermo 1000000
run 3000000
velocity all scale $T
unfix NVT

## 2nd equilibration run

reset_timestep 0
thermo 2000000
compute ke all ke/atom
variable temp atom c_ke
fix NVT all nve
compute layers all chunk/atom bin/1d z 0.5 0.25 units reduced
fix 2 all ave/chunk 2 500000 1000000 layers v_temp file profile.mp
fix 3 all thermal/conductivity 100 z 4 swap 1
variable Tdiff equal f_2[11][3]-f_2[1][3]
thermo_style custom step temp epair etotal f_3 v_Tdiff
run 4000000

## thermal conductivity calculation
## reset fix thermal/conductivity to zero energy accumulation

thermo 1000000
fix 3 all thermal/conductivity 100 z 4
fix ave all ave/time 2 500000 1000000 v_Tdiff ave running
thermo_style custom step temp epair etotal f_3 v_Tdiff f_ave
run 2000000

As the error message indicates, some fixes only

produce values that can be accessed at specific timesteps.

If you did this: “changed the values a little bit”, you probably

changed some time frequencies and thus broke the script.

I assume the script worked w/out your changes?

Steve