Skip to main content

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyramis-0.1.15.tar.gz (44.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pyramis-0.1.15-py3-none-any.whl (47.9 kB view details)

Uploaded Python 3

File details

Details for the file pyramis-0.1.15.tar.gz.

File metadata

  • Download URL: pyramis-0.1.15.tar.gz
  • Upload date:
  • Size: 44.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.14

File hashes

Hashes for pyramis-0.1.15.tar.gz
Algorithm Hash digest
SHA256 c71db2272bc25b3027e1abe2c30ced7147a33faa84e174c820df9170f6d2e5bd
MD5 a5daa82e7b18307ca0aa6a1cd1adb5be
BLAKE2b-256 dee9f261d33a534eb465c351da7574cdb426f139f1820236f673604f138c77c6

See more details on using hashes here.

File details

Details for the file pyramis-0.1.15-py3-none-any.whl.

File metadata

  • Download URL: pyramis-0.1.15-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

Hashes for pyramis-0.1.15-py3-none-any.whl
Algorithm Hash digest
SHA256 110c072adb9778d74c02d527d6b3ef5e51dda553b3bacdcf1c70e1b07aa170fa
MD5 d398181a048d8e0063e8afba8773cb69
BLAKE2b-256 dfcb11ade09b5bd9a1aa86f50d6d0393089f524743aaa161c3a44dc617a67c67

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page