[FLASH-USERS] Does FFT subroutine work with every domain discretization?‏‏

Anshu Dubey dubey at flash.uchicago.edu
Mon Oct 1 14:32:49 EDT 2012


To add to Paul's response, PFFT can handle non power of 2 sizes, but you
use it only when you are running the multigrid in Hybrid mode. What that
means is
that you rely upon the single-block FFT until you get to the level in
oct-tree where
the mesh is uniform all over the domain. So the single-block FFT still
dictates
the size, unless you are not using AMR at all.

Anshu


On Mon, Oct 1, 2012 at 1:19 PM, Paul Ricker <pmricker at illinois.edu> wrote:

> Marco,
>
> Here are answers to your questions.
>
> 1a. The single-block FFT routines require mesh sizes that are powers of
>     two. I don't know about PFFT. Given the oct-tree mesh, you would
>     only encounter non-power-of-two global meshes when using multiple
>     coarsest-level blocks.
> 1b. I have no intention of doing so myself. However, the interfaces to
>     the FFT routines (fftsg.f etc.) are well-documented, so it shouldn't
>     be difficult to modify FFT routines from a different package to
>     plug into the FLASH single-block solver routines
>     (gr_hgPoissonSolve*D.F90).
> 2.  Yes, you would just need a different Green's function. These are
>     defined for different boundary conditions and dimensions in
>     gr_hgPoissonSolve*D.F90 (for single blocks) and
>     gr_pfftPoissonDirect.F90 (for PFFT).
>
> Best,
> Paul
>
>
>
>
> On 10/01/2012 01:16 PM, Marco Mazzuoli wrote:
>
>>      Dear all,
>>
>> in the application I developed, based on the Flash 4.0alpha architecture
>> and the PARAMESH package, a (three-dimensional) Poisson problem is
>> numerically solved by means of the multigrid method provided with the
>> Flash package. Both pFFT and FFT are implemented into the Poisson
>> solver. However, by making some preliminary tests, I have noticed that
>> the fast Fourier transform is well performed only if the number of the
>> discretization points in the three dimensions (e.g. NXB, NYB, NZB) is a
>> multiple of 2.
>> 1a) Does the FFT even work when blocks have a different size? Actually,
>> it is quite common that FFT routines accept also array sizes which are
>> also multiple of 3 and 5. Is it the case?
>> 1b) Eventually, do you think it could be possible to replace the Flash's
>> FFT with another FFT subroutine in order to support my request?
>>
>> 2) A secondary question deals with the Poisson solver. On the basis of
>> Huang \& Greengard (2000) and Ricker (2008) algorithms, do you think it
>> is feasible to modify the Poisson solver, distributed within the Flash
>> package, in order to obtain a solver for a HelmHoltz problem?
>>
>> Thank you in advance for your helpfulness.
>> Sincerely,
>>
>>      Marco Mazzuoli
>>
>>
>>
>> Ing. Marco Mazzuoli
>> Dipartimento di Ingegneria
>> delle Costruzioni, dell'Ambiente e
>> del Territorio (DICAT)
>> via Montallegro 1
>> 16145 GENOVA-ITALY
>> tel.  +39 010 353 2497
>> cell. +39 338 7142904
>> e-mail marco.mazzuoli at unige.it
>>         marco.mazzuoli84 at gmail.com
>>
>>
>>
>>
>>
> --
> Paul M. Ricker
> Associate Professor of Astronomy
> University of Illinois
> http://sipapu.astro.illinois.**edu/~ricker<http://sipapu.astro.illinois.edu/%7Ericker>
>



-- 
**********************************************************************************************************
Anshu Dubey
Associate Director and CS/Applications Group Leader          5747 S. Ellis
Avenue, # 317.
Flash Center for Computational Science                                773
834 2999 (office)
Fellow, Computation
Institute                                                  312 420 0033
(mobile)
University of Chicago and Argonne National Laboratory        773 834 3230
(fax)
**********************************************************************************************************
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://flash.rochester.edu/pipermail/flash-users/attachments/20121001/22cac433/attachment.htm>


More information about the flash-users mailing list