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

Public Member Functions

void ReadSettingsFile (string filename)
 
void ReadTBME_Oslo (string filename, Operator &Hbare)
 Read two-body matrix elements from an Oslo-formatted file.
 
void ReadTBME_OakRidge (string filename, Operator &Hbare)
 Read two-body matrix elements from an Oslo-formatted file, as obtained from Gaute Hagen.
 
void ReadBareTBME_Jason (string filename, Operator &Hbare)
 
void ReadBareTBME_Navratil (string filename, Operator &Hbare)
 
void ReadBareTBME_Navratil_from_stream (istream &infile, Operator &Hbare)
 
void ReadBareTBME_Darmstadt (string filename, Operator &Hbare, int E1max, int E2max, int lmax)
 Decide if the file is gzipped or ascii, create a stream, then call ReadBareTBME_Darmstadt_from_stream().
 
template<class T >
void ReadBareTBME_Darmstadt_from_stream (T &infile, Operator &Hbare, int E1max, int E2max, int lmax)
 
void Read_Darmstadt_3body (string filename, Operator &Hbare, int E1max, int E2max, int E3max)
 
template<class T >
void Read_Darmstadt_3body_from_stream (T &infile, Operator &Hbare, int E1max, int E2max, int E3max)
 
void GetHDF5Basis (ModelSpace *modelspace, string filename, vector< array< int, 5 >> &Basis)
 
void Read3bodyHDF5 (string filename, Operator &op)
 
void Read3bodyHDF5_new (string filename, Operator &op)
 
void ReadOperator_Nathan (string filename1b, string filename2b, Operator &op)
 
void ReadTensorOperator_Nathan (string filename1b, string filename2b, Operator &op)
 
void Write_me2j (string filename, Operator &op, int emax, int e2max, int lmax)
 
void Write_me3j (string filename, Operator &op, int E1max, int E2max, int E3max)
 
void WriteTBME_Navratil (string filename, Operator &Hbare)
 
void WriteNuShellX_sps (Operator &op, string filename)
 Write the valence model space to a NuShellX *.sp file.
 
void WriteNuShellX_int (Operator &op, string filename)
 
void WriteNuShellX_op (Operator &op, string filename)
 
void ReadNuShellX_int (Operator &op, string filename)
 
void WriteNuShellX_intfile (Operator &op, string filename, string mode)
 
void WriteAntoine_int (Operator &op, string filename)
 This now appears to be working properly.
 
void WriteAntoine_input (Operator &op, string filename, int A, int Z)
 Generate an input file for antoine, which may be edited afterwards if need be.
 
void WriteOperator (Operator &op, string filename)
 Write an operator to a plain-text file.
 
void WriteOperatorHuman (Operator &op, string filename)
 Write an operator to a plain-text file.
 
void ReadOperator (Operator &op, string filename)
 Read an operator from a plain-text file.
 
void CompareOperators (Operator &op1, Operator &op2, string filename)
 Write an operator to a plain-text file.
 
void ReadOneBody_Takayuki (string filename, Operator &Hbare)
 
void ReadTwoBody_Takayuki (string filename, Operator &Hbare)
 
void WriteOneBody_Takayuki (string filename, Operator &Hbare)
 
void WriteTwoBody_Takayuki (string filename, Operator &Hbare)
 
void WriteTensorOneBody (string filename, Operator &H, string opname)
 
void WriteTensorTwoBody (string filename, Operator &H, string opname)
 
void WriteOneBody_Oslo (string filename, Operator &Hbare)
 
void WriteTwoBody_Oslo (string filename, Operator &Hbare)
 Read two-body matrix elements from an Oslo-formatted file.
 
void ReadTwoBodyEngel (string filename, Operator &Op)
 
void ReadTwoBodyEngel_from_stream (istream &infile, Operator &Op)
 
void ReadRelCMOpFromJavier (string statefile, string MEfile, Operator &Op)
 
void SetLECs (double c1, double c3, double c4, double cD, double cE)
 
array< double, 5 > GetLECs ()
 
void SetLECs_preset (string)
 
void SetCoMCorr (bool b)
 
void SetScratchDir (string d)
 
string GetScratchDir ()
 
int GetAref ()
 
int GetZref ()
 
void SetAref (int a)
 
void SetZref (int z)
 
bool InGoodState ()
 

Public Attributes

std::map< string, string > InputParameters
 
bool doCoM_corr
 
bool goodstate
 
array< double, 5 > LECs
 
string scratch_dir
 
string File2N
 
string File3N
 
int Aref
 
int Zref
 

Member Function Documentation

void ReadWrite::GetHDF5Basis ( ModelSpace modelspace,
string  filename,
vector< array< int, 5 >> &  Basis 
)

Read three-body basis from HDF5 formatted file. This routine was ported to C++ from a C routine by Heiko Hergert, with as little modification as possible.

void ReadWrite::Read3bodyHDF5 ( string  filename,
Operator op 
)

Read three-body matrix elements from HDF5 formatted file. This routine was ported to C++ from a C routine by Heiko Hergert, with as little modification as possible.

void ReadWrite::Read_Darmstadt_3body ( string  filename,
Operator Hbare,
int  E1max,
int  E2max,
int  E3max 
)

Decide the file format from the extension – .me3j (Darmstadt group format, human-readable), .gz (gzipped me3j, less storage), .bin (me3j converted to binary, faster to read), .h5 (HDF5 format). Default is to assume .me3j. For the first three, the file is converted to a stream and sent to ReadDarmstadt_3body_from_stream(). For the HDF5 format, a separate function is called: Read3bodyHDF5().

template<class T >
void ReadWrite::Read_Darmstadt_3body_from_stream ( T &  infile,
Operator Hbare,
int  E1max,
int  E2max,
int  E3max 
)

Read me3j format three-body matrix elements. Pass in E1max, E2max, E3max for the file, so that it can be properly interpreted. The modelspace truncation doesn't need to coincide with the file truncation. For example, you could have an emax=10 modelspace and read from an emax=14 file, and the matrix elements with emax>10 would be ignored.

template<class T >
void ReadWrite::ReadBareTBME_Darmstadt_from_stream ( T &  infile,
Operator Hbare,
int  emax,
int  Emax,
int  lmax 
)

Read TBME's from a file formatted by the Darmstadt group. The file contains just the matrix elements, and the corresponding quantum numbers are inferred. This means that the model space of the file must also be specified. emax refers to the maximum single-particle oscillator shell. Emax refers to the maximum of the sum of two single particles. lmax refers to the maximum single-particle \( \ell \). If Emax is not specified, it should be 2 \(\times\) emax. If lmax is not specified, it should be emax. Also note that the matrix elements are given in un-normalized form, i.e. they are just the M scheme matrix elements multiplied by Clebsch-Gordan coefficients for JT coupling.

void ReadWrite::ReadBareTBME_Navratil ( string  filename,
Operator Hbare 
)

Read two body matrix elements from file formatted for Petr Navratil's no-core shell model code. These are given as normalized, JT coupled matix elements. Matrix elements corresponding to orbits outside the modelspace are ignored.

void ReadWrite::WriteNuShellX_intfile ( Operator op,
string  filename,
string  mode 
)

Write the valence space part of the interaction to a NuShellX *.int file. Note that for operators other than the Hamiltonian NuShellX assumes identical orbits for protons and neutrons, so that the pnpn interaction should be equal to the pnnp interaction. This is only approximately true for interactions generated with IMSRG, so some averaging is required.


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