0.8.7
0.8.7 Release Highlights
(adapted from Conduit's Changelog)
Added
General
- Added public default and copy constructor to DataAccessor. Enables more flexibility with initializing DataAccessors from Nodes.
- Added Node.name(), Node.path(), Schema.name(), and Schema.path() to Python API.
- Added Node.as_index_t_ptr()
- Added
conduit::execution
namespace, which containsfor_all()
andsort()
functions. - Added DataType support to the Fortran API
Blueprint
- Added
conduit::blueprint::mpi::mesh::distribute
, which enables sending mesh domains to arbitrary MPI ranks (suppo - Added
conduit::blueprint::mesh::utils::NDIndex
class. Instantiate with shape, offset, and stride in array or conduit::Node. Get flatindex for N-D coordinates. - Added
conduit::blueprint::o2mrelation::O2MIndex
class. Instantiate with O2M relation Node; get flatindex for a given one_index and many_index. Alternative to Java-style iterator. - Added
conduit::blueprint::examples::mesh::rz_cylinder
function that generates example 2D cylindrical (RZ) meshes.
Fixed
General
- Fixed a logic issue undermining C++ type mapping when using CMake 3.26.
Blueprint
- Performance improvements to Mesh Blueprint topology metadata, used by
generate_points
,generate_sides
, etc. The class was rewritten and the old one was moved toconduit::blueprint::mesh::utils::reference::TopologyMetadata
. The new implementation is faster, often about 6-20x depending on options. - Performance improvements to O2M Iterators.
- Performance improvements to functions that underpin centroid generation.
Relay
- Fixed MPI baton logic error in
conduit::relay::io::blueprint::save_mesh()
that caused MPI tasks to serialize writes to files in the N domains to M files case. Fix restores parallel write performance. This bug did not impact cases where where N domains were written to N files (N to N) or N domains were written to a single file (N to 1).
Changed
General
- Changed diff of string types to respect null terminated strings instead of described length
- Improved diff_compatible of string types to look for substring match, to implement expected compatible semantics.
Blueprint
- Changed the recommended axis order for 2D cylindrical meshes to be
Z
as the first axis, andR
as the second. This choice aligns with expected visualization cases whereZ
varies with the horizontal axis andR
varies with the vertical axis.