Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

Source code: joelib/math/symmetry/PointGroups.java


1   ///////////////////////////////////////////////////////////////////////////////
2   //  Filename: $RCSfile: PointGroups.java,v $
3   //  Purpose:  Brute force symmetry analyzer.
4   //  Language: Java
5   //  Compiler: JDK 1.4
6   //  Authors:  Joerg K. Wegner
7   //  Original author: (C) 1996, 2003 S. Patchkovskii, Serguei.Patchkovskii@sympatico.ca
8   //  Version:  $Revision: 1.2 $
9   //            $Date: 2003/08/19 13:11:27 $
10  //            $Author: wegner $
11  //
12  //  Copyright (c) Dept. Computer Architecture, University of Tuebingen, Germany
13  //
14  //  This program is free software; you can redistribute it and/or modify
15  //  it under the terms of the GNU General Public License as published by
16  //  the Free Software Foundation; either version 2 of the License, or
17  //  (at your option) any later version.
18  //
19  //  This program is distributed in the hope that it will be useful,
20  //  but WITHOUT ANY WARRANTY; without even the implied warranty of
21  //  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
22  //  GNU General Public License for more details.
23  //
24  //  You should have received a copy of the GNU General Public License
25  //  along with this program; if not, write to the Free Software
26  //  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
27  ///////////////////////////////////////////////////////////////////////////////
28  package joelib.math.symmetry;
29  
30  import joelib.molecule.*;
31  
32  /*==========================================================================*
33   * IMPORTS
34   *========================================================================== */
35  import java.util.Hashtable;
36  
37  
38  /*==========================================================================*
39   * CLASS DECLARATION
40   *========================================================================== */
41  
42  /**
43   * PointGroups.
44   *
45   * @author     Serguei Patchkovskii
46   * @author     wegnerj
47   * @license GPL
48   * @cvsversion    $Revision: 1.2 $, $Date: 2003/08/19 13:11:27 $
49   */
50  public class PointGroups
51  {
52      //~ Static fields/initializers /////////////////////////////////////////////
53  
54      /*-------------------------------------------------------------------------*
55       * public member variables
56       *------------------------------------------------------------------------- */
57      public final static PointGroup[] defaultPointGroups = 
58      {
59          new PointGroup("C1", "", true), new PointGroup("Cs", "(sigma) ", true),
60          new PointGroup("Ci", "(i) ", true), new PointGroup("C2", "(C2) ", true),
61          new PointGroup("C3", "(C3) ", true),
62          new PointGroup("C4", "(C4) (C2) ", true),
63          new PointGroup("C5", "(C5) ", true),
64          new PointGroup("C6", "(C6) (C3) (C2) ", true),
65          new PointGroup("C7", "(C7) ", true),
66          new PointGroup("C8", "(C8) (C4) (C2) ", true),
67          new PointGroup("D2", "3*(C2) ", true),
68          new PointGroup("D3", "(C3) 3*(C2) ", true),
69          new PointGroup("D4", "(C4) 5*(C2) ", true),
70          new PointGroup("D5", "(C5) 5*(C2) ", true),
71          new PointGroup("D6", "(C6) (C3) 7*(C2) ", true),
72          new PointGroup("D7", "(C7) 7*(C2) ", true),
73          new PointGroup("D8", "(C8) (C4) 9*(C2) ", true),
74          new PointGroup("C2v", "(C2) 2*(sigma) ", true),
75          new PointGroup("C3v", "(C3) 3*(sigma) ", true),
76          new PointGroup("C4v", "(C4) (C2) 4*(sigma) ", true),
77          new PointGroup("C5v", "(C5) 5*(sigma) ", true),
78          new PointGroup("C6v", "(C6) (C3) (C2) 6*(sigma) ", true),
79          new PointGroup("C7v", "(C7) 7*(sigma) ", true),
80          new PointGroup("C8v", "(C8) (C4) (C2) 8*(sigma) ", true),
81          new PointGroup("C2h", "(i) (C2) (sigma) ", true),
82          new PointGroup("C3h", "(C3) (S3) (sigma) ", true),
83          new PointGroup("C4h", "(i) (C4) (C2) (S4) (sigma) ", true),
84          new PointGroup("C5h", "(C5) (S5) (sigma) ", true),
85          new PointGroup("C6h", "(i) (C6) (C3) (C2) (S6) (S3) (sigma) ", true),
86          new PointGroup("C7h", "(C7) (S7) (sigma) ", true),
87          new PointGroup("C8h", "(i) (C8) (C4) (C2) (S8) (S4) (sigma) ", true),
88          new PointGroup("D2h", "(i) 3*(C2) 3*(sigma) ", true),
89          new PointGroup("D3h", "(C3) 3*(C2) (S3) 4*(sigma) ", true),
90          new PointGroup("D4h", "(i) (C4) 5*(C2) (S4) 5*(sigma) ", true),
91          new PointGroup("D5h", "(C5) 5*(C2) (S5) 6*(sigma) ", true),
92          new PointGroup("D6h", "(i) (C6) (C3) 7*(C2) (S6) (S3) 7*(sigma) ", true),
93          new PointGroup("D7h", "(C7) 7*(C2) (S7) 8*(sigma) ", true),
94          new PointGroup("D8h", "(i) (C8) (C4) 9*(C2) (S8) (S4) 9*(sigma) ", true),
95          new PointGroup("D2d", "3*(C2) (S4) 2*(sigma) ", true),
96          new PointGroup("D3d", "(i) (C3) 3*(C2) (S6) 3*(sigma) ", true),
97          new PointGroup("D4d", "(C4) 5*(C2) (S8) 4*(sigma) ", true),
98          new PointGroup("D5d", "(i) (C5) 5*(C2) (S10) 5*(sigma) ", true),
99          new PointGroup("D6d", "(C6) (C3) 7*(C2) (S12) (S4) 6*(sigma) ", true),
100         new PointGroup("D7d", "(i) (C7) 7*(C2) (S14) 7*(sigma) ", true),
101         new PointGroup("D8d", "(C8) (C4) 9*(C2) (S16) 8*(sigma) ", true),
102         new PointGroup("S4", "(C2) (S4) ", true),
103         new PointGroup("S6", "(i) (C3) (S6) ", true),
104         new PointGroup("S8", "(C4) (C2) (S8) ", true),
105         new PointGroup("T", "4*(C3) 3*(C2) ", true),
106         new PointGroup("Th", "(i) 4*(C3) 3*(C2) 4*(S6) 3*(sigma) ", true),
107         new PointGroup("Td", "4*(C3) 3*(C2) 3*(S4) 6*(sigma) ", true),
108         new PointGroup("O", "3*(C4) 4*(C3) 9*(C2) ", true),
109         new PointGroup("Oh",
110             "(i) 3*(C4) 4*(C3) 9*(C2) 4*(S6) 3*(S4) 9*(sigma) ", true),
111         new PointGroup("Cinfv", "(Cinf) (sigma) ", true),
112         new PointGroup("Dinfh", "(i) (Cinf) (C2) 2*(sigma) ", true),
113         new PointGroup("I", "6*(C5) 10*(C3) 15*(C2) ", true),
114         new PointGroup("Ih",
115             "(i) 6*(C5) 10*(C3) 15*(C2) 6*(S10) 10*(S6) 15*(sigma) ", true),
116         new PointGroup("Kh", "(i) (Cinf) (sigma) ", true)
117     };
118 
119     //~ Instance fields ////////////////////////////////////////////////////////
120 
121     private Hashtable pointGroups;
122 
123     //~ Constructors ///////////////////////////////////////////////////////////
124 
125     /*-------------------------------------------------------------------------*
126      * constructor
127      *------------------------------------------------------------------------- */
128 
129     /**
130      *  Constructor for the AtomIntInt object
131      *
132      */
133     public PointGroups()
134     {
135         pointGroups = new Hashtable(defaultPointGroups.length);
136 
137         for (int i = 0; i < defaultPointGroups.length; i++)
138         {
139             pointGroups.put(defaultPointGroups[i].getGroupName(),
140                 defaultPointGroups[i]);
141         }
142     }
143 }
144 ///////////////////////////////////////////////////////////////////////////////
145 //  END OF FILE.
146 ///////////////////////////////////////////////////////////////////////////////