Releases: idaholab/MontePy
Releases · idaholab/MontePy
Release 0.5.4
Release 1.0.0a1
Features Added
- Redesigned how Materials hold Material_Components. See the migration plan (#507).
- Made it easier to create an Isotope (now Nuclide):
montepy.Nuclide("H-1.80c")
(#505). - When a typo in an object attribute is made an Error is raised rather than silently having no effect (#508).
- Improved material printing to avoid very long lists of components (#144).
- Allow querying for materials by components (#95).
- Added support for getting and setting default libraries, e.g.,
nlib
, from a material (#369). - Added most objects to the top level so they can be accessed like:
montepy.Cell
. - Made
Material.is_atom_fraction
settable (#511). - Made NumberedObjectCollections act like a set (#138).
- Automatically added children objects, e.g., the surfaces in a cell, to the problem when the cell is added to the problem (#63).
- Added ability to parse all MCNP objects from a string (#88).
- Added function:
montepy.mcnp_problem.MCNP_Problem.parse
to parse arbitrary MCNP object (#88). - An error is now raised when typos in object attributes are used, e.g.,
cell.nubmer
(#508).
Bugs Fixed
- Made it so that a material created from scratch can be written to file (#512).
- Added support for parsing materials with parameters mixed throughout the definition (#182).
Breaking Changes
- Removed
montepy.data_inputs.material.Material.material_components
. See the migration plan (#507). - Removed
montepy.data_inputs.isotope.Isotope
and changed them tomontepy.data_inputs.nuclide.Nuclide
. - Removed
montepy.mcnp_problem.MCNP_Problem.add_cell_children_to_problem
as it is no longer needed.
Release 0.5.3.post1
Merge pull request #610 from idaholab/relax_sly Relax sly dependency to include sly 0.4
Release 0.5.3
Bug Fixes
- Fixed how material components work so new components can actually be added to a material and exported (#597).
Release 0.5.2
Error Handling
- Added the input file, line number, and the input text to almost all errors raised by MCNP_Object (#581).
Documentation
- Updated README.
- Updated all demo code to be tested, and corrected bugs.
Release 0.5.1
Release 0.5.0
Features Added
- Added
clone
method to simplify making copies of objects (#469).
Performance Improvement
- Fixed cyclic memory reference that lead to memory leak in
copy.deepcopy
(#514). - Fixed O(N2) operation in how append works for object collections like Cells (#556).
Bug Fixes
- Fixed bug with parsing an
EO
input (#551). - Fixed a bug raised in an edge case when editing cell geometry, by making the error clearer (#558).
- Fixed bug with having a shortcut in a cell fill (#552).
- Fixed bug where file streams couldn't actually be read (#553).
Support
- Added support for Python 3.13, and removed support for Python 3.8, and officially added support NumPy 1 & 2 (#548).
Release 0.4.1
Features Added
- Added support for reading an input from either file paths or streams (file handles) with
montepy.read_input
(#519).
Bug Fixes
- Fixed a bug where
problem.materials.append_renumber
would double add a material toproblem.data_inputs
(#516). - Fixed bug where material-level library specifications (e.g.,
m1 plib=84p
) could not be fully parsed (#521). - Fixed bug with shortcuts right after another shortcut (e.g.,
1 2M 3R
) not being properly recompressed on export (#499). - Fixed bug with shortcuts in cell geometry definitions not being recompressed on export (#489).
- Fixed bug where leading comments were not always transferred to the appropriate input. (#352, #526).
Performance Improvement
- Fixed method of linking
Material
toThermalScattering
objects, avoiding a very expensive O(N 2) (#510).
Deprecations
- Marked
Material.material_components
as deprecated, and created migration plan describing what to expect moving forward (#506).
Release 0.4.0
Features Added
- Write problems to either file paths or streams (file handles) with MCNP_Problem.write_problem() (#492).
- When adding a material to problem.materials it will also be added to problem.data_inputs, ensuring it is printed to the file (#488).
Bug Fixes
- Fixed bug that didn't show metastable states for pretty printing and isotope. Also handled the case that Am-241 metstable states break convention (#486).
- Fixed bug where cell modifiers could be made irrelevant by being added after a comment (#483).
- Fixed bug where parentheses in cell geometry are not properly exported (#491).
Release 0.3.3
Bug fixes
- Fixed bug with material compositions not being updated when written to file (#470).
- Fixed bug with appending and renumbering numbered objects from other MCNP problems (#466).
- Fixed bug with dynamic typing and the parsers that only appear in edge cases (#461).
- Fixed parser bug with having spaces in the start of the transform input for the fill of a cell (#479).
- Fixed bug with trying to get trailing comments from non-existant parts of the syntax tree (#480).
Code Quality
- Simpler
Isotope
representation (#473).