espressomd-users
[Top][All Lists]
Advanced

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

Re: [ESPResSo] bonds


From: Axel Arnold
Subject: Re: [ESPResSo] bonds
Date: Tue, 29 Jun 2010 17:24:27 +0200
User-agent: KMail/1.10.3 (Linux/2.6.27.45-0.1-default; KDE/4.1.3; x86_64; ; )

On Monday 28 June 2010 23:08:45 Mikheil Azatov wrote:
> Hi,
>
> This is probably not possible since I didn't find it in the manual but I
> wanted to make sure I'm not missing on anything. In my simulation I want a
> harmonic bond and bond-angle interaction to appear if two particles of
> different polymers get close to each other. Checking coordinates of each
> particle during each step of integration and setting bond manually this way
> takes a very long time in espresso(more than 100 times longer than without
> checking ). So I was wondering if there is any other way to do this?

The only way to do this is to implement it in C directly. The best place would 
be probably at the beginning of the force calculation, force_calc in forces.c. 
Using the domain decomposition Verlet lists, you can loop over all pairs of 
particles on each processor, and if they meet your distance criterion, 
manually add the bonds using local_change_bond from particle_data.c. Since the 
Verlet lists on all CPUs contain each pair of particles at most once, there 
should be no double insertion of bonds or so.

Will be a bit of coding, but nothing too serious. From looking at 
calculate_verlet_ia from verlet.c and local_change_bond it should be easy to 
figure out how you do the loop and find your bond partners.

Cheers,
Axel

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




reply via email to

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