#include <alg_hmd.h>
Inherits cps::AlgHmd.
Public Member Functions | |
| AlgHmcRHMC (Lattice &latt, CommonArg *c_arg, HmdArg *arg) | |
| Constructor for when the rational approximation is fixed. | |
| AlgHmcRHMC (Lattice &latt, CommonArg *c_arg, HmdArg *arg, EigArg *e_arg) | |
| Constructor for when the rational approximations are to be generated dynamically. | |
| virtual | ~AlgHmcRHMC () |
| Float | run (void) |
| Performs a single RHMC trajectory. | |
| void | generateApprox (HmdArg *) |
| Automatic generation of the rational approximation. | |
| void | dynamicalApprox () |
| Dynamical generation of the rational approximation. | |
Protected Attributes | |
| int | n_frm_masses |
| The number of dynamical fermion masses. | |
| int | n_bsn_masses |
| The number of dynamical boson masses. | |
| int | f_sites |
| int | f_vec_count |
| int | f_count |
| int | f_size |
| The size of a fermion field. | |
| CgArg ** | frm_cg_arg |
| Pointer to an array of structures containing solver parameters. | |
| CgArg ** | bsn_cg_arg |
| Pointer to an array of structures containing solver parameters. | |
| Vector ** | phi |
| Pseudofermion fields. | |
| Vector ** | bsn |
| Boson (pseudoboson?) fields. | |
| Matrix * | gauge_field_init |
| The final gauge field configuration. | |
| unsigned int ** | rng4d_init |
| unsigned int ** | rng5d_init |
| The initial random numbers. | |
| Matrix * | gauge_field_final |
| The initial gauge field configuration. | |
| Vector * | frm |
| Vector ** | frmn |
| Array of vectors. | |
| Vector ** | frmn_d |
| Array of vectors. | |
| Float * | h_f_init |
| The initial value of the pseudofermion action. | |
| Float * | h_f_final |
| The final value of the pseudofermion action. | |
| Float * | delta_h_f |
| The change in the value of the pseudofermion action. | |
| Float * | h_b_init |
| The initial value of the boson action. | |
| Float * | h_b_final |
| The final value of the boson action. | |
| Float * | delta_h_b |
| The change in the value of the boson action. | |
| int | total_size |
| The sum of the rational approximation degrees used for the force. | |
| Float * | all_res |
| An array holding the residues - used for asqtad force. | |
| EigArg * | eig_arg |
| ? | |
| Float ** | alpha |
The main method evolves a gauge field along a molecular dynamics trajectory followed by a metropolis accept/reject step using the RHMC algorithm.
The algorithm is configurable to include dynamical fermions of several masses, each mass having its own set of pseudofermion fields and solver parameters. The number of degenerate flavours at each mass depends on the type of fermion action used.
As with AlgHmcPhi, one can also have bosons in the action.
The rational approximation can be generated dynamically, but the correct constructor must be used and the code should be configured with the --enable-gmp flag to use the GNU multiprecision library.
Definition at line 337 of file alg_hmd.h.
|
||||||||||||||||
|
Constructor for when the rational approximation is fixed.
Definition at line 62 of file alg_hmc_rhmc.C. References cps::HmdArg::approx_type, cps::ERR, cps::F_CLASS_ASQTAD, cps::Lattice::Fclass(), cps::Verbose::Func(), cps::Error::General(), generateApprox(), cps::GJP, cps::GlobalJobParameter::TnodeSites(), cps::VRB, cps::GlobalJobParameter::XnodeSites(), cps::GlobalJobParameter::YnodeSites(), and cps::GlobalJobParameter::ZnodeSites(). |
|
||||||||||||||||||||
|
Constructor for when the rational approximations are to be generated dynamically.
Definition at line 103 of file alg_hmc_rhmc.C. References eig_arg, cps::Verbose::Func(), generateApprox(), and cps::VRB. |
|
|
Definition at line 293 of file alg_hmc_rhmc.C. References cps::Alg::AlgLattice(), all_res, alpha, bsn, bsn_cg_arg, cps::F_CLASS_ASQTAD, cps::Lattice::Fclass(), cps::FOUR_D, frm_cg_arg, frmn, frmn_d, cps::Verbose::Func(), gauge_field_final, gauge_field_init, cps::LRG, cps::LatRanGen::NStates(), phi, cps::HmdArg::reproduce, rng4d_init, rng5d_init, cps::sfree(), and cps::VRB. |
|
|
|
Automatic generation of the rational approximation. Generate the optimal rational approximation for the RHMC simulation Definition at line 975 of file alg_hmc_rhmc.C. References cps::for(). Referenced by AlgHmcRHMC(). |
|
|
|
An array holding the residues - used for asqtad force.
Definition at line 442 of file alg_hmd.h. Referenced by run(), and ~AlgHmcRHMC(). |
|
|
Definition at line 447 of file alg_hmd.h. Referenced by run(), and ~AlgHmcRHMC(). |
|
|
Boson (pseudoboson?) fields. One for each mass Definition at line 388 of file alg_hmd.h. Referenced by run(), and ~AlgHmcRHMC(). |
|
|
Pointer to an array of structures containing solver parameters. These are the parameters corresponding to each of the dynamical boson masses. Definition at line 376 of file alg_hmd.h. Referenced by run(), and ~AlgHmcRHMC(). |
|
|
The change in the value of the boson action. The final value - the initial value. One for each mass |
|
|
The change in the value of the pseudofermion action. The final value - the initial value. One for each mass |
|
|
?
Definition at line 445 of file alg_hmd.h. Referenced by AlgHmcRHMC(), and dynamicalApprox(). |
|
|
|
|
|
|
|
|
The size of a fermion field. The size is given in terms of the total number of floating point numbers in the field on the local lattice, taking into account whether or not the field is defined on just a single parity. Definition at line 361 of file alg_hmd.h. Referenced by dynamicalApprox(), and run(). |
|
|
|
|
|
|
|
|
Pointer to an array of structures containing solver parameters. These are the parameters corresponding to each of the dynamical fermion masses. Definition at line 368 of file alg_hmd.h. Referenced by run(), and ~AlgHmcRHMC(). |
|
|
Array of vectors. These will hold the solutions from the solves. Definition at line 405 of file alg_hmd.h. Referenced by run(), and ~AlgHmcRHMC(). |
|
|
Array of vectors. These will hold the solutions from the solves multiplied by the D-slash operator. Definition at line 409 of file alg_hmd.h. Referenced by run(), and ~AlgHmcRHMC(). |
|
|
The initial gauge field configuration.
Definition at line 400 of file alg_hmd.h. Referenced by run(), and ~AlgHmcRHMC(). |
|
|
The final gauge field configuration.
Definition at line 393 of file alg_hmd.h. Referenced by run(), and ~AlgHmcRHMC(). |
|
|
The final value of the boson action. The value at the end of the trajectory. One for each mass |
|
|
The initial value of the boson action. The value at the start of the trajectory. One for each mass |
|
|
The final value of the pseudofermion action. The value at the end of the trajectory. One for each mass |
|
|
The initial value of the pseudofermion action. The value at the start of the trajectory. One for each mass |
|
|
The number of dynamical boson masses.
|
|
|
The number of dynamical fermion masses.
|
|
|
Pseudofermion fields. One for each mass Definition at line 383 of file alg_hmd.h. Referenced by run(), and ~AlgHmcRHMC(). |
|
|
Definition at line 395 of file alg_hmd.h. Referenced by ~AlgHmcRHMC(). |
|
|
The initial random numbers.
Definition at line 397 of file alg_hmd.h. Referenced by ~AlgHmcRHMC(). |
|
|
The sum of the rational approximation degrees used for the force.
|
1.3.9.1