Skip to content

Axom-v0.5.0

Compare
Choose a tag to compare
@ltaylor16 ltaylor16 released this 14 May 04:59
· 4934 commits to main since this release
db13734

Please download the Axom-v0.5.0.tar.gz tarball below, which includes all of the Axom submodules as well.

Added

  • Added the MFEMSidreDataCollection class for describing [MFEM] meshes and associated fields. This
    class was adapted from MFEM's SidreDataCollection and is enabled when Axom is built with MFEM
    and the AXOM_ENABLE_MFEM_SIDRE_DATACOLLECTION CMake option is enabled.
  • Added slic::setAbortFunction to configure a custom callback when SLIC aborts.
  • Added a batched option to quest's InOutOctree containment query example application.
    This uses a kernel to test for containment on an array of points.
    The query uses OpenMP threading, when available.
  • Inlet: Added support for user-defined conversions from Inlet tables to user-defined
    types, and support for arrays of user-defined types
  • Added compiler define NOMINMAX to axom/config.hpp.in to avoid problems with
    the Windows min and max macros.
  • Added cpp14 variant to Spack package to allow Inlet::LuaReader to be used more easily.
  • Inlet: Added support for string-keyed associative arrays (dictionaries)
  • Inlet: Added support for defining and retrieving functions from the input file
  • Inlet: Added support for YAML and JSON input files
  • Inlet: Added support for mixed-key (integer and string) associative arrays
  • Inlet: Added support for deeply nested containers of structs
  • Inlet: Added support for void and strings in Lua-defined functions
  • Inlet: Added get<std::vector<T>> for retrieving arrays without index information
  • Inlet: Added a new Writer for generating JSON schemas which can be used by text editors
    for autocompletion
  • Inlet: SphinxWriter will now document the signature of function callbacks added to a schema
  • Axom::Path - New class for performing basic path operations with user-selectable
    delimiter characters
  • Inlet: Added a method to inlet::Inlet that retrieves the set of unexpected names
    in the input file
  • Inlet: Added an option to mark Containers as strict, which fail verification when unexpected
    entries are present
  • Added support in MFEMSidreDataCollection for registering QFunctions
    (data associated with quadrature points on a mesh)
  • Inlet: The internal hierarchy of an Inlet object can be reconstructed from a Sidre group,
    excluding callback functions
  • Added new overloaded version of method
    sidre::DataStore::generateBlueprintIndex to incorporate new MPI
    features in conduit and allow for generation of a blueprint index on
    an under-decomposed parallel mesh
  • Added new method sidre::View::importArrayNode to import a
    conduit::Node holding array data directly into a sidre::View
  • Added support for registering material and species sets in
    MFEMSidreDataCollection. These correspond to
    matsets
    and
    specsets
    in the Mesh Blueprint

Changed

  • Converted [Uberenv] to a git submodule. We previously vendored a copy of this script.
  • The Sidre Datastore no longer rewires Conduit's error handlers to SLIC by default.
    It can be explicitly rewired using the static
    DataStore::setConduitSLICMessageHandlers() method.
  • Inlet: Changed SchemaCreator to an abstract class and added missing functions
  • Inlet: Added ability to access the Reader class from Inlet and Sol Lua state
    from the LuaReader class
  • Inlet: Switched accessor interface to match that of the STL with operator[] and
    T get<T>()
  • Inlet: std::shared_ptr<T> has been replaced with T& in non-owning contexts
    and std::unique_ptr<T> in owning contexts - specifically, within Inlet's internal
    tree structure
  • Unified core and SPIO unit tests into fewer executables to limit size of build directory
  • Renamed axom::slic::UnitTestLogger to axom::slic:SimpleLogger because it's used in
    more than just unit tests.
  • Inlet: Input file functions can now be of arbitrary signature subject to type and arity
    restrictions
  • Exported all symbols on Windows by default when compiling a dynamic library
  • Updated TPL conduit to version 0.6.0 released Nov 2, 2020.
  • Updated built-in TPL sparsehash to version 2.0.4 released Aug 11, 2020.
  • Inlet: Exposed primal::Vector in Lua for use in input-file-defined functions
  • The MFEMSidreDataCollection will now reconstruct fields and the mesh when a
    datastore is Loaded in
  • Inlet: Cleaned up Table interface to eliminate ambiguity and duplicated functionality
  • Inlet: Renamed DocWriter to Writer and refactored its interface
  • Inlet: Renamed Table to Container
  • Inlet collections of mixed or incorrect type will now fail verification, even if they're
    not marked as required
  • Required Inlet collections no longer fail Inlet verification if they are empty in the input file
  • Inlet: operator bool for Field and Container has been replaced with more precise isUserProvided
    and exists, which also returns true if a default value was specified.
  • Updated built-in TPL fmt to master branch snapshot, March 26, 2021.
  • Inlet: SphinxWriter will now print only one element schema per container instead of
    printing the same schema for each element in the container
  • Updated BLT to version 0.4.0 released 9 Apr 2021
  • Updated MFEM to version 4.2 released 30 Oct 2020. Axom no longer requires MFEM to be built serially
  • The macro for exporting symbols is now AXOM_EXPORT instead of AXOM_API
  • Updated Conduit to v0.6.0
  • Updated SCR to compatibility with v3.0rc1

Fixed

  • Updated to new BLT version that does not fail when ClangFormat returns an empty
    version string. BLT/Axom now issues a warning and disables the style build
    target if version is unknown or wrong.
  • Inlet: Apply lambda verifiers on generic containers to individual elements
    for consistency
  • Inlet: Fixed a bug relating to nested table lookups of primitive arrays and functions
  • Fixed a bug relating to deeply nested callback functions in Inlet
  • Inlet: Always ignore primitive array elements that do not match the requested type
  • Inlet: Empty structs/collections of structs with required sub-elements no longer fail
    verification
  • Quest: Fixed a bug with InOutOctree for triangles that lie on faces of octree blocks
  • Updated to use newer Conduit config directory
  • Add support for legacy hdf5 cmake build system