Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/sotayoshida/shellmodel.jl
Julia code for nuclear shell-model calculations
https://github.com/sotayoshida/shellmodel.jl
configuration-interaction julia julia-language nuclear-physics physics
Last synced: 4 months ago
JSON representation
Julia code for nuclear shell-model calculations
- Host: GitHub
- URL: https://github.com/sotayoshida/shellmodel.jl
- Owner: SotaYoshida
- License: mit
- Archived: true
- Created: 2020-11-10T12:28:02.000Z (about 4 years ago)
- Default Branch: master
- Last Pushed: 2022-08-05T00:43:13.000Z (over 2 years ago)
- Last Synced: 2024-09-30T15:18:22.991Z (4 months ago)
- Topics: configuration-interaction, julia, julia-language, nuclear-physics, physics
- Language: Julia
- Homepage: https://sotayoshida.github.io/ShellModel.jl/dev/
- Size: 17.9 MB
- Stars: 15
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# ShellModel.jl
[![Dev](https://img.shields.io/badge/docs-dev-blue.svg)](https://SotaYoshida.github.io/ShellModel.jl/dev)
[![Build Status](https://github.com/SotaYoshida/ShellModel.jl/workflows/CI/badge.svg)](https://github.com/SotaYoshida/ShellModel.jl/actions)**Julia code for nuclear shell-model calculations**
**Note:**
This package has been merged into [NuclearToolkit.jl](https://github.com/SotaYoshida/NuclearToolkit.jl),
though the repository will be kept for reproducibility of the published work.## Quick Start
1. Download a Julia binary from [Julialang.org](https://julialang.org/)
or execute the following when using a Linux(-like) environment:
```
$wget https://julialang-s3.julialang.org/bin/linux/x64/1.6/julia-1.6.0-linux-x86_64.tar.gz
```2. Set a path to Julia.
Then you can run Julia REPL
```
$julia
_
_ _ _(_)_ | Documentation: https://docs.julialang.org
(_) | (_) (_) |
_ _ _| |_ __ _ | Type "?" for help, "]?" for Pkg help.
| | | | | | |/ _` | |
| | |_| | | | (_| | | Version 1.6.0 (2021-03-24)
_/ |\__'_|_|_|\__'_| | Official https://julialang.org/ release
|__/ |julia>
```
3. Download ShellModel.jl
```
$git clone https://github.com/SotaYoshida/ShellModel.jl
```4. Install other Julia Packages
```
$cd ShellModel.jl
$julia src/package_install.jl
```5. Run the sample script
```
$julia -t 12 sample_run.jl
```
One can specify the number of execution threads like this.
(The -t/--threads command line argument requires at least Julia >= 1.5.)> Note:
> The samplecode is to calc.
> (a) 10 lowest states of 28Si in sd shell
> (b) 10 lowest states of 28Si with J=0
> (c) EC estimates of 10 lowest J=0 states of 28Si
> (d) (b) with the preprocessing## Documentation
[Here](https://sotayoshida.github.io/ShellModel.jl/dev/)
## Features
* Pros (Some are "Pros" of the Julia language though :D)
* Easy to run
* Portability (no need to specify "magical" compiler options specific to each environment)
* Fast (e.g., 10 lowest eigenpairs of 28Si (in full sd shell) can be calculated in ~3 sec. on Mac Mini(2018) & Mac Book Air(2020,M1))
* One can easily extend the code
* Cons
* poorly parallerized (for # of threads >= 12)
* greedy (compared to the "on-the-fly" generation of matrix element)
* one is recommended to include "initial run" for a small system (e.g. Be8 in p shell) in execution scripts
This is for JIT compilation of the functions to improve the execution time for a target system.
You can also try [PackageCompiler.jl](https://github.com/JuliaLang/PackageCompiler.jl)
## What is supported now?* To obtain lowest *n* eigenvalues, eigenvectors (in M-scheme)
※ One can specify the total J
※ The current version only supports model spaces with one major shell
(i.e., the so-called "0 hbar omega" space such as *sd* shell)
※ interaction fmt: [KSHELL](https://doi.org/10.1016/j.cpc.2019.06.011) fmt (.snt) only* Eigenvector Continuation (To constuct approximate shell-model wave funcitons for a given effective interaction)
as efficient emulator & preprocessing for the shell-model
* Calc. mu & Q moments and M1, E2 transitions (April 2021 -)* Calc. entanglement entropy
## To be implemented:
- [x] truncations
- [ ] compatibility to other interaction fmt
- [ ] compatibility to wavefunctions by other shell-model codes
- [ ] J-scheme
- [ ] other operators (Gamow-Teller, etc.)
- [ ] spectroscopic factors
- [ ] DMRG
- [ ] MPI parallerization for larger systems
- and more...Any suggestions, feedbacks, and "Issues&Pull requests" are welcomed.
## Licence
[MIT License, Copyright (c) 2021 Sota Yoshida](https://github.com/SotaYoshida/ShellModel.jl/blob/master/LICENSE)
## How to cite
[Prog. Theor. Exp. Phys. 2022 053D02 (2022)](https://academic.oup.com/ptep/article/2022/5/053D02/6567885)