[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[ESPResSo-users] Re: [ESPResSo] deleting bonds

From: Mikheil Azatov
Subject: [ESPResSo-users] Re: [ESPResSo] deleting bonds
Date: Tue, 23 Nov 2010 17:18:58 -0500


I incorporated monte-carlo scheme in my simulation where I was adding and deleting bonds between the particles. After sometime of running the simulation I would get the following error. Here's a printout for one of the particles. 

For particle p2 I have the following:

p2->bl.n = 5  p2->l.ghost= 0 
p2->bl.e[0] = 31659472  p2->bl.e[1] = 0  p2->bl.e[2] = 28695472  
p2->bl.e[3] = 0  p2->bl.e[4] = 32  

which eventually results in an error when I look at bonded_ia_params[p2->bl.e[0]].type. I think the value of p2->bl.n is wrong because it looks like that particle shouldn't have any bonds attached to it. I was wondering if anyone knows why this could be happening. it looks like It seems to happen only when I have periodic boundary conditions but I'm not 100% sure that they are connected.

Thanks for your help!
Mikheil Azatov
University of Maryland

On Wed, Sep 29, 2010 at 5:06 AM, Axel Arnold <address@hidden> wrote:
On Wednesday 29 September 2010 03:20:51 Mikheil Azatov wrote:
> Hi espresso users!
> In my simulation I need to delete bond between two particles depending on
> some conditions. I learned before what to do to add bonds between
> particles. Now I need to remove the bond for some conditions.Has anyone
> ever had to do that ? I was wondering if there's a way to modify espresso
> files to do that?


the routine local_change_bond in particle_data.c can both add and delete a
bond. However, note that a bond is always attached to a particle. That is,
assume there is a bond between particles 3 and 5. If you added the bond to
particle 3, then only particle 3 carries the information that those two
particles are bonded. If you want to delete the bond, you need to delete it
from particle 3. That is, you need:

int x[] = {type, 5};
local_change_bond(3, x, 1);

However, there is no problem if the bond doesn't exist; therefore you can
simply delete both possible bonds, that is, also call:

int x[] = {type, 3};
local_change_bond(5, x, 1);

Many regards,

JP Dr. Axel Arnold Tel: +49 711 685 67609
ICP, Universität Stuttgart      Email: address@hidden
Pfaffenwaldring 27
70569 Stuttgart, Germany

ESPResSo mailing list

reply via email to

[Prev in Thread] Current Thread [Next in Thread]