MPQC 3.0.0-alpha
Loading...
Searching...
No Matches
domain.h
1
2/*
3 * Copyright 2009 Sandia Corporation. Under the terms of Contract
4 * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government
5 * retains certain rights in this software.
6 *
7 * This file is a part of the MPQC LMP2 library.
8 *
9 * The MPQC LMP2 library is free software: you can redistribute it
10 * and/or modify it under the terms of the GNU Lesser General Public
11 * License as published by the Free Software Foundation, either
12 * version 3 of the License, or (at your option) any later version.
13 *
14 * This program is distributed in the hope that it will be useful, but
15 * WITHOUT ANY WARRANTY; without even the implied warranty of
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
17 * Lesser General Public License for more details.
18 *
19 * You should have received a copy of the GNU Lesser General Public
20 * License along with this program. If not, see
21 * <http://www.gnu.org/licenses/>.
22 *
23 */
24
25#ifndef _chemistry_qc_lmp2_domain_h
26#define _chemistry_qc_lmp2_domain_h
27
28#include <chemistry/qc/wfn/obwfn.h>
29#include <vector>
30#include <map>
31#include <set>
32#include <chemistry/qc/lmp2/sma.h>
33
34namespace sc {
35
36typedef std::set<int> domainmapvirbs_t;
37typedef std::map<std::pair<int,int>, domainmapvirbs_t > domainmap_t;
38
39
41void
43 const sc::RefSCMatrix &scf_local,
44 std::vector<std::vector<int> > &domains, domainmap_t &domainmap,
45 double distance_threshold, double completeness_threshold,
46 bool all_nondist_pairs,
47 std::vector<double>& interdomain_distances,
49 double bound, const sc::Ref<sc::MessageGrp> &msg);
50
51
54void
56 const sc::RefSCMatrix &scf_local,
57 std::vector<std::vector<int> > &domains,
58 domainmap_t &domainmap, double distance_threshold,
59 double completeness_threshold,
60 domainmap_t &weak_pair_domainmap, double weak_pair_distance_threshold,
61 bool all_nondist_pairs, std::vector<double>& interdomain_distances,
63 double bound, const sc::Ref<sc::MessageGrp> &msg);
64
65}
66
67#endif
The RefSCMatrix class is a smart pointer to an SCMatrix specialization.
Definition matrix.h:135
A template class that maintains references counts.
Definition ref.h:361
Implements a block sparse tensor.
Definition sma.h:1247
Contains all MPQC code up to version 3.
Definition mpqcin.h:14
void create_domains(const sc::Ref< sc::OneBodyWavefunction > &wfn, int nfzc, const sc::RefSCMatrix &scf_local, std::vector< std::vector< int > > &domains, domainmap_t &domainmap, double distance_threshold, double completeness_threshold, bool all_nondist_pairs, std::vector< double > &interdomain_distances, sma2::Array< 2 > &S_ao, sma2::Array< 2 > &L, double bound, const sc::Ref< sc::MessageGrp > &msg)
Create maps of occupied orbital pairs to atoms in their domain.

Generated at Wed Sep 25 2024 02:45:29 for MPQC 3.0.0-alpha using the documentation package Doxygen 1.12.0.