CoSMo is a comprehensive shell model code suite designed for nuclear shell model and configuration interaction calculations. The highly structural and templated nature of the CoSMo code allows for flexibility and ease in applications, including those to open quantum systems with non-Hermitian Hamiltonians, clustering, and time-dependent dynamics.
Before installing, ensure your g++ compiler is compatible. Modify Makefile and build.sh as necessary to match your system's configuration.
To install:
- Run
build.sh. This script will compile all files into the./bindirectory. - During the first run, the Eigen library will be installed via
git clone https://gitlab.com/libeigen/eigen.git.
Before using CoSMo, source the appropriate environment variables with either source cosmovar.sh or source cosmovar.zsh.
To (re)compile an individual file.cpp, use the command make file.
See EXAMPLE* files provided, additional information can be found at www.volya.net
-
Create XML File:
- Create an XML file that identifies your system. This can be done manually, by editing a copied template, or using
cosmoxmlorxcosmowhich interact with the database of all interactions. - Command:
cosmoxml
- Create an XML file that identifies your system. This can be done manually, by editing a copied template, or using
-
Create Many-Body Basis:
- Use
Xsysmbs myfile.xmlorXsysmbsOMPfor the OpenMP version.
- Use
-
Create Many-Body Hamiltonian (Optional if using
DEXHVJTcsb):- Command:
XHH+JJ myfile.xml
- Command:
-
Diagonalize Hamiltonian (Optional if using
DEXHVJTcsb):- Use
davidson_file myfile.HHfor large matrices orexactev(texactevortexactevEigen) for full diagonalization.
- Use
-
Determine Spin and Isospin (Optional if using
DEXHVJTcsb):- Command:
XSHLJT myfile.xml
- Command:
-
Compute EM Transitions:
- Command:
XSHLEMB myfile.xml -o output.xml
- Command:
-
Compute Spectroscopic Factors:
- Command:
XSHLSF myfile1.xml -f myfile2.xml
- Command:
-
Compute Occupation Numbers:
- Command:
XSHLAO myfile.xml
- Command:
-
Alternative Combined Command:
DEXHVJTcsb myfile.xmlcan replace steps 3, 4, and 5.
-
Viewing and Editing XML Database:
- Use
Xlevels myfile.xmlto see an organized list of levels. - XML files are regular text files and can be edited directly for modifications or to set up new jobs.
- Use
The files included in the CoSMo distribution are listed in cosmo-main.txt. All codes should accept command-line arguments and support -h or --help for help and usage instructions.
cosmoxml: Generate an XML file for a system.Xsysmbs: Create many-body states (*.mbs files), with support for rejections.XsysmbsOMP: OpenMP version ofXsysmbs.DEXHVJT: Diagonalize Hamiltonian virtually and store states in an XML file.DEXHVJTcsb: An alternative method for diagonalizing the Hamiltonian.- Combines
XHH+JJ,XSHLJT, anddavidson_vfile.
- Combines
XHH+JJ.cpp: Create a Hamiltonian matrix HH.davidson_vfile.cpp: Diagonalize the Hamiltonian matrix.XSHLJT.cpp: Process eigenvectors, determine spin, and populate the XML file.Xlevels: Display states from the XML file.XSHLEMB: Study electromagnetic and beta transitions.XSHLSF: Study classic SF (no recoil).XSHLAO: View occupation numbers.
This project is licensed under the GNU General Public License v3 (GPL v3). For the full license text, see the LICENSE file.
For more details and acknowledgments of third-party components and libraries, please refer to the NOTICE file.