NAMD
|
#include "msm_defn.h"
Go to the source code of this file.
Classes | |
struct | InterpParams_t |
Typedefs | |
typedef struct InterpParams_t | InterpParams |
Functions | |
void | NL_msm_cleanup (NL_Msm *pm) |
static int | setup_bins_1away (NL_Msm *pm) |
static int | setup_bins_k_away (NL_Msm *pm) |
static int | setup_cell_vectors (NL_Msm *pm) |
static int | setup_grids (NL_Msm *pm) |
static int | setup_hgrid_1d (NL_Msm *pm, double len, double *hh, int *nn, int *aindex, int *bindex, int isperiodic) |
static int | print_status (NL_Msm *msm) |
int | NL_msm_setup (NL_Msm *pm, double cutoff, double cellvec1[3], double cellvec2[3], double cellvec3[3], double cellcenter[3], int msmflags) |
Variables | |
static InterpParams | INTERP_PARAMS [] |
typedef struct InterpParams_t InterpParams |
void NL_msm_cleanup | ( | NL_Msm * | pm | ) |
Definition at line 7 of file msm_setup.c.
References NL_Msm_t::eh, NL_Msm_t::eh_f, NL_Msm_t::gc, NL_Msm_t::gc_f, GRID_DONE, NL_Msm_t::lyzd, NL_Msm_t::lyzd_f, NL_Msm_t::lzd, NL_Msm_t::lzd_f, NL_Msm_t::maxlevels, NL_Msm_t::msmflags, NL_MSM_COMPUTE_CUDA_GRID_CUTOFF, NL_MSM_COMPUTE_SPREC, NL_Msm_t::qh, and NL_Msm_t::qh_f.
Referenced by NL_msm_destroy().
int NL_msm_setup | ( | NL_Msm * | msm, |
double | cutoff, | ||
double | cellvec1[3], | ||
double | cellvec2[3], | ||
double | cellvec3[3], | ||
double | cellcenter[3], | ||
int | msmflags | ||
) |
Setup the MSM solver for the molecular system. These parameters come directly from the simulation. Here the cutoff provides some control over the accuracy. The region of space containing the atoms is defined as a parallelepiped, and the "isperiodic" flag determines whether or not each individual cell dimension has periodic boundary conditions.
The defined cell is expected to contain the atoms regardless of the choice of boundary conditions. The cell volume must contain the cutoff-sphere.
XXX For now, the MSM solver permits only cell vectors that align with the x-, y-, and z-axis, respectively.
pm | the MSM solver object |
cutoff | cutoff distance for short-range part |
cellvec1 | cell basis vector 1 |
cellvec2 | cell basis vector 2 |
cellvec3 | cell basis vector 3 |
cellcenter | center of cell |
msmflags | flags for periodicity and calculation |
Definition at line 62 of file msm_setup.c.
References NL_Msm_t::a, NL_Msm_t::a_f, NL_Msm_t::cellcenter, NL_Msm_t::cellcenter_f, NL_Msm_t::cellvec1, NL_Msm_t::cellvec1_f, NL_Msm_t::cellvec2, NL_Msm_t::cellvec2_f, NL_Msm_t::cellvec3, NL_Msm_t::cellvec3_f, NL_Msm_t::gx, NL_Msm_t::gx_f, NL_Msm_t::gy, NL_Msm_t::gy_f, NL_Msm_t::gz, NL_Msm_t::gz_f, NL_Msm_t::hx, NL_Msm_t::hx_f, NL_Msm_t::hy, NL_Msm_t::hy_f, NL_Msm_t::hz, NL_Msm_t::hz_f, NL_Msm_t::msmflags, NL_MSM_ALL_FLAGS, NL_MSM_COMPUTE_1AWAY, NL_MSM_COMPUTE_ALL, NL_MSM_COMPUTE_CUDA_FALL_BACK, NL_MSM_COMPUTE_CUDA_GRID_CUTOFF, NL_MSM_COMPUTE_LONG_RANGE, NL_MSM_COMPUTE_SHORT_RANGE, NL_MSM_COMPUTE_SPREC, NL_MSM_ERROR_PARAM, NL_MSM_ERROR_SUPPORT, NL_MSM_PERIODIC_VEC1, NL_MSM_PERIODIC_VEC2, NL_MSM_PERIODIC_VEC3, NL_MSM_REPORT_TIMINGS, NL_MSM_SUCCESS, print_status(), NL_Msm_t::recipvec1, NL_Msm_t::recipvec1_f, NL_Msm_t::recipvec2, NL_Msm_t::recipvec2_f, NL_Msm_t::recipvec3, NL_Msm_t::recipvec3_f, NL_Msm_t::report_timings, setup_bins_1away(), setup_bins_k_away(), setup_cell_vectors(), and setup_grids().
Referenced by ComputeMsmSerialMgr::recvCoord().
|
static |
Definition at line 218 of file msm_setup.c.
References NL_Msm_t::a, NL_Msm_t::approx, NL_Msm_t::cellvec1, NL_Msm_t::cellvec2, NL_Msm_t::cellvec3, NL_Msm_t::gridspacing, NL_Msm_t::gx, NL_Msm_t::gy, NL_Msm_t::gz, NL_Msm_t::hx, NL_Msm_t::hy, NL_Msm_t::hz, NL_Msm_t::msmflags, NL_msm_approx_name(), NL_MSM_COMPUTE_SPREC, NL_MSM_PERIODIC_ALL, NL_MSM_PERIODIC_VEC1, NL_MSM_PERIODIC_VEC2, NL_MSM_PERIODIC_VEC3, NL_msm_split_name(), NL_MSM_SUCCESS, NL_Msm_t::nlevels, NL_Msm_t::nx, NL_Msm_t::ny, NL_Msm_t::nz, NL_Msm_t::qh, NL_Msm_t::qh_f, and NL_Msm_t::split.
Referenced by NL_msm_setup().
|
static |
Definition at line 318 of file msm_setup.c.
References NL_Msm_t::a, NL_Msm_t::bin, NL_Msm_t::cellvec1, NL_Msm_t::cellvec2, NL_Msm_t::cellvec3, NL_Msm_t::maxbins, NL_Msm_t::msmflags, NL_Msm_t::nbx, NL_Msm_t::nby, NL_Msm_t::nbz, NL_MSM_ERROR_MALLOC, NL_MSM_ERROR_PARAM, NL_MSM_PERIODIC_VEC1, NL_MSM_PERIODIC_VEC2, NL_MSM_PERIODIC_VEC3, NL_MSM_SUCCESS, NL_Msm_t::numbins, NL_Msm_t::recipvec1, NL_Msm_t::recipvec2, NL_Msm_t::recipvec3, X, Y, and Z.
Referenced by NL_msm_setup().
|
static |
Definition at line 420 of file msm_setup.c.
References NL_Msm_t::a, NL_Msm_t::bin, NL_Msm_t::binfill, NL_Msm_t::bu, NL_Msm_t::bv, NL_Msm_t::bw, NL_Msm_t::cellvec1, NL_Msm_t::cellvec2, NL_Msm_t::cellvec3, NL_Msm_t::density, NL_Msm_t::maxbins, NL_Msm_t::msmflags, NL_Msm_t::nbinslots, NL_Msm_t::nbrhd, NL_Msm_t::nbrhdlen, NL_Msm_t::nbrhdmax, NL_Msm_t::nbx, NL_Msm_t::nby, NL_Msm_t::nbz, NL_MSM_ERROR_MALLOC, NL_MSM_ERROR_PARAM, NL_MSM_PERIODIC_VEC1, NL_MSM_PERIODIC_VEC2, NL_MSM_PERIODIC_VEC3, NL_MSM_SUCCESS, NL_Msm_t::nradius, NL_Msm_t::numbins, NL_Msm_t::recipvec1, NL_Msm_t::recipvec2, NL_Msm_t::recipvec3, X, Y, and Z.
Referenced by NL_msm_setup().
|
static |
Definition at line 281 of file msm_setup.c.
References NL_Msm_t::cellvec1, NL_Msm_t::cellvec2, NL_Msm_t::cellvec3, NL_MSM_SUCCESS, NL_Msm_t::recipvec1, NL_Msm_t::recipvec2, NL_Msm_t::recipvec3, X, Y, and Z.
Referenced by NL_msm_setup().
|
static |
Definition at line 707 of file msm_setup.c.
References NL_Msm_t::a, NL_Msm_t::approx, ASSERT, NL_Msm_t::cellcenter, NL_Msm_t::cellvec1, NL_Msm_t::cellvec2, NL_Msm_t::cellvec3, NL_Msm_t::eh, NL_Msm_t::eh_f, NL_Msm_t::gc, NL_Msm_t::gc_f, GRID_INDEX, GRID_INDEX_CHECK, GRID_INIT, GRID_RESIZE, NL_Msm_t::gx, NL_Msm_t::gy, NL_Msm_t::gz, NL_Msm_t::gzero, NL_Msm_t::gzero_f, NL_Msm_t::hx, NL_Msm_t::hy, NL_Msm_t::hz, INTERP_PARAMS, NL_Msm_t::lyzd, NL_Msm_t::lyzd_f, NL_Msm_t::lzd, NL_Msm_t::lzd_f, NL_Msm_t::max_lyzd, NL_Msm_t::max_lzd, NL_Msm_t::maxlevels, NL_Msm_t::msmflags, NL_MSM_COMPUTE_SPREC, NL_MSM_ERROR_MALLOC, NL_MSM_PERIODIC_ALL, NL_MSM_PERIODIC_VEC1, NL_MSM_PERIODIC_VEC2, NL_MSM_PERIODIC_VEC3, NL_MSM_SUCCESS, NL_Msm_t::nlevels, InterpParams_t::nu, NL_Msm_t::nx, NL_Msm_t::ny, NL_Msm_t::nz, InterpParams_t::omega, NL_Msm_t::qh, NL_Msm_t::qh_f, setup_hgrid_1d(), split(), NL_Msm_t::split, and SPOLY.
Referenced by NL_msm_setup().
|
static |
Definition at line 658 of file msm_setup.c.
References NL_Msm_t::approx, ASSERT, NL_Msm_t::gridspacing, INTERP_PARAMS, NL_MSM_ERROR_PARAM, NL_MSM_SUCCESS, and InterpParams_t::nu.
Referenced by setup_grids().
|
static |
Definition at line 206 of file msm_setup.c.
Referenced by setup_grids(), and setup_hgrid_1d().