votca 2024.2-dev
Loading...
Searching...
No Matches
aotransform.h
Go to the documentation of this file.
1/*
2 * Copyright 2009-2020 The VOTCA Development Team
3 * (http://www.votca.org)
4 *
5 * Licensed under the Apache License, Version 2.0 (the "License")
6 *
7 * You may not use this file except in compliance with the License.
8 * You may obtain a copy of the License at
9 *
10 * http://www.apache.org/licenses/LICENSE-2.0
11 *
12 * Unless required by applicable law or agreed to in writing, software
13 * distributed under the License is distributed on an "AS IS" BASIS,
14 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 * See the License for the specific language governing permissions and
16 * limitations under the License.
17 *
18 */
19
20#pragma once
21#ifndef VOTCA_XTP_AOTRANSFORM_H
22#define VOTCA_XTP_AOTRANSFORM_H
23
24// Local VOTCA includes
25#include "aoshell.h"
26#include "eigen.h"
27
28namespace votca {
29namespace xtp {
30// clang-format off
31//clang format puts one entry on each line
67
68// clang-format on
69
70/* contains cartesian to spherical conversion
71 */
72
74
75 public:
76 static std::array<int, 9> n_orbitals();
77 static std::array<int, 165> nx();
78 static std::array<int, 165> ny();
79 static std::array<int, 165> nz();
80 static std::array<int, 165> i_less_x();
81 static std::array<int, 165> i_less_y();
82 static std::array<int, 165> i_less_z();
83 static std::array<int, 120> i_more_x();
84 static std::array<int, 120> i_more_y();
85 static std::array<int, 120> i_more_z();
86
87 static Index getBlockSize(Index lmax);
88 static Eigen::VectorXd XIntegrate(Index size, double U);
89
90 static double getNorm(L l, const AOGaussianPrimitive& gaussian);
91
93 template <typename Matrix>
94 static Matrix tform(L l_row, L l_col, const Matrix& cartesian);
95};
96
97} // namespace xtp
98} // namespace votca
99
100#endif // VOTCA_XTP_AOTRANSFORM_H
static Eigen::VectorXd XIntegrate(Index size, double U)
static std::array< int, 120 > i_more_x()
static std::array< int, 165 > i_less_y()
static std::array< int, 120 > i_more_y()
static std::array< int, 165 > i_less_z()
static Index getBlockSize(Index lmax)
static Matrix tform(L l_row, L l_col, const Matrix &cartesian)
transforms a cartesian shell to a spherical cartesian shell
static std::array< int, 165 > i_less_x()
static std::array< int, 120 > i_more_z()
static double getNorm(L l, const AOGaussianPrimitive &gaussian)
static std::array< int, 165 > ny()
static std::array< int, 165 > nz()
static std::array< int, 9 > n_orbitals()
static std::array< int, 165 > nx()
base class for all analysis tools
Definition basebead.h:33
Eigen::Index Index
Definition types.h:26