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

Dean Townsley Dean.M.Townsley at ua.edu
Wed Oct 9 18:07:21 EDT 2013


Hi Norbert,

Thanks very much!

I think that answers my questions.  The information on how Rmax is 
chosen is particularly good to know.

Dean



On 10/09/2013 10:32 AM, Norbert Flocke wrote:
> 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