CHROMA
Public Member Functions | Private Member Functions | Private Attributes | List of all members

Concrete class for all fermionic actions with twisted boundary conditions. More...

#include <twisted_fermbc_w.h>

Inheritance diagram for Chroma::TwistedFermBC< T >:
Chroma::FermBC< T, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > > Chroma::BoundCond< P, Q >

Public Member Functions

 TwistedFermBC (const multi1d< int > &boundary_, const multi1d< Real > &phases_by_pi_, const multi1d< int > &phases_dir_)
 Only full constructor. More...
 
 TwistedFermBC (const TwistedFermBC &a)
 Copy constructor. More...
 
 ~TwistedFermBC ()
 Destructor is automatic. More...
 
TwistedFermBCoperator= (const TwistedFermBC &a)
 Assignment. More...
 
void modify (multi1d< LatticeColorMatrix > &u) const
 Modify U fields in place. More...
 
void modifyF (T &psi) const
 Modify fermion fields in place. More...
 
void modifyF (T &psi, const Subset &s) const
 Modify fermion fields in place under a subset. More...
 
void modifyF (multi1d< T > &psi) const
 Modify fermion fields in place. More...
 
void modifyF (multi1d< T > &psi, const Subset &s) const
 Modify fermion fields in place under a subset. More...
 
void zero (multi1d< LatticeColorMatrix > &ds_u) const
 Zero some gauge-like field in place on the masked links. More...
 
bool nontrivialP () const
 Says if there are non-trivial BC links. More...
 
- Public Member Functions inherited from Chroma::FermBC< T, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > >
virtual ~FermBC ()
 Virtual destructor to help with cleanup;. More...
 
- Public Member Functions inherited from Chroma::BoundCond< P, Q >
virtual ~BoundCond ()
 Virtual destructor to help with cleanup;. More...
 

Private Member Functions

 TwistedFermBC ()
 
void check_arrays (const multi1d< Real > phases_by_pi, const multi1d< int > phases_dir)
 

Private Attributes

multi1d< Real > phases_by_pi
 
multi1d< int > phases_dir
 
multi1d< int > boundary
 
Handle< SimpleFermBC< T, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > > > simple_bc_handle
 

Detailed Description

template<class T>
class Chroma::TwistedFermBC< T >

Concrete class for all fermionic actions with twisted boundary conditions.

Twisted BC

Definition at line 46 of file twisted_fermbc_w.h.

Constructor & Destructor Documentation

◆ TwistedFermBC() [1/3]

template<class T >
Chroma::TwistedFermBC< T >::TwistedFermBC ( const multi1d< int > &  boundary_,
const multi1d< Real > &  phases_by_pi_,
const multi1d< int > &  phases_dir_ 
)
inline

Only full constructor.

Parameters
boundary_phasesmultiply links on edge of lattice by boundary

NOTE: there is no real reason this is of type int, could be more general like Complex

Definition at line 60 of file twisted_fermbc_w.h.

References Chroma::TwistedFermBC< T >::check_arrays().

◆ TwistedFermBC() [2/3]

template<class T >
Chroma::TwistedFermBC< T >::TwistedFermBC ( const TwistedFermBC< T > &  a)
inline

Copy constructor.

Definition at line 73 of file twisted_fermbc_w.h.

References Chroma::a, and Chroma::TwistedFermBC< T >::check_arrays().

◆ ~TwistedFermBC()

template<class T >
Chroma::TwistedFermBC< T >::~TwistedFermBC ( )
inline

Destructor is automatic.

Definition at line 82 of file twisted_fermbc_w.h.

◆ TwistedFermBC() [3/3]

template<class T >
Chroma::TwistedFermBC< T >::TwistedFermBC ( )
inlineprivate

Definition at line 147 of file twisted_fermbc_w.h.

Member Function Documentation

◆ check_arrays()

template<class T >
void Chroma::TwistedFermBC< T >::check_arrays ( const multi1d< Real >  phases_by_pi,
const multi1d< int >  phases_dir 
)
inlineprivate

◆ modify()

template<class T >
void Chroma::TwistedFermBC< T >::modify ( multi1d< LatticeColorMatrix > &  u) const
inlinevirtual

◆ modifyF() [1/4]

template<class T >
void Chroma::TwistedFermBC< T >::modifyF ( multi1d< T > &  psi) const
inlinevirtual

Modify fermion fields in place.

NOP

Implements Chroma::FermBC< T, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > >.

Definition at line 131 of file twisted_fermbc_w.h.

◆ modifyF() [2/4]

template<class T >
void Chroma::TwistedFermBC< T >::modifyF ( multi1d< T > &  psi,
const Subset &  s 
) const
inlinevirtual

Modify fermion fields in place under a subset.

NOP

Implements Chroma::FermBC< T, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > >.

Definition at line 135 of file twisted_fermbc_w.h.

◆ modifyF() [3/4]

template<class T >
void Chroma::TwistedFermBC< T >::modifyF ( T psi) const
inlinevirtual

Modify fermion fields in place.

NOP

Implements Chroma::FermBC< T, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > >.

Definition at line 123 of file twisted_fermbc_w.h.

◆ modifyF() [4/4]

template<class T >
void Chroma::TwistedFermBC< T >::modifyF ( T psi,
const Subset &  s 
) const
inlinevirtual

Modify fermion fields in place under a subset.

NOP

Implements Chroma::FermBC< T, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > >.

Definition at line 127 of file twisted_fermbc_w.h.

◆ nontrivialP()

template<class T >
bool Chroma::TwistedFermBC< T >::nontrivialP ( ) const
inlinevirtual

Says if there are non-trivial BC links.

Implements Chroma::FermBC< T, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > >.

Definition at line 142 of file twisted_fermbc_w.h.

◆ operator=()

template<class T >
TwistedFermBC& Chroma::TwistedFermBC< T >::operator= ( const TwistedFermBC< T > &  a)
inline

◆ zero()

template<class T >
void Chroma::TwistedFermBC< T >::zero ( multi1d< LatticeColorMatrix > &  ds_u) const
inlinevirtual

Zero some gauge-like field in place on the masked links.

NOP

Implements Chroma::FermBC< T, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > >.

Definition at line 139 of file twisted_fermbc_w.h.

Member Data Documentation

◆ boundary

template<class T >
multi1d<int> Chroma::TwistedFermBC< T >::boundary
private

Definition at line 176 of file twisted_fermbc_w.h.

◆ phases_by_pi

template<class T >
multi1d<Real> Chroma::TwistedFermBC< T >::phases_by_pi
private

◆ phases_dir

template<class T >
multi1d<int> Chroma::TwistedFermBC< T >::phases_dir
private

◆ simple_bc_handle

template<class T >
Handle< SimpleFermBC<T, multi1d<LatticeColorMatrix>, multi1d<LatticeColorMatrix> > > Chroma::TwistedFermBC< T >::simple_bc_handle
private

Definition at line 180 of file twisted_fermbc_w.h.

Referenced by Chroma::TwistedFermBC< T >::operator=().


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