MADNESS 0.10.1
Public Types | Public Member Functions | Static Public Member Functions | Private Attributes | List of all members
PointGroup Class Reference

#include <pointgroup.h>

Collaboration diagram for PointGroup:
Collaboration graph
[legend]

Public Types

typedef madness::Vector< double, 3 > coordT
 

Public Member Functions

 PointGroup (const PointGroup &other)
 Copy constructor.
 
 PointGroup (const std::string name)
 Constructs point group by name (D2h and subgroups only)
 
virtual ~PointGroup ()
 Destructor.
 
coordT apply (int op, const coordT &r) const
 Applies group operator number op (0,1,...,order-1) to point.
 
int cart_ir (int axis) const
 Returns the irrep of the Cartesian axis (0, 1, 2 = x, y, z)
 
int ctable (int ir, int op) const
 
const std::string & get_ir_name (int ir) const
 
const std::string & get_name () const
 
const std::string & get_op_name (int op) const
 
int get_order () const
 
coordT ircell () const
 Returns irreducible cell.
 
int irmul (int ir1, int ir2) const
 Returns irreducible representation corresponding to product.
 
PointGroupoperator= (const PointGroup &other)
 Assignment.
 

Static Public Member Functions

static coordT apply (const std::string &op, const coordT &r)
 Applies named operator (e, c2z, c2y, c2x, sxy, sxz, syz, i) to point.
 
static bool test ()
 

Private Attributes

int c [8][8]
 Character table.
 
std::string irs [8]
 Names of the irreps.
 
std::string name
 group name
 
std::string ops [8]
 Names of the operators.
 
int order
 group order
 

Member Typedef Documentation

◆ coordT

Constructor & Destructor Documentation

◆ PointGroup() [1/2]

PointGroup::PointGroup ( const std::string  name)
inline

Constructs point group by name (D2h and subgroups only)

References c, irs, name, ops, and order.

◆ PointGroup() [2/2]

PointGroup::PointGroup ( const PointGroup other)
inline

Copy constructor.

◆ ~PointGroup()

virtual PointGroup::~PointGroup ( )
inlinevirtual

Destructor.

Member Function Documentation

◆ apply() [1/2]

static coordT PointGroup::apply ( const std::string &  op,
const coordT r 
)
inlinestatic

Applies named operator (e, c2z, c2y, c2x, sxy, sxz, syz, i) to point.

References op(), and q().

◆ apply() [2/2]

coordT PointGroup::apply ( int  op,
const coordT r 
) const
inline

Applies group operator number op (0,1,...,order-1) to point.

References apply(), op(), and ops.

Referenced by apply(), cart_ir(), and ircell().

◆ cart_ir()

int PointGroup::cart_ir ( int  axis) const
inline

Returns the irrep of the Cartesian axis (0, 1, 2 = x, y, z)

References apply(), axis, c, op(), order, and sum.

◆ ctable()

int PointGroup::ctable ( int  ir,
int  op 
) const
inline

References c, and op().

◆ get_ir_name()

const std::string & PointGroup::get_ir_name ( int  ir) const
inline

References irs.

◆ get_name()

const std::string & PointGroup::get_name ( ) const
inline

References name.

◆ get_op_name()

const std::string & PointGroup::get_op_name ( int  op) const
inline

References op(), and ops.

◆ get_order()

int PointGroup::get_order ( ) const
inline

References order.

◆ ircell()

coordT PointGroup::ircell ( ) const
inline

Returns irreducible cell.

The irreducible cell is defined by considering the cube -1<x<1, -1<y<1, -1<z<1. Use symmetry operations to map negative coordinates onto positive coordinates if possible. This leads to the unique cell for D2h being the cube 0<x<1, 0<y<1, 0<z<1.

If a coordinate in the cell is positive, it means that the irreducible cell has positive values of that coordinate.

References apply(), op(), order, and q().

◆ irmul()

int PointGroup::irmul ( int  ir1,
int  ir2 
) const
inline

Returns irreducible representation corresponding to product.

◆ operator=()

PointGroup & PointGroup::operator= ( const PointGroup other)
inline

Assignment.

References c, irs, name, op(), ops, and order.

◆ test()

static bool PointGroup::test ( )
inlinestatic

Referenced by main().

Member Data Documentation

◆ c

int PointGroup::c[8][8]
private

Character table.

Referenced by PointGroup(), cart_ir(), ctable(), and operator=().

◆ irs

std::string PointGroup::irs[8]
private

Names of the irreps.

Referenced by PointGroup(), get_ir_name(), and operator=().

◆ name

std::string PointGroup::name
private

group name

Referenced by PointGroup(), get_name(), and operator=().

◆ ops

std::string PointGroup::ops[8]
private

Names of the operators.

Referenced by PointGroup(), apply(), get_op_name(), and operator=().

◆ order

int PointGroup::order
private

group order

Referenced by PointGroup(), cart_ir(), get_order(), ircell(), and operator=().


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