4 * This source code is part of
8 * GROningen MAchine for Chemical Simulations
12 * Copyright (c) 1991-1999
13 * BIOSON Research Institute, Dept. of Biophysical Chemistry
14 * University of Groningen, The Netherlands
17 * GROMACS: A message-passing parallel molecular dynamics implementation
18 * H.J.C. Berendsen, D. van der Spoel and R. van Drunen
19 * Comp. Phys. Comm. 91, 43-56 (1995)
21 * Also check out our WWW page:
22 * http://md.chem.rug.nl/~gmx
27 * Green Red Orange Magenta Azure Cyan Skyblue
32 static char *SRCID_rfftw_mpi_h
= "$Id$";
39 #endif /* __cplusplus */
41 /***********************************************************************/
44 fftw_plan p_fft_x
; /* plan for first dimension */
45 rfftwnd_plan p_fft
; /* plan for subsequent dimensions */
46 transpose_mpi_plan p_transpose
, p_transpose_inv
;
47 fftw_complex
*work
; /* extra workspace, if needed */
48 } rfftwnd_mpi_plan_data
;
50 typedef rfftwnd_mpi_plan_data
*rfftwnd_mpi_plan
;
52 extern rfftwnd_mpi_plan
rfftwnd_mpi_create_plan(MPI_Comm comm
,
53 int rank
, const int *n
,
56 extern rfftwnd_mpi_plan
rfftw2d_mpi_create_plan(MPI_Comm comm
,
58 fftw_direction dir
, int flags
);
59 extern rfftwnd_mpi_plan
rfftw3d_mpi_create_plan(MPI_Comm comm
,
60 int nx
, int ny
, int nz
,
61 fftw_direction dir
, int flags
);
63 extern void rfftwnd_mpi_destroy_plan(rfftwnd_mpi_plan p
);
65 extern void rfftwnd_mpi_local_sizes(rfftwnd_mpi_plan p
,
68 int *local_ny_after_transpose
,
69 int *local_y_start_after_transpose
,
70 int *total_local_size
);
72 extern void rfftwnd_mpi(rfftwnd_mpi_plan p
,
74 fftw_real
*local_data
, fftw_real
*work
,
75 fftwnd_mpi_output_order output_order
);
77 /***********************************************************************/
81 #endif /* __cplusplus */
83 #endif /* RFFTW_MPI_H */