git: eb26b25084ca - main - science/openmc: New port: Monte Carlo neutron and photon transport simulation code
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Mon, 11 Oct 2021 03:56:35 UTC
The branch main has been updated by yuri: URL: https://cgit.FreeBSD.org/ports/commit/?id=eb26b25084ca81ec7a3df633d635337b881cf7a0 commit eb26b25084ca81ec7a3df633d635337b881cf7a0 Author: Yuri Victorovich <yuri@FreeBSD.org> AuthorDate: 2021-10-11 03:56:01 +0000 Commit: Yuri Victorovich <yuri@FreeBSD.org> CommitDate: 2021-10-11 03:56:33 +0000 science/openmc: New port: Monte Carlo neutron and photon transport simulation code --- science/Makefile | 1 + science/openmc/Makefile | 43 ++++++++++ science/openmc/distinfo | 5 ++ science/openmc/files/patch-CMakeLists.txt | 28 ++++++ science/openmc/pkg-descr | 10 +++ science/openmc/pkg-plist | 138 ++++++++++++++++++++++++++++++ 6 files changed, 225 insertions(+) diff --git a/science/Makefile b/science/Makefile index b1371a5909d0..421d2e26b93e 100644 --- a/science/Makefile +++ b/science/Makefile @@ -178,6 +178,7 @@ SUBDIR += openems SUBDIR += openkim SUBDIR += openkim-models + SUBDIR += openmc SUBDIR += openmx SUBDIR += opensim-core SUBDIR += opensph diff --git a/science/openmc/Makefile b/science/openmc/Makefile new file mode 100644 index 000000000000..178c65250c23 --- /dev/null +++ b/science/openmc/Makefile @@ -0,0 +1,43 @@ +PORTNAME= openmc +DISTVERSIONPREFIX= v +DISTVERSION= 0.12.2 +CATEGORIES= science + +MAINTAINER= yuri@FreeBSD.org +COMMENT= Monte Carlo neutron and photon transport simulation code + +LICENSE= MIT +LICENSE_FILE= ${WRKSRC}/LICENSE + +BUILD_DEPENDS= xtensor>0:math/xtensor +LIB_DEPENDS= libfmt.so:devel/libfmt \ + libhdf5.so:science/hdf5 \ + libpugixml.so:textproc/pugixml \ + libsz.so:science/szip + +USES= cmake:noninja eigen:3 pkgconfig + +USE_GITHUB= yes +GH_ACCOUNT= ${PORTNAME}-dev +GH_TUPLE= martinmoene:gsl-lite:913e86d:gsl_lite/vendor/gsl-lite + +BINARY_ALIAS= git=false + +OPTIONS_DEFINE= LIBMESH MPI OPENMP +OPTIONS_DEFAULT= MPI OPENMP + +LIBMESH_DESC= Support for libMesh unstructured mesh tallies +LIBMESH_CMAKE_BOOL= libmesh +LIBMESH_LIB_DEPENDS= libmesh_opt.so:math/libmesh +LIBMESH_BROKEN= https://github.com/openmc-dev/openmc/issues/1893 + +MPI_VARS= CXX=${LOCALBASE}/mpi/openmpi/bin/mpic++ +MPI_BUILD_DEPENDS= openmpi>0:net/openmpi +MPI_RUN_DEPENDS= openmpi>0:net/openmpi + +OPENMP_CMAKE_BOOL= openmp + +post-install: + ${RM} -r ${STAGEDIR}${DOCSDIR} + +.include <bsd.port.mk> diff --git a/science/openmc/distinfo b/science/openmc/distinfo new file mode 100644 index 000000000000..cfecd2e87c2b --- /dev/null +++ b/science/openmc/distinfo @@ -0,0 +1,5 @@ +TIMESTAMP = 1633803853 +SHA256 (openmc-dev-openmc-v0.12.2_GH0.tar.gz) = 29ca66d0e7140357d747516807c91cbf1aace0ebc29dfe9650e9da3c2975dd94 +SIZE (openmc-dev-openmc-v0.12.2_GH0.tar.gz) = 8316985 +SHA256 (martinmoene-gsl-lite-913e86d_GH0.tar.gz) = 53f4ad67e182d58161ec297593af4139ccb2a8fd712ba9cd77d129b6f87c6b3b +SIZE (martinmoene-gsl-lite-913e86d_GH0.tar.gz) = 105966 diff --git a/science/openmc/files/patch-CMakeLists.txt b/science/openmc/files/patch-CMakeLists.txt new file mode 100644 index 000000000000..039d87adf5a2 --- /dev/null +++ b/science/openmc/files/patch-CMakeLists.txt @@ -0,0 +1,28 @@ +- workaround for https://github.com/openmc-dev/openmc/issues/1891 +- fix xtl,xtensor dependencies + +--- CMakeLists.txt.orig 2021-06-14 14:22:01 UTC ++++ CMakeLists.txt +@@ -174,7 +174,7 @@ if(GIT_FOUND AND EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/. + endif() + + # Check to see if submodules exist (by checking one) +-if(NOT EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/vendor/pugixml/CMakeLists.txt") ++if(FALSE AND NOT EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/vendor/pugixml/CMakeLists.txt") + message(FATAL_ERROR "The git submodules were not downloaded! GIT_SUBMODULE was \ + turned off or failed. Please update submodules and try again.") + endif() +@@ -206,9 +206,10 @@ if (NOT (CMAKE_VERSION VERSION_LESS 3.13)) + cmake_policy(SET CMP0079 NEW) + endif() + +-add_subdirectory(vendor/xtl) +-set(xtl_DIR ${CMAKE_CURRENT_BINARY_DIR}/vendor/xtl) +-add_subdirectory(vendor/xtensor) ++#add_subdirectory(vendor/xtl) ++#set(xtl_DIR ${CMAKE_CURRENT_BINARY_DIR}/vendor/xtl) ++#add_subdirectory(vendor/xtensor) ++find_package(xtensor REQUIRED) + + #=============================================================================== + # GSL header-only library diff --git a/science/openmc/pkg-descr b/science/openmc/pkg-descr new file mode 100644 index 000000000000..5f83fbdea530 --- /dev/null +++ b/science/openmc/pkg-descr @@ -0,0 +1,10 @@ +OpenMC is a community-developed Monte Carlo neutron and photon transport +simulation code. It is capable of performing fixed source, k-eigenvalue, and +subcritical multiplication calculations on models built using either a +constructive solid geometry or CAD representation. OpenMC supports both +continuous-energy and multigroup transport. The continuous-energy particle +interaction data is based on a native HDF5 format that can be generated from +ACE files produced by NJOY. Parallelism is enabled via a hybrid MPI and OpenMP +programming model. + +WWW: https://openmc.org/ diff --git a/science/openmc/pkg-plist b/science/openmc/pkg-plist new file mode 100644 index 000000000000..58e11ae2a3d2 --- /dev/null +++ b/science/openmc/pkg-plist @@ -0,0 +1,138 @@ +bin/openmc +include/faddeeva/Faddeeva.cc +include/faddeeva/Faddeeva.hh +include/gsl-lite/gsl-lite.hpp +include/gsl/gsl +include/gsl/gsl-lite.hpp +include/openmc/angle_energy.h +include/openmc/array.h +include/openmc/bank.h +include/openmc/boundary_condition.h +include/openmc/bremsstrahlung.h +include/openmc/capi.h +include/openmc/cell.h +include/openmc/cmfd_solver.h +include/openmc/constants.h +include/openmc/container_util.h +include/openmc/cross_sections.h +include/openmc/dagmc.h +include/openmc/distribution.h +include/openmc/distribution_angle.h +include/openmc/distribution_energy.h +include/openmc/distribution_multi.h +include/openmc/distribution_spatial.h +include/openmc/eigenvalue.h +include/openmc/endf.h +include/openmc/error.h +include/openmc/event.h +include/openmc/file_utils.h +include/openmc/finalize.h +include/openmc/geometry.h +include/openmc/geometry_aux.h +include/openmc/hdf5_interface.h +include/openmc/initialize.h +include/openmc/lattice.h +include/openmc/material.h +include/openmc/math_functions.h +include/openmc/memory.h +include/openmc/mesh.h +include/openmc/message_passing.h +include/openmc/mgxs.h +include/openmc/mgxs_interface.h +include/openmc/neighbor_list.h +include/openmc/nuclide.h +include/openmc/openmp_interface.h +include/openmc/output.h +include/openmc/particle.h +include/openmc/particle_data.h +include/openmc/particle_restart.h +include/openmc/photon.h +include/openmc/physics.h +include/openmc/physics_common.h +include/openmc/physics_mg.h +include/openmc/plot.h +include/openmc/position.h +include/openmc/progress_bar.h +include/openmc/random_dist.h +include/openmc/random_lcg.h +include/openmc/reaction.h +include/openmc/reaction_product.h +include/openmc/scattdata.h +include/openmc/search.h +include/openmc/secondary_correlated.h +include/openmc/secondary_kalbach.h +include/openmc/secondary_nbody.h +include/openmc/secondary_thermal.h +include/openmc/secondary_uncorrelated.h +include/openmc/settings.h +include/openmc/shared_array.h +include/openmc/simulation.h +include/openmc/source.h +include/openmc/state_point.h +include/openmc/string_utils.h +include/openmc/summary.h +include/openmc/surface.h +include/openmc/tallies/derivative.h +include/openmc/tallies/filter.h +include/openmc/tallies/filter_azimuthal.h +include/openmc/tallies/filter_cell.h +include/openmc/tallies/filter_cell_instance.h +include/openmc/tallies/filter_cellborn.h +include/openmc/tallies/filter_cellfrom.h +include/openmc/tallies/filter_collision.h +include/openmc/tallies/filter_delayedgroup.h +include/openmc/tallies/filter_distribcell.h +include/openmc/tallies/filter_energy.h +include/openmc/tallies/filter_energyfunc.h +include/openmc/tallies/filter_legendre.h +include/openmc/tallies/filter_match.h +include/openmc/tallies/filter_material.h +include/openmc/tallies/filter_mesh.h +include/openmc/tallies/filter_meshsurface.h +include/openmc/tallies/filter_mu.h +include/openmc/tallies/filter_particle.h +include/openmc/tallies/filter_polar.h +include/openmc/tallies/filter_sph_harm.h +include/openmc/tallies/filter_sptl_legendre.h +include/openmc/tallies/filter_surface.h +include/openmc/tallies/filter_universe.h +include/openmc/tallies/filter_zernike.h +include/openmc/tallies/tally.h +include/openmc/tallies/tally_scoring.h +include/openmc/tallies/trigger.h +include/openmc/thermal.h +include/openmc/timer.h +include/openmc/track_output.h +include/openmc/urr.h +include/openmc/vector.h +include/openmc/version.h +include/openmc/version.h.in +include/openmc/volume_calc.h +include/openmc/wmp.h +include/openmc/xml_interface.h +include/openmc/xsdata.h +lib/cmake/OpenMC/OpenMCConfig.cmake +lib/cmake/OpenMC/OpenMCConfigVersion.cmake +lib/cmake/OpenMC/OpenMCTargets-%%CMAKE_BUILD_TYPE%%.cmake +lib/cmake/OpenMC/OpenMCTargets.cmake +lib/cmake/gsl-lite/gsl-lite-config-version.cmake +lib/cmake/gsl-lite/gsl-lite-config.cmake +lib/cmake/gsl-lite/gsl-lite-targets.cmake +lib/libfaddeeva.a +lib/libopenmc.so +man/man1/openmc.1.gz +%%DATADIR%%/relaxng/cross_sections.rnc +%%DATADIR%%/relaxng/cross_sections.rng +%%DATADIR%%/relaxng/geometry.rnc +%%DATADIR%%/relaxng/geometry.rng +%%DATADIR%%/relaxng/materials.rnc +%%DATADIR%%/relaxng/materials.rng +%%DATADIR%%/relaxng/mg_cross_sections.rnc +%%DATADIR%%/relaxng/mg_cross_sections.rng +%%DATADIR%%/relaxng/plots.rnc +%%DATADIR%%/relaxng/plots.rng +%%DATADIR%%/relaxng/readme.rst +%%DATADIR%%/relaxng/settings.rnc +%%DATADIR%%/relaxng/settings.rng +%%DATADIR%%/relaxng/tallies.rnc +%%DATADIR%%/relaxng/tallies.rng