science/openmc: New port: Monte Carlo neutron and photon transport simulation code

This commit is contained in:
Yuri Victorovich
2021-10-10 20:56:01 -07:00
parent 1ec4ec311a
commit eb26b25084
6 changed files with 225 additions and 0 deletions

View File

@@ -178,6 +178,7 @@
SUBDIR += openems
SUBDIR += openkim
SUBDIR += openkim-models
SUBDIR += openmc
SUBDIR += openmx
SUBDIR += opensim-core
SUBDIR += opensph

43
science/openmc/Makefile Normal file
View File

@@ -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>

5
science/openmc/distinfo Normal file
View File

@@ -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

View File

@@ -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

10
science/openmc/pkg-descr Normal file
View File

@@ -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/

138
science/openmc/pkg-plist Normal file
View File

@@ -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