SpinParser  1.0
Public Member Functions | Public Attributes | Protected Member Functions | Friends | List of all members
LatticeOverlap Struct Reference

Structure to describe the portion of the lattice that is relevant in terms of the form sum_j v(i1,j)*v(j,i2). More...

#include <Lattice.hpp>

Public Member Functions

 LatticeOverlap (const int size)
 Construct a new LatticeOverlap object for a given number of sites. More...
 
 LatticeOverlap (const LatticeOverlap &rhs)
 Construct a new LatticeOverlap object from an existing one. More...
 

Public Attributes

int * rid1
 
int * rid2
 
SpinComponenttransformedX1
 
SpinComponenttransformedY1
 
SpinComponenttransformedZ1
 
SpinComponenttransformedX2
 
SpinComponenttransformedY2
 
SpinComponenttransformedZ2
 
int size
 

Protected Member Functions

 ~LatticeOverlap ()
 Destroy the LatticeOverlap object.
 
LatticeOverlapoperator= (const LatticeOverlap &rhs)
 Assignment operator. More...
 

Friends

struct Lattice
 
std::pair< Lattice *, SpinModel * > LatticeModelFactory::newLatticeModel (const LatticeModelFactory::LatticeUnitCell &uc, const LatticeModelFactory::SpinModelUnitCell &spinModelDefinition, const int latticeRange, const std::string &ldfPath)
 

Detailed Description

Structure to describe the portion of the lattice that is relevant in terms of the form sum_j v(i1,j)*v(j,i2).

Structure to describe the portion of the lattice that is relevant in terms of the form sum_j v(i1,j)*v(j,i2), where v(...) is a two-particle vertex function with its two lattice site arguments. The overlap covers all lattice sites which are within the truncatino range of both vertices. The LatticeOverlap structure contains a list of representative ids to which the first vertex v(i1,j) is mapped under lattice symmetry reduction for every j within the overlap region. Similarly, it contains a list of representative ids to which the second vertex v(j,i2) is mapped. Furthermore, the spin permutations required for the symmetry transformations are stored. Each tuple of (rid1[i],rid2[i],transformedX1[i],transformedY1[i],transformedZ1[i],transformedX2[i],transformedY2[i],transformedZ2[i]) describes the transformations for a single term in the sum over overlapping lattice sites j.

Constructor & Destructor Documentation

◆ LatticeOverlap() [1/2]

LatticeOverlap::LatticeOverlap ( const int  size)
inline

Construct a new LatticeOverlap object for a given number of sites.

Parameters
sizeNumber of sites in the overlapping region.

◆ LatticeOverlap() [2/2]

LatticeOverlap::LatticeOverlap ( const LatticeOverlap rhs)
inline

Construct a new LatticeOverlap object from an existing one.

Parameters
rhsLatticeOverlap object.

Member Function Documentation

◆ operator=()

LatticeOverlap& LatticeOverlap::operator= ( const LatticeOverlap rhs)
inlineprotected

Assignment operator.

Parameters
rhsObject to assign.
Returns
LatticeOverlap& Reference to self.

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