- Fixed compatibility with HDF5 1.10.x. [#188]
- Simplify installation instructions, remove custom installer for Fortran dependencies, and remove CMake build system. [#206]
- Fixed compatibility with latest version of h5py. [#201]
- Fixed bug in method to truncate scattering matrix in dust properties. [#199]
- Added a workaround for a bug in ifort v16 that prevented compilation. [#190]
- Improved the accuracy of the Wood and Reynolds (1999) forced first scattering algorithm for very small optical depths, and implemented the Baes et al - 2016) composite biasing algorithm for forced first interaction. In addition, the
Model.set_forced_first_scattering
method has been renamed toModel.set_forced_first_interaction
, and this method now optionally takes the algorithm to use (wr99
orbaes16
) and in the case of thebaes16
algorithm,baes16_xi
can be passed. [#189] - Improved the efficiency of monochromatic radiative transfer: instead of propagating photons until they are absorbed, photon packets are forced to scatter and their energy is lowered at every interaction by the albedo until the energy goes below a threshold. This threshold defaults to 1.e-10, but this can be changed using the
energy_threshold
argument toModel.set_monochromatic
. [#158] - Remove bundled numpydoc and fix Python 3.6 compatibility. [#192]
- Refactored installation instructions to provide a more streamlined experience. [#161]
- Fixed a severe bug in the set-up of AMR grids that caused photons to be terminated before escaping from grids in specific cases. [#167]
- Fixed bug in ordering of axes for Cartesian and AMR grids for yt 3.x. [#168]
- Add installation instructions for FreeBSD (thanks to Aaron Lauterer). [#173]
- Fixed a bug that caused a VoronoiGrid initialized from another VoronoiGrid to not include the sparse neighbor information. [#177]
- Check for NaNs when writing out dust or model HDF5 file. [#179]
- Fix the installation script for dependencies to work with GCC 5. [#182]
- Remove deprecated frequencies= argument from set_monochromatic (instead, the wavelengths= argument should be used to give the wavelengths in microns). [#183]
- The set_wavelength_index_range should now take zero-based indices, consistent with the Python/Numpy convention. Note that this will break compatibility with previous scripts, so you will need to be sure to update calls to this method if you were using it. [#183]
- Update bundled decorator.py module. [#184]
- Disabled computation of SEDs for inside observers, since the apertures are not truly circular. Users should instead set up images and then do photometry on them as appropriate. [#185]
- The code base is now Python 3-compatible, and we no longer rely on 2to3. [#185]
- Update installation instructions to mention conda as the preferred installation method. [#186]
- Add workaround for a bug in HDF5 1.8 that caused issues with models that made use of filters. [#187]
- Added support for on-the-fly filter convolution. [#119]
- Power-law and Ulrich envelopes can now be used on cylindrical polar grids. [#136]
- Provide a way to sample random positions inside Voronoi cells. [#134, #151]
- Added the ability to load AMR grids from yt datasets. [#148]
- Correctly raise an error if photons are emitted outside the Voronoi grid. [#127]
- Avoid issues with number of photons when reading in models. [#145]
- Fix a bug that caused sublimation parameters to not be correctly read in. [#133]
- Fixed Fortran dependencies install script.
set_aperture_range
has been renamed toset_aperture_radii
to emphasize that these are radii. [#132]
- Internal refactoring of how spectra are gridded for raytracing to make it easier to implement Doppler-shifted spectra in future. [#126]
- Optimizations to memory and disk usage for Voronoi grids. [#128, #154, #156]
- Improvements to warnings and documentation. [#54, #98, #125]
- Removed deprecated mctherm2hyperion script. [#144]
- Fixed backward compatibility with files that don't include d_min/d_max
- Added an importer function,
construct_octree
, to convert a list of SPH particles into an Octree grid. [#67] - Addded support for Voronoi grids. Voronoi grids can be set via the
~hyperion.model.Model.set_voronoi_grid
method, passing in thex
,y
andz
coordinates of the sites as arguments. [#92] - Added the ability to make images that split up photons as a function of how many times they were scattered (using
set_track_origin('scatterings')
). [#99] - Added the ability to kill photons when scattered using
set_kill_on_scatter
, similarly to the existingset_kill_on_absorb
. [#101] - Added the ability to use input files in
ModelOutput.get_quantities
. [#106] - Added the ability to control the interpretation of the specific energy passed to
add_density_grid
using theset_specific_energy_type
argument. [#117] - Added the ability to use a grid from an HDF5 file on disk without reading it into the Python code, using
use_grid_from_file
. [#116] - Added support for cmake. [#112]
Image
andSED
objects now include attributesd_min
andd_max
that indicate the depth of the region used to contruct the image or SED. [#121]- Fixed a bug in the computation of the Rosseland mean opacity (it was in fact the Planck reciprocal mean opacity). Dust files have now been updated to version 2 to include both the Rosseland mean opacity and the Planck reciprocal mean opacity. [#123]
- Fixed a minor bug in the logic for killing photons that have had too many interactions. [#100]
- Fixed a bug that meant that BipolarCavity instances could not be subtracted from AmbientMedium instances. [#106]
- The
to_yt()
methods are now compatible with yt 3.x (3.0.1 and later recommended). [#113] - The
uncertainties=True
mode forget_sed
andget_image
has now been properly vectorized and should be faster by a factor of a few when requesting polarization results. [#114]
- Image and SED groups now have a
set_stokes
option that allows users to specify whether to save Stokes componenets other than I. Prior to this version, all Stokes components were always saved, but this resulted in an unecessarily high memory usage in many cases, so the default is now set toFalse
, and users have to explicitly setset_stokes(True)
in order to save all Stokes components. [#61] - It is now possible to turn off the warnings that occur when photons are killed due to too many interactions, using the
warn=True/False
option for the :meth:~hyperion.model.Model.set_max_interactions
method (and other similar methods). [#68]
- Fix Fortran dependency installer for gfortran 4.5 and earlier
- Fixed a bug that caused models using the monochromatic radiative transfer settings to not be read in correctly by :meth:
~hyperion.model.Model.read
. [#78]
- When using the monochromatic radiative transfer mode, users should now use the :meth:
~hyperion.conf.PeeledImageConf.set_wavelength_index_range
method instead of :meth:~hyperion.conf.PeeledImageConf.set_wavelength_range
. [#78]
- For models that require many point sources with a common spectrum, a new source type (point source collection) is now available. To add a point source collection, use
source = m.add_point_source_collection()
. Thesource.luminosity
attribute should be set to an array with as many elements as sources, and thesource.position
attribute should be set to a 2-d array where the first dimension matchessource.luminosity
, and with 3 elements in the second dimension (x, y, and z). - Sources can now be given names as strings, which can then be used as an argument to
source_id
in :meth:~hyperion.model.ModelOutput.get_sed
and :meth:~hyperion.model.ModelOutput.get_image
(when using photon tracking). - Improved documentation to explain better in which cases dust and total densities should be used. This is summarized in :doc:
important/important
. - Added an option to specify the minimum (relative) radial cell spacing for the :class:
~hyperion.model.AnalyticalYSOModel
class. - Fixed bug that prevented users from setting the grid manually with the :class:
~hyperion.model.AnalyticalYSOModel
class. - It is now possible to include multiple ambient mediums with different dust properties (this was limited to a single ambient medium property previously).
- The :meth:
~hyperion.model.Model.add_density_grid
method can now be called with a grid view for all grid types (previously this was only possible for AMR grids). - Added dust classes to the API documentation.
- Fixed a typo in the equation for the :class:
~hyperion.densities.AlphaDisk
class, and added definitions of the scaleheight for :class:~hyperion.densities.AlphaDisk
and :class:~hyperion.densities.FlaredDisk
. - Improve the reliability of the configure script.
- :meth:
~hyperion.model.ModelOutput.get_sed
and :meth:~hyperion.model.ModelOutput.get_image
now return SED and Image objects that contain meta-data in addition to the data itself. For example, images contain information about the field of view (in physical/angular units, where appropriate), and information about the units is also included. The old syntax ofwav, nufnu = m.get_sed(...)
will still work, but the meta-data will not be accessible in those cases. - New library of dust models, accessible in :doc:
dust/dust
- It is now possible to read in previous models completely, including the density structure, geometry, sources, dust, and configuration, using the :meth:
~hyperion.model.Model.read
method. In addition, new methods individual methods :meth:~hyperion.model.Model.use_sources
, :meth:~hyperion.model.Model.use_image_config
, :meth:~hyperion.model.Model.use_run_config
, and :meth:~hyperion.model.Model.use_output_config
allow more detailed control over reading in parameters from previous models. - It is now possible to force overwrite Hyperion output from the command-line using the
-f
option:hyperion -f input output
- or when using the individual fortran binaries:
mpirun -n 8 hyperion_car_mpi -f input output
. This will likely be useful for users of computer clusters who don't want a job to fail just because the output file already exists. - Regular Cartesian grids can now also be exported for viewing in
yt <http://yt-project.org/>
_ (as was previously possible for AMR and Octree grids). - A new function, :func:
~hyperion.model.helpers.run_with_vertical_hseq
, is available to help with the calculation of vertical Hydrostatic equilibrium in disks. Note that this feature is still experimental and should be used with care. - A new function, :func:
~hyperion.model.helpers.tau_to_radius
, is available to compute, for spherical polar grids, the optical depth from infinity to a given radius.
- PyFITS, PyWCS, and ATpy are no longer required for Hyperion. Instead, the
Astropy <http://www.astropy.org>
_ package is now required as a dependency. - Updated download link for MPICH2
- The
rho_0
attribute for disks is now a property, not a method, and can be set by the user instead of the disk mass. - The documentation has been improved and fixed in places thanks to user feedback.
- AnalyticalYSOModel instances are no longer 'static' once they have been written out (this means one can write out a model, change a parameter, and write out a new different model, which was not possible previously).
- The Fortran code now reads in dust models faster because it computes all cumulative distribution functions more efficiently.
- Statistics for killed photons are now kept for each iteration rather than just summing all of them.
- Fix compatibility with Numpy 1.8.0.dev
- Fix coverage testing for Python 3
- Fixed an issue which caused temporary files to not be deleted after running tests.
- The
AnalyticalYSOModel.evaluate_optically_thin_radii()
method has been removed.
- Updated hyperion2fits to extract binned images
- Added wmax= option for AnalyticalYSOModel.set_cylindrical_grid_auto
- Made deps/fortran/install.py script more robust to architecture, and to lack of zlib library.
- Ensure that spectrum always gets converted to floating-point values
- Give a more explicit error message if optical properties for dust are not set.
- Fixed bug that prevented BipolarCavity from being used
- Ensure that get_quantities works even if no initial iterations were computed
- Fix scattering for cases where P2=0. The code could sometimes crash if a mix of isotropic and non-isotropic dust was used (reported by M. Wolff).
- Fix a bug that occurred when outputting multiple images with the depth option (reported and fixed by T. Bowers) [#21, #22]
- Initial public release.