questions about user-atc

Hi, all:

I have several questions about user-atc. My lammps is C++ version (12 April 2013) for windows.

The red-colored comments are my questions.

needs description

#AtC Thermal Coupling
echo both
units real
atom_style atomic
boundary f p p

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)
pair_style lj/cut 13.5
read_data uniform_heating.init
lattice fcc 5.405 origin 0.25 0.25 0.25
region mdRegion block -8 8 -3 3 -3 3
region mdInternal block -6 6 -3 3 -3 3
group internal region mdInternal
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

ID part keywords nx ny nz region

fix_modify AtC mesh create 6 1 1 mdInternal f p p
fix_modify AtC internal_quadrature on

fix a temperature

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.

turn on thermostat

fix_modify AtC control thermal rescale 10

output

thermo_style custom step cpu pe etotal temp f_AtC[1] f_AtC[2] What’s the contents of f_AtC[1] f_AtC[2] f_AtC[3] f_AtC[4] ? are they temperature or energy? for electron?
thermo 100
log uniform_heating.log

make thermo output the correct temperature by removing ghost dof

variable xdof equal 3*count(ghost)

compute_modify thermo_temp extra ${xdof}

equilibrate MD field

timestep 5
run 400

change thermostat

fix_modify AtC output uniform_heatingFE 100 text
fix_modify AtC unfix temperature all
fix_modify AtC control thermal flux

fix boundary

fix_modify AtC mesh create_nodeset lbc -6.1 -5.9 -INF INF -INF INF
fix_modify AtC fix temperature lbc 20.
fix_modify AtC mesh create_nodeset rbc 5.9 6.1 -INF INF -INF INF
fix_modify AtC fix temperature rbc 20.

add source

#fix_modify AtC source temperature all 0.01
fix_modify AtC source temperature all 6.3363e-10 What’s the units of 6.3363e-10? I thought it would be Kcal/mole,but it does’t make sence. Is it Kcal/timestep/atom? And what’s the relation between 6.3363-10 and the above 0.01?

run with FE

reset_timestep 0
run 1000

I run this program, but it stops after the “fix Atc internal atc two_temperature Ar_ttm.mat” as:
Error: invalid fix style (…/modify.cpp:700)
The reason may be the failure of installation of user-atc. But I don’t know how to include the user-atc on my windows.

Thanks for your consideration.

Sincerely,
Yingbin

First, your version of LAMMPS is quite old.
I suggest you upgrade to the current version.

2nd, where did you get this script?

3rd, the answer to what output the fix produces
is given on the fix atc doc page.

4th, the fix atc doc page should also describe
the syntax and units of the 6.33e-10 parameter.

5th, check the current Windows executables
(available from several sources, see the download
page), to see if it includes the USER-ATC pacakge.
If not, you need to build from source.

Steve

First, your version of LAMMPS is quite old.
I suggest you upgrade to the current version.

2nd, where did you get this script?

3rd, the answer to what output the fix produces
is given on the fix atc doc page.

4th, the fix atc doc page should also describe
the syntax and units of the 6.33e-10 parameter.

5th, check the current Windows executables
(available from several sources, see the download
page), to see if it includes the USER-ATC pacakge.

The windows executables from rpm.lammps.org/windows.html do include the user-atc package.

Axel

Hi Yingbin, first please do as Steve suggests and update your code. Second, as Steve points out the doc page states that AtC units are based on a system consistent with LAMMPS length/time/mass, which you can use to define the units of your heat source based on the units you use. Finally, you need to build the atc package and then do a “make yes-arc” in your LAMMPS build directory prior to building LAMMPS.
Jeremy