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.
Install pinball-rt with pip:
pip install git+https://github.com/psheehan/pinball-rt.gitThen 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
model.set_physical_properties(density=density, dust="diana_wice.dst", amax=amax)
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.