<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#ffffff" text="#000000">
    Thank you for all the suggestions.<br>
    I'll give them a try. :)<br>
    <br>
    Best Regards,<br>
    <br>
    Eve<br>
    <br>
    On 09/28/2011 12:54 PM, Michael Kuhlen wrote:
    <blockquote
cite="mid:CAPTNXrc-xfjFfGg2qkxQZi+excGSwKAKF1EA7M+LaBJ=QSSuxw@mail.gmail.com"
      type="cite">
      <p>I have little to no experience with clump finding, but for the
        IsBound part perhaps you could make use of symmetry? No idea how
        spherical (or ellipsoidal) your clumps are, but you might
        consider first obtaining a radial density profile (perhaps with
        ellipsoidal radius?) and then using that to calculate the
        gravitational potential as a function of radius, which you'd add
        to the specific kinetic energy of a given grid cell to determine
        if it's bound. YMMV.</p>
      <p>Mike</p>
      <div class="gmail_quote">On Sep 28, 2011 9:14 AM, "Matthew Turk"
        <<a moz-do-not-send="true"
          href="mailto:matthewturk@gmail.com">matthewturk@gmail.com</a>>
        wrote:<br type="attribution">
        > On Wed, Sep 28, 2011 at 12:03 PM, Stephen Skory <<a
          moz-do-not-send="true" href="mailto:s@skory.us">s@skory.us</a>>
        wrote:<br>
        >> Hi Eve,<br>
        >><br>
        >>> But is the derived quantity "IsBound" also not
        parallel in general? The code<br>
        >>> I'm using does not use clump object at all; all
        it's doing is picking out a<br>
        >>> sphere object centred around some point in the box<br>
        >><br>
        >> "IsBound" is precisely the expensive operation I
        mentioned in my last<br>
        >> email that is not parallel. That calls the
        functionality that<br>
        >> calculates the gravitational attraction between all
        cells in the<br>
        >> object and tells you if the object is bound or not.
        When someone is<br>
        >> sufficiently motivated, there are parallel treecodes
        that could be<br>
        >> included in yt, but that would be a significant
        project, and is not<br>
        >> likely to happen any time soon. Unless you want to
        volunteer! :)<br>
        >><br>
        >>> I thought the reason why clump finding does not
        work in parallel was because<br>
        >>> parallel contour algorithm was not yet implemented,
        which, if I understand<br>
        >>> correctly, is separate from "IsBound".<br>
        >><br>
        >> Yes, that is another reason why clump finding is not
        truly parallel.<br>
        > <br>
        > To echo what Stephen says, parallelizing clump finding is
        actually<br>
        > easier than parallelizing the IsBound operation. There is
        some extant<br>
        > code currently in testing to work with parallel clump
        finding, but I<br>
        > do not have an estimate of when it could be included;
        likely not for<br>
        > several months.<br>
        > <br>
        >><br>
        >> The only way clump finding is parallelized now is over
        individual<br>
        >> clumps. That is, given a bunch of different objects,
        each object can<br>
        >> be processed by a single core, and therefore many are
        done at the same<br>
        >> time, but all the heavy lifting (IsBound) is done in
        serial.<br>
        > <br>
        > One can implement this with mpi4py, if you have saved
        clumps. You<br>
        > will have to run yt in serial mode, but something like this
        could<br>
        > work:<br>
        > <br>
        > from yt.mods import *<br>
        > from mpi4py import MPI<br>
        > rank = MPI.COMM_WORLD.rank<br>
        > size = MPI.COMM_WORLD.size<br>
        > <br>
        > all_my_clumps = get_my_list_of_clumps(somehow)<br>
        > <br>
        > for clump in all_my_clumps[rank::size]:<br>
        > binding_energy = clump.quantities["IsBound"]()<br>
        > <br>
        > We're hoping to add helper functions to make this kind of
        thing easier<br>
        > in the future.<br>
        > <br>
        > -Matt<br>
        > <br>
        >><br>
        >> --<br>
        >> Stephen Skory<br>
        >> <a moz-do-not-send="true" href="mailto:s@skory.us">s@skory.us</a><br>
        >> <a moz-do-not-send="true"
          href="http://stephenskory.com/">http://stephenskory.com/</a><br>
        >> 510.621.3687 (google voice)<br>
        >> _______________________________________________<br>
        >> yt-users mailing list<br>
        >> <a moz-do-not-send="true"
          href="mailto:yt-users@lists.spacepope.org">yt-users@lists.spacepope.org</a><br>
        >> <a moz-do-not-send="true"
          href="http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org">http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org</a><br>
        >><br>
        > _______________________________________________<br>
        > yt-users mailing list<br>
        > <a moz-do-not-send="true"
          href="mailto:yt-users@lists.spacepope.org">yt-users@lists.spacepope.org</a><br>
        > <a moz-do-not-send="true"
          href="http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org">http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org</a><br>
      </div>
      <pre wrap="">
<fieldset class="mimeAttachmentHeader"></fieldset>
_______________________________________________
yt-users mailing list
<a class="moz-txt-link-abbreviated" href="mailto:yt-users@lists.spacepope.org">yt-users@lists.spacepope.org</a>
<a class="moz-txt-link-freetext" href="http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org">http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org</a>
</pre>
    </blockquote>
    <br>
  </body>
</html>