Classes | Enumerations | Functions

fftsrc/prototypes.h File Reference

Go to the source code of this file.

Classes

struct  ath_3d_fft_plan
struct  ath_2d_fft_plan

Enumerations

enum  ath_fft_direction { ATH_FFT_FORWARD = -1, ATH_FFT_BACKWARD = 1 }

Functions

struct ath_3d_fft_planath_3d_fft_quick_plan (DomainS *pD, ath_fft_data *data, ath_fft_direction dir)
 Sets up an FFT plan for the entire 3D grid, using ath_3d_fft_create_plan().
struct ath_3d_fft_planath_3d_fft_create_plan (int gnx3, int gnx2, int gnx1, int gks, int gke, int gjs, int gje, int gis, int gie, ath_fft_data *data, int al, ath_fft_direction dir)
 Sets up a 3D FFT plan.
ath_fft_data * ath_3d_fft_malloc (struct ath_3d_fft_plan *ath_plan)
 Easy allocation of data array needed for particular 3D plan.
void ath_3d_fft (struct ath_3d_fft_plan *ath_plan, ath_fft_data *data)
 Performs a 3D FFT in place.
void ath_3d_fft_free (ath_fft_data *data)
 Frees memory used to hold data for 3D FFT.
void ath_3d_fft_destroy_plan (struct ath_3d_fft_plan *ath_plan)
 Frees a 3D FFT plan.
struct ath_2d_fft_planath_2d_fft_quick_plan (DomainS *pD, ath_fft_data *data, ath_fft_direction dir)
 Sets up an FFT plan for the entire 2D grid, assuming NX3=1, using ath_2d_fft_create_plan().
struct ath_2d_fft_planath_2d_fft_create_plan (int gnx2, int gnx1, int gjs, int gje, int gis, int gie, ath_fft_data *data, int al, ath_fft_direction dir)
 Sets up a 2D FFT plan.
ath_fft_data * ath_2d_fft_malloc (struct ath_2d_fft_plan *ath_plan)
 Easy allocation of data array needed for particular 2D plan.
void ath_2d_fft (struct ath_2d_fft_plan *ath_plan, ath_fft_data *data)
void ath_2d_fft_free (ath_fft_data *data)
 Frees memory used to hold data for 2D FFT.
void ath_2d_fft_destroy_plan (struct ath_2d_fft_plan *ath_plan)
 Frees a 2D FFT plan.

Enumeration Type Documentation

Enumerator:
ATH_FFT_FORWARD 
ATH_FFT_BACKWARD 

Definition at line 58 of file prototypes.h.


Function Documentation

void ath_2d_fft ( struct ath_2d_fft_plan ath_plan,
ath_fft_data *  data 
)
struct ath_2d_fft_plan* ath_2d_fft_create_plan ( int  gnx2,
int  gnx1,
int  gjs,
int  gje,
int  gis,
int  gie,
ath_fft_data *  data,
int  al,
ath_fft_direction  dir 
) [read]

Sets up a 2D FFT plan.

  • gnx2, gnx1 are the dimensions of the GLOBAL data
  • gjs, gje, gis, gie are the starting and ending indices of the LOCAL data in GLOBAL coordinates
  • dir is either ATH_FFT_FOWARD or ATH_FFT_BACKWARD FFTs will be done in place (overwrite data)

Definition at line 251 of file ath_fft.c.

References ath_2d_fft_free(), ath_2d_fft_malloc(), ath_error(), ATH_FFT_BACKWARD, ATH_FFT_FORWARD, ath_2d_fft_plan::cnt, ath_2d_fft_plan::dir, ath_2d_fft_plan::gcnt, and ath_2d_fft_plan::plan.

Referenced by ath_2d_fft_quick_plan().

Here is the call graph for this function:

Here is the caller graph for this function:

void ath_2d_fft_destroy_plan ( struct ath_2d_fft_plan ath_plan  ) 

Frees a 2D FFT plan.

Definition at line 345 of file ath_fft.c.

References ath_2d_fft_plan::plan.

void ath_2d_fft_free ( ath_fft_data *  data  ) 

Frees memory used to hold data for 2D FFT.

Definition at line 334 of file ath_fft.c.

Referenced by ath_2d_fft_create_plan().

Here is the caller graph for this function:

