Tinker9 70bd052 (Thu Nov 9 12:11:35 2023 -0800)
Loading...
Searching...
No Matches
pq.h
1#pragma once
2#include "ff/atom.h"
3
4namespace tinker {
8constexpr int BOUNDS_EVERY_X_STEPS = 500;
9
15 const vel_prec*, const vel_prec*, const vel_prec*);
17
20
23void mdPosAxbvAn(pos_prec (*a)[3], pos_prec (*b)[3]);
24
28 const vel_prec* vx, const vel_prec* vy, const vel_prec* vz);
29
31void mdVel(time_prec dt, const grad_prec* grx, const grad_prec* gry,
32 const grad_prec* grz);
33
35void mdVel2(time_prec dt, const grad_prec* grx, const grad_prec* gry,
36 const grad_prec* grz, time_prec dt2, const grad_prec* grx2,
37 const grad_prec* gry2, const grad_prec* grz2);
38
40void mdVelScale(vel_prec scal, int nelem, vel_prec* vx0, vel_prec* vy0,
41 vel_prec* vz0);
42
45void mdVelAvbf(int nrespa, vel_prec a, vel_prec b, //
46 const grad_prec* gx1, const grad_prec* gy1, const grad_prec* gz1, //
47 const grad_prec* gx2, const grad_prec* gy2, const grad_prec* gz2);
48
52void mdVelAvbfAn(int nrespa, vel_prec a[3][3], vel_prec b[3][3], //
53 const grad_prec* gx1, const grad_prec* gy1, const grad_prec* gz1, //
54 const grad_prec* gx2, const grad_prec* gy2, const grad_prec* gz2);
56
59}
60
61//====================================================================//
62// //
63// Global Variables //
64// //
65//====================================================================//
66
67namespace tinker {
78}
#define TINKER_EXTERN
Definition: macro.h:108
grad_prec * gx1
Gradient for the fast RESPA energy terms.
grad_prec * gx2
Gradient for the slow RESPA energy terms.
grad_prec * gz1
Gradient for the fast RESPA energy terms.
Definition: misc.h:129
grad_prec * gz2
Gradient for the slow RESPA energy terms.
Definition: misc.h:130
grad_prec * gy2
Gradient for the slow RESPA energy terms.
Definition: misc.h:130
grad_prec * gy1
Gradient for the fast RESPA energy terms.
Definition: misc.h:129
void mdVelScale(vel_prec scal, int nelem, vel_prec *vx0, vel_prec *vy0, vel_prec *vz0)
Updates velocities via .
vel_prec * vy
Velocities.
Definition: pq.h:76
void mdPosAxbv(pos_prec a, pos_prec b)
Updates x, y, z via .
void mdVelData(RcOp)
void mdDebugPosNorm(pos_prec poseps, time_prec dt, const vel_prec *vx, const vel_prec *vy, const vel_prec *vz)
Throws an error if one of the atoms moves too far in one position update, and saves the last good coo...
void mdVel(time_prec dt, const grad_prec *grx, const grad_prec *gry, const grad_prec *grz)
Updates velocities via .
vel_prec * vx
Velocities.
vel_prec * vz
Velocities.
Definition: pq.h:76
void mdPosAxbvAn(pos_prec(*a)[3], pos_prec(*b)[3])
Updates x, y, z via .
void mdVelAvbfAn(int nrespa, vel_prec a[3][3], vel_prec b[3][3], const grad_prec *gx1, const grad_prec *gy1, const grad_prec *gz1, const grad_prec *gx2, const grad_prec *gy2, const grad_prec *gz2)
Updates velocities via (anisotropic). If n equals 1, the 2nd set of gradients are ignored.
constexpr int BOUNDS_EVERY_X_STEPS
Calls bounds() at least every x steps in MD.
Definition: pq.h:8
void mdPos(time_prec, pos_prec *, pos_prec *, pos_prec *, const vel_prec *, const vel_prec *, const vel_prec *)
Updates x, y, z via .
void mdVelAvbf(int nrespa, vel_prec a, vel_prec b, const grad_prec *gx1, const grad_prec *gy1, const grad_prec *gz1, const grad_prec *gx2, const grad_prec *gy2, const grad_prec *gz2)
Updates velocities via (isotropic). If n equals 1, the 2nd set of gradients are ignored.
void mdVel2(time_prec dt, const grad_prec *grx, const grad_prec *gry, const grad_prec *grz, time_prec dt2, const grad_prec *grx2, const grad_prec *gry2, const grad_prec *grz2)
Updates velocities via .
mixed pos_prec
Floating-point type for coordinates.
Definition: precision.h:93
mixed time_prec
Floating-point type for time.
Definition: precision.h:90
fixed grad_prec
Definition: precision.h:103
mixed vel_prec
Floating-point type for velocities.
Definition: precision.h:92
ResourceOperation
Definition: rcman.h:46
Definition: testrt.h:9