25#ifndef _chemistry_qc_lmp2_domain_h
26#define _chemistry_qc_lmp2_domain_h
28#include <chemistry/qc/wfn/obwfn.h>
32#include <chemistry/qc/lmp2/sma.h>
36typedef std::set<int> domainmapvirbs_t;
37typedef std::map<std::pair<int,int>, domainmapvirbs_t > domainmap_t;
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,
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,
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.