A Python package for cosmological mass function calculations
Project description
MassFunc
A Python package for cosmological mass function calculations, including Press-Schechter, Sheth-Tormen mass functions, star formation rate density calculations, and more.
Features
- Cosmological calculations: Support for various cosmological parameters and models
- Mass function calculations: Implements Press-Schechter and Sheth-Tormen mass functions
- Star formation rate density: Calculate SFRD with customizable parameters
- Collapse fraction: Tools for calculating collapse fractions
- Efficient interpolation: Built-in interpolation for fast calculations
Installation
From PyPI (recommended)
pip install massfunc
From source
git clone https://github.com/SOYONAOC/MassFunction.git
cd massfunc
pip install -e .
Quick Start
import massfunc
# Create a mass function calculator with default cosmology
mf = massfunc.Mass_func(ns=0.965, sigma8=0.811, h=0.674, omegam=0.315)
# Setup interpolation for faster calculations
mf.sigma2_interpolation_set()
mf.dsig2dm_interpolation_set()
# Calculate mass function at z=0 for a range of masses
import numpy as np
masses = np.logspace(10, 15, 100) # 10^10 to 10^15 solar masses
z = 0.0
# Press-Schechter mass function
dndm_ps = mf.dndmps(masses, z)
# Sheth-Tormen mass function
dndm_st = mf.dndmst(masses, z)
# Star formation rate density
sfrd = massfunc.SFRD(ns=0.965, sigma8=0.811)
rho_sfr = sfrd.rhosfr(1e4, 1e8, z)
Classes and Methods
CosmologySet
Base class for cosmological parameters:
h: Dimensionless Hubble parameteromegam: Matter density parameteromegab: Baryon density parameteromegalam: Dark energy density parameter
Mass_func
Main class for mass function calculations:
sigma2(): Variance of density fielddndmps(): Press-Schechter mass functiondndmst(): Sheth-Tormen mass functiondndmeps(): Extended PS mass function
Collapse_fraction
Calculate collapse fractions:
fcoll(): Collapse fractiondfcolldz(): Derivative of collapse fraction with redshift
SFRD
Star formation rate density calculations:
rhosfr(): Star formation rate densityfstar(): Star formation efficiencyfduty(): Duty cycle
Dependencies
- numpy >= 1.18.0
- scipy >= 1.5.0
- astropy >= 4.0
- matplotlib >= 3.0.0
- sympy >= 1.6.0
- joblib >= 1.0.0
License
This project is licensed under the MIT License - see the LICENSE file for details.
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
Citation
If you use this package in your research, please cite:
@software{massfunc,
author = {Your Name},
title = {MassFunc: A Python package for cosmological mass function calculations},
url = {https://github.com/yourusername/massfunc},
version = {0.1.0},
year = {2025}
}
Support
If you encounter any issues or have questions, please file an issue on the GitHub repository.
Update log
Version 0.1.1
- Added EPS (Extended Press-Schechter) collapse fraction calculation
- New method
fcolleps()in Collapse_fraction class - Enhanced collapse fraction functionality
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file massfunc-0.2.1.tar.gz.
File metadata
- Download URL: massfunc-0.2.1.tar.gz
- Upload date:
- Size: 8.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
db97e587bb6c3a262755bdde58f19160a905af07655359e69c9278e218fff065
|
|
| MD5 |
3d2f7de53a9ba8c149070135ee3747cd
|
|
| BLAKE2b-256 |
d934170eb66a7bf823fdead85f97f420aaa3a26cb85e51b566e9b10182198fdb
|
File details
Details for the file massfunc-0.2.1-py3-none-any.whl.
File metadata
- Download URL: massfunc-0.2.1-py3-none-any.whl
- Upload date:
- Size: 7.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e9f742f186defbb8cd7bb9629b186f55dd24c70271b47ab367f4f87f825b3318
|
|
| MD5 |
a91f100d8e24898962b69a596337d841
|
|
| BLAKE2b-256 |
9f5c23fb8561a374a9fb24258dabbc40d220671f030fa1edddb96224be26bd84
|