Contains functions to solve Poisson's equation for self-gravity in 3D using FFTs, using OPEN BCs in all three directions. More...
Go to the source code of this file.
Functions | |
void | selfg_fft_obc_3d (DomainS *pD) |
Only works for uniform grid, periodic boundary conditions. | |
void | selfg_fft_3d_init (MeshS *pM) |
Initializes plans for forward/backward FFTs, and allocates memory needed by FFTW. | |
Variables | |
static struct ath_3d_fft_plan * | fplan3d |
static struct ath_3d_fft_plan * | bplan3d |
static ath_fft_data * | work = NULL |
Contains functions to solve Poisson's equation for self-gravity in 3D using FFTs, using OPEN BCs in all three directions.
The function uses FFTW3.x, and for MPI parallel use Steve Plimpton's block decomposition routines added by N. Lemaster to /athena/fftsrc. This means to use these fns the code must be
For PERIODIC BCs, use selfg_fft() functions.
CONTAINS PUBLIC FUNCTIONS:
Definition in file selfg_fft_obc.c.
void selfg_fft_3d_init | ( | MeshS * | pM | ) |
Initializes plans for forward/backward FFTs, and allocates memory needed by FFTW.
NOTE: for SMR, allocation of memory for Poisson kernel arrays Geee, Gooo, Goee, Geoo, Geoe, Goeo, Geeo, Gooe could also be done here
Definition at line 607 of file selfg_fft_obc.c.
References ath_3d_fft_malloc(), ath_3d_fft_quick_plan(), ATH_FFT_BACKWARD, ATH_FFT_FORWARD, MeshS::Domain, MeshS::DomainsPerLevel, DomainS::Grid, MeshS::NLevels, and work.
Referenced by selfg_init().
void selfg_fft_obc_3d | ( | DomainS * | pD | ) |
Only works for uniform grid, periodic boundary conditions.
Definition at line 50 of file selfg_fft_obc.c.
References ath_3d_fft(), ath_error(), calloc_3d_array(), ConsS::d, GridS::Disp, dkx, GridS::dx1, GridS::dx2, GridS::dx3, four_pi_G, ath_3d_fft_plan::gcnt, DomainS::Grid, GridS::ie, GridS::is, GridS::je, GridS::js, GridS::ke, GridS::ks, GridS::Nx, DomainS::Nx, GridS::Phi, GridS::Phi_old, GridS::U, and work.
struct ath_3d_fft_plan * bplan3d [static] |
Definition at line 36 of file selfg_fft_obc.c.
struct ath_3d_fft_plan* fplan3d [static] |
Definition at line 36 of file selfg_fft_obc.c.
ath_fft_data* work = NULL [static] |
Definition at line 37 of file selfg_fft_obc.c.
Referenced by selfg_fft_3d_init(), and selfg_fft_obc_3d().