Bridge++  Version 1.4.4
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
HMC_Leapfrog Class Reference

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 &params)
 
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_Leapfrogoperator= (const HMC_Leapfrog &)
 

Private Attributes

int m_Nmdc
 
int m_Nprec
 
int m_Metropolis_test
 
double m_Estep
 
Langevin_Momentumm_Langevin_P
 
Staple_lexm_staple
 
std::vector< Action * > m_action
 
std::vector< Director * > m_director
 
RandomNumbersm_rand
 
Bridge::VerboseLevel m_vl
 

Detailed Description

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.

Constructor & Destructor Documentation

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.

HMC_Leapfrog::HMC_Leapfrog ( const HMC_Leapfrog )
private

Member Function Documentation

double HMC_Leapfrog::calc_Hamiltonian ( Field_G iP,
Field_G U 
)

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.

void HMC_Leapfrog::integrate ( Field_G iP,
Field_G U 
)

Definition at line 416 of file hmc_Leapfrog.cpp.

double HMC_Leapfrog::langevin ( Field_G iP,
Field_G U 
)

Definition at line 334 of file hmc_Leapfrog.cpp.

HMC_Leapfrog& HMC_Leapfrog::operator= ( const HMC_Leapfrog )
private
void HMC_Leapfrog::set_parameter_verboselevel ( const Bridge::VerboseLevel  vl)
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.

void HMC_Leapfrog::update_P ( double  estep,
Field_G iP,
Field_G U 
)

Definition at line 446 of file hmc_Leapfrog.cpp.

void HMC_Leapfrog::update_U ( double  estep,
Field_G iP,
Field_G U 
)

Definition at line 470 of file hmc_Leapfrog.cpp.

Member Data Documentation

const std::string HMC_Leapfrog::class_name = "HMC_Leapfrog"
static

Definition at line 47 of file hmc_Leapfrog.h.

std::vector<Action *> HMC_Leapfrog::m_action
private

Definition at line 58 of file hmc_Leapfrog.h.

std::vector<Director *> HMC_Leapfrog::m_director
private

Definition at line 59 of file hmc_Leapfrog.h.

double HMC_Leapfrog::m_Estep
private

Definition at line 53 of file hmc_Leapfrog.h.

Langevin_Momentum* HMC_Leapfrog::m_Langevin_P
private

Definition at line 55 of file hmc_Leapfrog.h.

int HMC_Leapfrog::m_Metropolis_test
private

Definition at line 52 of file hmc_Leapfrog.h.

int HMC_Leapfrog::m_Nmdc
private

Definition at line 50 of file hmc_Leapfrog.h.

int HMC_Leapfrog::m_Nprec
private

Definition at line 51 of file hmc_Leapfrog.h.

RandomNumbers* HMC_Leapfrog::m_rand
private

Definition at line 60 of file hmc_Leapfrog.h.

Staple_lex* HMC_Leapfrog::m_staple
private

Definition at line 56 of file hmc_Leapfrog.h.

Bridge::VerboseLevel HMC_Leapfrog::m_vl
private

Definition at line 61 of file hmc_Leapfrog.h.


The documentation for this class was generated from the following files: