2#include "ff/precision.h"
42 const real (*field)[3]
51 const real (*field)[3],
52 const real (*fieldp)[3]
62 const real (*field)[3]
72 const real (*udip)[3],
75 const real (*field)[3],
76 const real (*fielp)[3]
87 const real (*field)[3],
112 const real (*conj)[3],
113 const real (*conjp)[3],
114 const real (*field)[3],
115 const real (*fieldp)[3]
128 const real (*conj)[3],
129 const real (*conjp)[3],
132 const real (*vec)[3],
133 const real (*vecp)[3]
145 const real (*zrsd)[3],
146 const real (*zrsdp)[3]
154 const real (*conj)[3],
155 const real (*field)[3]
165 const real (*conj)[3],
167 const real (*vec)[3]);
175 const real (*zrsd)[3]
185 const real (*rsd)[3],
186 const real (*rsdp)[3]
int n
Number of atoms padded by WARP_SIZE.
__global__ void pcgUdirV2(int n, const real *polarity, real(*udir)[3], real(*udirp)[3], const real(*field)[3], const real(*fieldp)[3])
Calculates the direct induced dipoles 2b.
__global__ void pcgPeek1(int n, float pcgpeek, const real *polarity, real(*uind)[3], const real(*rsd)[3])
Applies the peek step.
__global__ void pcgP5(int n, const real *polarity, const real *ka, const real *ksum, real(*uind)[3], const real(*conj)[3], real(*rsd)[3], const real(*vec)[3])
Updates the induced dipoles and residuals – step 5bc.
__global__ void pcgRsd0V2(int n, const real *polarity_inv, real(*rsd)[3], real(*rsp)[3], const real(*udir)[3], const real(*udip)[3], const real(*uind)[3], const real(*uinp)[3], const real(*field)[3], const real(*fielp)[3])
Calculates the initial residuals for the predictor 3a.
__global__ void pcgP4(int n, const real *polarity_inv, real(*vec)[3], const real(*conj)[3], const real(*field)[3])
Calculates the vector Ap – step 5a.
__global__ void pcgRsd1(int n, const real *polarity, real(*rsd)[3])
Sets the residual to zero for atoms with zero polarizability.
__global__ void pcgP1(int n, const real *polarity_inv, real(*vec)[3], real(*vecp)[3], const real(*conj)[3], const real(*conjp)[3], const real(*field)[3], const real(*fieldp)[3])
Calculates the vector Ap – step 5a.
__global__ void pcgP2(int n, const real *polarity, const real *ka, const real *kap, const real *ksum, const real *ksump, real(*uind)[3], real(*uinp)[3], const real(*conj)[3], const real(*conjp)[3], real(*rsd)[3], real(*rsdp)[3], const real(*vec)[3], const real(*vecp)[3])
Updates the induced dipoles and residuals – step 5bc.
__global__ void pcgP3(int n, const real *ksum, const real *ksump, const real *ksum1, const real *ksump1, real(*conj)[3], real(*conjp)[3], const real(*zrsd)[3], const real(*zrsdp)[3])
Calculates the scalar b from s0 and s, then updates the vector p – 5ef.
__global__ void pcgUdirV1(int n, const real *polarity, real(*udir)[3], const real(*field)[3])
Calculates the direct induced dipoles 2b.
__global__ void pcgRsd0V1(int n, const real *polarity_inv, real(*rsd)[3], const real(*udir)[3], const real(*uind)[3], const real(*field)[3])
Calculates the initial residuals for the predictor 3a.
__global__ void pcgRsd0V3(int n, const real *polarity_inv, real(*rsd)[3], const real(*udir)[3], const real(*uind)[3], const real(*field)[3], const real(*polscale)[3][3])
Calculates the initial residuals for the predictor 3a using the Exchange-Polarization Model.
__global__ void pcgP6(int n, const real *ksum, const real *ksum1, real(*conj)[3], const real(*zrsd)[3])
Calculates the scalar b from s0 and s, then updates the vector p – 5ef.
__global__ void pcgPeek(int n, float pcgpeek, const real *polarity, real(*uind)[3], real(*uinp)[3], const real(*rsd)[3], const real(*rsdp)[3])
Applies the peek step.
__global__ void pcgRsd0(int n, const real *polarity, real(*rsd)[3], real(*rsdp)[3])
Sets the residual to zero for atoms with zero polarizability.
float real
Definition: precision.h:80