1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139
|
# 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
|