Bridge++
Version 1.4.4
|
HMC with single level leapfrog intetgrator. More...
#include <hmc_Leapfrog.h>
Public Member Functions | |
HMC_Leapfrog (std::vector< Action * > action, RandomNumbers *rand) | |
constructor: with array of actions More... | |
HMC_Leapfrog (std::vector< Action * > action, unique_ptr< RandomNumbers > &rand) | |
HMC_Leapfrog (std::vector< Action * > action, std::vector< Director * > director, RandomNumbers *rand) | |
constructor: with array of actions and directors More... | |
HMC_Leapfrog (std::vector< Action * > action, std::vector< Director * > director, unique_ptr< RandomNumbers > &rand) | |
HMC_Leapfrog (const ActionList &action_list, RandomNumbers *rand) | |
constructor: with action_list More... | |
HMC_Leapfrog (const ActionList &action_list, unique_ptr< RandomNumbers > &rand) | |
HMC_Leapfrog (const ActionList &action_list, std::vector< Director * > director, RandomNumbers *rand) | |
constructor: with action_list and array of directors More... | |
HMC_Leapfrog (const ActionList &action_list, std::vector< Director * > director, unique_ptr< RandomNumbers > &rand) | |
~HMC_Leapfrog () | |
destructor More... | |
void | set_parameters (const Parameters ¶ms) |
void | set_parameters (double Estep, int Nmdc, int Nprec, int Metropolis_test) |
void | set_parameter_verboselevel (const Bridge::VerboseLevel vl) |
double | update (Field_G &) |
double | langevin (Field_G &iP, Field_G &U) |
double | calc_Hamiltonian (Field_G &iP, Field_G &U) |
double | calcH_P (Field_G &iP) |
void | integrate (Field_G &iP, Field_G &U) |
void | update_U (double estep, Field_G &iP, Field_G &U) |
void | update_P (double estep, Field_G &iP, Field_G &U) |
Static Public Attributes | |
static const std::string | class_name = "HMC_Leapfrog" |
Private Member Functions | |
HMC_Leapfrog (const HMC_Leapfrog &) | |
HMC_Leapfrog & | operator= (const HMC_Leapfrog &) |
Private Attributes | |
int | m_Nmdc |
int | m_Nprec |
int | m_Metropolis_test |
double | m_Estep |
Langevin_Momentum * | m_Langevin_P |
Staple_lex * | m_staple |
std::vector< Action * > | m_action |
std::vector< Director * > | m_director |
RandomNumbers * | m_rand |
Bridge::VerboseLevel | m_vl |
HMC with single level leapfrog intetgrator.
This class implements standartd HMC with simple leapfrog molecular dynamics integrator. While more general integrator is now available, this class is easy to understand and to convenient for first test, and thus kept as it is. 28 Dec 2011 H.Matsufuru YAML is implemented. [03 Mar 2013 Y.Namekawa] Langevin step was moved to separate class. [07 May 2014 H.Matsufuru] unique_ptr is introduced to avoid memory leaks [21 Mar 2015 Y.Namekawa]
Definition at line 44 of file hmc_Leapfrog.h.
HMC_Leapfrog::HMC_Leapfrog | ( | std::vector< Action * > | action, |
RandomNumbers * | rand | ||
) |
constructor: with array of actions
Definition at line 22 of file hmc_Leapfrog.cpp.
HMC_Leapfrog::HMC_Leapfrog | ( | std::vector< Action * > | action, |
unique_ptr< RandomNumbers > & | rand | ||
) |
Definition at line 41 of file hmc_Leapfrog.cpp.
HMC_Leapfrog::HMC_Leapfrog | ( | std::vector< Action * > | action, |
std::vector< Director * > | director, | ||
RandomNumbers * | rand | ||
) |
constructor: with array of actions and directors
Definition at line 61 of file hmc_Leapfrog.cpp.
HMC_Leapfrog::HMC_Leapfrog | ( | std::vector< Action * > | action, |
std::vector< Director * > | director, | ||
unique_ptr< RandomNumbers > & | rand | ||
) |
Definition at line 85 of file hmc_Leapfrog.cpp.
HMC_Leapfrog::HMC_Leapfrog | ( | const ActionList & | action_list, |
RandomNumbers * | rand | ||
) |
constructor: with action_list
Definition at line 110 of file hmc_Leapfrog.cpp.
HMC_Leapfrog::HMC_Leapfrog | ( | const ActionList & | action_list, |
unique_ptr< RandomNumbers > & | rand | ||
) |
Definition at line 131 of file hmc_Leapfrog.cpp.
HMC_Leapfrog::HMC_Leapfrog | ( | const ActionList & | action_list, |
std::vector< Director * > | director, | ||
RandomNumbers * | rand | ||
) |
constructor: with action_list and array of directors
Definition at line 153 of file hmc_Leapfrog.cpp.
HMC_Leapfrog::HMC_Leapfrog | ( | const ActionList & | action_list, |
std::vector< Director * > | director, | ||
unique_ptr< RandomNumbers > & | rand | ||
) |
Definition at line 179 of file hmc_Leapfrog.cpp.
HMC_Leapfrog::~HMC_Leapfrog | ( | ) |
destructor
Definition at line 206 of file hmc_Leapfrog.cpp.
|
private |
Definition at line 369 of file hmc_Leapfrog.cpp.
double HMC_Leapfrog::calcH_P | ( | Field_G & | iP | ) |
Definition at line 405 of file hmc_Leapfrog.cpp.
Definition at line 416 of file hmc_Leapfrog.cpp.
Definition at line 334 of file hmc_Leapfrog.cpp.
|
private |
|
inline |
Definition at line 109 of file hmc_Leapfrog.h.
void HMC_Leapfrog::set_parameters | ( | const Parameters & | params | ) |
Definition at line 214 of file hmc_Leapfrog.cpp.
void HMC_Leapfrog::set_parameters | ( | double | Estep, |
int | Nmdc, | ||
int | Nprec, | ||
int | Metropolis_test | ||
) |
Definition at line 241 of file hmc_Leapfrog.cpp.
double HMC_Leapfrog::update | ( | Field_G & | Uorg | ) |
Definition at line 263 of file hmc_Leapfrog.cpp.
Definition at line 446 of file hmc_Leapfrog.cpp.
Definition at line 470 of file hmc_Leapfrog.cpp.
|
static |
Definition at line 47 of file hmc_Leapfrog.h.
|
private |
Definition at line 58 of file hmc_Leapfrog.h.
|
private |
Definition at line 59 of file hmc_Leapfrog.h.
|
private |
Definition at line 53 of file hmc_Leapfrog.h.
|
private |
Definition at line 55 of file hmc_Leapfrog.h.
|
private |
Definition at line 52 of file hmc_Leapfrog.h.
|
private |
Definition at line 50 of file hmc_Leapfrog.h.
|
private |
Definition at line 51 of file hmc_Leapfrog.h.
|
private |
Definition at line 60 of file hmc_Leapfrog.h.
|
private |
Definition at line 56 of file hmc_Leapfrog.h.
|
private |
Definition at line 61 of file hmc_Leapfrog.h.