CheMPS2
Molden.h
1 /*
2  CheMPS2: a spin-adapted implementation of DMRG for ab initio quantum chemistry
3  Copyright (C) 2013-2016 Sebastian Wouters
4 
5  This program is free software; you can redistribute it and/or modify
6  it under the terms of the GNU General Public License as published by
7  the Free Software Foundation; either version 2 of the License, or
8  (at your option) any later version.
9 
10  This program is distributed in the hope that it will be useful,
11  but WITHOUT ANY WARRANTY; without even the implied warranty of
12  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  GNU General Public License for more details.
14 
15  You should have received a copy of the GNU General Public License along
16  with this program; if not, write to the Free Software Foundation, Inc.,
17  51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
18 */
19 
20 #ifndef MOLDEN_CHEMPS2_H
21 #define MOLDEN_CHEMPS2_H
22 
23 #include <string>
24 #include "Irreps.h"
25 
26 using std::string;
27 
28 namespace CheMPS2{
34  class Molden{
35 
36  public:
37 
39 
42  Molden( const int L, const int group, int * irrep_sizes );
43 
45  ~Molden();
46 
48 
49  void read_molden( const string filename );
50 
52 
53  void read_unitary( const string filename );
54 
56 
58  void print( const string original, const string output );
59 
60  private:
61 
62  // Symmetry information
63  Irreps SymmInfo;
64 
65  // Number of primitives
66  int L;
67 
68  // Number of orbitals per irrep
69  int num_irreps;
70 
71  // Irrep sizes
72  int * Isizes;
73 
74  // molden[ irrep ][ gausnr + L * mo_orb ]
75  double ** molden;
76 
77  // unitary[ irrep ][ cas_orb + Isizes[ irrep ] * mo_orb ]
78  double ** unitary;
79 
80  // product[ irrep ][ gausnr + L * cas_orb ]
81  double ** product;
82 
83  };
84 }
85 
86 #endif
void print(const string original, const string output)
Multiply and print the new molden file.
Definition: Molden.cpp:152
void read_molden(const string filename)
Read a molden file.
Definition: Molden.cpp:68
Definition: CASPT2.h:42
void read_unitary(const string filename)
Read a unitary matrix.
Definition: Molden.cpp:146
Molden(const int L, const int group, int *irrep_sizes)
Constructor.
Definition: Molden.cpp:33
~Molden()
Destructor.
Definition: Molden.cpp:53