[MMTK] Minimization module

vanitha at cs.wisc.edu vanitha at cs.wisc.edu
Mon Nov 7 14:18:00 CET 2005

Thanks so much for the detailed response. I haven't heard of Pyrex
before... I'll look it up and let you know if I have more questions.

> On 06.11.2005, at 06:24, vanitha at cs.wisc.edu wrote:
>> I need to add a new minimization algorithm to MMTK. I'm assuming
>> that this
>> would entail changes to Minimization.py, MMTK_minimization.c and a
>> total
>> recompile (I installed MMTK from source). Am I right? Or is there an
>> easier way to do this like recompiling just the necessary source
>> files?
> These are actually two questions:
> 1) How best to add a minimization algorithm to MMTK.
> 2) How to handle compilation/installation.
> Question 2) is the simpler one, so I'll answer that one first. When
> you install from source, you unpack the tar file and do "python
> setup.py build" followed by "python setup.py install", which might
> require administrator privileges. Most users would then normally
> remove the source code directory. However, if you keep it, you can
> make changes to the sources and then just redo the "build" and
> "install" steps, in which case "build" will only recompile the files
> that actually changed. There is no need to recompile everything as
> long as you don't delete the subdirectory "build" that is created by
> the build process.
> As for adding a minimization algorithm to MMTK, there are several
> options. You can, as you suggest, modify Minimization.py and
> MMTK_minimization.c. This is the simplest approach if your algorithm
> is a minor modification of something already there, and if you plan
> to use it only for yourself or submit it for inclusion in the
> official distribution.
> The most important alternative is to add a new Python module plus a
> new C or Pyrex module, following the model of Minimization.py and
> MMTK_minimization.py. An example of this approach (for integrators,
> but that's nearly the same) is given in Examples/LangevinDynamics.
> This is a bit more effort to set up, but the advantages of this
> approach are numerous:
> 1) You don't need to change the existing MMTK code, which means you
> cannot break anything there.
> 2) You can keep your code separate from MMTK, install it separately
> (even in a different directory), and distribute it independently, for
> example to collaborators for testing. Those users can then be sure
> that installing your add-on won't break their existing MMTK
> installation.
> 3) You can use tools that weren't available when I wrote the initial
> minimization code, in particular Pyrex.
> You can also look at Examples/ForceFields to see how to write and
> package independent add-on modules.
> Konrad.
> --
> ------------------------------------------------------------------------
> -------
> Konrad Hinsen
> Laboratoire Leon Brillouin (CEA-CNRS), CEA Saclay,
> 91191 Gif-sur-Yvette Cedex, France
> Tel.: +33-1 69 08 79 25
> Fax: +33-1 69 08 82 61
> E-Mail: khinsen at cea.fr
> ------------------------------------------------------------------------
> -------

More information about the mmtk mailing list