118 lines
4.7 KiB
Plaintext
118 lines
4.7 KiB
Plaintext
# in this example the electron temperature on the left is ramped up in time
|
|
# and held fixed on the right. the phonon temperature is free on the left
|
|
# and fixed and consistent with the electron temperature on the right.
|
|
# ATC restarting is used to eliminate the need to redo the equilibration phase.
|
|
# This benchmark tests restarting and the fractional step method with the TTM.
|
|
#echo both
|
|
# units
|
|
units real
|
|
atom_style atomic
|
|
variable restart equal 0 # NOTE add support for ifs when we update to new lammps
|
|
# create domain
|
|
#lattice type reduced density rho* = 4*(sigma/a)^3,
|
|
# where N = 4 for fcc,
|
|
# s = 3.405 A (Wagner)
|
|
# a = 5.25 A (Ashcroft & Mermin, p. 70)
|
|
boundary f p p
|
|
pair_style lj/cut 13.5
|
|
#if "${restart}"
|
|
#read_data atom_restart.data # NOTE reading in text atom data results in minor differences due to truncation
|
|
#else
|
|
read_data temp.init
|
|
#endif
|
|
lattice fcc 5.405 origin 0.25 0.25 0.25
|
|
region feRegion block -14 14 -3 3 -3 3
|
|
region mdRegion block -12 12 -3 3 -3 3
|
|
region mdInternal block -10 10 -3 3 -3 3
|
|
# NOTE: don't define ghosts if they are outside the feRegion
|
|
group internal region mdInternal
|
|
group ghost subtract all internal
|
|
# create atoms
|
|
#boundary f p p
|
|
#create_box 1 mdRegion
|
|
#create_atoms 1 region mdRegion
|
|
#mass 1 39.95
|
|
#pair_style lj/cut 13.5
|
|
#pair_coeff 1 1 .238 3.405 13.5
|
|
#velocity internal create 40 87287 mom yes loop geom
|
|
# timestep & neighboring
|
|
timestep 5.0
|
|
thermo 10
|
|
neighbor 5. bin
|
|
neigh_modify every 10 delay 0 check no
|
|
# ID group atc PhysicsType ParameterFile
|
|
fix AtC internal atc two_temperature Ar_ttm.mat
|
|
fix_modify AtC boundary ghost
|
|
# ID part keywords nx ny nz region
|
|
fix_modify AtC mesh create 14 1 1 feRegion f p p
|
|
fix_modify AtC time_integration fractional_step
|
|
fix_modify AtC internal_quadrature off
|
|
# fix initial temperatures
|
|
fix_modify AtC initial temperature all 20
|
|
fix_modify AtC fix temperature all 20
|
|
fix_modify AtC initial electron_temperature all 20
|
|
fix_modify AtC fix electron_temperature all 20
|
|
# equilibrate MD field with rescale
|
|
fix_modify AtC extrinsic exchange off
|
|
fix_modify AtC control thermal rescale 10
|
|
thermo 100
|
|
run 1000
|
|
|
|
# change thermostat
|
|
fix_modify AtC extrinsic exchange on
|
|
fix_modify AtC unfix temperature all
|
|
fix_modify AtC unfix electron_temperature all
|
|
fix_modify AtC mesh create_faceset bndy box -10 10 -10 10 -10 10
|
|
fix_modify AtC control thermal flux faceset bndy
|
|
# add nodesets & boundary temperature controls
|
|
# ID mesh create_nodeset tag xmin xmax ymin ymax zmin zmax
|
|
# NOTE create_nodeset doesn't handle "inf"
|
|
fix_modify AtC mesh create_nodeset lbc -14.1 -13.9 -INF INF -INF INF
|
|
fix_modify AtC mesh create_nodeset rbc 13.9 14.1 -INF INF -INF INF
|
|
fix_modify AtC fix electron_temperature lbc 40.
|
|
fix_modify AtC fix electron_temperature rbc 20.
|
|
fix_modify AtC fix temperature rbc 20.
|
|
fix_modify AtC source electron_temperature all 9.50445e-11
|
|
# run transient
|
|
thermo 100
|
|
reset_timestep 0
|
|
run 2000
|
|
write_restart atom_restart.bin
|
|
fix_modify AtC write_restart atc_restart.bin
|
|
|
|
unfix AtC
|
|
fix AtC internal atc two_temperature Ar_ttm.mat
|
|
fix_modify AtC boundary ghost
|
|
# ID part keywords nx ny nz region
|
|
fix_modify AtC mesh create 14 1 1 feRegion f p p
|
|
fix_modify AtC time_integration fractional_step
|
|
fix_modify AtC internal_quadrature off
|
|
# fix initial temperatures
|
|
fix_modify AtC initial temperature all 20
|
|
fix_modify AtC initial electron_temperature all 20
|
|
# change thermostat
|
|
fix_modify AtC mesh create_faceset bndy box -10 10 -10 10 -10 10
|
|
fix_modify AtC control thermal flux faceset bndy
|
|
# add nodesets & boundary temperature controls
|
|
# ID mesh create_nodeset tag xmin xmax ymin ymax zmin zmax
|
|
# NOTE create_nodeset doesn't handle "inf"
|
|
fix_modify AtC mesh create_nodeset lbc -14.1 -13.9 -INF INF -INF INF
|
|
fix_modify AtC mesh create_nodeset rbc 13.9 14.1 -INF INF -INF INF
|
|
fix_modify AtC fix electron_temperature lbc 40.
|
|
fix_modify AtC fix electron_temperature rbc 20.
|
|
fix_modify AtC fix temperature rbc 20.
|
|
fix_modify AtC source electron_temperature all 9.50445e-11
|
|
# read in reference positions
|
|
fix_modify AtC reset_atomic_reference_positions temp.init
|
|
fix_modify AtC consistent_fe_initialization on
|
|
# output filename frequency [text output]
|
|
fix_modify AtC output restartFE 100 text
|
|
# ATC restart command
|
|
fix_modify AtC read_restart atc_restart.bin
|
|
|
|
# run to steady state
|
|
thermo 100
|
|
reset_timestep 0
|
|
fix_modify AtC reset_time
|
|
run 2000
|