NAME
Chemistry::PointGroup - Group theory for normal modes of vibration
SYNOPSIS
# the benzene molecule
my
@R
= Chemistry::PointGroup::D6h->symmetry_elements;
my
@Ur
=
qw(12 0 0 0 4 0 0 0 0 12 0 4)
;
my
%Ur
;
@Ur
{
@R
}=
@Ur
;
my
$mol
= new Chemistry::PointGroup::D6h(
%Ur
);
my
%ri_mol
=
$mol
->irr;
"Irreducible Representations:\n"
;
map
{
$ri_mol
{
$_
},
" "
,
$_
,
"\t"
}
sort
keys
%ri_mol
;
"\n\n"
;
my
$benzene
=
Chemistry::PointGroup::D6h->new(
E
=> 12,
C6
=> 0,
C3
=> 0,
C2
=> 0,
C2f
=> 4,
C2s
=> 0,
i
=> 0,
S3
=> 0,
S6
=> 0,
sh
=> 12,
sd
=> 0,
sv
=> 4);
my
%ri_benzene
=
$benzene
->irr;
"Irreducible Representations:\n"
;
map
{
$ri_benzene
{
$_
},
" "
,
$_
,
"\t"
}
sort
keys
%ri_benzene
;
"\n"
;
"Normal Modes: "
,
$benzene
->normal_modes,
"\n"
;
"Table of Characters\n"
,
Chemistry::PointGroup::D6h->character_tables,
"\n\n"
;
# methane
my
@sy
= Chemistry::PointGroup::Td->symmetry_elements;
"Symmetry elements: @sy\n"
;
"CH4\n"
;
my
$met
= Chemistry::PointGroup::Td->new(
E
=> 5,
C3
=> 2,
C2
=> 1,
S4
=> 1,
sd
=> 3);
my
%ri_met
=
$met
->irr;
"Irreducible Representations:\n"
;
map
{
$ri_met
{
$_
},
" "
,
$_
,
"\t"
}
sort
keys
%ri_met
;
"\n"
;
"Normal Modes: "
,
$met
->normal_modes,
"\n"
;
"Table of Characters\n"
,
$met
->character_tables,
"\n\n"
;
# ammonia
"NH3\n"
;
my
$am
= Chemistry::PointGroup::C3v->new(
E
=> 4,
C3
=> 1,
sv
=> 2);
my
%ri_am
=
$am
->irr;
"Irreducible Representations:\n"
;
map
{
$ri_am
{
$_
},
" "
,
$_
,
"\t"
}
sort
keys
%ri_am
;
"\n"
;
"Normal Modes: "
,
$am
->normal_modes,
"\n"
;
"Table of Characters\n"
,
$am
->character_tables,
"\n\n"
;
# CHCl3
"CHCl3\n"
;
my
$cl
= Chemistry::PointGroup::C3v->new(
E
=> 5,
C3
=> 2,
sv
=> 3);
my
%ri_cl
=
$cl
->irr;
"Irreducible Representations:\n"
;
map
{
$ri_cl
{
$_
},
" "
,
$_
,
"\t"
}
sort
keys
%ri_cl
;
"\n"
;
"Normal Modes: "
,
$cl
->normal_modes,
"\n"
;
"Table of Characters\n"
,
$cl
->character_tables,
"\n\n"
;
# Trans N2F2
my
@sy
= Chemistry::PointGroup::C2h->symmetry_elements;
"Symmetry elements: @sy\n"
;
"Trans N2F2\n"
;
my
$nf
= Chemistry::PointGroup::C2h->new(
E
=> 4,
C2
=> 0,
i
=> 0,
sh
=> 4);
my
%ri_nf
=
$nf
->irr;
"Irreducible Representations:\n"
;
map
{
$ri_nf
{
$_
},
" "
,
$_
,
"\t"
}
sort
keys
%ri_nf
;
"\n"
;
"Normal Modes: "
,
$nf
->normal_modes,
"\n"
;
"Table of Characters\n"
,
$nf
->character_tables,
"\n\n"
;
DESCRIPTION
Many common molecules, for example, water, ammonia, methane,etc., possess some symmetry. In calculating the normal modes and frequencies of vibration, symmetry considerations can reduce enormously the labor of the calculations. The symmetry and geometry of a molecular model can be used to determine the number and symmetry of fundamental frequencies, their degeneracies, the selection rules for the infrared and Raman spectra.
METHODS
- $mol = Chemistry::PointGroup::XX->new( %U )
-
Create a new Chemistry::PointGroup::XX object, where XX is a point group. The value of %U is the number of atoms which are not shifted when the symmetry operation R acts on the atoms of the molecule. The key of %U is the symmetry operation.
- $table = $mol->character_tables
-
Return the table of characters
- @R = $mol->symmetry_elements
-
Return the symmetry operations
- $modes = $mol->normal_modes
-
Return the number of normal modes of vibration
- %ri = $mol->irr
-
Return the Irreducible Representations for the vibrations. The key of %ri is the irreducible representations and the value is the number of this representation
See Molecular vibrations The Theory of Infrared and Raman Vibrational Spectra, E.B. Wilson, J.C. Decius and P.C. Cross, Dover -
ISBN 0-486-63941-X
VERSION
0.01
SEE ALSO
- Chemistry::PointGroup::C1, Chemistry::PointGroup::Ci,
- Chemistry::PointGroup::Cs, Chemistry::PointGroup::C2,
- Chemistry::PointGroup::C2h, Chemistry::PointGroup::C2v,
- Chemistry::PointGroup::D2, Chemistry::PointGroup::D2h,
- Chemistry::PointGroup::C4, Chemistry::PointGroup::S4,
- Chemistry::PointGroup::C4h, Chemistry::PointGroup::C4v,
- Chemistry::PointGroup::D2d, Chemistry::PointGroup::D4,
- Chemistry::PointGroup::D4h, Chemistry::PointGroup::C3,
- Chemistry::PointGroup::S6, Chemistry::PointGroup::C3v,
- Chemistry::PointGroup::D3, Chemistry::PointGroup::D3d,
- Chemistry::PointGroup::C3h, Chemistry::PointGroup::C6,
- Chemistry::PointGroup::C6h, Chemistry::PointGroup::D3h,
- Chemistry::PointGroup::C6v, Chemistry::PointGroup::D6,
- Chemistry::PointGroup::D6h, Chemistry::PointGroup::T,
- Chemistry::PointGroup::Th, Chemistry::PointGroup::Td,
- Chemistry::PointGroup::O, Chemistry::PointGroup::Oh,
AUTHOR
Leo Manfredi, <manfredi@cpan.org>
COPYRIGHT AND LICENSE
Copyright 2006 by Leo Manfredi
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.