Date: Mon, 5 Sep 2022 08:16:03 GMT From: Yuri Victorovich <yuri@FreeBSD.org> To: ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org Subject: git: 565a8a434c26 - main - science/serac: New port: High order nonlinear thermomechanical simulation code Message-ID: <202209050816.2858G3pg005000@gitrepo.freebsd.org>
next in thread | raw e-mail | index | archive | help
The branch main has been updated by yuri: URL: https://cgit.FreeBSD.org/ports/commit/?id=565a8a434c2616ec558255f4d548d269bcd973b3 commit 565a8a434c2616ec558255f4d548d269bcd973b3 Author: Yuri Victorovich <yuri@FreeBSD.org> AuthorDate: 2022-09-05 08:14:44 +0000 Commit: Yuri Victorovich <yuri@FreeBSD.org> CommitDate: 2022-09-05 08:15:51 +0000 science/serac: New port: High order nonlinear thermomechanical simulation code --- science/Makefile | 1 + science/serac/Makefile | 52 ++++++++++++ science/serac/distinfo | 9 ++ ...serac_infrastructure_tests_serac__profiling.cpp | 10 +++ ...ch-src_serac_numerics_functional_functional.hpp | 11 +++ science/serac/pkg-descr | 7 ++ science/serac/pkg-plist | 99 ++++++++++++++++++++++ 7 files changed, 189 insertions(+) diff --git a/science/Makefile b/science/Makefile index f41ec7bd287d..fd58073dc13c 100644 --- a/science/Makefile +++ b/science/Makefile @@ -417,6 +417,7 @@ SUBDIR += rubygem-ruby-netcdf SUBDIR += scidavis SUBDIR += segyio + SUBDIR += serac SUBDIR += shelxle SUBDIR += siconos SUBDIR += siesta diff --git a/science/serac/Makefile b/science/serac/Makefile new file mode 100644 index 000000000000..aa6870216062 --- /dev/null +++ b/science/serac/Makefile @@ -0,0 +1,52 @@ +PORTNAME= serac +PORTVERSION= g20220823 +CATEGORIES= science + +MAINTAINER= yuri@FreeBSD.org +COMMENT= High order nonlinear thermomechanical simulation code + +LICENSE= BSD3CLAUSE +LICENSE_FILE= ${WRKSRC}/LICENSE + +LIB_DEPENDS= libaxom.so:science/axom \ + libconduit.so:science/conduit \ + libhdf5.so:science/hdf5 \ + libHYPRE.so:science/hypre \ + libmfem.so:math/mfem \ + libsiloh5.so:science/silo + +USES= cmake:testing compiler:c++17-lang +USE_LDCONFIG= yes + +USE_GITHUB= yes +GH_ACCOUNT= LLNL +GH_TAGNAME= 07b8ef1 +GH_TUPLE= LLNL:blt:49971b88e631aba76a9990c7702ceee47a7c3216:LLNL_blt/cmake/blt \ + LLNL:uberenv:2cd030dd8fa9ff381900bfbe12fe1eea44a57bb5:LLNL_uberenv/scripts/uberenv \ + LLNL:serac_tests:2fee9739eadeb218e99f7f5549e0800df81ca757:LLNL_serac_tests/tests + +CMAKE_TESTING_ON= ENABLE_TESTS # tests fail to compile, see https://github.com/LLNL/serac/issues/786 + +CMAKE_ON= BUILD_SHARED_LIBS +CMAKE_OFF= ENABLE_TESTS +CMAKE_ARGS= -DAXOM_DIR=${LOCALBASE} \ + -DCONDUIT_DIR=${LOCALBASE} \ + -DMFEM_DIR=${LOCALBASE} + +OPTIONS_SINGLE= MPI +OPTIONS_SINGLE_MPI= MPICH OPENMPI +OPTIONS_DEFAULT= MPICH +OPTIONS_SUB= yes + +MPICH_USES= mpi:mpich +MPICH_CMAKE_ON= -DENABLE_MPI=ON \ + -DMPI_C_COMPILER=${MPICC} \ + -DMPI_CXX_COMPILER=${MPICXX} + +OPENMPI_USES= mpi:openmpi +OPENMPI_CMAKE_ON= -DENABLE_MPI=ON \ + -DMPI_C_COMPILER=${MPICC} \ + -DMPI_CXX_COMPILER=${MPICXX} +OPENMPI_BROKEN= mixes OpenMPI and MPICH when both are installed, see https://github.com/LLNL/serac/issues/787 + +.include <bsd.port.mk> diff --git a/science/serac/distinfo b/science/serac/distinfo new file mode 100644 index 000000000000..ab991e9f6eb8 --- /dev/null +++ b/science/serac/distinfo @@ -0,0 +1,9 @@ +TIMESTAMP = 1662358186 +SHA256 (LLNL-serac-g20220823-07b8ef1_GH0.tar.gz) = 687bfc578b6b1ba30d13ac973977f2cd31c92baa7539dbabd2d71c7b99759a51 +SIZE (LLNL-serac-g20220823-07b8ef1_GH0.tar.gz) = 5513337 +SHA256 (LLNL-blt-49971b88e631aba76a9990c7702ceee47a7c3216_GH0.tar.gz) = 456a70fa20ab6859fa7dad80646bd3e5ba39e195f31fe00519beea21622c3c61 +SIZE (LLNL-blt-49971b88e631aba76a9990c7702ceee47a7c3216_GH0.tar.gz) = 1216333 +SHA256 (LLNL-uberenv-2cd030dd8fa9ff381900bfbe12fe1eea44a57bb5_GH0.tar.gz) = 939b597b84afffc1210c61d0fb3a9705696c398d871eda83ccef3bd68381eaf7 +SIZE (LLNL-uberenv-2cd030dd8fa9ff381900bfbe12fe1eea44a57bb5_GH0.tar.gz) = 25837 +SHA256 (LLNL-serac_tests-2fee9739eadeb218e99f7f5549e0800df81ca757_GH0.tar.gz) = 0bcd3ad11b117da20362b8b6187e5ff16100a7058a200230fff7758c4d93cd14 +SIZE (LLNL-serac_tests-2fee9739eadeb218e99f7f5549e0800df81ca757_GH0.tar.gz) = 17539 diff --git a/science/serac/files/patch-src_serac_infrastructure_tests_serac__profiling.cpp b/science/serac/files/patch-src_serac_infrastructure_tests_serac__profiling.cpp new file mode 100644 index 000000000000..5878566711fb --- /dev/null +++ b/science/serac/files/patch-src_serac_infrastructure_tests_serac__profiling.cpp @@ -0,0 +1,10 @@ +--- src/serac/infrastructure/tests/serac_profiling.cpp.orig 2022-09-05 06:58:55 UTC ++++ src/serac/infrastructure/tests/serac_profiling.cpp +@@ -4,6 +4,7 @@ + // + // SPDX-License-Identifier: (BSD-3-Clause) + ++#include <array> + #include <cstring> + #include <exception> + diff --git a/science/serac/files/patch-src_serac_numerics_functional_functional.hpp b/science/serac/files/patch-src_serac_numerics_functional_functional.hpp new file mode 100644 index 000000000000..4cae7b80f6f3 --- /dev/null +++ b/science/serac/files/patch-src_serac_numerics_functional_functional.hpp @@ -0,0 +1,11 @@ +--- src/serac/numerics/functional/functional.hpp.orig 2022-09-05 06:55:45 UTC ++++ src/serac/numerics/functional/functional.hpp +@@ -23,6 +23,8 @@ + #include "serac/numerics/functional/boundary_integral.hpp" + #include "serac/numerics/functional/dof_numbering.hpp" + ++#include <array> ++ + namespace serac { + + template <int i> diff --git a/science/serac/pkg-descr b/science/serac/pkg-descr new file mode 100644 index 000000000000..1c47ed569d54 --- /dev/null +++ b/science/serac/pkg-descr @@ -0,0 +1,7 @@ +Serac is a 3D implicit nonlinear thermal-structural simulation code. Its primary +purpose is to investigate multiphysics abstraction strategies and implicit +finite element-based algorithm development for emerging computing architectures. +It also serves as a proxy-app for LLNL's Smith code and heavily leverages the +MFEM finite element library. + +WWW: https://github.com/LLNL/serac diff --git a/science/serac/pkg-plist b/science/serac/pkg-plist new file mode 100644 index 000000000000..830d25fe8601 --- /dev/null +++ b/science/serac/pkg-plist @@ -0,0 +1,99 @@ +bin/serac +examples/serac/simple_conduction/conduction.lua +examples/serac/simple_conduction/with_input_file.cpp +examples/serac/simple_conduction/without_input_file.cpp +examples/serac/using-with-cmake/CMakeLists.txt +examples/serac/using-with-cmake/host-config.cmake +examples/serac/using-with-cmake/serac_example.cpp +include/serac/infrastructure/about.hpp +include/serac/infrastructure/accelerator.hpp +include/serac/infrastructure/cli.hpp +include/serac/infrastructure/git_sha.hpp +include/serac/infrastructure/initialize.hpp +include/serac/infrastructure/input.hpp +include/serac/infrastructure/logger.hpp +include/serac/infrastructure/output.hpp +include/serac/infrastructure/profiling.hpp +include/serac/infrastructure/terminator.hpp +include/serac/infrastructure/variant.hpp +include/serac/mesh/mesh_utils.hpp +include/serac/mesh/mesh_utils_base.hpp +include/serac/numerics/equation_solver.hpp +include/serac/numerics/expr_template_impl.hpp +include/serac/numerics/expr_template_ops.hpp +include/serac/numerics/functional/boundary_integral.hpp +include/serac/numerics/functional/boundary_integral_kernels.hpp +include/serac/numerics/functional/detail/hexahedron_H1.inl +include/serac/numerics/functional/detail/hexahedron_Hcurl.inl +include/serac/numerics/functional/detail/hexahedron_L2.inl +include/serac/numerics/functional/detail/metaprogramming.hpp +include/serac/numerics/functional/detail/qoi.inl +include/serac/numerics/functional/detail/quadrilateral_H1.inl +include/serac/numerics/functional/detail/quadrilateral_Hcurl.inl +include/serac/numerics/functional/detail/quadrilateral_L2.inl +include/serac/numerics/functional/detail/segment_H1.inl +include/serac/numerics/functional/detail/segment_Hcurl.inl +include/serac/numerics/functional/detail/segment_L2.inl +include/serac/numerics/functional/dof_numbering.hpp +include/serac/numerics/functional/domain_integral.hpp +include/serac/numerics/functional/domain_integral_kernels.hpp +include/serac/numerics/functional/dual.hpp +include/serac/numerics/functional/evector_view.hpp +include/serac/numerics/functional/finite_element.hpp +include/serac/numerics/functional/functional.hpp +include/serac/numerics/functional/functional_qoi.inl +include/serac/numerics/functional/integral_utilities.hpp +include/serac/numerics/functional/isotropic_tensor.hpp +include/serac/numerics/functional/polynomials.hpp +include/serac/numerics/functional/quadrature.hpp +include/serac/numerics/functional/tensor.hpp +include/serac/numerics/functional/tuple.hpp +include/serac/numerics/functional/tuple_arithmetic.hpp +include/serac/numerics/odes.hpp +include/serac/numerics/quadrature_data.hpp +include/serac/numerics/solver_config.hpp +include/serac/numerics/stdfunction_operator.hpp +include/serac/numerics/vector_expression.hpp +include/serac/physics/base_physics.hpp +include/serac/physics/boundary_conditions/boundary_condition.hpp +include/serac/physics/boundary_conditions/boundary_condition_helper.hpp +include/serac/physics/boundary_conditions/boundary_condition_manager.hpp +include/serac/physics/coefficients/coefficient_extensions.hpp +include/serac/physics/coefficients/loading_functions.hpp +include/serac/physics/coefficients/sensitivity_coefficients.hpp +include/serac/physics/integrators/displacement_hyperelastic_integrator.hpp +include/serac/physics/integrators/nonlinear_reaction_integrator.hpp +include/serac/physics/integrators/traction_integrator.hpp +include/serac/physics/integrators/wrapper_integrator.hpp +include/serac/physics/materials/functional_material_utils.hpp +include/serac/physics/materials/hyperelastic_material.hpp +include/serac/physics/materials/parameterized_solid_functional_material.hpp +include/serac/physics/materials/parameterized_thermal_functional_material.hpp +include/serac/physics/materials/solid_functional_material.hpp +include/serac/physics/materials/solid_utils.hpp +include/serac/physics/materials/thermal_expansion_material.hpp +include/serac/physics/materials/thermal_functional_material.hpp +include/serac/physics/solid.hpp +include/serac/physics/solid_functional.hpp +include/serac/physics/state/finite_element_dual.hpp +include/serac/physics/state/finite_element_state.hpp +include/serac/physics/state/finite_element_vector.hpp +include/serac/physics/state/state_manager.hpp +include/serac/physics/thermal_conduction.hpp +include/serac/physics/thermal_conduction_functional.hpp +include/serac/physics/thermal_mechanics_functional.hpp +include/serac/physics/thermal_solid.hpp +include/serac/serac_config.hpp +lib/cmake/serac-config-version.cmake +lib/cmake/serac-config.cmake +lib/cmake/serac-targets-%%CMAKE_BUILD_TYPE%%.cmake +lib/cmake/serac-targets.cmake +lib/libserac_boundary_conditions.so +lib/libserac_coefficients.so +lib/libserac_infrastructure.so +lib/libserac_mesh.so +lib/libserac_numerics.so +lib/libserac_physics.so +lib/libserac_physics_integrators.so +lib/libserac_physics_materials.so +lib/libserac_state.so
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202209050816.2858G3pg005000>