MADNESS 0.10.1
PointGroup Class Reference

#include <pointgroup.h>

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.
PointGroup & operator= (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.

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

◆ PointGroup() [2/2]

PointGroup::PointGroup ( const PointGroup & other)
inline

Copy constructor.

References PointGroup().

◆ ~PointGroup()

virtual PointGroup::~PointGroup ( )
inlinevirtual

Destructor.

Member Function Documentation

◆ apply() [1/2]

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 PointGroup(), c, irs, name, op(), ops, and order.

◆ test()

bool PointGroup::test ( )
inlinestatic

References PointGroup().

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: