Simple use example

import radmc3d as r3d
import numpy as np


class MyDust(r3d.Radmc3dDustSpecies):
    def __init__(self, rho0, sigma):
        self.rho0 = rho0
        self.sigma = sigma

    def density(self, coords):
        rr, _, _ = coords.transformTo(r3d.SphericalCoordinates)
        return self.rho0 * np.exp(-0.5 * rr**2 / self.sigma**2)


sim = r3d.Radmc3dSimulation()

sim.io.outdir = 'simfiles'
sim.io.clobber = False
sim.io.binary = True

sim.config.istar_sphere = False
sim.config.incl_dust = True
sim.config.nphot = 100000

sim.grid.coordsys = r3d.coordsys.CartesianCoordinates
sim.grid.u = np.linspace(-10., 10., 32) * r3d.cgs.au
sim.grid.v = np.linspace(-10., 10., 32) * r3d.cgs.au
sim.grid.w = np.linspace(-10., 10., 32) * r3d.cgs.au

sim.lmbda = np.logspace(-1., 3., 1000)

sim.dust['silicate'] = MyDust(rho0=1.e-16, sigma=5.*r3d.cgs.au)

sim.star[0] = r3d.Radmc3dBlackbodyStar(radius=r3d.cgs.RSun,
    center=r3d.CartesianCoordinates(0., 0., 0.),
    mass=r3d.cgs.MSun, Teff=5700.)

sim.commit()
sim.mctherm()
sim.render()