[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [ESPResSo-devel] Local stress tensor/Multibody interaction and A bug
Re: [ESPResSo-devel] Local stress tensor/Multibody interaction and A bug in tensor distribute
Tue, 16 Jun 2009 11:54:32 -0400
Thunderbird 184.108.40.206 (X11/20070801)
>> 1) Checking with the newest released version Espresso-2.1.2j, I found
>> it does not include any 3-body or higher-order interactions, eg. Angle
>> bending, Dihedrals. Has any Espresso developer ever coded this part?
>> then when involving any three-body interactions, how reliable about the
>> results of stress tensor with current Espresso?
> I guess the main point was that the angle bending doesn't contribute
> to the pressure. And that is why nobody has implemented the virials
> for these interactions till now.
The pressure might not depend on them globally (but I'm not fully
certain here), but it surely matters locally. So whenever one wants a
spatially resolved stress tensor, these terms matter. Since many
people now use ESPResSo with more than just two-body-potentials, none
of them can use the local stress tensor. Are there efforts on the way
to fix this? (No point to start doing this when somebody else has
already done so).
> It will depend very much on the system you study how reliable the
> results are without these contributions.
Strange answer... If you're sure that the multibody terms don't affect
the global pressure, then the answer should be that there will be no
effect whatsoever from leaving them out. Maybe you're not sure? For
the local stresses your answer might be true, though.
>> Does anyone know that who coded this part and how this value
>> was decided? Will it be effected by compiler or machine? For my
>> value "0.0000000001" sounds too small, leading to crash of Espresso when
>> computing local stress tensor.
> Ben has implemented the local stress tensor in Sept 2007. And this is
> a feature not a bug! It seem like something went wrong in the case of
> your simulation. Ok "0.0000000001" is not the best choice. It should
> be ROUND_ERROR_PREC (see config.h) instead, which is 1e-14 by default
> and even smaller.
Sure it's a feature: It's a security check that tests whether the
distribution of the virial between the boxes is done completely
(without bits missing). In our case the error can become as big as
1e-8, which is way too large, a million times bigger than
ROUND_ERROR_PREC. Something clearly seems to be wrong here, yet I
would not know why this should depend on the system. Seems like we
need to go through the local stress tensor routine and check it...
Dr. Markus Deserno
Associate Professor of Physics ++1-412-268-4401 (office)
Carnegie Mellon University ++1-412-681-0648 (fax)
5000 Forbes Avenue ++1-412-268-8367 (Donna Thomas)
Pittsburgh, PA 15213 address@hidden