Hi,

I am working on the deformation of a nanowire and I am first trying to match literature before I work on my own but am thinking I have an error in my script. When trying to match the work of the attached study I first use nvt to equilibrate for 20 ps to 300K. I then strain (again with nvt 300) at the strain rate from the study. My nanowire is 4nm in diameter, and the length is 4D, as per the paper. However, my stress strain curves produce a modulus of about 80, far lower than the 200 reported. Is there anything in my script that seems obviously wrong? Is my NVT a relaxation or should I be doing a minimize? If so should I minimize before or after NVT? I think I am close but have been stuck on this for a while.

Thanks very much!

Carly

# ------------------------ INITIALIZATION ----------------------------

units metal

dimension 3

boundary p s s

atom_style atomic

variable latparam equal 2.856

# ----------------------- ATOM DEFINITION ----------------------------

lattice bcc {latparam}
region whole block 0 160 0 100 0 100 units box
create_box 1 whole
region wire cylinder x 50 50 20 INF INF units box
lattice bcc {latparam} orient x 1 0 0 orient y 0 1 0 orient z 0 0 1

create_atoms 1 region wire

mass 1 55.85

# ------------------------ FORCE FIELDS ------------------------------

pair_style eam/alloy

pair_coeff * * Fe_Olsson_CMS2009.eam.alloy Fe

delete_atoms overlap 0.1 all all

# ------------------------- pressure calculations ---------------------------------

compute csym all centro/atom bcc

#compute peratomp all pe/atom

####################################### EQUILIBRATION

#set timestep

reset_timestep 0

timestep 0.001

#set temperature

velocity all create 300 12345 mom yes rot no

#fix 2 all npt temp 300 300 0.1 iso 0 0 1 drag 1

fix 2 all nvt temp 300 300 0.1

# Set thermo output

thermo 500

thermo_style custom step lx ly lz press pxx pyy pzz pe temp

# Run for at least 10 picosecond (assuming 1 fs timestep)

run 20000

unfix 2

# Store final cell length for strain calculations

variable tmp equal “lx”

variable L0 equal {tmp}
print "Initial Length, L0: {L0}"

variable tmp1 equal “ly”

variable L1 equal {tmp1}
print "Initial Length, L1: {L1}"

variable tmp2 equal “lz”

variable L2 equal {tmp2}
print "Initial Length, L2: {L2}"

####################################### DEFORMATION

reset_timestep 0

#fix 2 all npt temp 300 300 0.1 y 0 0 1 z 0 0 1 drag 1

fix 2 all nvt temp 300 300 0.1

variable srate equal 1.0e10

variable srate1 equal “v_srate / 1.0e13”

fix 3 all deform 1 x erate ${srate1} units box remap x

# Output strain and stress info to file

# for units metal, pressure is in [atom] = 1/9869 [GPa]

# p2, p3, p4 are in GPa

variable strainx equal “(lx - v_L0)/v_L0”

variable strainy equal “(ly - v_L1)/v_L1”

variable strainz equal “(lz - v_L2)/v_L2”

variable p1 equal “v_strainx”

variable p2 equal “v_strainy”

variable p3 equal “v_strainz”

variable p4 equal “-pxx/10000”

variable p5 equal “-pyy/10000”

variable p6 equal “-pzz/10000”

fix def1 all print 1000 “{p1} {p2} {p3} {p4} {p5} {p6}” file Fe.def1.txt screen no

dump 1 all custom 2500 md.dump id type x y z

# Display thermo

thermo 5000

thermo_style custom step v_strainx v_strainy v_strainz temp v_p4 v_p5 v_p6 ke pe press

run 1000000