Releases: svalinn/DAGMC
Release v3.2.3
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
Release v3.2.1
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 [email protected]+ (#728)
- Renamed
jobs
variable CI build system to avoid undocumented conflict withgit 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
DAGMC v3.2.0
Fixes and improvements can be found in the changelog.
Highlights:
- The integration of the C++ PyNE
MaterialLibrary
into theUWUW
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 byapt
(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
theBUILD_MCNP_PYNE_SOURCE
compiler definition toON
. (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
- Note that MCNP is still configured to use no more than
-
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 thedagmc_install_X
macros to
determine the names of the libraries that need to be linked.dagmc_make_configure_file
: Setup theDAGMCConfig.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 theirLD_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
- updated pointer management to RAII ("Resource Allocation Is Initialization") technique, MBI is now a shared_ptr unless passed
-
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 toapp
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 aHOUSEKEEPING_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.
- This is to save time, since we expect that previous versions of MOAB will
-
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.
- The MOAB built against system HDF5 is currently unused, however, as there is
-
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...
Release candidate for 3.2
This is a pre-release to facilitate conda-forge improvements.
Some steps for summarizing the release are still necessary.
First Release of FluDAG
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