Tinker9 70bd052 (Thu Nov 9 12:11:35 2023 -0800)
Loading...
Searching...
No Matches
Functions
Positions and Velocities

Functions

void tinker::mdVelData (RcOp)
 
constexpr int tinker::BOUNDS_EVERY_X_STEPS = 500
 Calls bounds() at least every x steps in MD. More...
 
void tinker::mdPos (time_prec, pos_prec *, pos_prec *, pos_prec *, const vel_prec *, const vel_prec *, const vel_prec *)
 Updates x, y, z via \( x(t) = x(0) + v(0) t \). More...
 
void tinker::mdPos (time_prec dt)
 Calls bounds() at least every x steps in MD. More...
 
void tinker::mdPosAxbv (pos_prec a, pos_prec b)
 Updates x, y, z via \( r = a r + b v \). More...
 
void tinker::mdPosAxbvAn (pos_prec(*a)[3], pos_prec(*b)[3])
 Updates x, y, z via \( \boldsymbol{r} = \boldsymbol{A}\boldsymbol{r} + \boldsymbol{B}\boldsymbol{v} \). More...
 
void tinker::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 coordinates in an external file. More...
 
void tinker::mdVel (time_prec dt, const grad_prec *grx, const grad_prec *gry, const grad_prec *grz)
 Updates velocities via \( v(t) = v(0) - (g/m)t \). More...
 
void tinker::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 \( v = v - (g_1/m) t_1 - (g_2/m) t_2 \). More...
 
void tinker::mdVelScale (vel_prec scal, int nelem, vel_prec *vx0, vel_prec *vy0, vel_prec *vz0)
 Updates velocities via \( v = s v \). More...
 
void tinker::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 \( v = a v + b (g_1/n + g_2)/m \) (isotropic). If n equals 1, the 2nd set of gradients are ignored. More...
 
void tinker::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 \( \boldsymbol{v} = \boldsymbol{Av} + \boldsymbol{B} (\boldsymbol{g}_1/n + \boldsymbol{g}_2)/m \) (anisotropic). If n equals 1, the 2nd set of gradients are ignored. More...
 
vel_prectinker::vx
 Velocities. More...
 
vel_prectinker::vy
 Velocities. More...
 
vel_prectinker::vz
 Velocities. More...
 

Detailed Description

Function Documentation

◆ mdDebugPosNorm()

void tinker::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 coordinates in an external file.

◆ mdPos() [1/2]

void tinker::mdPos ( time_prec  dt)

Calls bounds() at least every x steps in MD.

◆ mdPos() [2/2]

void tinker::mdPos ( time_prec  ,
pos_prec ,
pos_prec ,
pos_prec ,
const vel_prec ,
const vel_prec ,
const vel_prec  
)

Updates x, y, z via \( x(t) = x(0) + v(0) t \).

Currently xpos, ypos, and zpos are integrated first, then they are copied to x, y, z by copyPosToXyz().

◆ mdPosAxbv()

void tinker::mdPosAxbv ( pos_prec  a,
pos_prec  b 
)

Updates x, y, z via \( r = a r + b v \).

◆ mdPosAxbvAn()

void tinker::mdPosAxbvAn ( pos_prec(*)  a[3],
pos_prec(*)  b[3] 
)

Updates x, y, z via \( \boldsymbol{r} = \boldsymbol{A}\boldsymbol{r} + \boldsymbol{B}\boldsymbol{v} \).

◆ mdVel()

void tinker::mdVel ( time_prec  dt,
const grad_prec grx,
const grad_prec gry,
const grad_prec grz 
)

Updates velocities via \( v(t) = v(0) - (g/m)t \).

◆ mdVel2()

void tinker::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 \( v = v - (g_1/m) t_1 - (g_2/m) t_2 \).

◆ mdVelAvbf()

void tinker::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 \( v = a v + b (g_1/n + g_2)/m \) (isotropic). If n equals 1, the 2nd set of gradients are ignored.

◆ mdVelAvbfAn()

void tinker::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 \( \boldsymbol{v} = \boldsymbol{Av} + \boldsymbol{B} (\boldsymbol{g}_1/n + \boldsymbol{g}_2)/m \) (anisotropic). If n equals 1, the 2nd set of gradients are ignored.

◆ mdVelData()

void tinker::mdVelData ( RcOp  )

◆ mdVelScale()

void tinker::mdVelScale ( vel_prec  scal,
int  nelem,
vel_prec vx0,
vel_prec vy0,
vel_prec vz0 
)

Updates velocities via \( v = s v \).

Variable Documentation

◆ BOUNDS_EVERY_X_STEPS

constexpr int tinker::BOUNDS_EVERY_X_STEPS = 500
constexpr

Calls bounds() at least every x steps in MD.

◆ vx

tinker::vx
extern

Velocities.

◆ vy

tinker::vy

Velocities.

◆ vz

tinker::vz

Velocities.