[lammps-users] adding source in AtC package

Hello,

I want to use the ATC user package to simulate the irradiation of
a metal surface with phonons (e.g. a laser).
I guess the most appropriate implementation of this purpose is
using the following commands:

fix_modify AtC create_faceset <id> <xmin> <xmax> <ymin> <ymax> <zmin> <zmax> <out>
fix_modify AtC transfer fix_flux <field> <face_set> <value | function>
fix_modify AtC transfer thermal control flux <face_set_id(optional)>

I could also use this, but to my mind an elementset would not really simulate
the irradiation of a surface:

fix_modify AtC create_elementset <id> <xmin> <xmax> <ymin> <ymax> <zmin> <zmax>
fix_modify AtC transfer source <field> <element_set> <value | function>

Please correct me, if I am wrong about this point.
In both cases, I guess that I need 'temperature' for <field> to simulate
a phonon irradiation.
In the Manual is written:
The units are consistent with LAMMPS's units for mass, length and time
and are defined by the PDE being solved, e.g. for thermal transfer the
balance equation is for energy and source is energy per time.
So I guess for <field> = 'temperature' the unit will be eV / second which
is pumped into the system over the surface of the element-, or faceset.
Is this correct? In this case, is the heat capacity assumed to be the
constant I specify in the material file?
Another question is about the fields possible, is that temperature and
electron_temperature with the unit eV / second or are there other fields
the code accepts, too? If so, with which units?

Thanks for your help in advance.
Sincerely Yours,
Mathew

The ATC folks will need to answer these Qs.

Steve

2010/6/5 "Matthias Bartholomäus Immanuel Buße" <[email protected]>:

Hello Matthias, you bring up many points so I will go through 1 by 1.

I want to use the ATC user package to simulate the irradiation of
a metal surface with phonons (e.g. a laser).
I guess the most appropriate implementation of this purpose is
using the following commands:

fix_modify AtC create_faceset
fix_modify AtC transfer fix_flux <face_set> <value | function>
fix_modify AtC transfer thermal control flux <face_set_id(optional)>

I could also use this, but to my mind an elementset would not really simulate
the irradiation of a surface:

fix_modify AtC create_elementset
fix_modify AtC transfer source <element_set> <value | function>

Please correct me, if I am wrong about this point.
In both cases, I guess that I need ‘temperature’ for to simulate
a phonon irradiation.

You are correct, applying an incident flux should be done through a faceset (you can see the finite element ref by Hughes for more details). Because MD has no true faces, this flux is interpolated by the finite element shape functions to the atoms, so it is in the end applied over a finite set of atoms near the face. The refs by Jones et al. and Wagner et al. give some cases when this happens.

In the Manual is written:
The units are consistent with LAMMPS’s units for mass, length and time
and are defined by the PDE being solved, e.g. for thermal transfer the
balance equation is for energy and source is energy per time.
So I guess for = ‘temperature’ the unit will be eV / second which
is pumped into the system over the surface of the element-, or faceset.
Is this correct? In this case, is the heat capacity assumed to be the
constant I specify in the material file?

Sorry, I can see the confusion in the manual. The first part accurately describes our approach, i.e. the fundamental length/time/mass units form the basis for all our units. Energy has units of mass*length^2/time^2, so these are the units of the applied energy. The energy added will the the integral of the prescribed flux over the faceset. The heat capacity is irrelevant because you are prescribing an energy flux, not a temperature gradient as is sometimes done in finite elements.

Another question is about the fields possible, is that temperature and
electron_temperature with the unit eV / second or are there other fields
the code accepts, too? If so, with which units?

If you are running a two-temperature model, only temperature and electron_temperature are accepted, while if you run thermal only temperature is accepted. We are currently developing other types of models, e.g. for mechanical motion, and the framework was designed with these in mind to be able to accept many field variables. In all cases, the units are derived from the LAMMPS mass/distance/time/electric field units.
best,
Jeremy

Hello,

thank you very much for your detailed answer. Unfortunately I still don't understand one point.
My simulation runs with atom style metal. So refering to the LAMPPS manual, my units are:
mass = gram / mole
distance = Angstroms
time = picoseconds
You said: "The energy added will be the integral of the prescribed flux over the faceset."
Therefore I guess to specify a certain heat flux AtC needs a value in the unit Watt / length^2.
While it's easy to calculate my laser impulse from W/m^2 = (kg*m^2)/(s^3*m^2) to
W/A^2 = (g*A^2)/(ps^2*A^2), what does the AtC package expect for the mass unit? Given
it's consistent with the LAMPPS unit for mass, it should be something like
W/(A^2*mol)=(g*A^2)/(ps^2*A^2*mol). In this case it would make sense to me, exchanging
the 1 gram with the specific gram/mole of the material I'm using.
E.g. 1W/m^2 = 1*[(kg*m^2)/(s^3*m^2)] = 1*10^3*[(g*m^2)/(s^3*m^2)] and then with
M = 63.5 gram/mol for copper in example it would be:
1W/m^2=1*10^3*63.5*[(g*m^2)/(s^3*m^2*mol)]
Another possibility would be calculating how many mol of my material are directly influenced
by the phonon irradiation and dividing the 1W/m^2 by this value, but then I need to know the
exact amount of mol. Since you wrote: "Because MD has no true faces, this flux is interpolated
by the finite element shape functions to the atoms, so it is in the end applied over a finite set of atoms near the face." I guess that would be a difficult approach.
How am I supposed to write 1W?

Sincerely Yours
Mathew

Hi Matthias, I think you are on the right track, but the mass as grams/mole really means it is in AMUs, not grams. For example, the mass of a hydrogen atom is 1 in these units so that is what your should base your power on. The rest of what your wrote looks to be correct.

In terms of my comments regarding how the flux is applied, the best place to start is our papers to see the equations. Specifically, the solve for our lambda variable and it's corresponding transformation to an atomic drag force is what you are looking for. Our package outputs the nodal power applied by this variable so you can see how it behaves for yourself. You should be able to confirm that the total applied power matches your request.
best,
Jeremy