flexiblesusy is hosted by Hepforge, IPPP Durham
FlexibleSUSY
flexiblesusy::RGFlow< Lattice > Class Reference

#include <lattice_solver.hpp>

Collaboration diagram for flexiblesusy::RGFlow< Lattice >:
Collaboration graph

Classes

class  DivergenceError
 
struct  EFT
 
struct  EFTspec
 
union  EqRow
 
class  MemoryError
 
class  NoConvergenceError
 
class  NonInvertibleMatrixError
 
class  NonPerturbativeRunningError
 
class  SetupError
 

Public Types

enum  Inner_status { JUMPED =-2 , ENDLESS =-1 , CONVERGED =0 }
 

Public Member Functions

RealA (size_t r, size_t T, size_t m, size_t i)
 
void add_model (Lattice_model *, const std::vector< SingleSiteConstraint * > &upward_constraints, const std::vector< SingleSiteConstraint * > &downward_constraints)
 
void add_model (Lattice_model *, InterTheoryConstraint *m, const std::vector< SingleSiteConstraint * > &upward_constraints, const std::vector< SingleSiteConstraint * > &downward_constraints)
 
void add_model (Lattice_model *, InterTheoryConstraint *m=nullptr, const std::vector< SingleSiteConstraint * > &constraints=std::vector< SingleSiteConstraint * >())
 
void add_model (Lattice_model *model, const std::vector< SingleSiteConstraint * > &constraints)
 
void apply_constraints ()
 
void apply_constraints_thread (Lattice_constraint *c)
 
void create_threads ()
 
void disable_multithreading ()
 
void disable_Runge_Kutta ()
 
void enable_hybrid ()
 
void enable_Runge_Kutta ()
 
void increase_a ()
 
void increase_density ()
 
void init_free_row_list ()
 
void init_lattice ()
 
Inner_status iterate ()
 
void join_threads ()
 
Real maxdiff (const RVec &y0, const RVec &y1)
 
EqRow * ralloc (size_t T, size_t m, size_t span)
 
std::vector< std::vector< size_t > > refine_lattice ()
 
void resample (const std::vector< std::vector< size_t > > &site_maps)
 
void reset ()
 clear all internal data More...
 
void rfree (EqRow *r)
 
 RGFlow ()
 
void rk_stage ()
 
void set_convergence_tester (Convergence_tester< Lattice > *)
 set convergence tester More...
 
void set_initial_guesser (Initial_guesser< Lattice > *)
 
void set_running_precision (Two_scale_running_precision *)
 
void set_units ()
 
size_t site_offset (size_t T, size_t m) const
 
void solve ()
 
void sort_rows ()
 
Real u (size_t T, size_t i) const
 
Real x (size_t T, size_t m, size_t i) const
 
Realy (size_t T, size_t m, size_t i)
 
Real y (size_t T, size_t m, size_t i) const
 
 ~RGFlow ()
 

Public Attributes

Real a
 
band_matrix< Real > * A_
 
std::vector< Lattice_constraint * > constraints
 
std::vector< EFTspec > efts
 
std::unordered_set< Lattice_constraint * > elementary_constraints
 
EqRow * free_row_list_head
 
Real huge_dy
 
bool hybrid
 
Initial_guesser< Lattice > * init_profile
 
std::vector< int > IPIV
 
bool keep_threads
 
int KL
 
int KU
 
int LDA
 
size_t max_a_steps
 
size_t max_iter
 
bool multithreading
 
int N
 
std::vector< size_t > rgeidx
 
std::vector< EqRow > row_pool
 
Real scl0
 
std::vector< size_t > teqidx
 
boost::thread_group * threads
 
boost::barrier * threads_begin
 
boost::barrier * threads_end
 
Real tiny_dy
 
bool units_set
 
int verb
 
RVec y_
 
RVec z
 

Friends

std::ostream & operator<< (std::ostream &out, const RGFlow &flow)
 

Detailed Description

Definition at line 86 of file lattice_solver.hpp.

Member Enumeration Documentation

◆ Inner_status

enum flexiblesusy::RGFlow< Lattice >::Inner_status
Enumerator
JUMPED 
ENDLESS 
CONVERGED 

Definition at line 88 of file lattice_solver.hpp.

