> Please check the attached patch to sander/Makefile. It looks like
> sander.PIMD will not compile without linking in some more evb files.
>
>
The bond_anal2num is called inside evb_force and should not be required
for PIMD, since cpp should skip over that block of code. But I do
recall Mike pointing out this problem when compiling with pgf90 ... or
was it g95? I do not have this problem when compiling with ifort.
But the above issue will become moot if we fix the underlying problem:
sander.PIMD should not be linking to any EVB objects because EVB
requires MPI. That is, any executable target that uses any of the EVB
objects will end with an extension .MPI ... for example, sander.MPI or
sander.PIMD.MPI.
The Makefile needs to be fixed and it is one of the tasks I've been
meaning to clear up for some time. I think $(EVBOBJ) should not be in
MMOBJ, PUPILOBJ, LESOBJ, PSOBJ. With minor changes to the source, I was
able to exclude EVBOBJ from sander.PIMD and the compilation and
test.sander.PIMD appear to work. I will focus on the other parts of the
Makefile.
> Also, do we really need a separate function for bond_umb(), which is only
> one line of code? It seems to me that this is going a bit to far....
>
Yes, the bond_umb() function did seem silly to me as well when I coded
it ... same comment for the other *anal2num.f routines. It is only for
debugging, so there should be minimal impact on production runs. I'll
leave it in the current form for now but will visit this point again
during the audit.
Do we have a defined cpp directive for debugging? Currently, these
debugging routines are invoked using a conditional but even this should
be avoided during production. However, I still would like to keep these
routines in the CVS and have them turned off for the production
compilation. I recall Ross mentioning different levels of debugging
output for his QM/MM implementation. Can you point me in the right
directions and with examples from the source.
-Kim
Received on Sun Oct 08 2006 - 06:07:27 PDT