Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

339 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

E2E tests codecov Documentation Status Try Me In Colab

Monte Carlo radiative transfer, at Warp speed!

pinball-rt is a modern Monte Carlo radiative transfer code, designed to run on GPUs and to leverage Machine Learning to accelerate the radiative transfer calculations.

Quickstart

Install pinball-rt with pip:

   pip install git+https://github.com/psheehan/pinball-rt.git

Then set up a model and run:

   from pinballrt.sources import BlackbodyStar
   from pinballrt.grids import UniformCartesianGrid
   from pinballrt.model import Model
   import astropy.units as u
   import numpy as np

   # Set up the star.
   star = BlackbodyStar()

   # Set up the grid.
   model = Model(grid=UniformCartesianGrid, grid_kwargs={"ncells":9, "dx":2.0*u.au})

   density = np.ones(model.grid.shape)*1.0e-16 * u.g / u.cm**3
   
   amax = np.ones(model.grid.shape) * u.cm
   amax[4,4,4] = 1. * u.micron

   mass_fraction_carbon = np.ones(model.grid.shape) * 0.15
   mass_fraction_carbon[4,4,4] = 0.5

   model.set_physical_properties(density=density, 
                                 dust="diana.iso.dst", 
                                 amax=amax, 
                                 dust_abundances=(mass_fraction_carbon,))

   model.add_sources(star)

   # Calculate the temperature structure.
   model.thermal_mc(nphotons=100000)

   # Make an image.
   image = model.make_image(npix=256, pixel_size=0.2*u.arcsec, 
                            channels=np.array([1., 1000.])*u.micron, incl=45.*u.degree, 
                            pa=45.*u.degree, distance=1.*u.pc, device='cpu', 
                            include_gas=False, nphotons=1000000)

For more information, see the documentation at https://pinball-rt.readthedocs.io.

About

Pinball, but warp-speed

Resources

Stars

3 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages