Tinker9 70bd052 (Thu Nov 9 12:11:35 2023 -0800)
Loading...
Searching...
No Matches
Classes | Enumerations | Functions | Variables
Kinetic Energy, Thermostats, and Barostats

Classes

class  tinker::BasicThermostat
 
class  tinker::BussiThermostat
 
class  tinker::NhcDevice
 Applies a velocity correction as needed for the Nose-Hoover Chains at the half time step. More...
 
class  tinker::Nhc06Thermostat
 
class  tinker::BasicBarostat
 
class  tinker::MonteCarloBarostat
 
class  tinker::BerendsenBarostat
 
class  tinker::IsoBaroDevice
 
class  tinker::AnisoBaroDevice
 
class  tinker::Nhc06Barostat
 
class  tinker::LP22Barostat
 

Enumerations

enum class  tinker::ThermostatEnum {
  tinker::ThermostatEnum::NONE , tinker::ThermostatEnum::ANDERSEN , tinker::ThermostatEnum::BERENDSEN , tinker::ThermostatEnum::BUSSI ,
  tinker::ThermostatEnum::NHC , tinker::ThermostatEnum::m_LEAPFROGLP , tinker::ThermostatEnum::m_LP2022 , tinker::ThermostatEnum::m_NHC1996 ,
  tinker::ThermostatEnum::m_NHC2006
}
 
enum class  tinker::BarostatEnum {
  tinker::BarostatEnum::NONE , tinker::BarostatEnum::BERENDSEN , tinker::BarostatEnum::BUSSI , tinker::BarostatEnum::LP2022 ,
  tinker::BarostatEnum::MONTECARLO , tinker::BarostatEnum::NHC2006 , tinker::BarostatEnum::m_LEAPFROGLP , tinker::BarostatEnum::m_LOGVISO ,
  tinker::BarostatEnum::m_LOGVANISO , tinker::BarostatEnum::m_NHC1996
}
 

Functions

void tinker::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)
 
void tinker::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 tinker::kinetic (T_prec &temp)
 
void tinker::bussiThermostat (time_prec dt, T_prec temp)
 
void tinker::monteCarloBarostat (energy_prec epot, T_prec temp)
 Applies a box size correction as needed for the Monte Carlo barostat at the half time step. More...
 
void tinker::berendsenBarostat (time_prec dt)
 Berendsen barostat by scaling the coordinates and box dimensions via coupling to an external constant pressure bath. Code for anisotropic pressure coupling was provided by Guido Raos, Dipartimento di Chimica, Politecnico di Milano, Italy. More...
 

Variables

constexpr int tinker::maxnose = bath::maxnose
 Maximum length of the NH chain. More...
 
energy_prec tinker::eksum
 Kinetic energy. More...
 
energy_prec tinker::ekin [3][3]
 Kinetic energy tensor. More...
 
pos_prectinker::x_pmonte
 Temporary coordinates created for the Monte Carlo barostat. More...
 
pos_prectinker::y_pmonte
 Temporary coordinates created for the Monte Carlo barostat. More...
 
pos_prectinker::z_pmonte
 Temporary coordinates created for the Monte Carlo barostat. More...
 
double tinker::qbar
 Mass of the piston. More...
 
double tinker::vbar
 Velocity of the isotropic piston. More...
 
double tinker::vbar_matrix [3][3]
 Velocity matrix of the anisotropic piston. More...
 

Detailed Description


Class Documentation

◆ tinker::BasicThermostat

class tinker::BasicThermostat

Public Member Functions

 BasicThermostat ()
 
virtual ~BasicThermostat ()
 
virtual void printDetail (FILE *)
 
virtual void control1 (time_prec timeStep)
 
virtual void control2 (time_prec timeStep, bool calcEkin)
 

Static Public Member Functions

static BasicThermostatcreate (ThermostatEnum)
 

Protected Member Functions

void printBasic (FILE *)
 

Additional Inherited Members

- Static Protected Attributes inherited from tinker::IntegratorStaticData
static bool applyBaro
 
static bool printPressure
 
static bool atomic
 
static bool aniso
 
static bool semiiso
 
static int nrespa
 
static double dofP
 
static int arrayLength
 
static const int(* indexArray )[2]
 
static const int AnisoArray [6][2]
 
static constexpr int AnisoOrthoOrOct = 3
 
static constexpr int AnisoMono = 4
 
static constexpr int AnisoTri = 6
 
static const int SemiArray [4][2]
 
static constexpr int SemiOrthoOrOct = 2
 
static constexpr int SemiMono = 3
 
static constexpr int SemiTri = 4
 

Constructor & Destructor Documentation

◆ BasicThermostat()

tinker::BasicThermostat::BasicThermostat ( )

◆ ~BasicThermostat()

virtual tinker::BasicThermostat::~BasicThermostat ( )
virtual

Member Function Documentation

◆ control1()

virtual void tinker::BasicThermostat::control1 ( time_prec  timeStep)
virtual

◆ control2()

virtual void tinker::BasicThermostat::control2 ( time_prec  timeStep,
bool  calcEkin 
)
virtual

◆ create()

static BasicThermostat * tinker::BasicThermostat::create ( ThermostatEnum  )
static

◆ printBasic()

void tinker::BasicThermostat::printBasic ( FILE *  )
protected

◆ printDetail()

virtual void tinker::BasicThermostat::printDetail ( FILE *  )
virtual

◆ tinker::BussiThermostat

class tinker::BussiThermostat

Public Member Functions

void printDetail (FILE *) override
 
void control2 (double timeStep, bool) override
 
- Public Member Functions inherited from tinker::BasicThermostat
 BasicThermostat ()
 
virtual ~BasicThermostat ()
 
virtual void printDetail (FILE *)
 
virtual void control1 (time_prec timeStep)
 
virtual void control2 (time_prec timeStep, bool calcEkin)
 

Additional Inherited Members

- Static Public Member Functions inherited from tinker::BasicThermostat
static BasicThermostatcreate (ThermostatEnum)
 
- Protected Member Functions inherited from tinker::BasicThermostat
void printBasic (FILE *)
 
- Static Protected Attributes inherited from tinker::IntegratorStaticData
static bool applyBaro
 
static bool printPressure
 
static bool atomic
 
static bool aniso
 
static bool semiiso
 
static int nrespa
 
static double dofP
 
static int arrayLength
 
static const int(* indexArray )[2]
 
static const int AnisoArray [6][2]
 
static constexpr int AnisoOrthoOrOct = 3
 
static constexpr int AnisoMono = 4
 
static constexpr int AnisoTri = 6
 
static const int SemiArray [4][2]
 
static constexpr int SemiOrthoOrOct = 2
 
static constexpr int SemiMono = 3
 
static constexpr int SemiTri = 4
 

Member Function Documentation

◆ control2()

void tinker::BussiThermostat::control2 ( double  timeStep,
bool   
)
overridevirtual

Reimplemented from tinker::BasicThermostat.

◆ printDetail()

void tinker::BussiThermostat::printDetail ( FILE *  )
overridevirtual

Reimplemented from tinker::BasicThermostat.

◆ tinker::NhcDevice

class tinker::NhcDevice

Applies a velocity correction as needed for the Nose-Hoover Chains at the half time step.

Literature reference:

Public Member Functions

 NhcDevice (int nhclen, int nc, double dfree, double *kin_ptr, double(*kin)(), void(*scale)(double), std::string str)
 
void printDetail (FILE *) override
 
void control1 (time_prec time_prec) override
 
void control2 (time_prec time_prec, bool) override
 
- Public Member Functions inherited from tinker::BasicThermostat
 BasicThermostat ()
 
virtual ~BasicThermostat ()
 
virtual void printDetail (FILE *)
 
virtual void control1 (time_prec timeStep)
 
virtual void control2 (time_prec timeStep, bool calcEkin)
 

Static Public Member Functions

static double kineticAtomic ()
 
static void scaleVelocityAtomic (double scale)
 
- Static Public Member Functions inherited from tinker::BasicThermostat
static BasicThermostatcreate (ThermostatEnum)
 

Protected Member Functions

void controlImpl (double timeStep, bool calcEkin)
 
- Protected Member Functions inherited from tinker::BasicThermostat
void printBasic (FILE *)
 

Protected Attributes

int nnose
 
int nhc_nc
 
double g0
 
double vnh [maxnose]
 
double qnh [maxnose]
 
double * m_kin_ptr
 
double(* f_kin )()
 
void(* scale_vel )(double)
 
std::string name
 

Static Protected Attributes

static constexpr int nhc_nsy = 3
 
- Static Protected Attributes inherited from tinker::IntegratorStaticData
static bool applyBaro
 
static bool printPressure
 
static bool atomic
 
static bool aniso
 
static bool semiiso
 
static int nrespa
 
static double dofP
 
static int arrayLength
 
static const int(* indexArray )[2]
 
static const int AnisoArray [6][2]
 
static constexpr int AnisoOrthoOrOct = 3
 
static constexpr int AnisoMono = 4
 
static constexpr int AnisoTri = 6
 
static const int SemiArray [4][2]
 
static constexpr int SemiOrthoOrOct = 2
 
static constexpr int SemiMono = 3
 
static constexpr int SemiTri = 4
 

Constructor & Destructor Documentation

◆ NhcDevice()

tinker::NhcDevice::NhcDevice ( int  nhclen,
int  nc,
double  dfree,
double *  kin_ptr,
double(*)()  kin,
void(*)(double)  scale,
std::string  str 
)

Member Function Documentation

◆ control1()

void tinker::NhcDevice::control1 ( time_prec  time_prec)
overridevirtual

Reimplemented from tinker::BasicThermostat.

◆ control2()

void tinker::NhcDevice::control2 ( time_prec  time_prec,
bool   
)
overridevirtual

Reimplemented from tinker::BasicThermostat.

◆ controlImpl()

void tinker::NhcDevice::controlImpl ( double  timeStep,
bool  calcEkin 
)
protected

◆ kineticAtomic()

static double tinker::NhcDevice::kineticAtomic ( )
static

◆ printDetail()

void tinker::NhcDevice::printDetail ( FILE *  )
overridevirtual

Reimplemented from tinker::BasicThermostat.

◆ scaleVelocityAtomic()

static void tinker::NhcDevice::scaleVelocityAtomic ( double  scale)
static

Member Data Documentation

◆ f_kin

double(* tinker::NhcDevice::f_kin) ()
protected

◆ g0

double tinker::NhcDevice::g0
protected

◆ m_kin_ptr

double* tinker::NhcDevice::m_kin_ptr
protected

◆ name

std::string tinker::NhcDevice::name
protected

◆ nhc_nc

int tinker::NhcDevice::nhc_nc
protected

◆ nhc_nsy

constexpr int tinker::NhcDevice::nhc_nsy = 3
staticconstexprprotected

◆ nnose

int tinker::NhcDevice::nnose
protected

◆ qnh

double tinker::NhcDevice::qnh[maxnose]
protected

◆ scale_vel

void(* tinker::NhcDevice::scale_vel) (double)
protected

◆ vnh

double tinker::NhcDevice::vnh[maxnose]
protected

◆ tinker::Nhc06Thermostat

class tinker::Nhc06Thermostat

Public Member Functions

 Nhc06Thermostat ()
 
 ~Nhc06Thermostat ()
 
void printDetail (FILE *) override
 
void control1 (time_prec dt) override
 
void control2 (time_prec dt, bool) override
 
- Public Member Functions inherited from tinker::BasicThermostat
 BasicThermostat ()
 
virtual ~BasicThermostat ()
 
virtual void printDetail (FILE *)
 
virtual void control1 (time_prec timeStep)
 
virtual void control2 (time_prec timeStep, bool calcEkin)
 

Static Public Member Functions

static double kineticRattleGroup ()
 
static void scaleVelocityRattleGroup (double scale)
 
static double kineticVbar ()
 
static void scaleVelocityVbar (double scale)
 
static double dofVbar ()
 
- Static Public Member Functions inherited from tinker::BasicThermostat
static BasicThermostatcreate (ThermostatEnum)
 

Protected Attributes

NhcDevicem_tpart
 
NhcDevicem_tbaro
 

Additional Inherited Members

- Protected Member Functions inherited from tinker::BasicThermostat
void printBasic (FILE *)
 
- Static Protected Attributes inherited from tinker::IntegratorStaticData
static bool applyBaro
 
static bool printPressure
 
static bool atomic
 
static bool aniso
 
static bool semiiso
 
static int nrespa
 
static double dofP
 
static int arrayLength
 
static const int(* indexArray )[2]
 
static const int AnisoArray [6][2]
 
static constexpr int AnisoOrthoOrOct = 3
 
static constexpr int AnisoMono = 4
 
static constexpr int AnisoTri = 6
 
static const int SemiArray [4][2]
 
static constexpr int SemiOrthoOrOct = 2
 
static constexpr int SemiMono = 3
 
static constexpr int SemiTri = 4
 

Constructor & Destructor Documentation

◆ Nhc06Thermostat()

tinker::Nhc06Thermostat::Nhc06Thermostat ( )

◆ ~Nhc06Thermostat()

tinker::Nhc06Thermostat::~Nhc06Thermostat ( )

Member Function Documentation

◆ control1()

void tinker::Nhc06Thermostat::control1 ( time_prec  dt)
overridevirtual

Reimplemented from tinker::BasicThermostat.

◆ control2()

void tinker::Nhc06Thermostat::control2 ( time_prec  dt,
bool   
)
overridevirtual

Reimplemented from tinker::BasicThermostat.

◆ dofVbar()

static double tinker::Nhc06Thermostat::dofVbar ( )
static

◆ kineticRattleGroup()

static double tinker::Nhc06Thermostat::kineticRattleGroup ( )
static

◆ kineticVbar()

static double tinker::Nhc06Thermostat::kineticVbar ( )
static

◆ printDetail()

void tinker::Nhc06Thermostat::printDetail ( FILE *  )
overridevirtual

Reimplemented from tinker::BasicThermostat.

◆ scaleVelocityRattleGroup()

static void tinker::Nhc06Thermostat::scaleVelocityRattleGroup ( double  scale)
static

◆ scaleVelocityVbar()

static void tinker::Nhc06Thermostat::scaleVelocityVbar ( double  scale)
static

Member Data Documentation

◆ m_tbaro

NhcDevice* tinker::Nhc06Thermostat::m_tbaro
protected

◆ m_tpart

NhcDevice* tinker::Nhc06Thermostat::m_tpart
protected

◆ tinker::BasicBarostat

class tinker::BasicBarostat

Public Member Functions

 BasicBarostat ()
 
virtual ~BasicBarostat ()
 
virtual void printDetail (FILE *)
 
virtual BarostatEnum getBarostatEnum () const
 
virtual void control1 (time_prec timeStep)
 
virtual void control2 (time_prec timeStep)
 
virtual void control3 (time_prec timeStep)
 
virtual void control4 (time_prec timeStep)
 
virtual bool ifApply (int istep)
 
bool ifApply () const
 
virtual void setPrintPressure (int istep)
 

Static Public Member Functions

static BasicBarostatcreate (BarostatEnum)
 

Protected Member Functions

void printBasic (FILE *)
 

Protected Attributes

int m_nbaro
 
int m_iprint
 

Additional Inherited Members

- Static Protected Attributes inherited from tinker::IntegratorStaticData
static bool applyBaro
 
static bool printPressure
 
static bool atomic
 
static bool aniso
 
static bool semiiso
 
static int nrespa
 
static double dofP
 
static int arrayLength
 
static const int(* indexArray )[2]
 
static const int AnisoArray [6][2]
 
static constexpr int AnisoOrthoOrOct = 3
 
static constexpr int AnisoMono = 4
 
static constexpr int AnisoTri = 6
 
static const int SemiArray [4][2]
 
static constexpr int SemiOrthoOrOct = 2
 
static constexpr int SemiMono = 3
 
static constexpr int SemiTri = 4
 

Constructor & Destructor Documentation

◆ BasicBarostat()

tinker::BasicBarostat::BasicBarostat ( )

◆ ~BasicBarostat()

virtual tinker::BasicBarostat::~BasicBarostat ( )
virtual

Member Function Documentation

◆ control1()

virtual void tinker::BasicBarostat::control1 ( time_prec  timeStep)
inlinevirtual

◆ control2()

virtual void tinker::BasicBarostat::control2 ( time_prec  timeStep)
inlinevirtual

◆ control3()

virtual void tinker::BasicBarostat::control3 ( time_prec  timeStep)
inlinevirtual

◆ control4()

virtual void tinker::BasicBarostat::control4 ( time_prec  timeStep)
inlinevirtual

Reimplemented in tinker::MonteCarloBarostat.

◆ create()

static BasicBarostat * tinker::BasicBarostat::create ( BarostatEnum  )
static

◆ getBarostatEnum()

virtual BarostatEnum tinker::BasicBarostat::getBarostatEnum ( ) const
virtual

◆ ifApply() [1/2]

bool tinker::BasicBarostat::ifApply ( ) const

◆ ifApply() [2/2]

virtual bool tinker::BasicBarostat::ifApply ( int  istep)
virtual

Reimplemented in tinker::MonteCarloBarostat.

◆ printBasic()

void tinker::BasicBarostat::printBasic ( FILE *  )
protected

◆ printDetail()

virtual void tinker::BasicBarostat::printDetail ( FILE *  )
virtual

◆ setPrintPressure()

virtual void tinker::BasicBarostat::setPrintPressure ( int  istep)
virtual

Reimplemented in tinker::MonteCarloBarostat.

Member Data Documentation

◆ m_iprint

int tinker::BasicBarostat::m_iprint
protected

◆ m_nbaro

int tinker::BasicBarostat::m_nbaro
protected

◆ tinker::MonteCarloBarostat

class tinker::MonteCarloBarostat

Public Member Functions

 ~MonteCarloBarostat ()
 
 MonteCarloBarostat ()
 
void printDetail (FILE *) override
 
BarostatEnum getBarostatEnum () const override
 
void control4 (time_prec) override
 
bool ifApply (int istep) override
 
void setPrintPressure (int) override
 
- Public Member Functions inherited from tinker::BasicBarostat
 BasicBarostat ()
 
virtual ~BasicBarostat ()
 
virtual void printDetail (FILE *)
 
virtual BarostatEnum getBarostatEnum () const
 
virtual void control1 (time_prec timeStep)
 
virtual void control2 (time_prec timeStep)
 
virtual void control3 (time_prec timeStep)
 
virtual void control4 (time_prec timeStep)
 
virtual bool ifApply (int istep)
 
bool ifApply () const
 
virtual void setPrintPressure (int istep)
 

Additional Inherited Members

- Static Public Member Functions inherited from tinker::BasicBarostat
static BasicBarostatcreate (BarostatEnum)
 
- Protected Member Functions inherited from tinker::BasicBarostat
void printBasic (FILE *)
 
- Protected Attributes inherited from tinker::BasicBarostat
int m_nbaro
 
int m_iprint
 
- Static Protected Attributes inherited from tinker::IntegratorStaticData
static bool applyBaro
 
static bool printPressure
 
static bool atomic
 
static bool aniso
 
static bool semiiso
 
static int nrespa
 
static double dofP
 
static int arrayLength
 
static const int(* indexArray )[2]
 
static const int AnisoArray [6][2]
 
static constexpr int AnisoOrthoOrOct = 3
 
static constexpr int AnisoMono = 4
 
static constexpr int AnisoTri = 6
 
static const int SemiArray [4][2]
 
static constexpr int SemiOrthoOrOct = 2
 
static constexpr int SemiMono = 3
 
static constexpr int SemiTri = 4
 

Constructor & Destructor Documentation

◆ ~MonteCarloBarostat()

tinker::MonteCarloBarostat::~MonteCarloBarostat ( )

◆ MonteCarloBarostat()

tinker::MonteCarloBarostat::MonteCarloBarostat ( )

Member Function Documentation

◆ control4()

void tinker::MonteCarloBarostat::control4 ( time_prec  )
overridevirtual

Reimplemented from tinker::BasicBarostat.

◆ getBarostatEnum()

BarostatEnum tinker::MonteCarloBarostat::getBarostatEnum ( ) const
overridevirtual

Reimplemented from tinker::BasicBarostat.

◆ ifApply()

bool tinker::MonteCarloBarostat::ifApply ( int  istep)
overridevirtual

Reimplemented from tinker::BasicBarostat.

◆ printDetail()

void tinker::MonteCarloBarostat::printDetail ( FILE *  )
overridevirtual

Reimplemented from tinker::BasicBarostat.

◆ setPrintPressure()

void tinker::MonteCarloBarostat::setPrintPressure ( int  )
overridevirtual

Reimplemented from tinker::BasicBarostat.

◆ tinker::BerendsenBarostat

class tinker::BerendsenBarostat

Public Member Functions

void printDetail (FILE *) override
 
BarostatEnum getBarostatEnum () const override
 
void control2 (time_prec timeStep) override
 
- Public Member Functions inherited from tinker::BasicBarostat
 BasicBarostat ()
 
virtual ~BasicBarostat ()
 
virtual void printDetail (FILE *)
 
virtual BarostatEnum getBarostatEnum () const
 
virtual void control1 (time_prec timeStep)
 
virtual void control2 (time_prec timeStep)
 
virtual void control3 (time_prec timeStep)
 
virtual void control4 (time_prec timeStep)
 
virtual bool ifApply (int istep)
 
bool ifApply () const
 
virtual void setPrintPressure (int istep)
 

Additional Inherited Members

- Static Public Member Functions inherited from tinker::BasicBarostat
static BasicBarostatcreate (BarostatEnum)
 
- Protected Member Functions inherited from tinker::BasicBarostat
void printBasic (FILE *)
 
- Protected Attributes inherited from tinker::BasicBarostat
int m_nbaro
 
int m_iprint
 
- Static Protected Attributes inherited from tinker::IntegratorStaticData
static bool applyBaro
 
static bool printPressure
 
static bool atomic
 
static bool aniso
 
static bool semiiso
 
static int nrespa
 
static double dofP
 
static int arrayLength
 
static const int(* indexArray )[2]
 
static const int AnisoArray [6][2]
 
static constexpr int AnisoOrthoOrOct = 3
 
static constexpr int AnisoMono = 4
 
static constexpr int AnisoTri = 6
 
static const int SemiArray [4][2]
 
static constexpr int SemiOrthoOrOct = 2
 
static constexpr int SemiMono = 3
 
static constexpr int SemiTri = 4
 

Member Function Documentation

◆ control2()

void tinker::BerendsenBarostat::control2 ( time_prec  timeStep)
overridevirtual

Reimplemented from tinker::BasicBarostat.

◆ getBarostatEnum()

BarostatEnum tinker::BerendsenBarostat::getBarostatEnum ( ) const
overridevirtual

Reimplemented from tinker::BasicBarostat.

◆ printDetail()

void tinker::BerendsenBarostat::printDetail ( FILE *  )
overridevirtual

Reimplemented from tinker::BasicBarostat.

◆ tinker::IsoBaroDevice

class tinker::IsoBaroDevice

Public Member Functions

 IsoBaroDevice (double fric)
 
BarostatEnum getBarostatEnum () const override
 
void printDetail (FILE *) override
 
void control1 (time_prec dt) override
 
void control2 (time_prec dt) override
 
void control3 (time_prec dt) override
 
- Public Member Functions inherited from tinker::BasicBarostat
 BasicBarostat ()
 
virtual ~BasicBarostat ()
 
virtual void printDetail (FILE *)
 
virtual BarostatEnum getBarostatEnum () const
 
virtual void control1 (time_prec timeStep)
 
virtual void control2 (time_prec timeStep)
 
virtual void control3 (time_prec timeStep)
 
virtual void control4 (time_prec timeStep)
 
virtual bool ifApply (int istep)
 
bool ifApply () const
 
virtual void setPrintPressure (int istep)
 

Protected Member Functions

void control_1_2 (time_prec dt, int idx)
 
- Protected Member Functions inherited from tinker::BasicBarostat
void printBasic (FILE *)
 

Protected Attributes

double * m_vir
 
double * m_eksum
 
double(* f_kin )()
 
double m_fric
 
double m_rnd
 
bool m_langevin
 
- Protected Attributes inherited from tinker::BasicBarostat
int m_nbaro
 
int m_iprint
 

Additional Inherited Members

- Static Public Member Functions inherited from tinker::BasicBarostat
static BasicBarostatcreate (BarostatEnum)
 
- Static Protected Attributes inherited from tinker::IntegratorStaticData
static bool applyBaro
 
static bool printPressure
 
static bool atomic
 
static bool aniso
 
static bool semiiso
 
static int nrespa
 
static double dofP
 
static int arrayLength
 
static const int(* indexArray )[2]
 
static const int AnisoArray [6][2]
 
static constexpr int AnisoOrthoOrOct = 3
 
static constexpr int AnisoMono = 4
 
static constexpr int AnisoTri = 6
 
static const int SemiArray [4][2]
 
static constexpr int SemiOrthoOrOct = 2
 
static constexpr int SemiMono = 3
 
static constexpr int SemiTri = 4
 

Constructor & Destructor Documentation

◆ IsoBaroDevice()

tinker::IsoBaroDevice::IsoBaroDevice ( double  fric)

Member Function Documentation

◆ control1()

void tinker::IsoBaroDevice::control1 ( time_prec  dt)
overridevirtual

Reimplemented from tinker::BasicBarostat.

◆ control2()

void tinker::IsoBaroDevice::control2 ( time_prec  dt)
overridevirtual

Reimplemented from tinker::BasicBarostat.

◆ control3()

void tinker::IsoBaroDevice::control3 ( time_prec  dt)
overridevirtual

Reimplemented from tinker::BasicBarostat.

◆ control_1_2()

void tinker::IsoBaroDevice::control_1_2 ( time_prec  dt,
int  idx 
)
protected

◆ getBarostatEnum()

BarostatEnum tinker::IsoBaroDevice::getBarostatEnum ( ) const
overridevirtual

Reimplemented from tinker::BasicBarostat.

◆ printDetail()

void tinker::IsoBaroDevice::printDetail ( FILE *  )
overridevirtual

Reimplemented from tinker::BasicBarostat.

Member Data Documentation

◆ f_kin

double(* tinker::IsoBaroDevice::f_kin) ()
protected

◆ m_eksum

double* tinker::IsoBaroDevice::m_eksum
protected

◆ m_fric

double tinker::IsoBaroDevice::m_fric
protected

◆ m_langevin

bool tinker::IsoBaroDevice::m_langevin
protected

◆ m_rnd

double tinker::IsoBaroDevice::m_rnd
protected

◆ m_vir

double* tinker::IsoBaroDevice::m_vir
protected

◆ tinker::AnisoBaroDevice

class tinker::AnisoBaroDevice

Public Member Functions

 AnisoBaroDevice (double fric)
 
BarostatEnum getBarostatEnum () const override
 
void printDetail (FILE *) override
 
void control1 (time_prec dt) override
 
void control2 (time_prec dt) override
 
void control3 (time_prec dt) override
 
- Public Member Functions inherited from tinker::BasicBarostat
 BasicBarostat ()
 
virtual ~BasicBarostat ()
 
virtual void printDetail (FILE *)
 
virtual BarostatEnum getBarostatEnum () const
 
virtual void control1 (time_prec timeStep)
 
virtual void control2 (time_prec timeStep)
 
virtual void control3 (time_prec timeStep)
 
virtual void control4 (time_prec timeStep)
 
virtual bool ifApply (int istep)
 
bool ifApply () const
 
virtual void setPrintPressure (int istep)
 

Protected Member Functions

void control_1_2 (time_prec dt, int idx)
 
- Protected Member Functions inherited from tinker::BasicBarostat
void printBasic (FILE *)
 

Protected Attributes

double * m_vir
 
double * m_eksum
 
double(* m_ekin )[3]
 
void(* f_kin )()
 
double m_fric
 
double m_rnd [3][3]
 
bool m_langevin
 
- Protected Attributes inherited from tinker::BasicBarostat
int m_nbaro
 
int m_iprint
 

Additional Inherited Members

- Static Public Member Functions inherited from tinker::BasicBarostat
static BasicBarostatcreate (BarostatEnum)
 
- Static Protected Attributes inherited from tinker::IntegratorStaticData
static bool applyBaro
 
static bool printPressure
 
static bool atomic
 
static bool aniso
 
static bool semiiso
 
static int nrespa
 
static double dofP
 
static int arrayLength
 
static const int(* indexArray )[2]
 
static const int AnisoArray [6][2]
 
static constexpr int AnisoOrthoOrOct = 3
 
static constexpr int AnisoMono = 4
 
static constexpr int AnisoTri = 6
 
static const int SemiArray [4][2]
 
static constexpr int SemiOrthoOrOct = 2
 
static constexpr int SemiMono = 3
 
static constexpr int SemiTri = 4
 

Constructor & Destructor Documentation

◆ AnisoBaroDevice()

tinker::AnisoBaroDevice::AnisoBaroDevice ( double  fric)

Member Function Documentation

◆ control1()

void tinker::AnisoBaroDevice::control1 ( time_prec  dt)
overridevirtual

Reimplemented from tinker::BasicBarostat.

◆ control2()

void tinker::AnisoBaroDevice::control2 ( time_prec  dt)
overridevirtual

Reimplemented from tinker::BasicBarostat.

◆ control3()

void tinker::AnisoBaroDevice::control3 ( time_prec  dt)
overridevirtual

Reimplemented from tinker::BasicBarostat.

◆ control_1_2()

void tinker::AnisoBaroDevice::control_1_2 ( time_prec  dt,
int  idx 
)
protected

◆ getBarostatEnum()

BarostatEnum tinker::AnisoBaroDevice::getBarostatEnum ( ) const
overridevirtual

Reimplemented from tinker::BasicBarostat.

◆ printDetail()

void tinker::AnisoBaroDevice::printDetail ( FILE *  )
overridevirtual

Reimplemented from tinker::BasicBarostat.

Member Data Documentation

◆ f_kin

void(* tinker::AnisoBaroDevice::f_kin) ()
protected

◆ m_ekin

double(* tinker::AnisoBaroDevice::m_ekin)[3]
protected

◆ m_eksum

double* tinker::AnisoBaroDevice::m_eksum
protected

◆ m_fric

double tinker::AnisoBaroDevice::m_fric
protected

◆ m_langevin

bool tinker::AnisoBaroDevice::m_langevin
protected

◆ m_rnd

double tinker::AnisoBaroDevice::m_rnd[3][3]
protected

◆ m_vir

double* tinker::AnisoBaroDevice::m_vir
protected

◆ tinker::Nhc06Barostat

class tinker::Nhc06Barostat

Public Member Functions

 Nhc06Barostat ()
 
 ~Nhc06Barostat ()
 
void printDetail (FILE *) override
 
BarostatEnum getBarostatEnum () const override
 
void control1 (time_prec timeStep) override
 
void control2 (time_prec timeStep) override
 
void control3 (time_prec timeStep) override
 
- Public Member Functions inherited from tinker::BasicBarostat
 BasicBarostat ()
 
virtual ~BasicBarostat ()
 
virtual void printDetail (FILE *)
 
virtual BarostatEnum getBarostatEnum () const
 
virtual void control1 (time_prec timeStep)
 
virtual void control2 (time_prec timeStep)
 
virtual void control3 (time_prec timeStep)
 
virtual void control4 (time_prec timeStep)
 
virtual bool ifApply (int istep)
 
bool ifApply () const
 
virtual void setPrintPressure (int istep)
 

Protected Attributes

Nhc06Thermostatm_thermo
 
IsoBaroDevicem_baro
 
- Protected Attributes inherited from tinker::BasicBarostat
int m_nbaro
 
int m_iprint
 

Additional Inherited Members

- Static Public Member Functions inherited from tinker::BasicBarostat
static BasicBarostatcreate (BarostatEnum)
 
- Protected Member Functions inherited from tinker::BasicBarostat
void printBasic (FILE *)
 
- Static Protected Attributes inherited from tinker::IntegratorStaticData
static bool applyBaro
 
static bool printPressure
 
static bool atomic
 
static bool aniso
 
static bool semiiso
 
static int nrespa
 
static double dofP
 
static int arrayLength
 
static const int(* indexArray )[2]
 
static const int AnisoArray [6][2]
 
static constexpr int AnisoOrthoOrOct = 3
 
static constexpr int AnisoMono = 4
 
static constexpr int AnisoTri = 6
 
static const int SemiArray [4][2]
 
static constexpr int SemiOrthoOrOct = 2
 
static constexpr int SemiMono = 3
 
static constexpr int SemiTri = 4
 

Constructor & Destructor Documentation

◆ Nhc06Barostat()

tinker::Nhc06Barostat::Nhc06Barostat ( )

◆ ~Nhc06Barostat()

tinker::Nhc06Barostat::~Nhc06Barostat ( )

Member Function Documentation

◆ control1()

void tinker::Nhc06Barostat::control1 ( time_prec  timeStep)
overridevirtual

Reimplemented from tinker::BasicBarostat.

◆ control2()

void tinker::Nhc06Barostat::control2 ( time_prec  timeStep)
overridevirtual

Reimplemented from tinker::BasicBarostat.

◆ control3()

void tinker::Nhc06Barostat::control3 ( time_prec  timeStep)
overridevirtual

Reimplemented from tinker::BasicBarostat.

◆ getBarostatEnum()

BarostatEnum tinker::Nhc06Barostat::getBarostatEnum ( ) const
overridevirtual

Reimplemented from tinker::BasicBarostat.

◆ printDetail()

void tinker::Nhc06Barostat::printDetail ( FILE *  )
overridevirtual

Reimplemented from tinker::BasicBarostat.

Member Data Documentation

◆ m_baro

IsoBaroDevice* tinker::Nhc06Barostat::m_baro
protected

◆ m_thermo

Nhc06Thermostat* tinker::Nhc06Barostat::m_thermo
protected

◆ tinker::LP22Barostat

class tinker::LP22Barostat

Public Member Functions

 LP22Barostat ()
 
 ~LP22Barostat ()
 
void printDetail (FILE *) override
 
BarostatEnum getBarostatEnum () const override
 
void control1 (time_prec timeStep) override
 
void control2 (time_prec timeStep) override
 
void control3 (time_prec timeStep) override
 
- Public Member Functions inherited from tinker::BasicBarostat
 BasicBarostat ()
 
virtual ~BasicBarostat ()
 
virtual void printDetail (FILE *)
 
virtual BarostatEnum getBarostatEnum () const
 
virtual void control1 (time_prec timeStep)
 
virtual void control2 (time_prec timeStep)
 
virtual void control3 (time_prec timeStep)
 
virtual void control4 (time_prec timeStep)
 
virtual bool ifApply (int istep)
 
bool ifApply () const
 
virtual void setPrintPressure (int istep)
 

Protected Attributes

Nhc06Thermostatm_thermo
 
BasicBarostatm_baro
 
- Protected Attributes inherited from tinker::BasicBarostat
int m_nbaro
 
int m_iprint
 

Additional Inherited Members

- Static Public Member Functions inherited from tinker::BasicBarostat
static BasicBarostatcreate (BarostatEnum)
 
- Protected Member Functions inherited from tinker::BasicBarostat
void printBasic (FILE *)
 
- Static Protected Attributes inherited from tinker::IntegratorStaticData
static bool applyBaro
 
static bool printPressure
 
static bool atomic
 
static bool aniso
 
static bool semiiso
 
static int nrespa
 
static double dofP
 
static int arrayLength
 
static const int(* indexArray )[2]
 
static const int AnisoArray [6][2]
 
static constexpr int AnisoOrthoOrOct = 3
 
static constexpr int AnisoMono = 4
 
static constexpr int AnisoTri = 6
 
static const int SemiArray [4][2]
 
static constexpr int SemiOrthoOrOct = 2
 
static constexpr int SemiMono = 3
 
static constexpr int SemiTri = 4
 

Constructor & Destructor Documentation

◆ LP22Barostat()

tinker::LP22Barostat::LP22Barostat ( )

◆ ~LP22Barostat()

tinker::LP22Barostat::~LP22Barostat ( )

Member Function Documentation

◆ control1()

void tinker::LP22Barostat::control1 ( time_prec  timeStep)
overridevirtual

Reimplemented from tinker::BasicBarostat.

◆ control2()

void tinker::LP22Barostat::control2 ( time_prec  timeStep)
overridevirtual

Reimplemented from tinker::BasicBarostat.

◆ control3()

void tinker::LP22Barostat::control3 ( time_prec  timeStep)
overridevirtual

Reimplemented from tinker::BasicBarostat.

◆ getBarostatEnum()

BarostatEnum tinker::LP22Barostat::getBarostatEnum ( ) const
overridevirtual

Reimplemented from tinker::BasicBarostat.

◆ printDetail()

void tinker::LP22Barostat::printDetail ( FILE *  )
overridevirtual

Reimplemented from tinker::BasicBarostat.

Member Data Documentation

◆ m_baro

BasicBarostat* tinker::LP22Barostat::m_baro
protected

◆ m_thermo

Nhc06Thermostat* tinker::LP22Barostat::m_thermo
protected

Enumeration Type Documentation

◆ BarostatEnum

enum class tinker::BarostatEnum
strong
Enumerator
NONE 
BERENDSEN 
BUSSI 
LP2022 
MONTECARLO 
NHC2006 
m_LEAPFROGLP 
m_LOGVISO 
m_LOGVANISO 
m_NHC1996 

◆ ThermostatEnum

enum class tinker::ThermostatEnum
strong
Enumerator
NONE 
ANDERSEN 
BERENDSEN 
BUSSI 
NHC 
m_LEAPFROGLP 
m_LP2022 
m_NHC1996 
m_NHC2006 

Function Documentation

◆ berendsenBarostat()

void tinker::berendsenBarostat ( time_prec  dt)

Berendsen barostat by scaling the coordinates and box dimensions via coupling to an external constant pressure bath. Code for anisotropic pressure coupling was provided by Guido Raos, Dipartimento di Chimica, Politecnico di Milano, Italy.

Literature reference:

◆ bussiThermostat()

void tinker::bussiThermostat ( time_prec  dt,
T_prec  temp 
)

◆ kinetic()

void tinker::kinetic ( T_prec temp)

◆ kineticEnergy()

void tinker::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 
)

◆ kineticExplicit()

void tinker::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 
)

◆ monteCarloBarostat()

void tinker::monteCarloBarostat ( energy_prec  epot,
T_prec  temp 
)

Applies a box size correction as needed for the Monte Carlo barostat at the half time step.

Literature reference:

Variable Documentation

◆ ekin

energy_prec tinker::ekin[3][3]
extern

Kinetic energy tensor.

◆ eksum

energy_prec tinker::eksum
extern

Kinetic energy.

◆ maxnose

constexpr int tinker::maxnose = bath::maxnose
constexpr

Maximum length of the NH chain.

◆ qbar

double tinker::qbar
extern

Mass of the piston.

◆ vbar

double tinker::vbar
extern

Velocity of the isotropic piston.

◆ vbar_matrix

double tinker::vbar_matrix[3][3]
extern

Velocity matrix of the anisotropic piston.

◆ x_pmonte

tinker::x_pmonte
extern

Temporary coordinates created for the Monte Carlo barostat.

◆ y_pmonte

tinker::y_pmonte

Temporary coordinates created for the Monte Carlo barostat.

◆ z_pmonte

tinker::z_pmonte

Temporary coordinates created for the Monte Carlo barostat.