1====================
2What's New in 0.10.0
3====================
4
5.. currentmodule:: openmc
6
7This release of OpenMC includes several new features, performance improvements,
8and bug fixes compared to version 0.9.0. Notably, a C API has been added that
9enables in-memory coupling of neutronics to other physics fields, e.g., burnup
10calculations and thermal-hydraulics. The C API is also backed by Python bindings
11in a new :mod:`openmc.capi` package. Users should be forewarned that the C API
12is still in an experimental state and the interface is likely to undergo changes
13in future versions.
14
15The Python API continues to improve over time; several backwards incompatible
16changes were made in the API which users of previous versions should take note
17of:
18
19- To indicate that nuclides in a material should be treated such that elastic
20  scattering is isotropic in the laboratory system, there is a new
21  :attr:`Material.isotropic` property::
22
23    mat = openmc.Material()
24    mat.add_nuclide('H1', 1.0)
25    mat.isotropic = ['H1']
26
27  To treat all nuclides in a material this way, the
28  :meth:`Material.make_isotropic_in_lab` method can still be used.
29
30- The initializers for :class:`openmc.Intersection` and :class:`openmc.Union`
31  now expect an iterable.
32
33- Auto-generated unique IDs for classes now start from 1 rather than 10000.
34
35.. attention:: This is the last release of OpenMC that will support Python
36               2.7. Future releases of OpenMC will require Python 3.4 or later.
37
38-------------------
39System Requirements
40-------------------
41
42There are no special requirements for running the OpenMC code. As of this
43release, OpenMC has been tested on a variety of Linux distributions and Mac
44OS X. Numerous users have reported working builds on Microsoft Windows, but your
45mileage may vary. Memory requirements will vary depending on the size of the
46problem at hand (mostly on the number of nuclides and tallies in the problem).
47
48------------
49New Features
50------------
51
52- Rotationally-periodic boundary conditions
53- C API (with Python bindings) for in-memory coupling
54- Improved correlation for Uranium enrichment
55- Support for partial S(a,b) tables
56- Improved handling of autogenerated IDs
57- Many performance/memory improvements
58
59---------
60Bug Fixes
61---------
62
63- 937469_: Fix energy group sampling for multi-group simulations
64- a149ef_: Ensure mutable objects are not hashable
65- 2c9b21_: Preserve backwards compatibility for generated HDF5 libraries
66- 8047f6_: Handle units of division for tally arithmetic correctly
67- 0beb4c_: Compatibility with newer versions of Pandas
68- f124be_: Fix generating 0K data with openmc.data.njoy module
69- 0c6915_: Bugfix for generating thermal scattering data
70- 61ecb4_: Fix bugs in Python multipole objects
71
72.. _937469: https://github.com/openmc-dev/openmc/commit/937469
73.. _a149ef: https://github.com/openmc-dev/openmc/commit/a149ef
74.. _2c9b21: https://github.com/openmc-dev/openmc/commit/2c9b21
75.. _8047f6: https://github.com/openmc-dev/openmc/commit/8047f6
76.. _0beb4c: https://github.com/openmc-dev/openmc/commit/0beb4c
77.. _f124be: https://github.com/openmc-dev/openmc/commit/f124be
78.. _0c6915: https://github.com/openmc-dev/openmc/commit/0c6915
79.. _61ecb4: https://github.com/openmc-dev/openmc/commit/61ecb4
80
81------------
82Contributors
83------------
84
85This release contains new contributions from the following people:
86
87- `Brody Bassett <brbass@umich.edu>`_
88- `Will Boyd <wbinventor@gmail.com>`_
89- `Guillaume Giudicelli <g_giud@mit.edu>`_
90- `Brittany Grayson <graybri3@isu.edu>`_
91- `Sterling Harper <sterlingmharper@gmail.com>`_
92- `Colin Josey <cjosey@mit.edu>`_
93- `Travis Labossiere-Hickman <tjlaboss@mit.edu>`_
94- `Jingang Liang <liangjg2008@gmail.com>`_
95- `Alex Lindsay <alexlindsay239@gmail.com>`_
96- `Johnny Liu <johnny16.21@gmail.com>`_
97- `Amanda Lund <alund@anl.gov>`_
98- `April Novak <novak@berkeley.edu>`_
99- `Adam Nelson <nelsonag@umich.edu>`_
100- `Jose Salcedo Perez <salcedop@mit.edu>`_
101- `Paul Romano <paul.k.romano@gmail.com>`_
102- `Sam Shaner <samuelshaner@gmail.com>`_
103