Subject: Re: CCL:help, insert surface to Charmm

From: Rick Venable <[email-masked]>
Date: Tue, 30 Jul 2002 19:55:55 -0400

On Tue, 30 Jul 2002, J. Zheng wrote:
>   My research project is related to protein adsorption on the surfaces.
> In order to successfully finish this project, I write a FORTRAN code to
> deal with this system which includes protein, explicit waters, counter
> ions and surface by using CHARMM force field. Meanwhile, I try to use
> CHARMM to handle the same system.
> 
>   Now, my program is almost ready for the charged surface. In order to
> test the my program, I compared the my results with CHARMM's results for a
> protein and water system.  Results are very close. but, my program is 30
> times slower than CHARMM!! I use neighbour list to calculate nonbond
> interactions, while CHARMM uses cell list to do it. So, my qustions
> are

Actually, CHARMM uses a stored neighbor list, which gets updated
frequently (e.g. every 10 or 20 integration steps).  The frequency
depends on the difference between CUTNB (list cutoff) and CTOFNB
(potential forced to zero).  There is a savings from not determining the
non-bond list on every integration step.  

I've been using and writing code for CHARMM for over 15 years, and I'm
not sure what you mean by a "cell list".

CHARMM has a couple different methods for handling boundary conditions,
one of which builds a second list of "image" atoms; these are periodic
replicas of real atoms used for nonbond calculations with real atoms
near the edge of the system.

> 1) Except difference of neighbour list and cell list (I will change to
> cell list soon), is there anything I need to pay attention to avoid
> expensive calculations when I code program? any trick on the code?

Avoid square roots, division, and trig fxns within inner loops.

> 2) Does anybody know how to add a surface to CHARMM? The surface coule be
> as simple as charged balls, or as complex as self-assembling
> monolayers. I can not find any tutorial or example to show how to do
> that from internet.

It depends on what properties you want the surface to have.  For simple
elastic collisions, something like the MMFP module in CHARMM might work.
For more sophisticated interactions with the surface, you might have to
use a planar slab of fixed atoms of the appropriate types.  

=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=
Rick Venable           29/500
FDA/CBER/OVRR Biophysics Lab
1401 Rockville Pike    HFM-419
Rockville, MD  20852-1448  U.S.A.
(301) 496-1905   [email-masked]
ALT email:  [email-masked]
=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=