Tinker9 70bd052 (Thu Nov 9 12:11:35 2023 -0800)
Loading...
Searching...
No Matches
misc.h
1#pragma once
2#include "ff/precision.h"
3#include "ff/timescale.h"
4#include "tool/rcman.h"
5
6namespace tinker {
8void kineticEnergy(energy_prec& eksum_out, energy_prec (&ekin_out)[3][3], int n,
9 const double* mass, const vel_prec* vx, const vel_prec* vy,
10 const vel_prec* vz);
11
13void kineticExplicit(T_prec& temp_out, energy_prec& eksum_out,
14 energy_prec (&ekin_out)[3][3], const vel_prec* vx, const vel_prec* vy,
15 const vel_prec* vz);
16
18void kinetic(T_prec& temp);
19
22
34
49}
50
51namespace tinker {
56
58void mdrest(int istep);
60void mdrestPrintP1(bool prints, double e1, double e2, double e3,
61 double totmass);
63void mdPropagate(int nsteps, time_prec dt_ps);
64
66constexpr unsigned RESPA_FAST = 1; // 2**0, fast group shall be 0.
68constexpr unsigned RESPA_SLOW = 2; // 2**1, slow group shall be 1.
71
73void mdsaveAsync(int istep, time_prec dt);
78}
79
80//====================================================================//
81// //
82// Global Variables //
83// //
84//====================================================================//
85
86namespace tinker {
93
103
105TINKER_EXTERN double qbar;
107TINKER_EXTERN double vbar;
109TINKER_EXTERN double vbar_matrix[3][3];
111}
112
113namespace tinker {
131}
#define TINKER_EXTERN
Definition: macro.h:108
std::map< std::string, int > TimeScaleConfig
Definition: timescale.h:40
double * mass
Atomic mass.
int n
Number of atoms padded by WARP_SIZE.
void mdData(RcOp)
void mdrest(int istep)
void mdrestPrintP1(bool prints, double e1, double e2, double e3, double totmass)
void mdsaveSynchronize()
void mdsaveAsync(int istep, time_prec dt)
void mdsaveData(RcOp)
void mdPropagate(int nsteps, time_prec dt_ps)
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
void mdIntegrateData(RcOp)
const TimeScaleConfig & respaTSConfig()
grad_prec * gy1
Gradient for the fast RESPA energy terms.
Definition: misc.h:129
constexpr unsigned RESPA_SLOW
Definition: misc.h:68
constexpr unsigned RESPA_FAST
Definition: misc.h:66
vel_prec * vy
Velocities.
Definition: pq.h:76
vel_prec * vx
Velocities.
vel_prec * vz
Velocities.
Definition: pq.h:76
void kineticExplicit(T_prec &temp_out, energy_prec &eksum_out, energy_prec(&ekin_out)[3][3], const vel_prec *vx, const vel_prec *vy, const vel_prec *vz)
void berendsenBarostat(time_prec dt)
Berendsen barostat by scaling the coordinates and box dimensions via coupling to an external constant...
pos_prec * x_pmonte
Temporary coordinates created for the Monte Carlo barostat.
void bussiThermostat(time_prec dt, T_prec temp)
void kineticEnergy(energy_prec &eksum_out, energy_prec(&ekin_out)[3][3], int n, const double *mass, const vel_prec *vx, const vel_prec *vy, const vel_prec *vz)
pos_prec * z_pmonte
Temporary coordinates created for the Monte Carlo barostat.
Definition: misc.h:102
energy_prec eksum
Kinetic energy.
void kinetic(T_prec &temp)
double vbar_matrix[3][3]
Velocity matrix of the anisotropic piston.
double qbar
Mass of the piston.
energy_prec ekin[3][3]
Kinetic energy tensor.
double vbar
Velocity of the isotropic piston.
pos_prec * y_pmonte
Temporary coordinates created for the Monte Carlo barostat.
Definition: misc.h:102
void monteCarloBarostat(energy_prec epot, T_prec temp)
Applies a box size correction as needed for the Monte Carlo barostat at the half time step.
mixed T_prec
Floating-point type for temperature.
Definition: precision.h:91
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 energy_prec
Floating-point type for total energies.
Definition: precision.h:97
mixed vel_prec
Floating-point type for velocities.
Definition: precision.h:92
ResourceOperation
Definition: rcman.h:46
Definition: testrt.h:9