mpqc::Supercell Class Reference

Documentation

3-d box of unit cells with an odd number of cells in each dimension

Classes

struct  fb_tag
 
class  Iterator
 
struct  or_tag
 
struct  Point
 

Public Types

using vec3_t = Eigen::Vector3i
 index of a unit cell in the supercell More...
 
using iterator = Iterator
 
using const_iterator = Iterator
 

Public Member Functions

 Supercell ()=default
 
 Supercell (const Supercell &)=default
 
 Supercell (Supercell &&)=default
 
Supercelloperator= (const Supercell &)=default
 
Supercelloperator= (Supercell &&)=default
 
 ~Supercell ()=default
 
 Supercell (const vec3_t &F, const vec3_t &B, fb_tag=fb_tag{})
 
 Supercell (const vec3_t &R)
 
 Supercell (const vec3_t &O, const vec3_t &R, or_tag)
 
vec3_t R () const
 
vec3_t O () const
 
const vec3_tstride () const
 
const vec3_textent () const
 
size_t size () const
 
const vec3_tfront () const
 
const vec3_tback () const
 
bool includes (const vec3_t &v) const
 
int64_t offset () const
 
int64_t ordinal (const vec3_t &v) const
 
int64_t max_ordinal () const
 
vec3_t vector (int64_t ord) const
 maps ordinal to vector More...
 
const_iterator begin () const
 
const_iterator cbegin () const
 
const_iterator end () const
 
const_iterator cend () const
 
const_iterator iter (const vec3_t &pt) const
 

Friends

class Iterator
 

Member Typedef Documentation

◆ const_iterator

◆ iterator

◆ vec3_t

using mpqc::Supercell::vec3_t = Eigen::Vector3i

index of a unit cell in the supercell

Constructor & Destructor Documentation

◆ Supercell() [1/6]

mpqc::Supercell::Supercell ( )
default

◆ Supercell() [2/6]

mpqc::Supercell::Supercell ( const Supercell )
default

◆ Supercell() [3/6]

mpqc::Supercell::Supercell ( Supercell &&  )
default

◆ ~Supercell()

mpqc::Supercell::~Supercell ( )
default

◆ Supercell() [4/6]

mpqc::Supercell::Supercell ( const vec3_t F,
const vec3_t B,
fb_tag  = fb_tag{} 
)
inline

constructs a supercell with range [F,B]

Parameters
[in]Fthe front corner
[in]Bthe back corner

◆ Supercell() [5/6]

mpqc::Supercell::Supercell ( const vec3_t R)
inline

constructs a supercell with "radius" R located at the origin, i.e. with range [-R,R]

Parameters
[in]Rthe radius, a nonnegative vector that specifies the distance vector to the origin from the corner with the largest coordinate indices

◆ Supercell() [6/6]

mpqc::Supercell::Supercell ( const vec3_t O,
const vec3_t R,
or_tag   
)
inline

constructs a supercell with "radius" R located at O, i.e. with range [O-R,O+R]

Parameters
[in[O the origin
[in]Rthe radius, a nonnegative vector that specifies the distance vector to O from the corner with the largest coordinate indices

Member Function Documentation

◆ back()

const vec3_t& mpqc::Supercell::back ( ) const
inline
Returns
the back corner (corner with the largest indices)

◆ begin()

const_iterator mpqc::Supercell::begin ( ) const
inline

◆ cbegin()

const_iterator mpqc::Supercell::cbegin ( ) const
inline

◆ cend()

const_iterator mpqc::Supercell::cend ( ) const
inline

◆ end()

const_iterator mpqc::Supercell::end ( ) const
inline

◆ extent()

const vec3_t& mpqc::Supercell::extent ( ) const
inline
Returns
the extent vector

◆ front()

const vec3_t& mpqc::Supercell::front ( ) const
inline
Returns
the front corner (corner with the smallest indices)

◆ includes()

bool mpqc::Supercell::includes ( const vec3_t v) const
inline
Returns
true if v is in the range of this

◆ iter()

const_iterator mpqc::Supercell::iter ( const vec3_t pt) const
inline

◆ max_ordinal()

int64_t mpqc::Supercell::max_ordinal ( ) const
inline

◆ O()

vec3_t mpqc::Supercell::O ( ) const
inline
Returns
the origin; all extents must be odd or zero

◆ offset()

int64_t mpqc::Supercell::offset ( ) const
inline
Returns
the ordinal offset

◆ operator=() [1/2]

Supercell& mpqc::Supercell::operator= ( const Supercell )
default

◆ operator=() [2/2]

Supercell& mpqc::Supercell::operator= ( Supercell &&  )
default

◆ ordinal()

int64_t mpqc::Supercell::ordinal ( const vec3_t v) const
inline

maps vector v to ordinal

Parameters
[in[v a vector; this asserts that v is within this Supercell
Returns
ord the ordinal index of v in this Supercell (row-major stride is used: first dimension is the slowest, last dimension is the fastest)

◆ R()

vec3_t mpqc::Supercell::R ( ) const
inline
Returns
the "radius"; all extents must be odd or zero

◆ size()

size_t mpqc::Supercell::size ( ) const
inline
Returns
the size

◆ stride()

const vec3_t& mpqc::Supercell::stride ( ) const
inline
Returns
the stride vector

◆ vector()

vec3_t mpqc::Supercell::vector ( int64_t  ord) const
inline

maps ordinal to vector

Friends And Related Function Documentation

◆ Iterator

friend class Iterator
friend

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