CHROMA
Public Member Functions | Private Member Functions | Private Attributes | List of all members
Chroma::SimpleGaugeBC< P, Q > Class Template Reference

Concrete class for gauge actions with simple boundary conditions. More...

#include <simple_gaugebc.h>

Inheritance diagram for Chroma::SimpleGaugeBC< P, Q >:
Chroma::GaugeBC< P, Q > Chroma::BoundCond< P, Q >

Public Member Functions

 SimpleGaugeBC (const multi1d< Complex > &boundary_)
 Only full constructor. More...
 
 SimpleGaugeBC (const SimpleGaugeBCParams &p)
 From param struct. More...
 
 ~SimpleGaugeBC ()
 Destructor is automatic. More...
 
void modify (Q &u) const
 Modify U fields in place. More...
 
void zero (P &u) const
 Zero the U fields 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::GaugeBC< P, Q >
virtual ~GaugeBC ()
 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

 SimpleGaugeBC ()
 
void operator= (const SimpleGaugeBC< P, Q > &a)
 Hide assignment. More...
 

Private Attributes

multi1d< Complex > boundary
 

Detailed Description

template<typename P, typename Q>
class Chroma::SimpleGaugeBC< P, Q >

Concrete class for gauge actions with simple boundary conditions.

Simple BC, where boundary array is multiplied on the links on the edge of the lattice

Definition at line 43 of file simple_gaugebc.h.

Constructor & Destructor Documentation

◆ SimpleGaugeBC() [1/3]

template<typename P , typename Q >
Chroma::SimpleGaugeBC< P, Q >::SimpleGaugeBC ( const multi1d< Complex > &  boundary_)
inline

Only full constructor.

Parameters
boundarymultiply links on edge of lattice by boundary

NOTE: the type of boundary can be generalized

Definition at line 53 of file simple_gaugebc.h.

◆ SimpleGaugeBC() [2/3]

template<typename P , typename Q >
Chroma::SimpleGaugeBC< P, Q >::SimpleGaugeBC ( const SimpleGaugeBCParams p)
inline

From param struct.

Definition at line 56 of file simple_gaugebc.h.

◆ ~SimpleGaugeBC()

template<typename P , typename Q >
Chroma::SimpleGaugeBC< P, Q >::~SimpleGaugeBC ( )
inline

Destructor is automatic.

Definition at line 59 of file simple_gaugebc.h.

◆ SimpleGaugeBC() [3/3]

template<typename P , typename Q >
Chroma::SimpleGaugeBC< P, Q >::SimpleGaugeBC ( )
inlineprivate

Definition at line 85 of file simple_gaugebc.h.

Member Function Documentation

◆ modify()

template<typename P , typename Q >
void Chroma::SimpleGaugeBC< P, Q >::modify ( Q u) const
inlinevirtual

Modify U fields in place.

Implements Chroma::GaugeBC< P, Q >.

Definition at line 62 of file simple_gaugebc.h.

References Chroma::SimpleGaugeBC< P, Q >::boundary, m, Nd, and Chroma::u.

◆ nontrivialP()

template<typename P , typename Q >
bool Chroma::SimpleGaugeBC< P, Q >::nontrivialP ( ) const
inlinevirtual

Says if there are non-trivial BC links.

This is a simple implementation - always do the work. Could be improved by checking boundary

Implements Chroma::GaugeBC< P, Q >.

Definition at line 81 of file simple_gaugebc.h.

◆ operator=()

template<typename P , typename Q >
void Chroma::SimpleGaugeBC< P, Q >::operator= ( const SimpleGaugeBC< P, Q > &  a)
inlineprivate

Hide assignment.

Definition at line 88 of file simple_gaugebc.h.

◆ zero()

template<typename P , typename Q >
void Chroma::SimpleGaugeBC< P, Q >::zero ( P u) const
inlinevirtual

Zero the U fields in place on the masked links.

Implements Chroma::GaugeBC< P, Q >.

Definition at line 74 of file simple_gaugebc.h.

Member Data Documentation

◆ boundary

template<typename P , typename Q >
multi1d<Complex> Chroma::SimpleGaugeBC< P, Q >::boundary
private

Definition at line 91 of file simple_gaugebc.h.

Referenced by Chroma::SimpleGaugeBC< P, Q >::modify().


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