Constructor & Destructor Documentation

◆ RGFlow()

flexiblesusy::RGFlow< Lattice >::RGFlow ( )

Definition at line 47 of file lattice_solver.cpp.

◆ ~RGFlow()

flexiblesusy::RGFlow< Lattice >::~RGFlow ( )

Definition at line 55 of file lattice_solver.cpp.

Member Function Documentation

◆ A()

Real & flexiblesusy::RGFlow< Lattice >::A ( size_t  r,
size_t  T,
size_t  m,
size_t  i 
)
inline

Definition at line 241 of file lattice_solver.hpp.

Referenced by flexiblesusy::Lattice_constraint::A().

◆ add_model() [1/4]

void flexiblesusy::RGFlow< Lattice >::add_model ( Lattice_model ,
const std::vector< SingleSiteConstraint * > &  upward_constraints,
const std::vector< SingleSiteConstraint * > &  downward_constraints 
)

add a model and up- and downwards constraints order of upward_constraints: ascending t order of downward_constraints: descending t

◆ add_model() [2/4]

void flexiblesusy::RGFlow< Lattice >::add_model ( Lattice_model ,
InterTheoryConstraint m,
const std::vector< SingleSiteConstraint * > &  upward_constraints,
const std::vector< SingleSiteConstraint * > &  downward_constraints 
)

add a model, up- and downward constraints and matching condition order of upward_constraints: ascending t order of downward_constraints: descending t

◆ add_model() [3/4]

void flexiblesusy::RGFlow< Lattice >::add_model ( Lattice_model ,
InterTheoryConstraint m = nullptr,
const std::vector< SingleSiteConstraint * > &  constraints = std::vector< SingleSiteConstraint * >() 
)

add a model, constraints and matching condition order of constraints: ascending t

◆ add_model() [4/4]

void flexiblesusy::RGFlow< Lattice >::add_model ( Lattice_model model,
const std::vector< SingleSiteConstraint * > &  constraints 
)

add a model and constraints order of constraints: ascending t

◆ apply_constraints()

void flexiblesusy::RGFlow< Lattice >::apply_constraints ( )

Definition at line 527 of file lattice_solver.cpp.

◆ apply_constraints_thread()

void flexiblesusy::RGFlow< Lattice >::apply_constraints_thread ( Lattice_constraint c)

Definition at line 542 of file lattice_solver.cpp.

◆ create_threads()

void flexiblesusy::RGFlow< Lattice >::create_threads ( )

Definition at line 550 of file lattice_solver.cpp.

References VERBOSE_MSG.

◆ disable_multithreading()

void flexiblesusy::RGFlow< Lattice >::disable_multithreading ( )
inline

Definition at line 204 of file lattice_solver.hpp.

◆ disable_Runge_Kutta()

void flexiblesusy::RGFlow< Lattice >::disable_Runge_Kutta ( )

Definition at line 412 of file lattice_solver.cpp.

References flexiblesusy::Lattice_RGE::init(), and VERBOSE_MSG.

◆ enable_hybrid()

void flexiblesusy::RGFlow< Lattice >::enable_hybrid ( )
inline

Definition at line 203 of file lattice_solver.hpp.

◆ enable_Runge_Kutta()

void flexiblesusy::RGFlow< Lattice >::enable_Runge_Kutta ( )

Definition at line 372 of file lattice_solver.cpp.

References flexiblesusy::Lattice_RKRGE::init(), and VERBOSE_MSG.

◆ increase_a()

void flexiblesusy::RGFlow< Lattice >::increase_a ( )

Definition at line 225 of file lattice_solver.cpp.

References VERBOSE_MSG.

◆ increase_density()

void flexiblesusy::RGFlow< Lattice >::increase_density ( )

◆ init_free_row_list()

void flexiblesusy::RGFlow< Lattice >::init_free_row_list ( )

Definition at line 630 of file lattice_solver.cpp.

◆ init_lattice()

void flexiblesusy::RGFlow< Lattice >::init_lattice ( )

◆ iterate()

RGFlow< Lattice >::Inner_status flexiblesusy::RGFlow< Lattice >::iterate ( )

Definition at line 642 of file lattice_solver.cpp.

References flexiblesusy::dgbsv_(), INFO, and VERBOSE_MSG.

◆ join_threads()

void flexiblesusy::RGFlow< Lattice >::join_threads ( )

Definition at line 566 of file lattice_solver.cpp.

References VERBOSE_MSG.

◆ maxdiff()

Real flexiblesusy::RGFlow< Lattice >::maxdiff ( const RVec y0,
const RVec y1 
)

Definition at line 579 of file lattice_solver.cpp.

◆ ralloc()

RGFlow< Lattice >::EqRow * flexiblesusy::RGFlow< Lattice >::ralloc ( size_t  T,
size_t  m,
size_t  span 
)

Definition at line 592 of file lattice_solver.cpp.

Referenced by flexiblesusy::Lattice_constraint::ralloc().

◆ refine_lattice()

vector< vector< size_t > > flexiblesusy::RGFlow< Lattice >::refine_lattice ( )

Definition at line 322 of file lattice_solver.cpp.

◆ resample()

void flexiblesusy::RGFlow< Lattice >::resample ( const std::vector< std::vector< size_t > > &  site_maps)

Definition at line 432 of file lattice_solver.cpp.

References VERBOSE_MSG.

◆ reset()

void flexiblesusy::RGFlow< Lattice >::reset ( )

clear all internal data

Definition at line 136 of file lattice_solver.cpp.

◆ rfree()

void flexiblesusy::RGFlow< Lattice >::rfree ( EqRow *  r)

Definition at line 604 of file lattice_solver.cpp.

Referenced by flexiblesusy::Lattice_constraint::rfree().

◆ rk_stage()

void flexiblesusy::RGFlow< Lattice >::rk_stage ( )

Definition at line 354 of file lattice_solver.cpp.

References VERBOSE_MSG.

◆ set_convergence_tester()

void flexiblesusy::RGFlow< Lattice >::set_convergence_tester ( Convergence_tester< Lattice > *  )

set convergence tester

Definition at line 141 of file lattice_solver.cpp.

◆ set_initial_guesser()

void flexiblesusy::RGFlow< Lattice >::set_initial_guesser ( Initial_guesser< Lattice > *  guesser)

◆ set_running_precision()

void flexiblesusy::RGFlow< Lattice >::set_running_precision ( Two_scale_running_precision )

set running precision calculator TODO: replace Two_scale_running_precision by something lattice

Definition at line 146 of file lattice_solver.cpp.

◆ set_units()

void flexiblesusy::RGFlow< Lattice >::set_units ( )

Definition at line 505 of file lattice_solver.cpp.

References VERBOSE_MSG.

◆ site_offset()

size_t flexiblesusy::RGFlow< Lattice >::site_offset ( size_t  T,
size_t  m 
) const
inline

Definition at line 237 of file lattice_solver.hpp.

◆ solve()

void flexiblesusy::RGFlow< Lattice >::solve ( )

Definition at line 157 of file lattice_solver.cpp.

◆ sort_rows()

void flexiblesusy::RGFlow< Lattice >::sort_rows ( )

Definition at line 610 of file lattice_solver.cpp.

References flexiblesusy::sort().

◆ u()

Real flexiblesusy::RGFlow< Lattice >::u ( size_t  T,
size_t  i 
) const
inline

Definition at line 246 of file lattice_solver.hpp.

Referenced by flexiblesusy::Lattice_constraint::u().

◆ x()

Real flexiblesusy::RGFlow< Lattice >::x ( size_t  T,
size_t  m,
size_t  i 
) const
inline

Definition at line 247 of file lattice_solver.hpp.

Referenced by flexiblesusy::Lattice_constraint::x().

◆ y() [1/2]

Real & flexiblesusy::RGFlow< Lattice >::y ( size_t  T,
size_t  m,
size_t  i 
)
inline

◆ y() [2/2]

Real flexiblesusy::RGFlow< Lattice >::y ( size_t  T,
size_t  m,
size_t  i 
) const
inline

Definition at line 244 of file lattice_solver.hpp.

Friends And Related Function Documentation

◆ operator<<

std::ostream & operator<< ( std::ostream &  out,
const RGFlow< Lattice > &  flow 
)
friend

Member Data Documentation

◆ a

◆ A_

