QMCPACK
fermIrrep Struct Reference
+ Collaboration diagram for fermIrrep:

Public Member Functions

 fermIrrep (std::string label_in, int nSpinors, int numAO)
 
fermIrrep generate_kramers_pair ()
 
int get_num_spinors ()
 
int get_num_ao ()
 
std::string get_label ()
 

Public Attributes

std::string label
 
std::vector< double > energies
 
std::vector< OrbTypeorbtypes
 
std::vector< std::vector< std::vector< double > > > spinor_mo_coeffs
 

Detailed Description

Definition at line 42 of file DiracParser.h.

Constructor & Destructor Documentation

◆ fermIrrep()

fermIrrep ( std::string  label_in,
int  nSpinors,
int  numAO 
)

Definition at line 20 of file DiracParser.cpp.

References energies, orbtypes, spinor_mo_coeffs, and VIRTUAL.

20  : label(label_in)
21 {
22  energies.resize(nSpinors, 0);
23  orbtypes.resize(nSpinors, OrbType::VIRTUAL);
24  spinor_mo_coeffs.resize(nSpinors);
25  for (int mo = 0; mo < nSpinors; mo++)
26  {
27  spinor_mo_coeffs[mo].resize(numAO);
28  for (int ao = 0; ao < numAO; ao++)
29  spinor_mo_coeffs[mo][ao].resize(4, 0);
30  }
31 }
std::vector< std::vector< std::vector< double > > > spinor_mo_coeffs
Definition: DiracParser.h:47
std::vector< OrbType > orbtypes
Definition: DiracParser.h:46
std::vector< double > energies
Definition: DiracParser.h:45
std::string label
Definition: DiracParser.h:44

Member Function Documentation

◆ generate_kramers_pair()

fermIrrep generate_kramers_pair ( )

Definition at line 33 of file DiracParser.cpp.

References energies, get_num_ao(), get_num_spinors(), label, and spinor_mo_coeffs.

34 {
35  std::string new_label = label;
36  assert(label[1] == '1');
37  new_label[1] = '2';
38  int nspinor = get_num_spinors();
39  int numAO = get_num_ao();
40  fermIrrep kp(new_label, nspinor, numAO);
41  kp.energies = energies;
42  for (int mo = 0; mo < nspinor; mo++)
43  {
44  for (int ao = 0; ao < numAO; ao++)
45  {
46  kp.spinor_mo_coeffs[mo][ao][0] = -spinor_mo_coeffs[mo][ao][2];
47  kp.spinor_mo_coeffs[mo][ao][1] = spinor_mo_coeffs[mo][ao][3];
48  kp.spinor_mo_coeffs[mo][ao][2] = spinor_mo_coeffs[mo][ao][0];
49  kp.spinor_mo_coeffs[mo][ao][3] = -spinor_mo_coeffs[mo][ao][1];
50  }
51  }
52  return kp;
53 }
std::vector< std::vector< std::vector< double > > > spinor_mo_coeffs
Definition: DiracParser.h:47
std::vector< double > energies
Definition: DiracParser.h:45
int get_num_ao()
Definition: DiracParser.h:51
int get_num_spinors()
Definition: DiracParser.h:50
std::string label
Definition: DiracParser.h:44

◆ get_label()

std::string get_label ( )
inline

Definition at line 52 of file DiracParser.h.

References label.

52 { return label; }
std::string label
Definition: DiracParser.h:44

◆ get_num_ao()

int get_num_ao ( )
inline

Definition at line 51 of file DiracParser.h.

References spinor_mo_coeffs.

Referenced by generate_kramers_pair().

51 { return spinor_mo_coeffs[0].size(); }
std::vector< std::vector< std::vector< double > > > spinor_mo_coeffs
Definition: DiracParser.h:47

◆ get_num_spinors()

int get_num_spinors ( )
inline

Definition at line 50 of file DiracParser.h.

References energies.

Referenced by generate_kramers_pair().

50 { return energies.size(); }
std::vector< double > energies
Definition: DiracParser.h:45

Member Data Documentation

◆ energies

std::vector<double> energies

Definition at line 45 of file DiracParser.h.

Referenced by fermIrrep(), generate_kramers_pair(), and get_num_spinors().

◆ label

std::string label

Definition at line 44 of file DiracParser.h.

Referenced by generate_kramers_pair(), and get_label().

◆ orbtypes

std::vector<OrbType> orbtypes

Definition at line 46 of file DiracParser.h.

Referenced by fermIrrep().

◆ spinor_mo_coeffs

std::vector<std::vector<std::vector<double> > > spinor_mo_coeffs

Definition at line 47 of file DiracParser.h.

Referenced by fermIrrep(), generate_kramers_pair(), and get_num_ao().


The documentation for this struct was generated from the following files: