|
|
|
@ -103,10 +103,11 @@ __global__ void DihedralForceWithAtomEnergyKernel(int dihedral_numbers, const UN
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void DihedralForceWithAtomEnergy(int dihedral_numbers, const int *uint_crd_f, const float *scaler_f, const int *atom_a,
|
|
|
|
|
const int *atom_b, const int *atom_c, const int *atom_d, const int *ipn,
|
|
|
|
|
const float *pk, const float *gamc, const float *gams, const float *pn, float *frc_f,
|
|
|
|
|
float *ene, cudaStream_t stream) {
|
|
|
|
|
void DihedralForceWithAtomEnergy(int dihedral_numbers, int atom_numbers, const int *uint_crd_f, const float *scaler_f,
|
|
|
|
|
const int *atom_a, const int *atom_b, const int *atom_c, const int *atom_d,
|
|
|
|
|
const int *ipn, const float *pk, const float *gamc, const float *gams, const float *pn,
|
|
|
|
|
float *frc_f, float *ene, cudaStream_t stream) {
|
|
|
|
|
Reset_List<<<ceilf(static_cast<float>(3. * atom_numbers) / 128), 128>>>(3 * atom_numbers, frc_f, 0.);
|
|
|
|
|
size_t thread_per_block = 128;
|
|
|
|
|
size_t block_per_grid = ceilf(static_cast<float>(dihedral_numbers) / 128);
|
|
|
|
|
UNSIGNED_INT_VECTOR *uint_crd =
|
|
|
|
@ -118,7 +119,7 @@ void DihedralForceWithAtomEnergy(int dihedral_numbers, const int *uint_crd_f, co
|
|
|
|
|
dihedral_numbers, uint_crd, scaler, atom_a, atom_b, atom_c, atom_d, ipn, pk, gamc, gams, pn, frc, ene);
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
void DihedralForceWithAtomEnergy(int dihedral_numbers, const int *uint_crd_f, const float *scaler_f, const int *atom_a,
|
|
|
|
|
const int *atom_b, const int *atom_c, const int *atom_d, const int *ipn,
|
|
|
|
|
const float *pk, const float *gamc, const float *gams, const float *pn, float *frc_f,
|
|
|
|
|
float *ene, cudaStream_t stream);
|
|
|
|
|
void DihedralForceWithAtomEnergy(int dihedral_numbers, int atom_numbers, const int *uint_crd_f, const float *scaler_f,
|
|
|
|
|
const int *atom_a, const int *atom_b, const int *atom_c, const int *atom_d,
|
|
|
|
|
const int *ipn, const float *pk, const float *gamc, const float *gams, const float *pn,
|
|
|
|
|
float *frc_f, float *ene, cudaStream_t stream);
|
|
|
|
|