Gromacs
2018.8
|
#include <gromacs/ewald/pme-gpu-types.h>
The PME GPU structure for all the data copied directly from the CPU PME structure. The copying is done when the CPU PME structure is already (re-)initialized (pme_gpu_reinit is called at the end of gmx_pme_init). All the variables here are named almost the same way as in gmx_pme_t. The types are different: pointers are replaced by vectors. TODO: use the shared data with the PME CPU. Included in the main PME GPU structure by value.
Public Attributes | |
int | ngrids |
Grid count - currently always 1 on GPU. | |
int | nk [3] |
Grid dimensions - nkx, nky, nkz. | |
int | pmegrid_n [3] |
Padded grid dimensions - pmegrid_nx, pmegrid_ny, pmegrid_nz TODO: find out if these are really needed for the CPU FFT compatibility. | |
int | pme_order |
PME interpolation order. | |
real | ewaldcoeff_q |
Ewald splitting coefficient for Coulomb. | |
real | epsilon_r |
Electrostatics parameter. | |
std::vector< int > | nn |
Gridline indices - nnx, nny, nnz. | |
std::vector< real > | fsh |
Fractional shifts - fshx, fshy, fshz. | |
std::vector< real > | bsp_mod [3] |
Precomputed B-spline values. | |
PmeRunMode | runMode |
The PME codepath being taken. | |
class EwaldBoxZScaler * | boxScaler |
The box scaler based on inputrec - created in pme_init and managed by CPU structure. | |
matrix | previousBox |
The previous computation box to know if we even need to update the current box params. More... | |
matrix PmeShared::previousBox |
The previous computation box to know if we even need to update the current box params.
Manage this on higher level.
Alternatively, when this structure is used by CPU PME code, make use of this field there as well.