Science Score: 59.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 4 DOI reference(s) in README -
✓Academic publication links
Links to: arxiv.org -
✓Committers with academic emails
1 of 4 committers (25.0%) from academic institutions -
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (18.1%) to scientific vocabulary
Keywords
Repository
Parallel Engine for Radiation Energy Deposition
Basic Info
- Host: GitHub
- Owner: PenRed
- License: agpl-3.0
- Language: C++
- Default Branch: master
- Size: 134 MB
Statistics
- Stars: 25
- Watchers: 6
- Forks: 9
- Open Issues: 1
- Releases: 10
Topics
Metadata Files
README.md
Parallel Engine for Radiation Energy Deposition
Introduction
PenRed is a powerful parallel engine for radiation transport Monte Carlo simulations. Comprehensive information about installation, usage, and component details can be found in the provided documentation (PenRedusermanual.pdf), located in the doc folder.
For further reading, users can refer to a descriptive academic article available on ArXiv, which has been accepted and published in the Computer Physics Communications journal. The article can be accessed at https://doi.org/10.1016/j.cpc.2021.108065. If you use PenRed in research that leads to publications, please cite this article.
pyPenred
A Python module named pyPenred has been developed to run PenRed simulations through Python. The easiest way to install the pyPenred package is via pip:
bash
pip install pyPenred
On some systems, you may also need to install the pyYAML package manually:
bash
pip install pyYAML
The complete API documentation can be found online and included in this package at src/bindings/python/pyPenred/docs/
Compiling pyPenred
To compile and install the pyPenred package manually (to enable native optimizations or include custom-developed modules), use the appropriate compilation script from the src folder:
Linux/macOS:
bash
./installPyPenred.sh
Windows:
bash
installPyPenred.bat
Usage
A brief explanation of pyPenred features and usage can be found in the pyPenred readme, which is also included in this repository at:
src/bindings/python/pyPenred/README.md
For a detailed description, see the Python Wrapper (pyPenred) section in the PenRed documentation.
Blender Integration
A Blender plugin has been developed to integrate geometry construction, simulation configuration, and execution within the Blender environment, providing a user-friendly graphical interface. The plugin can be installed via the zip file:
src/utilities/Blender/4.2.3/penred.zip
The plugin documentation is available online, and both the plugin and documentation source code can be found in the same folder as the zipped plugin.
Code Compilation
PenRed can be compiled with any compiler supporting the C++14 standard and CMake version 3.11 or later. The steps to compile the code are described following.
Download the Source Code
Download the source code either manually from the repository page or using git:
bash
git clone https://github.com/PenRed/PenRed.git
Compilation
Navigate to the src folder and use the appropriate compilation script for your operating system:
Linux/Unix: Run the bash script compile.sh with
bash bash compile.shWindows: Run the batch script compile.bat
The scripts will create:
A build folder for temporary compilation files
A compilation folder containing all generated executables
The main PenRed executable (used to run simulation examples) is located at:
src/compiled/mains/pen_main
Compilation Options
Edit the compilation scripts to enable/disable multiple features. Some of them are listed below:
- DICOMs: Enables DICOM image reading/simulation capabilities (requires DCMTK library). If the DCMTK library is not installed, it will be downloaded and compiled automatically. This step can take several minutes.
- Multi-threading: Enables multi-threading via C++ standard thread library (no additional dependencies).
- MPI: Enables MPI simulations (requires MPI implementation library like OpenMPI or MPICH).
- Load Balance: Enables load balancing between threads/MPI processes (requires multi-threading)
Additional compilation options for specific tools and bindings can be configured using CMake utilities (see documentation).
Basic usage
To execute the main program, the user needs to specify the configuration file path:
bash
./pen_main path/to/configuration/file
The configuration file should specify paths to required database files (materials, geometries, etc.). See the Framework Usage section in the documentation for details.
The examples folder contains ready-to-run configuration files with corresponding material and geometry files (described in the Examples documentation section). To run an example:
- Copy the executable to the example folder
- Run:
bash
./pen\_main config.in
or simply double click the executable. This will assume a configuration file named config.in exists in the directory.
For MPI-enabled builds, execute as any MPI program:
mpirun -np Nprocesses ./pen\_main path/to/configuration/file
where Nprocesses specifies the number of MPI processes. Standard mpirun options (like hostfile) are supported.
Docker containers
The containers directory provides basic Dockerfiles to generate containers with an entry point ready to run PenRed simulations.
Owner
- Name: PenRed
- Login: PenRed
- Kind: organization
- Repositories: 2
- Profile: https://github.com/PenRed
CodeMeta (codemeta.json)
{
"@context": "https://doi.org/10.5063/schema/codemeta-2.0",
"@type": "SoftwareSourceCode",
"license": "https://spdx.org/licenses/AGPL-3.0-or-later",
"codeRepository": "git+https://github.com/PenRed/PenRed.git",
"dateCreated": "2019-10-01",
"datePublished": "2020-03-02",
"dateModified": "2020-05-18",
"downloadUrl": "https://github.com/PenRed/PenRed/archive/v1.0.tar.gz",
"issueTracker": "https://github.com/PenRed/PenRed/issues",
"name": "PenRed",
"version": "1.1.1",
"description": "PenRed is a fully parallel, modular and customizable framework for Monte-Carlo simulations of the passage of radiation through matter. ",
"applicationCategory": "Physics, Medical Physics",
"developmentStatus": "active",
"referencePublication": "arXiv:2003.00796",
"keywords": [
"Radiation transport",
"Monte Carlo simulation",
"Electron-photonshowers",
"Parallel computing",
"MPI",
"Medical physics"
],
"programmingLanguage": [
"C++"
],
"operatingSystem": [
"Linux"
],
"author": [
{
"@type": "Person",
"@id": "https://orcid.org/0000-0003-1646-6094",
"givenName": "Vicent",
"familyName": "Gimnez Alventosa",
"email": "vicent.gimenez.alventosa@gmail.com",
"affiliation": {
"@type": "Organization",
"name": "Instituto de Instrumentacin para Imagen Molecular (I3M) Centro mixto CSIC - Universitat Politcnica de Valncia"
}
},
{
"@type": "Person",
"@id": "https://orcid.org/0000-0003-3855-2567",
"givenName": "Vicente",
"familyName": "Gimnez Gmez",
"email": "vicente.gimenez@uv.es",
"affiliation": {
"@type": "Organization",
"name": "Departament de Fsica Terica and IFIC Universitat de Valncia-CSIC"
}
},
{
"@type": "Person",
"@id": "http://orcid.org/0000-0001-8258-3972",
"givenName": "Sandra",
"familyName": "Oliver Gil",
"email": "sanolgi@upvnet.upv.es",
"affiliation": {
"@type": "Organization",
"name": "Instituto de Seguridad Industrial, Radiofsica y Medioambiental (ISIRYM) Universitat Politcnica de Valncia"
}
}
]
}
GitHub Events
Total
- Issues event: 18
- Watch event: 6
- Delete event: 2
- Issue comment event: 14
- Push event: 123
- Pull request event: 11
- Fork event: 2
- Create event: 5
Last Year
- Issues event: 18
- Watch event: 6
- Delete event: 2
- Issue comment event: 14
- Push event: 123
- Pull request event: 11
- Fork event: 2
- Create event: 5
Committers
Last synced: about 2 years ago
Top Committers
| Name | Commits | |
|---|---|---|
| Vicent Giménez Alventosa | v****a@g****m | 232 |
| oleg.shirokobrod.os@hitachi-hightech.eu | o****s@h****m | 15 |
| sanogil | 6****l | 7 |
| Sandra Oliver Gil | s****l@e****s | 1 |
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 6 months ago
All Time
- Total issues: 17
- Total pull requests: 71
- Average time to close issues: 5 months
- Average time to close pull requests: 3 days
- Total issue authors: 5
- Total pull request authors: 3
- Average comments per issue: 0.88
- Average comments per pull request: 0.14
- Merged pull requests: 65
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 9
- Pull requests: 11
- Average time to close issues: 22 days
- Average time to close pull requests: 29 minutes
- Issue authors: 5
- Pull request authors: 2
- Average comments per issue: 0.78
- Average comments per pull request: 0.0
- Merged pull requests: 8
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- vigial (7)
- cvalcort (5)
- sanogil (3)
- XJJ76 (1)
- vribgar (1)
Pull Request Authors
- vigial (63)
- sanogil (6)
- shirokobrod (2)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 1
-
Total downloads:
- pypi 355 last-month
- Total dependent packages: 0
- Total dependent repositories: 0
- Total versions: 8
- Total maintainers: 1
pypi.org: pypenred
Python interface for penRed framework
- Homepage: https://github.com/penred/penred
- Documentation: https://pypenred.readthedocs.io/
- License: agpl-3.0
-
Latest release: 1.13.0
published 9 months ago
Rankings
Maintainers (1)
Dependencies
- actions/checkout v2 composite
- alpine latest build
- alpine latest build
- fedora 30 build
- actions/checkout v4 composite
- actions/deploy-pages v4 composite
- actions/setup-python v4 composite
- actions/upload-pages-artifact v3 composite
- actions/checkout v2 composite
- actions/download-artifact v4 composite
- actions/setup-python v2 composite
- actions/upload-artifact v4 composite
- pypa/gh-action-pypi-publish release/v1 composite
- furo >=2023.0
- myst-parser *
- sphinx >=6.0
- sphinx-autodoc-typehints *
- sphinx-copybutton *
- sphinxcontrib-napoleon *
- numpy *
- pyyaml *