GLAC
1.0
GLAC
flow
flow.h
Go to the documentation of this file.
1
13
#ifndef FLOW_H
14
#define FLOW_H
15
16
#include "
math/lattice.h
"
17
#include "
math/flowexpfunctions.h
"
18
#include "
actions/action.h
"
19
20
class
Flow
21
{
22
private
:
23
// Flow update step
24
double
m_epsilon = 0.02;
25
// Lattice constants
26
std::vector<unsigned int> m_N;
27
unsigned
long
int
m_subLatticeSize;
28
// Temporary lattice to use when flowing
29
Lattice<SU3>
* m_tempLattice;
30
Lattice<SU3>
m_tempExpLattice;
31
// Updates the lattice with the exponantiated lattice values using move semantics
32
inline
Lattice<SU3>
matrixExp(
const
Lattice<SU3>
&lattice);
33
inline
Lattice<SU3>
matrixExp(
Lattice<SU3>
&&lattice);
34
// SU3 exponentiation function
35
SU3Exp
*m_SU3ExpFunc =
nullptr
;
36
void
setSU3ExpFunc();
37
// Action pointer
38
Action
*m_S =
nullptr
;
39
public
:
40
Flow
(
Action
*S);
41
~Flow
();
42
void
flowField
(
Lattice<SU3>
*lattice);
43
};
44
45
#endif // FLOW_H
flowexpfunctions.h
SU3Exp
SU3 matrix exponentiation method that uses the method from https://journals.aps.org/prd/abstract/10....
Definition:
su3exp.h:18
Flow
Class for applying gradient flow on lattice.
Definition:
flow.h:20
lattice.h
Action
The Action class.
Definition:
action.h:22
action.h
Flow::~Flow
~Flow()
Flow::~Flow.
Definition:
flow.cpp:33
Flow::Flow
Flow(Action *S)
Flow::Flow.
Definition:
flow.cpp:14
Flow::flowField
void flowField(Lattice< SU3 > *lattice)
Flow::flowField method for flowing the lattice one step ahead.
Definition:
flow.cpp:43
Lattice< SU3 >
Generated by
1.8.15