Re: AMBER: Where is ICO read from the ix array?

From: David A. Case <case.scripps.edu>
Date: Mon, 21 Jul 2008 16:54:18 -0700

On Mon, Jul 21, 2008, Brad Lambeth wrote:

> I'm looking for the place in the sander code where ICO is assigned based on
> ix. I see that the non-bonded parameter index is read in rdparm.f to the
> array ix, but I can't find where ICO is defined after that.

It sounds like you've figured out that ICO() is the array starting a ix(i06).
This aliasing is done by arguments lists; for example, the fourth
argument in the call to ewald_force() is ix(i06); and the fourth dummy
argument in the definition of the ewald_force() routine is "ico".

All this comes from a time before Fortran supported dynamic allocation, so
the ix() array is essentially a "heap" of integers. Look in locmem.f for
comments on how the heap is used and aliased.

>
> For my system, I have 5 atom types; 1 atom type interacts with all the
> others with a 6-12 potential, while the other 4 atom types interact with
> each other with the 10-12 potential. This means those 4 atom types have
> 10-12 interactions and 6-12 interactions. When I generate my prmtop and
> analyze it with rdparm, I cannot get it to read the coefficients correctly
> based on ICO and the ASOL and BSOL input. I have tried many different ways
> of assigning ICO without success.

Without knowing what you tried ("without success") it's hard to offer much
advice. I *think* it's possible to do what you want within the current code,
but I'm not sure that every combination of 10/12 vs 6/12 is really allowed.

...dac

-----------------------------------------------------------------------
The AMBER Mail Reflector
To post, send mail to amber.scripps.edu
To unsubscribe, send "unsubscribe amber" (in the *body* of the email)
      to majordomo.scripps.edu
Received on Wed Jul 23 2008 - 06:07:26 PDT
Custom Search