[lammps-users] fix heat command

Dear lammps users,

Is the "eflux" value in fix heat command "fix ID group-ID heat N
eflux" energy/time units per each atom in group-ID or per all atoms
in the group-ID

Thank you,

German Samolyuk

Is the “eflux” value in fix heat command “fix ID group-ID heat N
eflux” energy/time units per each atom in group-ID or per all atoms
in the group-ID

The latter one, i.e. for the entire group.

Best,

AC

Looking at the code for fix_heat.cpp, it's normalized
by # of atoms in the group.

As far as I recall, all other intensive quantities output
by LAMMPS (thermo, fixes, etc) are normalized
by the total # of atoms in the system, not by the
# in the group.

So I need to ask Paul about this. Paul, does this
seem inconsistent - or is it a requirement of fix heat
since it needs Vcm?

Steve

From the documentation (http://lammps.sandia.gov/doc/fix_heat.html): "The eflux parameter determines the change in aggregate energy of the entire group of atoms." So the energy specified by the user is the total energy subtracted/added from the group. (Since it is energy/time, it is really a power rather than an energy.) Since the value specified by the user would need to scale with the number of atoms in the group in order to achieve the same per-atom heating, the eflux parameter is an extensive rather than an intensive property. I think that there is no inconsistency with the rest of LAMMPS.

Paul

Dear All,

What do the parameter "rozero" and "ibar" in the "library.meam" file mean ?
I can not find the corresponding parameters in the paper of Baskes (Phys. Rev. B 46, 2727 - 2742 (1992)).
And no detailed information is provided on the documentation.

Thanks in advance.

BRs
Zhijia

Dear All,

What do the parameter "rozero" and "ibar" in the "library.meam" file mean ?
I can not find the corresponding parameters in the paper of Baskes (Phys. Rev. B 46, 2727 - 2742 (1992)).
And no detailed information is provided on the documentation.

Thanks in advance.

BRs
Zhijia

Hello,

    I am a new user of lammps and I am trying to draw a periodic structure of Silicon carbide in a diamond structure. So basically I want to put Si atoms on certain basis of the lattice and C atoms on the others. But I think I misunderstand the syntax of the create_atoms command in the input file. I understand the syntax of create_atoms like that :

create_atoms type_of_atom(1=Si or 2=C) box basis lattice_basis(1...8 for diamond) type_of_atom(again 1 or 2)

So here is my inputfile :

    lattice diamond 4.36

    region box block 0 2.0 0 2.0 0 2.0
    create_box 2 box

    create_atoms 1 box basis 1 1
    create_atoms 2 box basis 2 2
    create_atoms 1 box basis 3 1
    create_atoms 2 box basis 4 2
    create_atoms 1 box basis 5 2
    create_atoms 1 box basis 6 2
    create_atoms 2 box basis 7 1
    create_atoms 2 box basis 8 1

But when I visualize in with xmovie, there are always several atoms on one lattice spot. I tried with only the first 2 create_atoms lines but the same problem appeared on the 2 basis concerned.

    Thanking you in advance,

          Pierre-Antoine Geslin

You'll need to ask Greg Wagner (gjwagne at sandia.gov).

Steve

Paul - I don't understand. Is the output (not input eflux) of the fix
intensive or extensive. It's the sqrt of this quantity

double escale = (ke + heat - 0.5*vcmsq*masstotal)/(ke - 0.5*vcmsq*masstotal);

which looks intensive, and the output routines are treating it as such.

Steve

The create_atoms command populates the entire lattice.
All basis atoms in the unit cell. The optional "basis"
keywords just let you specify the types, so you'd need
to do it all in one command.

Steve

eflux is input and is extensive

escale is output and is intensive

Paul

Thank you for the answer and comments!

The second question related to "fix heat" command is.
According to the manual the "eflux" units is energy/time units.
Does it mean that for

units metal

eflux vill be eV/picosec?

Then I print out value of "update->dt" in
line

heat *= nevery*update->dt*force->ftm2v; ( value that determines
additional energy to heat/cool region added nevery time steps)

of fix_heat.cpp

it's always 0.001 but not a time step.

German

yes, eflux should be eV/picosec.

The value of update->dt is the user-specified
timestep, which is 0.001 (1 fmsec) by
default for metal units.

Steve

Yes, I understand. But it's always 0.001 and does not depend on time
step in input script.
German

The use of update->dt in fix_heat.cpp is in the constructor, which
means it will be accessed at the point in the input script
where you define the fix. If your timestep command
in the input script is after that, then it won't know about it.

Possibly we should change that.

Steve