On Thu, Oct 17, 2013 at 5:19 PM, James Snyder <[email protected]> wrote:

>
> The result of this is that it interpolates values inside the pill-shaped
> region that should be empty so what I've been doing is getting the
> faceCenters for the faces of that pill, computing a convex hull and then
> using that to 1) mask out values that got interpolated in the region where
> there were no cells 2) plot a nice shaded region covering that.

Okay, so you just need the global face centers for the boundary
without any topology. Like you said before, you can just use the MPI
primitives to do this. Ordering and overlapping points are not a
problem for a convex hull calculation. So the following will give you
a non-unique subset of global face centers. The right faces in this
case, but you can select based on a geometric formula I assume.

  import fipy as fp
  import numpy as np

  m = fp.Grid2D(nx=10, ny=10)

  fcr = m.faceCenters[:,np.array(m.facesRight)]

  fcrGlobal = np.concatenate(m.communicator.allgather(np.array(fcr)), axis=-1)

  if m.communicator.procID == 0:
      print fcrGlobal

>> How are you findining using FiPy in parallel? What sort of speed ups
>> are you getting?
>
>
> Qualitatively, the solver "feels" like it scales well with added cores, but
> I haven't run numbers yet.  I'll try to do a little instrumentation on it
> for upcoming solver runs.

Thanks for the feedback.

> One thing I have noticed is that the Python processes still seem to be
> pegging the CPUs while I presume they should be waiting on Gmsh to compute a
> mesh.

Strange, I have no idea what's happening there.

-- 
Daniel Wheeler
_______________________________________________
fipy mailing list
[email protected]
http://www.ctcms.nist.gov/fipy
  [ NIST internal ONLY: https://email.nist.gov/mailman/listinfo/fipy ]

Reply via email to