To add to Paul's response, PFFT can handle non power of 2 sizes, but you<br>use it only when you are running the multigrid in Hybrid mode. What that means is<br>that you rely upon the single-block FFT until you get to the level in oct-tree where<br>
the mesh is uniform all over the domain. So the single-block FFT still dictates<br>the size, unless you are not using AMR at all.<br><br>Anshu<br><br><br><div class="gmail_quote">On Mon, Oct 1, 2012 at 1:19 PM, Paul Ricker <span dir="ltr"><<a href="mailto:pmricker@illinois.edu" target="_blank">pmricker@illinois.edu</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Marco,<br>
<br>
Here are answers to your questions.<br>
<br>
1a. The single-block FFT routines require mesh sizes that are powers of<br>
two. I don't know about PFFT. Given the oct-tree mesh, you would<br>
only encounter non-power-of-two global meshes when using multiple<br>
coarsest-level blocks.<br>
1b. I have no intention of doing so myself. However, the interfaces to<br>
the FFT routines (fftsg.f etc.) are well-documented, so it shouldn't<br>
be difficult to modify FFT routines from a different package to<br>
plug into the FLASH single-block solver routines<br>
(gr_hgPoissonSolve*D.F90).<br>
2. Yes, you would just need a different Green's function. These are<br>
defined for different boundary conditions and dimensions in<br>
gr_hgPoissonSolve*D.F90 (for single blocks) and<br>
gr_pfftPoissonDirect.F90 (for PFFT).<br>
<br>
Best,<br>
Paul<div class="HOEnZb"><div class="h5"><br>
<br>
<br>
<br>
On 10/01/2012 01:16 PM, Marco Mazzuoli wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Dear all,<br>
<br>
in the application I developed, based on the Flash 4.0alpha architecture<br>
and the PARAMESH package, a (three-dimensional) Poisson problem is<br>
numerically solved by means of the multigrid method provided with the<br>
Flash package. Both pFFT and FFT are implemented into the Poisson<br>
solver. However, by making some preliminary tests, I have noticed that<br>
the fast Fourier transform is well performed only if the number of the<br>
discretization points in the three dimensions (e.g. NXB, NYB, NZB) is a<br>
multiple of 2.<br>
1a) Does the FFT even work when blocks have a different size? Actually,<br>
it is quite common that FFT routines accept also array sizes which are<br>
also multiple of 3 and 5. Is it the case?<br>
1b) Eventually, do you think it could be possible to replace the Flash's<br>
FFT with another FFT subroutine in order to support my request?<br>
<br>
2) A secondary question deals with the Poisson solver. On the basis of<br>
Huang \& Greengard (2000) and Ricker (2008) algorithms, do you think it<br>
is feasible to modify the Poisson solver, distributed within the Flash<br>
package, in order to obtain a solver for a HelmHoltz problem?<br>
<br>
Thank you in advance for your helpfulness.<br>
Sincerely,<br>
<br>
Marco Mazzuoli<br>
<br>
<br>
<br>
Ing. Marco Mazzuoli<br>
Dipartimento di Ingegneria<br>
delle Costruzioni, dell'Ambiente e<br>
del Territorio (DICAT)<br>
via Montallegro 1<br>
16145 GENOVA-ITALY<br>
tel. <a href="tel:%2B39%20010%20353%202497" value="+390103532497" target="_blank">+39 010 353 2497</a><br>
cell. <a href="tel:%2B39%20338%207142904" value="+393387142904" target="_blank">+39 338 7142904</a><br>
e-mail <a href="mailto:marco.mazzuoli@unige.it" target="_blank">marco.mazzuoli@unige.it</a><br>
<a href="mailto:marco.mazzuoli84@gmail.com" target="_blank">marco.mazzuoli84@gmail.com</a><br>
<br>
<br>
<br>
<br>
</blockquote>
<br></div></div><span class="HOEnZb"><font color="#888888">
-- <br>
Paul M. Ricker<br>
Associate Professor of Astronomy<br>
University of Illinois<br>
<a href="http://sipapu.astro.illinois.edu/%7Ericker" target="_blank">http://sipapu.astro.illinois.<u></u>edu/~ricker</a><br>
</font></span></blockquote></div><br><br clear="all"><br>-- <br>**********************************************************************************************************<br>Anshu Dubey<br>Associate Director and CS/Applications Group Leader 5747 S. Ellis Avenue, # 317.<br>
Flash Center for Computational Science 773 834 2999 (office)<br>Fellow, Computation Institute 312 420 0033 (mobile)<br>University of Chicago and Argonne National Laboratory 773 834 3230 (fax)<br>
**********************************************************************************************************<br>