ath_fft_data* ath_2d_fft_malloc ( struct ath_2d_fft_plan ath_plan  ) 

Easy allocation of data array needed for particular 2D plan.

Definition at line 308 of file ath_fft.c.

References ath_2d_fft_plan::cnt.

Referenced by ath_2d_fft_create_plan(), and selfg_fft_2d_init().

Here is the caller graph for this function:

struct ath_2d_fft_plan* ath_2d_fft_quick_plan ( DomainS pD,
ath_fft_data *  data,
ath_fft_direction  dir 
) [read]

Sets up an FFT plan for the entire 2D grid, assuming NX3=1, using ath_2d_fft_create_plan().

Definition at line 215 of file ath_fft.c.

References ath_2d_fft_create_plan(), ath_error(), DomainS::Disp, gie, gis, gje, gjs, gnx1, gnx2, DomainS::Grid, DomainS::Nx, and GridS::Nx.

Referenced by selfg_fft_2d_init().

Here is the call graph for this function:

Here is the caller graph for this function:

void ath_3d_fft ( struct ath_3d_fft_plan ath_plan,
ath_fft_data *  data 
)

Performs a 3D FFT in place.

Definition at line 162 of file ath_fft.c.

References ath_3d_fft_plan::dir, and ath_3d_fft_plan::plan.

Referenced by selfg_fft_3d(), selfg_fft_obc_3d(), and transform().

Here is the caller graph for this function:

struct ath_3d_fft_plan* ath_3d_fft_create_plan ( int  gnx3,
int  gnx2,
int  gnx1,
int  gks,
int  gke,
int  gjs,
int  gje,
int  gis,
int  gie,
ath_fft_data *  data,
int  al,
ath_fft_direction  dir 
) [read]

Sets up a 3D FFT plan.

  • gnx3, gnx2, gnx1 are the dimensions of the GLOBAL data
  • gks, gke, gjs, gje, gis, gie are the starting and ending indices of the LOCAL data in GLOBAL coordinates
  • data is any array of type ath_fft_data big enough to hold entire transform, for use in planning (contents will be trashed)
  • al != 0 means allocate data if it doesn't exist (otherwise temporary)
  • dir is either ATH_FFT_FOWARD or ATH_FFT_BACKWARD FFTs will be done in place (overwrite data)

Definition at line 95 of file ath_fft.c.

References ath_3d_fft_free(), ath_3d_fft_malloc(), ath_error(), ATH_FFT_BACKWARD, ATH_FFT_FORWARD, ath_3d_fft_plan::cnt, ath_3d_fft_plan::dir, ath_3d_fft_plan::gcnt, and ath_3d_fft_plan::plan.

Referenced by ath_3d_fft_quick_plan().

Here is the call graph for this function:

Here is the caller graph for this function:

void ath_3d_fft_destroy_plan ( struct ath_3d_fft_plan ath_plan  ) 

Frees a 3D FFT plan.

Definition at line 189 of file ath_fft.c.

References ath_3d_fft_plan::plan.

void ath_3d_fft_free ( ath_fft_data *  data  ) 

Frees memory used to hold data for 3D FFT.

Definition at line 178 of file ath_fft.c.

Referenced by ath_3d_fft_create_plan(), and problem().

Here is the caller graph for this function:

ath_fft_data* ath_3d_fft_malloc ( struct ath_3d_fft_plan ath_plan  ) 

Easy allocation of data array needed for particular 3D plan.

Definition at line 153 of file ath_fft.c.

References ath_3d_fft_plan::cnt.

Referenced by ath_3d_fft_create_plan(), initialize(), and selfg_fft_3d_init().

Here is the caller graph for this function:

struct ath_3d_fft_plan* ath_3d_fft_quick_plan ( DomainS pD,
ath_fft_data *  data,
ath_fft_direction  dir 
) [read]

Sets up an FFT plan for the entire 3D grid, using ath_3d_fft_create_plan().

Definition at line 56 of file ath_fft.c.

References ath_3d_fft_create_plan(), DomainS::Disp, gie, gis, gje, gjs, gke, gks, gnx1, gnx2, gnx3, DomainS::Grid, GridS::Nx, and DomainS::Nx.

Referenced by initialize(), and selfg_fft_3d_init().

Here is the call graph for this function:

Here is the caller graph for this function: