IM-SRG++  0
Public Member Functions | Public Attributes | Static Public Attributes | List of all members
ModelSpace Class Reference

Public Member Functions

 ModelSpace (const ModelSpace &)
 
 ModelSpace (ModelSpace &&)
 
 ModelSpace (int emax, vector< string > hole_list, vector< string > valence_list)
 
 ModelSpace (int emax, vector< string > hole_list, vector< string > core_list, vector< string > valence_list)
 
 ModelSpace (int emax, string reference, string valence)
 
 ModelSpace (int emax, string reference)
 
ModelSpace operator= (const ModelSpace &)
 
ModelSpace operator= (ModelSpace &&)
 
void Init (int emax, string reference, string valence)
 
void Init (int emax, map< index_t, double > hole_list, string valence)
 
void Init (int emax, map< index_t, double > hole_list, vector< index_t > core_list, vector< index_t > valence_list)
 
void Init (int emax, vector< string > hole_list, vector< string > core_list, vector< string > valence_list)
 
void Init_occ_from_file (int emax, string valence, string occ_file)
 
map< index_t, double > GetOrbitsAZ (int A, int Z)
 
void GetAZfromString (string str, int &A, int &Z)
 
vector< index_t > String2Index (vector< string > vs)
 
string Index2String (index_t ind)
 
void Get0hwSpace (int Aref, int Zref, vector< index_t > &core_list, vector< index_t > &valence_list)
 
void ParseCommaSeparatedValenceSpace (string valence, vector< index_t > &core_list, vector< index_t > &valence_list)
 
void SetupKets ()
 
void AddOrbit (Orbit orb)
 
void AddOrbit (int n, int l, int j2, int tz2, double occ, int io)
 
OrbitGetOrbit (int i)
 
KetGetKet (int i) const
 
KetGetKet (int p, int q) const
 
int GetOrbitIndex (int n, int l, int j2, int tz2) const
 
int GetKetIndex (int p, int q) const
 
int GetKetIndex (Ket *ket) const
 
int GetNumberOrbits () const
 
int GetNumberKets () const
 
void SetHbarOmega (double hw)
 
void SetTargetMass (int A)
 
void SetTargetZ (int Z)
 
double GetHbarOmega () const
 
int GetTargetMass () const
 
int GetTargetZ () const
 
int GetAref () const
 
int GetZref () const
 
int GetNumberTwoBodyChannels () const
 
TwoBodyChannelGetTwoBodyChannel (int ch) const
 
TwoBodyChannel_CCGetTwoBodyChannel_CC (int ch) const
 
int GetTwoBodyJmax () const
 
int GetThreeBodyJmax () const
 
void SetReference (vector< index_t >)
 
void SetReference (map< index_t, double >)
 
void SetReference (string)
 
int GetEmax ()
 
int GetE2max ()
 
int GetE3max ()
 
int GetLmax2 ()
 
int GetLmax3 ()
 
void SetEmax (int e)
 
void SetE2max (int e)
 
void SetE3max (int e)
 
void SetLmax2 (int l)
 
void SetLmax3 (int l)
 
double GetSixJ (double j1, double j2, double j3, double J1, double J2, double J3)
 
double GetNineJ (double j1, double j2, double j3, double j4, double j5, double j6, double j7, double j8, double j9)
 
double GetMoshinsky (int N, int Lam, int n, int lam, int n1, int l1, int n2, int l2, int L)
 
bool SixJ_is_empty ()
 
int GetOrbitIndex (string)
 
int GetTwoBodyChannelIndex (int j, int p, int t)
 
int phase (int x)
 
int phase (double x)
 
int Index1 (int n, int l, int j2, int tz2) const
 
int Index2 (int p, int q) const
 
void PreCalculateMoshinsky ()
 
void ClearVectors ()
 
void CalculatePandyaLookup (int rank_J, int rank_T, int parity)
 
map< array< int, 2 >, array< vector< int >, 2 > > & GetPandyaLookup (int rank_J, int rank_T, int parity)
 

Public Attributes

vector< index_t > holes
 
vector< index_t > particles
 
vector< index_t > core
 
vector< index_t > valence
 
vector< index_t > qspace
 
vector< index_t > proton_orbits
 
vector< index_t > neutron_orbits
 
vector< index_t > KetIndex_pp
 
vector< index_t > KetIndex_ph
 
vector< index_t > KetIndex_hh
 
vector< index_t > KetIndex_cc
 
vector< index_t > KetIndex_vc
 
vector< index_t > KetIndex_qc
 
vector< index_t > KetIndex_vv
 
vector< index_t > KetIndex_qv
 
vector< index_t > KetIndex_qq
 
vector< double > Ket_occ_hh
 
vector< double > Ket_unocc_hh
 
vector< double > Ket_occ_ph
 
vector< double > Ket_unocc_ph
 
array< array< unordered_map< index_t, index_t >, 2 >, 3 > MonopoleKets
 
int Emax
 
int E2max
 
int E3max
 
int Lmax2
 
int Lmax3
 
int OneBodyJmax
 
int TwoBodyJmax
 
int ThreeBodyJmax
 
map< array< int, 3 >, vector< index_t > > OneBodyChannels
 
vector< unsigned int > SortedTwoBodyChannels
 
vector< unsigned int > SortedTwoBodyChannels_CC
 
int norbits
 
double hbar_omega
 
int target_mass
 
int target_Z
 
int Aref
 
int Zref
 
int nTwoBodyChannels
 
vector< OrbitOrbits
 
vector< KetKets
 
vector< TwoBodyChannelTwoBodyChannels
 
vector< TwoBodyChannel_CCTwoBodyChannels_CC
 
map< array< int, 3 >, map< array< int, 2 >, array< vector< int >, 2 > > > PandyaLookup
 
bool moshinsky_has_been_precalculated
 
IMSRGProfiler profiler
 

Static Public Attributes

static map< string, vector< string > > ValenceSpaces
 
static unordered_map< unsigned long int, double > SixJList
 
static unordered_map< long long unsigned int, double > NineJList
 
static unordered_map< long long unsigned int, double > MoshList
 

Member Function Documentation

void ModelSpace::Get0hwSpace ( int  Aref,
int  Zref,
vector< index_t > &  core_list,
vector< index_t > &  valence_list 
)

Find the valence space of one single major oscillator shell each for protons and neutrons (not necessarily the same shell for both) which contains the naive shell-model ground state of the reference. For example, if we want to treat C20, with 6 protons and 14 neutrons, we take the 0p shell for protons and 1s0d shell for neutrons.

Member Data Documentation

map< string, vector< string > > ModelSpace::ValenceSpaces
static
Initial value:
{
{ "s-shell" , {"vacuum", "p0s1","n0s1"}},
{ "p-shell" , {"He4", "p0p3","n0p3","p0p1","n0p1"}},
{ "sp-shell" , {"vacuum", "p0s1","n0s1","p0p3","n0p3","p0p1","n0p1"}},
{ "spsd-shell" , {"vacuum", "p0s1","n0s1","p0p3","n0p3","p0p1","n0p1","p0d5","n0d5","p0d3","n0d3","p1s1","n1s1"}},
{ "spsdpf-shell" , {"vacuum", "p0s1","n0s1","p0p3","n0p3","p0p1","n0p1","p0d5","n0d5","p0d3","n0d3","p1s1","n1s1","p0f7","n0f7","p0f5","n0f5","p1p3","n1p3","p1p1","n1p1"}},
{ "sd-shell" , {"O16", "p0d5","n0d5","p0d3","n0d3","p1s1","n1s1"}},
{ "psd-shell" , {"He4", "p0p3","n0p3","p0p1","n0p1","p0d5","n0d5","p0d3","n0d3","p1s1","n1s1"}},
{ "psdNR-shell" , {"He10","p0p3","p0p1","n0d5","n0d3","n1s1"}},
{ "psdPR-shell" , {"O10","n0p3","n0p1","p0d5","p0d3","p1s1"}},
{ "fp-shell" , {"Ca40","p0f7","n0f7","p0f5","n0f5","p1p3","n1p3","p1p1","n1p1"}},
{ "sdfp-shell" , {"O16", "p0d5","n0d5","p0d3","n0d3","p1s1","n1s1","p0f7","n0f7","p0f5","n0f5","p1p3","n1p3","p1p1","n1p1"}},
{ "sdfpNR-shell" , {"O28", "p0d5","p0d3","p1s1","n0f7","n0f5","n1p3","n1p1"}},
{ "sdfpPR-shell" , {"Ca28", "n0d5","n0d3","n1s1","p0f7","p0f5","p1p3","p1p1"}},
{ "fpg9-shell" , {"Ca40","p0f7","n0f7","p0f5","n0f5","p1p3","n1p3","p1p1","n1p1","p0g9","n0g9"}},
{ "fpg9NR-shell" , {"Ca40","p0f7","n0f7","p0f5","n0f5","p1p3","n1p3","p1p1","n1p1","n0g9"}},
{ "fpgdsNR-shell" , {"Ca60","p0f7","p0f5","p1p3","p1p1","n0g9","n0g7","n1d5","n1d3","n2s1"}},
{ "sd3f7p3-shell" , {"Si28","p0d3","n0d3","p1s1","n1s1","p0f7","n0f7","p1p3","n1p3"}},
{ "gds-shell" , {"Zr80","p0g9","n0g9","p0g7","n0g7","p1d5","n1d5","p1d3","n1d3","p2s1","n2s1"}},
}

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