[FLASH-USERS] Parameters for outer zone structure in new multipole gravity

Norbert Flocke flocke at flash.uchicago.edu
Wed Oct 9 11:32:32 EDT 2013


Hello Dean,

I will try to answer all your questions.

On Tue, 8 Oct 2013, Dean Townsley wrote:
>
> Or if this is in the documentation somewhere please bump my nose on it, as I 
> didn't find it among the descriptions that are there.  I also don't recall 
> this coming up on the mailing list before.

The new multipole and all its new improvements are described extensively 
in the latest FLASH User's Guide on the FLASH website under user support. 
It is in subsection 8.10.2 Poisson equation under the subsubsection 
8.10.2.2 Multipole Poisson solver (improved version). Specifically the 
description about the radial zones is found in the paragraphs around 
Eqs.8.76 to 8.80.

> How do the different outer zones fit together for the new multipole poisson 
> solver?  I assume there is only one grid, and the different zones define how 
> the spacing is chosen.  But the zones are "nested" correct?  But this is just 
> used to generate the grid.  The "outer" outer zone doesn't influence the 
> spacing in the inner outer zones, right?

All the zones fit together tightly, i.e. there is no gap in between. All 
zones are independent of each other, each having their own spacing 
characteristics. For example:

   | |  |   |    |     |  |  |  |  |  |  |  |        |     |   | ||
   ---- 1st zone ------ ++++ 2nd zone ++++++ ....... 3rd zone .....

In this case the 1st/2nd/3rd zone has increasing/equalspaced/decreasing 
radial bin sizes, but they all fit together tightly.

> Also, how is the "maximum domain size" that mpole_zone_radius_fraction_n acts 
> upon determined?  i.e. does it matter where the zero of the coordinates 
> system is?  or is it just "corner to corner" of the whole domain?

There is a maximum radius possible depending on the origin of the 
multipolar expansion and the domain size. For example, if the domain
is a cube with dimension 1 on each side and the multipolar origin is
at (1/2,1/2,1/2) then the maximum radius would be equal to sqrt(3)/2, but
if the multipolar origin is at (0,0,0), then the maximum radius is
sqrt(3). The fractions of the zones are based on this maximum radius
and of course the last one must be equal to 1 (if you don't set this
correctly, the code will override the user's request, but will not stop).

> Do I need to tune the parameters so that the bin sizes match near the zone 
> borders?  Assuming that's what I want, so that I have a smooth transition in 
> zone sizes.

Yes, this has to be done by the user.

> Also, is there any problem with changing these parameters mid-calculation? Or 
> if the maximum refinement level changes?

As is indicated in the User's Guide, the radial bin sizes are based on an 
atomic radial value, which is based on the smallest cell sizes. If your
maximum refinement level changes, so will the smallest cell size and thus
also the radial bin sizes.

> It seems useful to have a partially concrete example...
> Say I want the grid for the multipole moment calculation to be uniform out to 
> some radius R, and then logarithmic from there out. My maximum radius is 
> Rmax, and my domain size is 2*Rmax, since my origin is in the middle of the 
> domain.  Are these the right parameters?

This would assume a spherical domain (see above for my comments about 
Rmax).

>
> mpole_max_radial_zones = 2
>
> mpole_zone_radius_fraction_1 = R/(2*Rmax)
> mpole_zone_radius_fraction_2 = 1

It must be: mpole_zone_radius_fraction_1 = R/Rmax
             mpole_zone_radius_fraction_2 = 1

> mpole_zone_type_1 = "exponential"
> mpole_zone_exponent_1 = 1    # this is actually uniformly spaced

Correct.

> mpole_zone_type_2 = "logarithmic"
> mpole_zone_exponent_2 = delta r/R

Correct (depends on how 'logarithmic' you want it to be).

> mpole_zone_scalar_1 = 1
> mpole_zone_scalar_2 = 1

Correct.

> where delta r is my grid spacing, and therefore also the size of the bins in 
> the first zone.

Also correct.

> I think this choice of zone_exponent_2 = t_2 is right, as it gives me 
> dr/dQ|_{r(Q)=R} \approx t*R = delta r.  As best I can tell, the other 
> parameter, s, doesn't help in setting the size of the bins near r=R in this 
> example.

Yes, s is not needed here and set to the default of 1.0

> Any thoughts are welcome from someone who knows more about the new multipole 
> solver than I do.

You can always contact me. I am the main developer of the new multipole 
code.

Best Regards,
Norbert



More information about the flash-users mailing list