Python Reader for Adaptive Mesh Interface Simulations
Project description
Pyramis: Python Reader for Adaptive Mesh Interface Simulations
A python library, to provide essential and efficient framework for management and analysis of the adaptive mesh simulation such as RAMSES.
Installing
Using pip
pip install pyramis
Using developement mode
git clone https://github.com/sanhancluster/pyramis
cd pyramis
pip install -e .
How to use
Reading RAMSES raw data
pyramis uses multi-threading (concurrent.futures.ThreadPoolExecutor) by default for reading RAMSES simulation data. Number of workers will be automatically decided by the available resources when the package is imported.
The particle data
You can read particle data directly from specific region by following commands.
import pyramis as pr
ramses_path = '/path/to/ramses/' # path to the directory where output_* are located
region = [[0.4, 0.6], [0.4, 0.6], [0.4, 0.6]] # targeting box in code unit
part = pr.ramses.read_part(ramses_path, iout=1, region=region) # reads output_00001
print(f"Total particle mass within the box is {np.sum(part['m'])}") # in code unit
For a particular type of particles, part_type option can be used
part = pr.ramses.read_part(ramses_path, iout=1, part_type='star')
The cell data
You can read all cells from specific region by following commands.
ramses_path = '/path/to/ramses/' # path to the directory where output_* are located
region = [[0.4, 0.6], [0.4, 0.6], [0.4, 0.6]] # targeting box in code unit
cell = pr.ramses.read_cell(ramses_path, iout=1, region=region)
print(f"Mean gas density within the box is {np.mean(cell['rho'])}") # in code unit
Reading RAMSES HDF format data
The particle and cell data
HDF format requires particle type to be specified.
hdf_path = '/path/to/hdf/' # path to the directory where part_*.h5, cell_*.h5 are located
region = [[0.4, 0.6], [0.4, 0.6], [0.4, 0.6]] # targeting box in code unit
part = pr.hdf.read_part(hdf_path, part_type='star', iout=1, region=region)
cell = pr.hdf.read_cell(hdf_path, iout=1, region=region)
Reading HaloMaker data
DM Halo and Galaxy Catalog
halomaker_path = '/path/to/halos/' # path the directory where tree_bricks* are located
halo = pr.halo_finder.read_halomaker(halomaker_path, iout=1)
galaxy = pr.halo_finder.read_halomaker(galaxymaker_path, iout=1, galaxy=True)
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 pyramis-0.1.13.tar.gz.
File metadata
- Download URL: pyramis-0.1.13.tar.gz
- Upload date:
- Size: 44.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
96929bd8442e80a8ee973b18136760919eb47a407c12769c5ae7d3d98a0fba80
|
|
| MD5 |
c62276e432ba5f93e794bfc003e9859d
|
|
| BLAKE2b-256 |
e8f02f4425a03f4166c680a6659fc0f0a0993b0d188a126268de3546d560e751
|
File details
Details for the file pyramis-0.1.13-py3-none-any.whl.
File metadata
- Download URL: pyramis-0.1.13-py3-none-any.whl
- Upload date:
- Size: 47.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9053e99300dd0f4c7b68fcccae4f7245cb6c4600f19d78af07c89fcb1363dc4f
|
|
| MD5 |
2896cb002b8274a34229737b50f71824
|
|
| BLAKE2b-256 |
abb533ac07ac9250fcbe8a7f690bd0fdfd87ed65f438451fe5de5631c964699c
|