Files
lammps/examples/PACKAGES/atc/two_temperature/in.restart
2021-06-29 11:23:47 -04:00

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