cps::AlgActionRationalQuotient Class Reference

#include <alg_int.h>

Inherits cps::AlgActionRational.

List of all members.

Public Member Functions

 AlgActionRationalQuotient ()
 < Dummy contructor - does nothing Need to add restart method or similar so do not need to
 AlgActionRationalQuotient (AlgMomentum &mom, ActionRationalQuotientArg &rat_quo_arg, int traj_num=0)
virtual ~AlgActionRationalQuotient ()
 Heat Bath for the pseudo-fermions (phi).
void heatbath ()
Float energy ()
 run method evolves the integrator
void evolve (Float dt, int steps)
 evolve method relevant to split timescales
void evolve (Float dt, int steps, int **fractionSplit)
 Generate the optimal rational approximation for rational representation.

Protected Attributes

Floatbsn_mass
 The boson mass parameter that appears in the quotient.
Floatfrm_mass
 This is where the rational parameters are stored.
RemezArgfrm_remez_arg_md
RemezArgfrm_remez_arg_mc
RemezArgbsn_remez_arg_md
RemezArgbsn_remez_arg_mc
CgArg *** bsn_cg_arg_md
CgArg *** bsn_cg_arg_mc
 Pointer to an array of structures containing solver parameters.
Vector ** eta
 Use to accumulate solver results.


Detailed Description

Definition at line 664 of file alg_int.h.


Constructor & Destructor Documentation

cps::AlgActionRationalQuotient::AlgActionRationalQuotient  ) 
 

< Dummy contructor - does nothing Need to add restart method or similar so do not need to

Definition at line 26 of file alg_action_rational_quotient.C.

cps::AlgActionRationalQuotient::AlgActionRationalQuotient AlgMomentum mom,
ActionRationalQuotientArg r_arg,
int  traj_num = 0
 

< First check n_masses bosons = n_masses fermions

< Also check n_masses bilinear = n_masses fermions

< Also check we have bosons and fermions correctly specified

< Allocate memory for the fermion CG arguments.

< For dwf we need the solution vector contiguous in memory

Definition at line 35 of file alg_action_rational_quotient.C.

References cps::ActionRationalQuotientArg::bi_arg, cps::ActionBilinearArg::bilinears, cps::ActionBilinearArg::bilinears_len, cps::BOSON, cps::ActionRationalQuotientArg::bosons, cps::ActionRationalQuotientArg::bosons_len, cps::ActionRationalQuotientArg::bosons_val, cps::ERR, cps::FERMION, cps::ActionRationalQuotientArg::fermions, cps::ActionRationalQuotientArg::fermions_len, cps::ActionRationalQuotientArg::fermions_val, cps::RationalDescr::field_type, cps::Error::General(), cps::INT_RATIONAL_QUOTIENT, cps::AlgInt::int_type, and cps::AlgActionBilinear::n_masses.

cps::AlgActionRationalQuotient::~AlgActionRationalQuotient  )  [virtual]
 

Heat Bath for the pseudo-fermions (phi).

< Free memory for timescale split partial fraction

< Free memory for the frmn (pseudo fermion) solution fields.

< Free memory for the fermion CG arguments

< Must not free these until CG args are freed.

Definition at line 125 of file alg_action_rational_quotient.C.

References cps::AlgActionRational::all_res, bsn_cg_arg_mc, bsn_cg_arg_md, bsn_mass, bsn_remez_arg_mc, bsn_remez_arg_md, cps::AlgActionRational::destroyApprox(), cps::AlgActionRational::destroyCgArg(), cps::AlgActionRational::destroyEigArg(), cps::ActionRationalQuotientArg::eigen, cps::EigenDescr::eigen_measure, cps::EIGEN_MEASURE_YES, eta, cps::AlgActionRational::frm_cg_arg_mc, cps::AlgActionRational::frm_cg_arg_md, frm_mass, frm_remez_arg_mc, frm_remez_arg_md, cps::AlgActionRational::frmn, cps::AlgActionRational::frmn_tmp, cps::Verbose::Func(), cps::sfree(), and cps::VRB.


Member Function Documentation

Float cps::AlgActionRationalQuotient::energy  )  [virtual]
 

run method evolves the integrator

< Before energy is measured, do we want to check bounds?

< First apply boson rational

< Now apply fermion rational

Reimplemented from cps::AlgActionRational.

Definition at line 211 of file alg_action_rational_quotient.C.

References bsn_cg_arg_mc, bsn_mass, bsn_remez_arg_mc, cps::AlgActionBilinear::cg_iter, cps::AlgActionRational::checkApprox(), cps::CNV_FRM_NO, cps::LatticeFactory::Create(), cps::LatticeFactory::Destroy(), cps::ActionRationalQuotientArg::eigen, cps::EigenDescr::eigen_measure, cps::EIGEN_MEASURE_YES, cps::AlgActionRational::energyEval, cps::AlgActionRational::evolved, cps::AlgActionBilinear::f_size, cps::AlgActionBilinear::fermion, cps::Lattice::FhamiltonNode(), cps::Lattice::FmatEvlMInv(), cps::AlgActionRational::frm_cg_arg_mc, frm_mass, frm_remez_arg_mc, cps::AlgActionRational::frmn, cps::G_CLASS_NONE, cps::AlgActionRational::h_init, cps::AlgActionBilinear::phi, cps::SINGLE, and cps::AlgActionBilinear::updateCgStats().

void cps::AlgActionRationalQuotient::evolve Float  dt,
int  steps,
int **  fractionSplit
 

Generate the optimal rational approximation for rational representation.

< Variables required for ASQTAD partial fraction splitting

< Create an appropriate lattice

< Do appropriate pointer arithmetic for asqtad/p4

Reimplemented from cps::AlgActionRational.

void cps::AlgActionRationalQuotient::evolve Float  dt,
int  nsteps
[virtual]
 

evolve method relevant to split timescales

< Create an appropriate lattice

First apply boson rational

< Construct rhs

< Now apply fermion rational

< Construct rhs

< Apply final boson rational

< Now construct additional vectors needed

Reimplemented from cps::AlgActionRational.

Definition at line 271 of file alg_action_rational_quotient.C.

References cps::AlgActionRational::all_res, bsn_cg_arg_md, bsn_remez_arg_md, cps::AlgActionBilinear::cg_iter, cps::CNV_FRM_NO, cps::LatticeFactory::Create(), cps::RemezArg::degree, eta, cps::AlgActionBilinear::f_size, cps::AlgActionBilinear::fermion, cps::Lattice::FmatEvlMInv(), cps::AlgActionRational::frm_cg_arg_md, frm_remez_arg_md, cps::AlgActionRational::frmn, cps::AlgActionRational::frmn_d, cps::AlgActionRational::frmn_tmp, cps::G_CLASS_NONE, cps::AlgActionBilinear::phi, cps::RemezArg::residue, and cps::AlgActionBilinear::updateCgStats().

void cps::AlgActionRationalQuotient::heatbath  )  [virtual]
 

< Only evaluate heatbath if necessary

< Create an appropriate lattice

< First apply the fermion rational

< Now apply the boson rational

Reimplemented from cps::AlgActionRational.

Definition at line 162 of file alg_action_rational_quotient.C.

References bsn_cg_arg_mc, bsn_remez_arg_mc, cps::AlgActionBilinear::cg_iter, cps::CNV_FRM_NO, cps::LatticeFactory::Create(), cps::LatticeFactory::Destroy(), cps::AlgActionRational::energyEval, cps::AlgActionRational::evolved, cps::AlgActionBilinear::f_size, cps::AlgActionBilinear::fermion, cps::Lattice::FhamiltonNode(), cps::Lattice::FmatEvlMInv(), cps::AlgActionRational::frm_cg_arg_mc, frm_remez_arg_mc, cps::AlgActionRational::frmn, cps::G_CLASS_NONE, cps::AlgActionRational::h_init, cps::AlgActionRational::heatbathEval, cps::AlgActionBilinear::Ncb, cps::AlgActionBilinear::phi, cps::Lattice::RandGaussVector(), cps::SINGLE, cps::AlgInt::traj, and cps::AlgActionBilinear::updateCgStats().


Member Data Documentation

CgArg*** cps::AlgActionRationalQuotient::bsn_cg_arg_mc [protected]
 

Pointer to an array of structures containing solver parameters.

These are the parameters corresponding to each of the dynamical fermion masses.

Definition at line 683 of file alg_int.h.

Referenced by energy(), heatbath(), and ~AlgActionRationalQuotient().

CgArg*** cps::AlgActionRationalQuotient::bsn_cg_arg_md [protected]
 

Definition at line 681 of file alg_int.h.

Referenced by evolve(), and ~AlgActionRationalQuotient().

Float* cps::AlgActionRationalQuotient::bsn_mass [protected]
 

The boson mass parameter that appears in the quotient.

Definition at line 673 of file alg_int.h.

Referenced by energy(), and ~AlgActionRationalQuotient().

RemezArg* cps::AlgActionRationalQuotient::bsn_remez_arg_mc [protected]
 

Definition at line 679 of file alg_int.h.

Referenced by energy(), heatbath(), and ~AlgActionRationalQuotient().

RemezArg* cps::AlgActionRationalQuotient::bsn_remez_arg_md [protected]
 

Definition at line 678 of file alg_int.h.

Referenced by evolve(), and ~AlgActionRationalQuotient().

Vector** cps::AlgActionRationalQuotient::eta [protected]
 

Use to accumulate solver results.

Definition at line 689 of file alg_int.h.

Referenced by evolve(), and ~AlgActionRationalQuotient().

Float* cps::AlgActionRationalQuotient::frm_mass [protected]
 

This is where the rational parameters are stored.

The fermion mass parameter that appears in the quotient

Definition at line 674 of file alg_int.h.

Referenced by energy(), and ~AlgActionRationalQuotient().

RemezArg* cps::AlgActionRationalQuotient::frm_remez_arg_mc [protected]
 

Definition at line 677 of file alg_int.h.

Referenced by energy(), heatbath(), and ~AlgActionRationalQuotient().

RemezArg* cps::AlgActionRationalQuotient::frm_remez_arg_md [protected]
 

Definition at line 676 of file alg_int.h.

Referenced by evolve(), and ~AlgActionRationalQuotient().


The documentation for this class was generated from the following files:
Generated on Tue Mar 6 10:58:04 2007 for Columbia Physics System by  doxygen 1.4.6