lammps/examples/USER/atc/thermal/in.bar1d_lumped

86 lines
3.3 KiB
Plaintext

#AtC Thermal Coupling
# This benchmark tests heat conducting into and out of the MD region. The
# temperature is initially 20 everywhere and the left boundary BC is fixed at
# 40.# The result should show heat diffusing through the FEM to the MD and back
# out # to the FEM on the right. Insufficient time is captured to reach the
# linear # steady state, but heat crossing both boundaries should be observed.
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)
# NOTE following 3 lines added for restart
boundary f p p
pair_style lj/cut 13.5
read_data temp.init
lattice fcc 5.405 origin 0.25 0.25 0.25
region simRegion block -12 12 -3 3 -3 3
# create atoms, NOTE commented out for restart
#region mdRegion block -5 5 -3 3 -3 3
#boundary f p p
#create_box 1 mdRegion
#create_atoms 1 region mdRegion
#mass 1 39.95
# specify interal/ghost atoms
region mdInternal block -4 4 -3 3 -3 3
group internal region mdInternal
group ghost subtract all internal
# velocities have Vcm = 0, NOTE next three lines commented out for restart
#velocity internal create 40. 87287 mom yes loop geom
#pair_style lj/cut 13.5
#pair_coeff 1 1 .238 3.405 13.5
neighbor 5. bin
neigh_modify every 10 delay 0 check no
# ID group atc PhysicsType ParameterFile
fix AtC internal atc thermal Ar_thermal.mat
fix_modify AtC boundary ghost
# numerical parameters
fix_modify AtC time_integration fractional_step
fix_modify AtC internal_quadrature off
# 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 ibndy box -4.0 4.0 -INF INF -INF INF in
fix_modify AtC mesh create_faceset obndy box -4.0 4.0 -INF INF -INF INF outward
# fix a temperature
fix_modify AtC fix temperature all 20.
#fix_modify AtC fix temperature all linear 0 0 0 -0.154 0 0 30.
#fix_modify AtC fix temperature all quadratic 0 0 0 -0.154 0 0 30. 0.01 0.0 0.0 0 0 0
# turn on thermostat
fix_modify AtC control thermal rescale 10
# output
thermo 100
variable xdof equal 3*count(ghost)
compute_modify thermo_temp extra ${xdof}
thermo_style custom step cpu etotal pe f_AtC[1] temp f_AtC[2]
thermo_modify format 1 %6i format 2 %7.2g
# equilibrate MD field
#fix_modify AtC output bar1d_lumped_initFE 1 text
timestep 5
run 400
#run 100
# change thermostat to hoover
fix_modify AtC unfix temperature all
#fix_modify AtC thermal control flux interpolate
fix_modify AtC control thermal flux faceset obndy
fix_modify AtC control localized_lambda on
fix_modify AtC filter type exponential
fix_modify AtC filter scale 10000.0
fix_modify AtC filter on
# add nodesets
# 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 temperature lbc 80.
fix_modify AtC fix temperature rbc 80.
# initialize
thermo 10
run 100
# relax
fix_modify AtC unfix temperature all
# output
fix_modify AtC output bar1d_lumpedFE 100 text
# run with FE
reset_timestep 0
thermo 100
run 10000