[Top][All Lists]
[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
- [ESPResSo] bonds, Mikheil Azatov, 2010/06/28
- Re: [ESPResSo] bonds,
Axel Arnold <=
- Message not available