Science Score: 44.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (15.9%) to scientific vocabulary
Repository
Optical model ScatterIng & ReactIon Software (OSIRIS)
Basic Info
- Host: GitHub
- Owner: beykyle
- License: bsd-3-clause
- Language: C++
- Default Branch: main
- Size: 317 KB
Statistics
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 1
- Releases: 0
Metadata Files
README.md
OSIRIS (/oʊˈsaɪərɨs/)
Optical model Scattering & Reaction Software
A fast, modern nuclear reaction code with a python interface using xtensor-python, built for uncertainty quantificaiton and model order reduction of parametric nucleon-nuclear interactions. Contains two main components; a c++ library osiris_lib containing the core solvers and physics functionality, and a python front end; osiris.
Python Installation
osiris is available at pypi.org/project/osiris-py:
pip install osiris-py
Example use
```python import osiris
```
For more in-depth examples and tutorials, see examples/
CMake integration
osiris supports CMake integration using FetchContent. Add the following to your CMakeLists.txt:
cmake
FetchContent_Declare(
osiris
GIT_REPOSITORY https://github.com/beykyle/osiris.git
GIT_TAG "origin/main"
)
FetchContent_MakeAvailable(osiris)
Now you can #include files like "potential/params.hpp" into your project, as long as you link osiris_lib to the relevant target in your CMakeLists.txt, e.g.
cmake
target_link_libraries(<MY_TARGET> osiris_lib)
Standalone executable
osiris can also be used as a standalone application, with an example main function living inexec/osiris_example_app.cpp. To build:
zsh
git clone git@github.com:beykyle/osiris.git
cd osiris
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release ..
make
make test
make docs
Building the documentation
python documentation
From the docs/ directory:
make html
c++ documentation
Following a build, run:
make docs
from the build/ directory.
Running the tests
osiris (python) unit tests
Running the tests requires pytest.
bash
py.test .
osiris_lib (c++) unit tests
Following a build, run:
make test
from the build/ directory.
osiris_lib dependencies
- CMake >= 3.18
- a modern
c++compiler and tool chain. This was tested and built primarily with the following compilers, running on Ubuntu, using a dependency stack fromconda-forge:
clang version 15.0.7 (https://github.com/conda-forge/clangdev-feedstock fc523913ae327dfa0a91bb2b45a36c810e0f55d0)
Target: x86_64-unknown-linux-gnu
Thread model: posix
and
g++ (conda-forge gcc 10.4.0-19) 10.4.0
handled by CMake (you don't have to do anything):
osiris dependencies for python bindings
If you only want to use osiris_lib as a library for your project, these are the only dependencies. To use the python bindings, you will also need:
handled by CMake (you don't have to do anything):
install yourself
install yourself, optional:
pytestto run thepythonunit tests
It is recomended to use use a package, dependency and environment manager like mamba or conda. Then, setting up an environment to run osiris with python is as easy as (e.g. using mamba), from pypi:
zsh
mamba create -n osirenv python cmake compilers numpy pytest
mamba activate osirenv
pip install osiris
Alternatively, to install for development purposes, clone the repository and create an editable install:
zsh
mamba create -n osirenv python cmake compilers pybind11 numpy xtensor-python
mamba activate osirenv
git clone git@github.com:beykyle/osiris.git
cd osiris
py setup.py build -j{nproc}
pip install -e .
Parallel execution with MPI
python
import osiris
import mpi4py
Using ipyparallel, notebooks can be run with a parallel backend.
Windows runtime requirements
On Windows, the Visual c++ 2015 redistributable packages are a runtime
requirement for this project. It can be found here.
If you use the Anaconda python distribution, you may require the Visual Studio runtime as a platform-dependent runtime requirement for you package:
```yaml requirements: build: - python - setuptools - pybind11
run: - python - vs2015_runtime # [win] ```
Citation
latex
@software{Beyer_OSIRIS,
author = {Beyer, Kyle},
license = {BSD-3-Clause},
title = {{OSIRIS}},
url = {https://github.com/beykyle/osiris},
version = {0.1}
}
Owner
- Name: Kyle Beyer
- Login: beykyle
- Kind: user
- Company: University of Michigan
- Repositories: 22
- Profile: https://github.com/beykyle
PhD candidate at the University of Michigan studying nuclear fission and nuclear reaction phenomenology away from stability
Citation (CITATION.cff)
cff-version: 1.2.0
title: OSIRIS
message: >-
If you use this software, please cite it using the
metadata from this file.
type: software
authors:
- given-names: Kyle
family-names: Beyer
email: beyerk@frib.msu.edu
affiliation: Facility for Rare Isotope Beams
orcid: 'https://orcid.org/0000-0002-2695-2478'
repository-code: 'https://github.com/beykyle/osiris'
abstract: >-
OSIRIS is a software package for performing uncertainty quantification of reaction observables
keywords:
- nuclear physics
- uncertainty quantification
- nuclear reactions
license: BSD-3-Clause
version: '1.0'
date-released: '2024'
GitHub Events
Total
Last Year
Dependencies
- actions/checkout v3 composite
- actions/checkout v3 composite
- actions/setup-python v4 composite
- pypa/gh-action-pypi-publish release/v1 composite
- actions/checkout v3 composite
- actions/setup-python v4 composite
- stefanzweifel/git-auto-commit-action v4 composite
- actions/checkout v3 composite
- actions/setup-python v4 composite
- numpy *
- pybind11 *
- scikit-build *