sc::PointGroup(3) | MPQC | sc::PointGroup(3) |
sc::PointGroup - The PointGroup class is really a place holder for a CharacterTable.
#include <pointgrp.h>
Inherits sc::SavableState.
PointGroup (const char *)
This constructor takes a string containing the Schoenflies symbol of the point
group as its only argument. PointGroup (const char *,
SymmetryOperation &)
Like the above, but this constructor also takes a frame of reference as an
argument. PointGroup (const char *, SymmetryOperation &,
const SCVector3 &)
Like the above, but this constructor also takes a point of origin as an
argument. PointGroup (const Ref< KeyVal > &)
The PointGroup KeyVal constructor looks for three keywords:
symmetry, symmetry_frame, and origin. PointGroup (StateIn
&)
PointGroup (const PointGroup &)
PointGroup (const Ref< PointGroup > &)
PointGroup & operator= (const PointGroup &)
int equiv (const Ref< PointGroup > &, double
tol=1.0e-6) const
Returns 1 if the point groups are equivalent, 0 otherwise.
CharacterTable char_table () const
Returns the CharacterTable for this point group. const char *
symbol () const
Returns the Schoenflies symbol for this point group. SymmetryOperation
& symm_frame ()
Returns the frame of reference for this point group. const
SymmetryOperation & symm_frame () const
A const version of the above. SCVector3 & origin ()
Returns the origin of the symmetry frame. const SCVector3 &
origin () const
void set_symbol (const char *)
Sets (or resets) the Schoenflies symbol. void save_data_state
(StateOut &so)
Save the base classes (with save_data_state) and the members in the same order
that the StateIn CTOR initializes them. void print
(std::ostream &o=ExEnv::out0()) const
Print the object.
The PointGroup class is really a place holder for a CharacterTable.
It contains a string representation of the Schoenflies symbol of a point group, a frame of reference for the symmetry operation transformation matrices, and a point of origin. The origin is not respected by the symmetry operations, so if you want to use a point group with a nonzero origin, first translate all your coordinates to the origin and then set the origin to zero.
The PointGroup KeyVal constructor looks for three keywords: symmetry, symmetry_frame, and origin. symmetry is a string containing the Schoenflies symbol of the point group. origin is an array of doubles which gives the x, y, and z coordinates of the origin of the symmetry frame. symmetry_frame is a 3 by 3 array of arrays of doubles which specify the principal axes for the transformation matrices as a unitary rotation.
For example, a simple input which will use the default origin and symmetry_frame ((0,0,0) and the unit matrix, respectively), might look like this:
pointgrp<PointGroup>: (
symmetry = 'c2v' )
By default, the principal rotation axis is taken to be the z axis. If you already have a set of coordinates which assume that the rotation axis is the x axis, then you'll have to rotate your frame of reference with symmetry_frame:
pointgrp<PointGroup>: (
symmetry = 'c2v'
symmetry_frame = [
[ 0 0 1 ]
[ 0 1 0 ]
[ 1 0 0 ]
] )
Save the base classes (with save_data_state) and the members in the same order that the StateIn CTOR initializes them. This must be implemented by the derived class if the class has data.
Reimplemented from sc::SavableState.
Generated automatically by Doxygen for MPQC from the source code.
Sun Oct 4 2020 | Version 2.3.1 |