forked from lijiext/lammps
140 lines
4.9 KiB
Plaintext
140 lines
4.9 KiB
Plaintext
# Computes elastic waves propagating in and out of a finite temperature region
|
|
#AtC ThermoElastic Coupling
|
|
echo both
|
|
|
|
units real
|
|
atom_style atomic
|
|
|
|
# create domain
|
|
#lattice type reduced density rho* = 4*(sigma/a)^3, where N=4 for fcc, s = 3.405 A (Wagner) and a = 5.25 A (Ashcroft & Mermin, p. 70)
|
|
lattice fcc 5.2582305 origin 0.25 0.25 0.25
|
|
|
|
# NOTE following 3 lines added for restart
|
|
boundary f p p
|
|
pair_style lj/cut 13.
|
|
read_data temp.init
|
|
region simRegion block -12 12 -3 3 -3 3
|
|
# create atoms, NOTE commented out for restart
|
|
#region mdRegion block -8 8 -3 3 -3 3
|
|
#boundary f p p
|
|
#region mdBox block -9 9 -3 3 -3 3
|
|
#create_box 1 mdBox
|
|
#create_atoms 1 region mdRegion
|
|
#mass 1 39.95
|
|
|
|
# specify interal/ghost atoms
|
|
region mdInternal block -6 6 -3 3 -3 3
|
|
region leftghost block -8 -6 -3 3 -3 3
|
|
region rightghost block 6 8 -3 3 -3 3
|
|
group internal region mdInternal
|
|
group Lghost region leftghost
|
|
group Rghost region rightghost
|
|
group ghosts union Lghost Rghost
|
|
|
|
# velocities have Vcm = 0, NOTE next for lines commented out for restart
|
|
#velocity internal create 40. 87287 mom yes loop geom
|
|
#pair_style lj/cut 13.
|
|
##pair_coeff 1 1 0.010323166 3.405 13.
|
|
#pair_coeff 1 1 .2381 3.405 13.
|
|
|
|
neighbor 5. bin
|
|
neigh_modify every 10 delay 0 check no
|
|
#write_restart tinit.dat
|
|
|
|
# zero initial momentum
|
|
fix AtC internal atc elastic Ar_thermo_elastic.mat
|
|
# ID part keywords nx ny nz region
|
|
fix_modify AtC mesh create 12 1 1 simRegion f p p
|
|
fix_modify AtC mesh create_faceset obndy box -6.0 6.0 -INF INF -INF INF outward
|
|
fix_modify AtC internal_quadrature off
|
|
fix_modify AtC fix displacement x all 0.
|
|
fix_modify AtC fix displacement y all 0.
|
|
fix_modify AtC fix displacement z all 0.
|
|
fix_modify AtC fix velocity x all 0.
|
|
fix_modify AtC fix velocity y all 0.
|
|
fix_modify AtC fix velocity z all 0.
|
|
fix_modify AtC control momentum glc_velocity
|
|
#fix_modify AtC output bar1d_thermo_elastic_initializeFE 1 text #binary
|
|
timestep 0
|
|
thermo 1
|
|
run 1
|
|
unfix AtC
|
|
|
|
# define layer
|
|
# ID group atc PhysicsType ParameterFile
|
|
fix AtC internal atc thermo_elastic Ar_thermo_elastic.mat
|
|
fix_modify AtC boundary ghosts
|
|
|
|
# ID part keywords nx ny nz region
|
|
fix_modify AtC mesh create 12 1 1 simRegion f p p
|
|
fix_modify AtC mesh create_faceset obndy box -6.0 6.0 -INF INF -INF INF outward
|
|
fix_modify AtC internal_quadrature off
|
|
|
|
# initial conditions
|
|
fix_modify AtC initial displacement x all 0.0
|
|
fix_modify AtC fix displacement y all 0.0
|
|
fix_modify AtC fix displacement z all 0.0
|
|
fix_modify AtC initial velocity x all 0.0
|
|
fix_modify AtC fix velocity y all 0.0
|
|
fix_modify AtC fix velocity z all 0.0
|
|
fix_modify AtC fix temperature all 20.
|
|
|
|
# set node sets and bcs
|
|
# ID mesh create_nodeset tag xmin xmax ymin ymax zmin zmax
|
|
fix_modify AtC mesh create_nodeset lbc -12.1 -11.9 -INF INF -INF INF
|
|
fix_modify AtC mesh create_nodeset rbc 11.9 12.1 -INF INF -INF INF
|
|
#fix_modify AtC fix velocity x rbc 0.
|
|
#fix_modify AtC fix displacement x rbc 0.
|
|
fix_modify AtC fix displacement x lbc 0.
|
|
fix_modify AtC fix velocity x lbc 0.
|
|
|
|
# rescale thermostat for initial atomic temperatures
|
|
fix_modify AtC control thermal rescale 10
|
|
fix_modify AtC control momentum ghost_flux
|
|
fix_modify AtC output bar1d_thermo_elasticFE 100 text #binary
|
|
timestep 5
|
|
thermo 100
|
|
run 1000
|
|
|
|
# free all nodes
|
|
#fix_modify AtC unfix displacement x all
|
|
#fix_modify AtC unfix velocity x all
|
|
fix_modify AtC unfix temperature all
|
|
|
|
# new boundary conditions
|
|
fix_modify AtC fix velocity x rbc 0.00000004
|
|
fix_modify AtC fix temperature lbc 20.
|
|
|
|
|
|
#fix_modify AtC output follow_ex.fe 50
|
|
#fix_modify AtC localized_lambda on
|
|
#fix_modify AtC momentum control glc_velocity
|
|
#fix_modify AtC momentum control flux faceset obndy
|
|
#fix_modify AtC control momentum flux
|
|
#fix_modify AtC control momentum ghost_flux
|
|
fix_modify AtC control thermal flux
|
|
#fix_modify AtC filter scale 1000.0
|
|
|
|
# run to extension
|
|
compute myTemp internal temp
|
|
compute atomStress internal stress/atom NULL
|
|
compute avgStress internal reduce sum c_atomStress[1] c_atomStress[2] c_atomStress[3]
|
|
variable myPres equal -(c_avgStress[1]+c_avgStress[2]+c_avgStress[3])/(3*vol)
|
|
thermo_style custom step c_myTemp v_myPres pe
|
|
fix_modify AtC output bar1d_thermo_elasticFE 500 text
|
|
#dump D1 all custom 100 bar1d_thermo_elastic.dmp id type x y z vx vy vz
|
|
timestep 5
|
|
thermo 100
|
|
run 1000
|
|
|
|
# change nodes to fixed
|
|
fix_modify AtC unfix velocity x rbc 0.
|
|
#fix_modify AtC fix displacement x rbc 0.0002
|
|
|
|
#fix_modify AtC output bar1d_fluxFE 500 text binary
|
|
|
|
# run to equilibrium
|
|
timestep 5
|
|
thermo 100
|
|
run 3000
|