Hello,

I have a question about converting units from "real" to "metal".

I've read similar kind of posts but I'm still wondering.

I converted units from "real" to "metal" in the sample input file in the

document of "compute heat/flux".

I use the same random number seed, and at the time step 0, the

calculated total energy is the same.

However, at timestep 2000, they have different temperature,

74.682256[K] from the "real" units input file and

66.078762[K] from the "metal" units input file.

and the calculated thermal conductivity have different result,

0.29[W/mK] from the "real" units input file and

0.19[W/mK] from the "metal" units input file.

Where are the differences from?

Anyone has any ideas?

My conversion process is below.

1. I converted values which have units of time[fs] to [ps] in the

definition of "dt" and "fs2s" and the Tdamp value in fix nvt.

2. I converted values which have units of energy[kCal/mol] to [eV] in

the definision of "kCal2J" and the 1st potential parameter in "pair_coeff".

3. I didn't change values which have units of temperature[K],

distance[Angstroms] and mass[g/mol] because "metal" and "real" has the

same units of them.

I will attach the both input file of "real" units and that of "metal"

units I used. (The run time is shortened from the original sample file)

#### converted input in "metal" units from here ####

# Sample LAMMPS input script for thermal conductivity of solid Ar

units metal

variable T equal 70

variable V equal vol

variable dt equal 0.004

variable p equal 200 # correlation length

variable s equal 10 # sample interval

variable d equal $p*$s # dump interval

# convert from LAMMPS real units to SI

variable kB equal 1.3806504e-23 # [J/K] Boltzmann

variable eV2J equal 1.6021764E-19

variable A2m equal 1.0e-10

variable ps2s equal 1.0e-12

variable convert equal \{eV2J\}\*{eV2J}/\{ps2s\}/{A2m}

# setup problem

dimension 3

boundary p p p

lattice fcc 5.376 orient x 1 0 0 orient y 0 1 0 orient z 0 0 1

region box block 0 4 0 4 0 4

create_box 1 box

create_atoms 1 box

mass 1 39.948

pair_style lj/cut 13.0

pair_coeff * * 0.0103299 3.405

timestep ${dt}

thermo $d

# equilibration and thermalization

velocity all create $T 102486 mom yes rot yes dist gaussian

fix NVT all nvt temp $T $T 0.01 drag 0.2

run 2000

# thermal conductivity calculation, switch to NVE if desired

#unfix NVT

#fix NVE all nve

reset_timestep 0

compute myKE all ke/atom

compute myPE all pe/atom

compute myStress all stress/atom virial

compute flux all heat/flux myKE myPE myStress

variable Jx equal c_flux[1]/vol

variable Jy equal c_flux[2]/vol

variable Jz equal c_flux[3]/vol

fix JJ all ave/correlate $s $p d &
c\_flux\[1\] c\_flux\[2\] c\_flux\[3\] type auto file J0Jt\.dat ave
running
variable scale equal {convert}/${kB}/$T/$T/$V*s\*{dt}

variable k11 equal trap(f_JJ[3])*\{scale\}
variable k22 equal trap\(f\_JJ\[4\]\)\*{scale}

variable k33 equal trap(f_JJ[5])*${scale}

thermo_style custom step temp v_Jx v_Jy v_Jz v_k11 v_k22 v_k33

run 10000

variable k equal (v_k11+v_k22+v_k33)/3.0

variable ndens equal count(all)/vol

print "average conductivity: $k[W/mK] @ T K, {ndens} /A^3"

#### converted input in "metal" units till here ####

#### input in "real" units from here ####

# Sample LAMMPS input script for thermal conductivity of solid Ar

units real

variable T equal 70

variable V equal vol

variable dt equal 4.0

variable p equal 200 # correlation length

variable s equal 10 # sample interval

variable d equal $p*$s # dump interval

# convert from LAMMPS real units to SI

variable kB equal 1.3806504e-23 # [J/K] Boltzmann

variable kCal2J equal 4186.0/6.02214e23

variable A2m equal 1.0e-10

variable fs2s equal 1.0e-15

variable convert equal \{kCal2J\}\*{kCal2J}/\{fs2s\}/{A2m}

# setup problem

dimension 3

boundary p p p

lattice fcc 5.376 orient x 1 0 0 orient y 0 1 0 orient z 0 0 1

region box block 0 4 0 4 0 4

create_box 1 box

create_atoms 1 box

mass 1 39.948

pair_style lj/cut 13.0

pair_coeff * * 0.2381 3.405

timestep ${dt}

thermo $d

# equilibration and thermalization

velocity all create $T 102486 mom yes rot yes dist gaussian

fix NVT all nvt temp $T $T 10 drag 0.2

run 2000

# thermal conductivity calculation, switch to NVE if desired

#unfix NVT

#fix NVE all nve

reset_timestep 0

compute myKE all ke/atom

compute myPE all pe/atom

compute myStress all stress/atom virial

compute flux all heat/flux myKE myPE myStress

variable Jx equal c_flux[1]/vol

variable Jy equal c_flux[2]/vol

variable Jz equal c_flux[3]/vol

fix JJ all ave/correlate $s $p d &
c\_flux\[1\] c\_flux\[2\] c\_flux\[3\] type auto file J0Jt\.dat ave
running
variable scale equal {convert}/${kB}/$T/$T/$V*s\*{dt}

variable k11 equal trap(f_JJ[3])*\{scale\}
variable k22 equal trap\(f\_JJ\[4\]\)\*{scale}

variable k33 equal trap(f_JJ[5])*${scale}

thermo_style custom step temp v_Jx v_Jy v_Jz v_k11 v_k22 v_k33

run 10000

variable k equal (v_k11+v_k22+v_k33)/3.0

variable ndens equal count(all)/vol

print "average conductivity: $k[W/mK] @ T K, {ndens} /A^3"

#### input in "real" units till here ####

Thank you in advance.

TADA Masahiro