Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/niess/mulder
MUon fLux unDER
https://github.com/niess/mulder
muons transport
Last synced: 22 days ago
JSON representation
MUon fLux unDER
- Host: GitHub
- URL: https://github.com/niess/mulder
- Owner: niess
- License: lgpl-3.0
- Created: 2023-02-22T16:47:29.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2024-02-28T09:39:24.000Z (8 months ago)
- Last Synced: 2024-10-02T12:46:14.581Z (about 1 month ago)
- Topics: muons, transport
- Language: C
- Homepage: https://pypi.org/project/mulder/
- Size: 244 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: COPYING.LESSER
Awesome Lists containing this project
README
# The Mulder library
(_MUon fLux unDER_)
## Description
Mulder is utility library for computing local changes in the flux of atmospheric
muons due to geophysical features, e.g. due to a topography described by a
Digital Elevation Model (DEM).The master component of Mulder is a fluxmeter, which behaves as a portable probe
of the flux of atmospheric muons. The level of details of fluxmeters is
configurable, from a fast continuous approximation delivering an average flux
estimate, to a detailed Monte Carlo delivering discrete (weighted) atmospheric
muon events (at the observation point).Note that Mulder only simulates the transport of atmospheric muons, taking into
account the local features surrounding the fluxmeter. That is, Mulder does
not simulate muons production at height. Instead, a (configurable) reference
spectrum of atmospheric muons is used as input, providing the opensky flux, i.e.
the flux in the absence of any ground or other obstacles than the Earth
atmosphere.Mulder has a high level Python 3 interface, allowing one to configure and run
the core C library (`libmulder`). The C library can also be used directly, for
example as a generator of atmospheric muons for a C/C++ detector simulation.
Note however that the C library is bare-bones. High level customization
operations are intended to be done from Python. The C library only loads tables
at initialisation (e.g. produced from Python), and then it runs (produces muon
events) accordingly.## Installation
### From PyPI
On Linux, the `mulder` Python package can be installed with `pip` as
```
pip install mulder
```Note that Python (3.6, or more) is required (thus you might need to use `pip3`
instead of `pip`, depending on your system). The C library is bundled with the
Python package. In order to compile C/C++ projects, the `mulder` executable,
shipped with the Python package might be helpful. For example, the following
returns installation dependant compilation flags```
mulder config --cflags --libs
```### From source
Mulder source is available from [GitHub](https://github.com/niess/mulder). Note
that the library depends on other projects (_git submodules_), the like
[Pumas][PUMAS] and [Turtle][TURTLE]. The complete tree, including dependencies,
can be cloned as```
git clone --recursive https://github.com/niess/mulder.git
```(_note the `--recursive` in the previous command._)
Then, the Python package should build with the provided Makefile, as
```
cd mulder
make package
```This builds the package locally. Thus, you might also add the corresponding path
to your `PYTHONPATH`, e.g. as following in bash```
export PYTHONPATH=$PWD:$PYTHONPATH
```The C example(s) can be compiled as
```
make examples
```## Usage
The Mulder library is currently in alpha stage. As so, there is no dedicated
documentation. However, the Python package has detailed [examples][EXAMPLES]. A
brief example of usage in C is also provided.## License
The Mulder library is under the GNU LGPLv3 license. See the provided
[LICENSE][LICENSE] and [COPYING.LESSER][COPYING] files. The [examples][EXAMPLES]
however have a separate public domain license allowing them to be copied without
any restriction.[COPYING]: https://github.com/niess/mulder/blob/master/COPYING.LESSER
[EXAMPLES]: https://github.com/niess/mulder/tree/master/examples
[LICENSE]: https://github.com/niess/mulder/blob/master/LICENSE
[PUMAS]: https://github.com/niess/pumas
[TURTLE]: https://github.com/niess/turtle