Skip to content

Releases: svalinn/DAGMC

Release v3.2.3

18 Dec 23:31
4303ac5
Compare
Choose a tag to compare

While there are some changes to the behavior of DAGMC in general, most of this release is focused on
improving the build process and robustness to support ongoing improvements.

Changed

  • Improvements/corrections to graveyard capabilities (#855)
  • Fixing order of attribute initialization in the metadata class (#903)
  • Adding const identifier to cross-reference methods (#906)

Update

Maintenance

  • Using multi stage Dockerfile to reduce the number of Dockerfile (#813, #894)
  • Adding safe folder to allow CI to compile DAGMC (#814)
  • Correction to CMake variable name in OpenMC install instructions (#817)
  • Updating documentation publishing URL (#823)
  • Update Pyne submodule (#845, #848)
  • Minor typo fixes in documentation (#851)
  • Moved scripts to Dockerfile and parallel CI (#863)
  • Removed unused Circle CI yml (#859)
  • Added configuration options to CMake configuration file (#867)
  • Introduced logger to better manage console output (#876)
  • Streamline CI to take advantage of better docker image management (#880, #896, #915)
  • Move more CI from scripts to actions (#895)
  • Develop advisory tests on merge for MOAB, double-down and Geant4, hdf5 (#870, #898, #899, #904, #925)
  • Adding flags to CI to ensure compatibility with MOOSE apps (#902)
  • Patched cmake-search paths for double-down and MOAB (#878)
  • Patch to compile with gcc-13 (#882)
  • Tweak conda environment for Windows build to avoid conflicting gtest headers (#888)
  • Restrict cython version for MOAB (#893)
  • Various documentation updates (#869)
  • Fix for HDF5 library linking issue (#926)

Release v3.2.2

19 May 15:06
89cff76
Compare
Choose a tag to compare

Changed:

  • Placing installed CMake configuration files in project directory (#802)
  • Removing build of static libs as a default option (#802)
  • Adding PYTHONPATH to linux CI images and creating pymoab installation directories (#802)

Release v3.2.1

18 Feb 02:16
1f8b597
Compare
Choose a tag to compare

Added:

  • adding BUILD_EXE option (default ON) allowing to build only the dagmc libs without the executable (for static and/or shared libs) (#717)
  • Including installation of a CMake version file for use with find_package in client codes. (#722)
  • CMake option to checkout PyNE submodule automatically (#734, #787)
  • GitHub Action to build and upload Docker images. (#746, #748, #754, #757, #758, #759, #765, #767)
  • Enforcing usage of Python3 for PyNE amalgamation. (#773,#792)
  • Adding workflow_dispatch option to docker_publish workflow (#776)
  • DagMC methods for creation and removal of the graveyard volume (#714)
  • CI build and test now support MacOS (shared build, no pymoab, no Double Down) (#780)
  • Added GitHub style citation file (CITATION.cff) (#790)

Changed:

  • RayTracer type alias and double-down includes. (#786)
  • reformat all files using clang-format (#679)
  • change housekeeping to test format against clang-format (#679)
  • now install dagmc header when building and installing static libs (#717)
  • now adds pyne as a submodule, and amalgamate at compilation (#731)
  • converted from news files to CHANGELOG (#769)
  • updated location & checksum of GEANT4 tarball (#735)
  • updated all documentation to refer to Coreform Cubit instead of Trelis (#736)
  • Added a job to CI for running tests with the DOUBLE_DOWN option enabled. (#738)
  • Threadsafe fix for the overlap check test. (#743)
  • website now points to github for plugin download (#744)
  • Location of double-down header files. (#745)
  • Location of Dockerimages from Dockerhub to GHCR. (#746)
  • update MOAB version (#740, #760, #768, #771)
  • Installing clang-format in the docker container instead of in the housekeeping script (#726)
  • updated PyNE to version 0.7.5 (#770)
  • improve path pattern to trigger docker build workflow (#772)
  • limit the extend of housekeeping workflows to pull_request (#774)
  • upgrade g-test to 1.8.0 (#778)
  • updated CI badges (#784)

Deprecated:

  • retiring python2 in CI (#747)

Removed:

  • Removed the data member defaultFacetingTolerance from the class DagMC. (#711)
  • Circle CI status badge in the README (#777)

Fixed:

  • adding special build flag to enable old hdf5 interface for PyNE when compiling against hdf5@1.12+ (#728)
  • Renamed jobs variable CI build system to avoid undocumented conflict with git submodule (#735)
  • Windows compatibility fix
  • remove_unsupported.py script is now compatible with python2...
  • Return correct bounding boxes when configured with Double-Down. (#779)

Maintenance:

Release 3.2.0

07 Jan 16:47
Compare
Choose a tag to compare

DAGMC v3.2.0

Fixes and improvements can be found in the changelog.

Highlights:

  • The integration of the C++ PyNE MaterialLibrary into the UWUW preprocessor
  • Addition of an overlap checking tool for faceted DAGMC models
  • Experimental support for Intel’s Embree ray tracer via the double down project.

Complete Changelog:

Added:

  • DagMC::git_sha method (PR#707)

  • Added libeigen3-dev package to be installed by apt (PR#683)

  • Tool for checking DagMC models for overlaps. (PR#641)

  • turn off fortran support in MOAB build (PR#684)

  • use '&&' to join successive build steps to fail build on first failure (PR#684)

  • remove specification of unused FORTRAN compiler for HDF5 & MOAB builds (PR#684)

  • Note on adding DagMC libraries to LD_LIBRARY_PATH for OpenMC usage. (PR#625)

  • Link to installation instructions for OpenMC with DagMC. (PR#625)

  • Documentation section on material assignment by name for OpenMC model
    prep. (PR#616)

  • MCNP6 version of pyne mesh source.F90. (PR#604)

  • Documentation on model prep for OpenMC simulations with a DAGMC
    geometry. (PR#599)

  • Added a script which updates amalgamated pyne. (PR#595)

  • OpenMC material writing capability for UWUW workflow via updates to the
    amalgamated PyNE source. (PR#594)

  • Community best practices including issue templates, pull request templates,
    contributing guidelines, and code of conduct. (PR#589)

  • Added PyNE mesh source routine functionality. This can be enabled by setting
    the BUILD_MCNP_PYNE_SOURCE compiler definition to ON. (PR#585)

  • Added ability for users to disable building static or shared libraries (PR#572)

  • Patch file for DAG-MCNP6.2 (PR#569)

  • Default to a Release build. This results in optimization flags being used
    everywhere as appropriate. (PR#555)

    • Note that MCNP is still configured to use no more than -O1
  • Add macros to cmake/DAGMC_macros.cmake. This results in much less
    duplicated cmake elsewhere. The following macros were added: (PR#555)

    • dagmc_setup_build: Sets core variables used throughout the rest of the
      project.
    • dagmc_setup_options: Defines cmake build options.
    • dagmc_setup_flags: Defines compiler flags.
    • dagmc_get_link_libs: Used by the dagmc_install_X macros to
      determine the names of the libraries that need to be linked.
    • dagmc_make_configure_file: Setup the DAGMCConfig.cmake file.
    • dagmc_install_library: Install a library.
    • dagmc_install_exe: Install an executable.
    • dagmc_install_test: Install a unit test.
    • dagmc_install_test_file: Install a file needed for unit testing.
  • Add a FindFluka.cmake file to find the Fluka library. (PR#555)

  • Add RPATH functionality so that all executables and libraries
    automatically know where their dependencies are located. This removes the need
    for users to add anything to their LD_LIBRARY_PATH. This can be turned off
    by setting -DBUILD_RPATH=OFF. (PR#555)

  • Add ability to build with position-independent code (PIC). This can be turned
    on by setting -DBUILD_PIC=ON. (PR#555)

  • Add options to enable/disable building all optional functionality. The
    following options were added: (PR#555)

    • BUILD_BUILD_OBB
    • BUILD_MAKE_WATERTIGHT
    • BUILD_TESTS
  • Documentation explaining the new requirement that all PRs must include a file
    explaining what the PR does. (PR#545)

  • Template for the news directory. (PR#545)

  • Additional boundary condition options in the dagmcMetaData class (PR#690)

Changed:

  • replaced calls for overlap tolerance and numerical precision in DagMC constructor (PR#708)

  • Packages now use direct path to include one-another, instead of relative ones (PR#703)

  • No longer require Fortran compiler unless building MCNP5/6 (PR#701)

  • Update amalgamated PyNE version to v0.7.3 (PR#700)

  • revamped Material management to leverage the PyNE::MaterialLibrary in place of the map<string, PyNE::Material> (PR#700)

  • Add DAGMC guard around (PR#695):

    • changed if statement in history_neutral_high.F90
    • check for goto statement in charged_particle_history.F90
  • Adding optional double-down dependency to enable ray tracing with Embree. (PR#693)

  • Replacing Travis in favor of CircleCI (PR#692, PR#698)

  • Splitting up the docker container building process into multiple files (PR#692, PR#697)

  • dagmcMetaData (PR#688, PR#689, PR#690):

    • Behavior to ignore missing density assignments for more flexible integration with certain codes. (PR#688)
    • Updates to the coding style. (PR#689)
    • Allows boundary condition values, graveyard material assignments, and vacuum material assignments to be lowercase
  • removed LAPACK dependency; replaced with Eigen3 for DAGMC (PR#686) and MOAB (PR#683)

  • Enabling testing for the shared object build of DAGMC (PR#674)

  • Adding RPATH value for our build of Geant4 on CI (PR#674)

  • Including additional test output on failure in CI (PR#674)

  • PullRequest-Agent suggestionsmcnp (PR#665)

    • using std::err for errors
    • update to C++11 standards for converting ints to strings
    • removed unnecessary comments
    • moved Graveyard and Vacuum strings to variables
  • PullRequest-Agent suggestions MakeWaterTight (PR#666):

    • remove commented code blocks that are either outdated or are debug statements
    • improvements to some logic for clarity
    • use of standard library containers to avoid potential memory leaks in Arc.cpp/Gen.cpp
    • improvements to struct/variable names
    • declared variables for "magic numbers"
    • passing by const reference where possible to avoid unnecessary memory allocation
    • removed an unused function (Arc::create_loops_from_oriented_edges_fast)
  • PullRequest-Agent suggestions DagMC (PR#671, PR#676):

    • updated pointer management to RAII ("Resource Allocation Is Initialization") technique, MBI is now a shared_ptr unless passed
      as a raw pointer in the DagMC constructor (can be returned as a shared_ptr if not provided as a raw pointer), GTT is now a
      shared_ptr, and can only be returned as such, GQT is now a uniq_ptr, (and can't be return - not change there)
    • tests: DagMC instance is now a shared_ptr, when used, MBI instance is now a shared_ptr
  • PullRequest-Agent suggestions uwuw, tally, overlap_check, build_obb, misc/tests (PR#680)

  • PullRequest-Agent suggestions Geat4 (PR#691)

  • Updates to variable names in make_watertight files (PR#672)

  • Changed name of overlap_check executable directory from "build" to
    "app". (PR#653)

  • all directories named build are changed to app for clarity. (PR#645)

  • dagmc/src/make_watertight: now accepting output_filename. (PR#636)

  • dagmc/src/check_watertight: now accepting output_filename. (PR#636)

  • Have the update_pyne script copy over the source.F90 files in pyne for MCNP5
    and MCNP6. (PR#626)

  • Update amalgamated pyne. (PR#626)

  • Updated amalgamated pyne. (PR#617)

  • The ASTYLE_ONLY Travis variable has been replaced with a HOUSEKEEPING_ONLY
    variable. If this variable is on, DAGMC will not be built and it will instead
    only perform 3 housekeeping checks: (PR#610)

    • News file: the CI will fail if a news file with the correct filename is not
      included.

    • Astyle: the version of astyle we use on the CI has been upgraded to 3.1.
      This is the version that is default on Ubuntu 18.04.

    • Documentation: the CI will now attempt to build the DAGMC documentation and
      will fail if it finds any errors or warnings.

  • The dockerfile has been modified so that it can be built with both Ubuntu
    16.04 and 18.04. (PR#610)

  • The docker images have been moved from the cnerg dockerhub organization to the
    svalinn organization. (PR#610)

  • The new build matrix for the non-housekeeping run is 2x2x2: (PR#610)

    • Ubuntu 16.04 vs. 18.04
    • gcc vs. clang
    • gcc-5.3 on 16.04; gcc-7.3 on 18.04
    • clang-3.8 on 16.04; clang-6.0 on 18.04
    • MOAB 5.1.0 vs. master vs. develop
  • The builds that use MOAB master and develop are allowed to fail without the
    entire CI failing. The CI will show as having passed once the housekeeping
    build and the four MOAB 5.1.0 builds have passed. (PR#610)

  • The CI will only build against MOAB master and develop during non-pull request
    builds; i.e. only during push builds and nightlies. (PR#610)

  • MOAB 5.1.0 is now included in the docker image so it does not need to be built
    every time the CI is run. (PR#610)

    • This is to save time, since we expect that previous versions of MOAB will
      not change. If it does change, we can update the Docker images.
    • MOAB master is still built every time it is needed.
  • MOAB is now built with pymoab support. This is for future-proofing in case
    DAGMC ever needs access to this functionality. (PR#610)

  • MOAB is now built against both custom-built HDF5 (1.10.4, up from 1.8.13) and
    against system HDF5. (PR#610)

    • The MOAB built against system HDF5 is currently unused, however, as there is
      currently a bug that makes it so DAGMC cannot build static executables if
      using system HDF5. If/when this bug is fixed, then building DAGMC with
      system HDF5 can be added to the build matrix.
  • Geant4 has been upgraded to version 10.5. (PR#610)

  • Building the documentation will throw an error if it encounters any warnings
    or errors. The previous warnings and errors that were occurring have been
    fixed. (PR#610)

  • Throw a fatal error if trying to build static executables but not static
    libraries, or shared executables but not shared libraries. (PR#605)

  • Added measure and source_sampling to amalgamated pyne and removed the
    standalone files we used to use. (PR#604)

  • Move keyword type to FC card in the docu...

Read more

Release candidate for 3.2

14 Jan 19:51
48fc711
Compare
Choose a tag to compare
Pre-release

This is a pre-release to facilitate conda-forge improvements.

Some steps for summarizing the release are still necessary.

First Release of FluDAG

20 Dec 21:49
540cb6e
Compare
Choose a tag to compare
Pre-release

This Tag reflects stability in the FluDAG section of the code. We have a number of keen users ready and waiting for this in the HEP community. Given the versioning requirements and the fact that DAGMC now has several interfaces, which really should have their own version number. This makes this release 1.0.0 of FluDAG