Definition at line 229 of file lattice_solver.hpp.

◆ constraints

std::vector<Lattice_constraint*> flexiblesusy::RGFlow< Lattice >::constraints

Definition at line 248 of file lattice_solver.hpp.

◆ efts

◆ elementary_constraints

std::unordered_set<Lattice_constraint*> flexiblesusy::RGFlow< Lattice >::elementary_constraints

◆ free_row_list_head

EqRow* flexiblesusy::RGFlow< Lattice >::free_row_list_head

Definition at line 232 of file lattice_solver.hpp.

◆ huge_dy

Real flexiblesusy::RGFlow< Lattice >::huge_dy

Definition at line 221 of file lattice_solver.hpp.

◆ hybrid

bool flexiblesusy::RGFlow< Lattice >::hybrid

Definition at line 226 of file lattice_solver.hpp.

◆ init_profile

Initial_guesser<Lattice>* flexiblesusy::RGFlow< Lattice >::init_profile

Definition at line 219 of file lattice_solver.hpp.

◆ IPIV

std::vector<int> flexiblesusy::RGFlow< Lattice >::IPIV

Definition at line 234 of file lattice_solver.hpp.

◆ keep_threads

bool flexiblesusy::RGFlow< Lattice >::keep_threads

Definition at line 258 of file lattice_solver.hpp.

◆ KL

int flexiblesusy::RGFlow< Lattice >::KL

Definition at line 233 of file lattice_solver.hpp.

◆ KU

int flexiblesusy::RGFlow< Lattice >::KU

Definition at line 233 of file lattice_solver.hpp.

◆ LDA

int flexiblesusy::RGFlow< Lattice >::LDA

Definition at line 233 of file lattice_solver.hpp.

◆ max_a_steps

size_t flexiblesusy::RGFlow< Lattice >::max_a_steps

Definition at line 223 of file lattice_solver.hpp.

◆ max_iter

size_t flexiblesusy::RGFlow< Lattice >::max_iter

Definition at line 224 of file lattice_solver.hpp.

◆ multithreading

bool flexiblesusy::RGFlow< Lattice >::multithreading

Definition at line 252 of file lattice_solver.hpp.

◆ N

int flexiblesusy::RGFlow< Lattice >::N

Definition at line 233 of file lattice_solver.hpp.

◆ rgeidx

std::vector<size_t> flexiblesusy::RGFlow< Lattice >::rgeidx

Definition at line 250 of file lattice_solver.hpp.

◆ row_pool

std::vector<EqRow> flexiblesusy::RGFlow< Lattice >::row_pool

Definition at line 231 of file lattice_solver.hpp.

◆ scl0

Real flexiblesusy::RGFlow< Lattice >::scl0

Definition at line 227 of file lattice_solver.hpp.

Referenced by flexiblesusy::Fixed_t::Fixed_t().

◆ teqidx

std::vector<size_t> flexiblesusy::RGFlow< Lattice >::teqidx

Definition at line 249 of file lattice_solver.hpp.

◆ threads

boost::thread_group* flexiblesusy::RGFlow< Lattice >::threads

Definition at line 256 of file lattice_solver.hpp.

◆ threads_begin

boost::barrier* flexiblesusy::RGFlow< Lattice >::threads_begin

Definition at line 257 of file lattice_solver.hpp.

◆ threads_end

boost::barrier * flexiblesusy::RGFlow< Lattice >::threads_end

Definition at line 257 of file lattice_solver.hpp.

◆ tiny_dy

Real flexiblesusy::RGFlow< Lattice >::tiny_dy

Definition at line 220 of file lattice_solver.hpp.

◆ units_set

bool flexiblesusy::RGFlow< Lattice >::units_set

Definition at line 225 of file lattice_solver.hpp.

◆ verb

int flexiblesusy::RGFlow< Lattice >::verb

Definition at line 235 of file lattice_solver.hpp.

◆ y_

RVec flexiblesusy::RGFlow< Lattice >::y_

Definition at line 228 of file lattice_solver.hpp.

◆ z

RVec flexiblesusy::RGFlow< Lattice >::z

Definition at line 230 of file lattice_solver.hpp.

Referenced by flexiblesusy::Lattice_constraint::z().


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