Using a NH thermostat for each chunk of slab bins

Dear lammps users,

I have a liquid domain that has been divided into 100 slab bins. Instead of using one general NH thermostat for the whole domain (using fix nvt), I need to use 10 separate NH thermostat for each 10 slab bins. Could you please tell me how to proceed? Is the tchain option in the fix nvt do the same (Say using tchain=10) or I need to divide the domain into 10 sub-domain and apply a thermostat for each sub-domain?

Dear lammps users,

I have a liquid domain that has been divided into 100 slab bins. Instead
of using one general NH thermostat for the whole domain (using fix nvt),
I need to use 10 separate NH thermostat for each 10 slab bins. Could you
please tell me how to proceed?

technically, ​you need to define 10 dynamic groups based on the region
definitions, then a fix nvt for each group.​ however, there is are some
rather subtle issues to consider, so you are advised to make some very
careful tests on this. with dynamic groups, you change the number of
degrees of freedom of the group and that affects how temperature is
computed. this gets particularly complicated, if you use fix shake or fix
rattle and have constrained interactions cross group boundaries. also, the
way nose-hoover thermostats work, having atoms migrate in and out of the
group, can cause "ripples". it may be worth using fix nve and a "stateless"
thermostat like fix csvr instead.

Is the tchain option in the fix nvt do the same (Say using tchain=10) or I
need to divide the domain into 10 sub-domain and apply a thermostat for
each sub-domain?

​tchain​ defines how many nose-hoover thermostats are chained together to
improve sampling of the thermostat. this applies to the internal degrees of
freedom of the thermostat. so this is *completely* unrelated.

​axel.​

I’d use fix langevin rather than fix nvt for the reasons Axel mentioned.

Also note that if you are using bins to approximate a spatially varying

target temperature, like a gradient from one side of the box to the other,

then fix langevin allows you to input an atom-style variable for

the target temperature. Which means you can define a formula

for the target temperature everywhere in the box, and do what you

want w/out any bins and just one fix langevin command.

Steve

Dear lammps users,

I am using chunk/atom bin/cylinder command to create cylindrical bins which is working very well for constant bin size. However, I want to create bins with different sizes which are gradually decrease as the radius increases towards the outer boundary. This is required since for a certain time average, the number of particles should be enough in the center of the cylinder. In other words, the best case for time averaging is to have a same volume for each bin which means that the bin size should decrease towards the outer boundary. Is there any option to do this?

Dear lammps users,

I am using *chunk/atom bin/cylinder* command to create cylindrical bins
which is working very well for constant bin size. However, I want to create
bins with different sizes which are gradually decrease as the radius
increases towards the outer boundary. This is required since for a certain
time average, the number of particles should be enough in the center of the
cylinder. In other words, the best case for time averaging is to have a
same volume for each bin which means that the bin size should decrease
towards the outer boundary. Is there any option to do this?

​*all* available options are documented in the manual. ​if you want
functionality that is currently not present, you would have to implement it
by adding the corresponding C++ code to the respective source file(s) and
recompile.

axel.​

Dear lammps users,

I would like to decrease the effect of repulsion term in lj/cut pair coefficient (in the extreme case it means turning off the repulsion term). I checked most of the posted discussions and I am aware of the methods for switching off the attraction part. However, I couldn’t find any option for changing the coefficient of the repulsion part separately. I highly appreciate your kind help and response as always.

Dear lammps users,

I would like to decrease the effect of repulsion term in lj/cut pair
coefficient (in the extreme case it means turning off the repulsion term). I
checked most of the posted discussions and I am aware of the methods for
switching off the attraction part. However, I couldn't find any option for
changing the coefficient of the repulsion part separately. I highly
appreciate your kind help and response as always.

all available options and features are documented in the manual. if
you want functionality that is currently not present, you would have
to implement it by adding the corresponding C++ code to the respective
source file(s) and recompile.

axel.

> Dear lammps users,
>
>
> I would like to decrease the effect of repulsion term in lj/cut pair
> coefficient (in the extreme case it means turning off the repulsion
term). I
> checked most of the posted discussions and I am aware of the methods for
> switching off the attraction part. However, I couldn't find any option
for
> changing the coefficient of the repulsion part separately. I highly
> appreciate your kind help and response as always.

all available options and features are documented in the manual. if
you want functionality that is currently not present, you would have
to implement it by adding the corresponding C++ code to the respective
source file(s) and recompile.

​...and of course for pairwise additive potentials, there is always the
option to use pair_style table to represent potentials with arbitrary
functional forms.

please also note, that reducing the repulsion for LJ can cause problems for
the singularity at r=0.

axel.​

Dear lammps users,

I am working on a heat transfer problem of a fluid between two walls (Argon-Gold) and I am using fix Langevin on parts of both walls. The domain is periodic in x and y and fixed in z direction and there is no flow which means pure conduction problem. I am trying to find the heat flux using two following methods:

1- Fix Langevin and get the energy exchanged from the thermostat “tally yes” and find the heat flux based on the Kappa example given in lammps

2- Using the heat flux command (I am not sure if it is useful since this case of simulation is NEMD)

My questions are as following:

  • Why there is heat flux in the periodic directions?

  • Why the results of heat flux from two methods which I mentioned above are 3-4 orders of magnitude different?

I investigated the value of thermal conductivity in the direction normal to the walls by utilizing Fourier’s law and using the compute heat flux and temperature gradient across the channel. The results for thermal conductivity completely make sense. However, the results from fix langevin output does not make sense at all. Is there any algorithm issue with the fix langevin heat output?

I should pointed out that there are couple of posts discussing this problem on the lammps-user list. However, there is no answer for that such as:

http://lammps.sandia.gov/threads/msg28522.html

I highly appreciate your kind help and response as always

Best,

Jafar

If your system is non-periodic in the direction of the heat flux
then there is not flow in 2 directions. The Section howto 6.20 doc
page has explanations of all the methods and the
examples/KAPPA dir has example scripts for all of them.
See the README file in that dir for details.

Steve

Dear Steve,

Thank you very much for your response. My concern is about heat flux. Attached is the log file for the Fix Langevin example/KAAPPA in which I added compute heat/flux command to monitor heat flux in 3 directions. Based on the system in your example, the heat transfer should be in Z direction which means there should be only Jz. However, you can see that there are Jx and Jy and the order of them are almost the same as Jz. This is the point which doesn’t make sense.

By the way, do you mean there is no heat flow in other 2 directions in your previous response? "If your system is non-periodic in the direction of the heat flux

then there is not flow in 2 directions."

log.lammps (11.8 KB)

If you are setting up a temp gradient (non-equil method), then

there is only heat flux in the dir of the gradient. It may or

or may not be 2 directional depending on whether you have PBC.

If you are using compute heat/flux it is an equilibrium method.

It calculates flux in all 3 directions. I’ve only seen it used

for periodic systems.

If you are getting different answers for the 2 kinds of methods for

some arbitrary new (inhomongeneous) system you have created,

then there are many reasons that could be.m Maybe someone

else on the list will advise you.

Steve