# viscosity

Dear all

I am calculating viscosity for CuZr metallic glass at different temperature starting from 700- 1400, when i plot logeta vs 1000/T, i expect it to some what like super-Arrhenius ,but as from the output it doesn’t seems to happen, also this viscosity is of order 10^-3 pa.s (for normal alloy) althought it should be order of 10^12 (for glassy alloy) pa.s, as My RDF shows that my alloy system has turned out to be glass, so can any one tell where am i making mistake?

Viscosity seems to be more for less atoms and less for more atoms peculiar ???

2. Also when i keep correlation length 2.75 Angstrom, then on single processor it runs ok but when i run it for 4 processor it gives: Expected integer parameter in input script or data file …(keeping correlation length 2 or 2.75 A has no change on viscosity order i.e 10^-3)

1.viscosity variation for large number of atoms (around 40000 atoms)is

700 0.00203786423029241
750 0.00200799988986868
800 0.0021123602482052
850 0.00221549426324076
900 0.00206741594788209
950 0.00238465374610291
1000 0.00203833138326794
1050 0.00196192035370546
1100 0.00210520959677994
1150 0.0025774401726619
1200 0.00217181118480748
1250 0.00255080602755192
1300 0.00354979352196017
1350 0.00271862986371651
1400 0.00303108039351355
1450 0.00263496537084788

2.For small no of atoms (around 900 atoms)

1300 0.0224914673906881
1250 0.0206991282553045
1200 0.0270304491212631
1150 0.0411253048231375
1100 0.0989126318827202
1050 0.0402150564851684
1000 0.0412556077162107
950 0.0276721530959114
900 0.0490452908599106
850 0.0272939715677626
800 0.0387311847639487
750 0.0259791517843982

My program for viscosity calculation is

# Sample LAMMPS input script for viscosity of Glassy CuZr alloy

variable T equal 750
variable V equal vol
variable dt equal 0.002
variable p equal 2 # correlation length (from auto-correlation function it is 2 Angstrom)
variable s equal 50 # 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 atm2Pa equal 101325.0
variable A2m equal 1.0e-10
variable ps2s equal 1.0e-12
variable convert equal {atm2Pa}*{atm2Pa}{ps2s}*{A2m}{A2m}*{A2m}

# setup problem

units metal
echo both
atom_style atomic
dimension 3
boundary p p p
region box block 0 20 0 20 0 20 units box
create_box 2 box
lattice fcc 3.61 orient x 2 0 0 orient y 0 2 0 orient z 0 0 2
region cu block 0 20 0 20 0 20 units box
create_atoms 1 region cu units box
set region cu type/fraction 2 0.5 12393
pair_style eam/fs
pair_coeff * * …/…/…/…/…/potentials/CuZr_mm.eam.fs Cu Zr
minimize 1.0e-4 1.0e-6 100000 100000
run_style verlet
timestep \${dt}
thermo \$d
thermo_style custom step temp pe etotal press vol

# 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 20000

# viscosity calculation, switch to NVE if desired

#unfix NVT
#fix NPT all npt
reset_timestep 0
variable pxy equal pxy
variable pxz equal pxz
variable pyz equal pyz
fix SS all ave/correlate \$s \$p \$d &
v_pxy v_pxz v_pyz type auto file Cu5Zr5.dat ave running

variable scale equal {convert}/({kB}\$T)\$V*s*{dt}
variable v11 equal trap(f_SS[3]){scale} variable v22 equal trap(f_SS[4])*{scale}
variable v33 equal trap(f_SS[5])
\${scale}

thermo_style custom step temp press v_pxy v_pxz v_pyz v_v11 v_v22 v_v33

run 100000
variable v equal (v_v11+v_v22+v_v33)/3.0
variable ndens equal count(all)/vol
print “average viscosity: \$v [Pa.s/ @ T K, {ndens} /A^3”

Regards

Anik

I think you have a mistake in your ave/correlate command. Have a look at the details in the manual http://lammps.sandia.gov/doc/fix_ave_correlate.html

You're doing ... ave/correlate 50 2 100 ..., which will sample values on every 50th timestep and calculate values of the correlation function at 0 and 50. That only gives you two points in your "autocorrelation function".

For problem 2, are you passing any variables into your script or using a data file when your run in parallel?

Why not looking for a simpler system (for which numerical simulation results are available) when trying to build your skills related to viscosity calculations? Don’t aim to reach for the starts right from scratch. Be humble and build your knowledge in incremental steps. Besides the obvious mistakes you may have in your input deck, how can anyone here tell if your starting configuration is a mess and not what you think it should be?
Carlos

When one calculates the viscosity, one should not use the method in the manual. One should simply print out pxy, pxz, pyz, pxx-(pxx+ppy+pzz)/3 , pyy-(pxx+ppy+pzz)/3, pyy-(pxx+ppy+pzz)/3 every 10 or 20 timesteps. When the simulation is finished one should write a little processing program where one creates a shift register to form the correlation functions of the shear stresses and the normal stress differences. In this way one gets five independent estimates of the viscosity. Note that the time integrals of the time correlation functions of the normal stress differences are 4/3 of the time integrals of the time correlation functions of the shear stresses.

Best Regards,

Sten Sarman