Dear LAMMPS users:
I desperately need some help. I intend to calculate thermal conductivity of uranium dioxide by “fix thermal/conductivity” commend. I went through the history of this Mailing-List and found some useful posters and used some of the strategies in my input file, which is pasted in the end of this mail. Please be advised the potential is customized and has been tested through thermal expansion simulation.
My questions are listed below:
1, the uranium dioxide is partially ionic system that has long range columbic interaction. And I only let “fix thermal/conductivity” to exchange the kinetic energies between oxygen particles. I wonder whether this method is valid or I should exchange the kinetic energies of uranium particles as well.
2,the parameters for “fix thermal/conductivity” and corresponding time averages are shown below.
fix heat_swap_o oxygen thermal/conductivity 10 z 10
fix e_exchange all ave/time 10 1000 10000 f_heat_swap_o file e_exchange.dat ave one
The result I got in the e_exchange.data is
Timestep Energy
20000 71.3858
30000 213.342
40000 355.356
50000 498.597
60000 644.172
70000 787.423
Interesting thing is that the outputted value increase by approximately the same interval which is two folds of the very first one. I though the output should be equilibrate at a constant value. I don’t know how to interpret this result. Does anyone can help me with this?
3, About the temperature profile, I used a linear function to fit the result. And the R is about 0.98, I wonder whether this linearity is good enough to infer the temperature gradiant.
4, The last question is about the equation to calculate the thermal conductivity. According to the manual, the thermal conductivity should be
Thermal conductivity=(energy exchange from “fix thermal/conductivity”)/{(cross section of the simulation box)(Time which corresponds to the Nevery in the “fix thermal/conductivity ”)(Slope of temperature gradient) }
I wonder whether I got this right?
Any comment or suggestion would be highly appreciated.
Thank you.
Below: Input file
# Thermal conductivity of solid UO2 @ 300K
units metal
boundary p p p
atom_style charge
variable T equal 300
lattice fcc 5.4704
region box block -3 3 -3 3 -3 3
create_box 2 box
lattice fcc 5.4704
create_atoms 1 box
lattice custom 5.4704 a1 1 0 0 a2 0 1 0 a3 0 0 1 basis 0.25 0.25 0.25 basis 0.75 0.25 0.25 basis 0.25 0.75 0.25 basis 0.75 0.75 0.25 basis 0.25 0.25 0.75 basis 0.75 0.25 0.75 basis 0.25 0.75 0.75 basis 0.75 0.75 0.75
create_atoms 2 box
timestep 0.001
mass 1 238
mass 2 16
group uranium type 1
group oxygen type 2
set group uranium charge 2.2208
set group oxygen charge -1.1104
kspace_style pppm 1e-4
pair_style hybrid/overlay table linear 88001 coul/long 10
pair_coeff 1 1 table Yakub.table Uranium 10
pair_coeff 2 2 table Yakub.table Oxygen 10
pair_coeff 1 2 table Yakub.table Dioxide 10
pair_coeff * * coul/long
neighbor 0.4 bin
neigh_modify every 5 delay 0 check yes
velocity all create 300 825577 dist gaussian
fix temp all temp/berendsen 300 300 0.1
fix nve all nve
compute ke all ke/atom
variable temp atom c_ke/(1.5*8.617343e-5)
fix temp_profile all ave/spatial 1 10000 10000 z lower 0.6 v_temp file temp.profile units lattice
thermo_style custom step temp etotal vol enthalpy
thermo_modify lost warn
thermo 1000
run 10001
# Impose heat flux
unfix temp
fix heat_swap_o oxygen thermal/conductivity 10 z 10
fix e_exchange all ave/time 10 1000 10000 f_heat_swap_o file e_exchange.dat
# Output heat flux value
run 150001