# [aspect-devel] The fast way to grab the radius of every interior sphere in the domain and some MPI questions

Wolfgang Bangerth bangerth at tamu.edu
Wed Oct 21 14:34:57 PDT 2015

```Shangxin,
I have difficulty following your questions, and I believe it is because
you have already picked a specific algorithm and you are asking how to
implement it. But we know neither the algorithm, nor what the problem is
you are trying to solve.

Can you give us an overview *in formulas* of what you are actually
trying to compute, along with an overview of *how* you try to compute
it? Maybe that already helps us give you suggestions how to avoid some
of the problems you see.

Best
W.

On 10/21/2015 03:23 PM, Shangxin Liu wrote:
> Hi;
>
> I'm now making a new plugin into the postprocess directory to compute
> geoid anomaly. The code has been finished but it needs some further
> modification to run in parallel. To realize this, I run into these two
> problems:
>
> 1. The geoid computation needs the integral of the density anomaly from
> CMB to surface. For now, I do the integral based on cells. So to get all
> the radii of the internal spheres, the code loops over all of the cells
> and get the radius of each cell's upper face and push_back the radius
> into a vector after removing the same values from the cell faces at the
> same depth. But I suppose this solution is not so elegant and also will
> not work in the multiple MPI processors since each processor will only
> cover part of the domain. So is there a fast way in deal.ii/ASPECT to
> directly grab all the radii of the spheres determined by the cell faces
> within the domain?
>
> 2. In the spherical harmonic coefficients computation, I need to
> evaluate the values at each grid points I created prepared for sphere
> integral from the output values at the center of each cell face. My
> current solution is to loop over all the sphere cells and find the
> closest cell face midpoint to the grid point (nearest point
> interpolation). But since each processor will only cover part of the
> domain so I also need to compare among all the processors to find the
> closest point and the corresponding density anomaly/topo values at that
> point. I notice that there is a Utilities::MPI::max/min command can
> compare among different processors. But my purpose is not only to get
> the closet distance, but also need to know which processor provide this
> closest cell face midpoint and the corresponding location of this closet
> cell midpoint hence to get the density anomaly/topo there. Are there any
> MPI commands in deal.ii/ASPECT to realize this?
>
> Best,
> Shangxin

--
------------------------------------------------------------------------
Wolfgang Bangerth               email:            bangerth at math.tamu.edu
www: http://www.math.tamu.edu/~bangerth/

```