aboutsummaryrefslogtreecommitdiffstats
path: root/science
diff options
context:
space:
mode:
authoryuri <yuri@FreeBSD.org>2017-11-23 13:58:51 +0800
committeryuri <yuri@FreeBSD.org>2017-11-23 13:58:51 +0800
commit7a9d72ed3fc08b281736b9b56a5992a405d69573 (patch)
tree53440aae2750ba04d1087fdabea0847b86907c5e /science
parentb8b234b47acfd7a502f0ca80fb26c803aa821581 (diff)
downloadfreebsd-ports-gnome-7a9d72ed3fc08b281736b9b56a5992a405d69573.tar.gz
freebsd-ports-gnome-7a9d72ed3fc08b281736b9b56a5992a405d69573.tar.zst
freebsd-ports-gnome-7a9d72ed3fc08b281736b9b56a5992a405d69573.zip
New port: science/chemps2: Spin-adapted implementation of DMRG for ab initio quantum chemistry
Approved by: tcberner (mentor) Differential Revision: https://reviews.freebsd.org/D13100
Diffstat (limited to 'science')
-rw-r--r--science/Makefile1
-rw-r--r--science/chemps2/Makefile28
-rw-r--r--science/chemps2/distinfo3
-rw-r--r--science/chemps2/files/patch-CMakeLists.txt28
-rw-r--r--science/chemps2/pkg-descr13
-rw-r--r--science/chemps2/pkg-plist59
6 files changed, 132 insertions, 0 deletions
diff --git a/science/Makefile b/science/Makefile
index 4599d8bd0242..39128ac8c74c 100644
--- a/science/Makefile
+++ b/science/Makefile
@@ -32,6 +32,7 @@
SUBDIR += cgribex
SUBDIR += checkmol
SUBDIR += chemical-mime-data
+ SUBDIR += chemps2
SUBDIR += chemtool
SUBDIR += chemtool-devel
SUBDIR += clhep
diff --git a/science/chemps2/Makefile b/science/chemps2/Makefile
new file mode 100644
index 000000000000..4f1241db96e5
--- /dev/null
+++ b/science/chemps2/Makefile
@@ -0,0 +1,28 @@
+# $FreeBSD$
+
+PORTNAME= CheMPS2
+DISTVERSIONPREFIX= v
+DISTVERSION= 1.8.4-12
+DISTVERSIONSUFFIX= -g55d6b381
+CATEGORIES= science
+
+MAINTAINER= yuri@FreeBSD.org
+COMMENT= Spin-adapted implementation of DMRG for ab initio quantum chemistry
+
+LICENSE= GPLv2
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+LIB_DEPENDS= libhdf5.so:science/hdf5 \
+ libsz.so:science/szip
+
+USES= blaslapack:openblas cmake:outsource fortran
+USE_GITHUB= yes
+GH_ACCOUNT= SebWouters
+
+CMAKE_ARGS+= -DSHARED_ONLY:BOOL=ON
+CMAKE_ARGS+= -DENABLE_TESTS:BOOL=OFF
+CMAKE_ARGS+= -DENABLE_XHOST:BOOL=OFF # shouldn't optimize the port in case of central build
+CMAKE_ARGS+= -DENABLE_OPENMP:BOOL=OFF # find_package(OpenMP) is broken since the merge into cmake: bug#223678
+CMAKE_ARGS+= -DLAPACK_LIBRARIES="-lopenblas" # can't find it using find_package for some reason
+
+.include <bsd.port.mk>
diff --git a/science/chemps2/distinfo b/science/chemps2/distinfo
new file mode 100644
index 000000000000..049aa366473f
--- /dev/null
+++ b/science/chemps2/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1510730234
+SHA256 (SebWouters-CheMPS2-v1.8.4-12-g55d6b381_GH0.tar.gz) = 8bc7d71335a71575cb7db6e5ebc61ce9d262efb385c97cb736bcfd6c88425ae3
+SIZE (SebWouters-CheMPS2-v1.8.4-12-g55d6b381_GH0.tar.gz) = 1256061
diff --git a/science/chemps2/files/patch-CMakeLists.txt b/science/chemps2/files/patch-CMakeLists.txt
new file mode 100644
index 000000000000..dbe6e31aaa17
--- /dev/null
+++ b/science/chemps2/files/patch-CMakeLists.txt
@@ -0,0 +1,28 @@
+--- CMakeLists.txt.orig 2017-03-28 19:11:42 UTC
++++ CMakeLists.txt
+@@ -78,15 +78,17 @@ endif()
+
+ # <<< Enable inter-parts / link-time optimization >>>
+
+-check_cxx_compiler_flag (-ipo HAS_IPO)
+-if (HAS_IPO)
+- set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -ipo")
+-endif()
++# clang doesn't support -ipo
++#check_cxx_compiler_flag (-ipo HAS_IPO)
++#if (HAS_IPO)
++# set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -ipo")
++#endif()
+
+-check_cxx_compiler_flag (-flto HAS_FLTO)
+-if (HAS_FLTO)
+- set (CMAKE_CXX_FLAGS "-flto ${CMAKE_CXX_FLAGS}")
+-endif()
++# -flto causes clang to produce binary ll code, which isn't what is expected
++#check_cxx_compiler_flag (-flto HAS_FLTO)
++#if (HAS_FLTO)
++# set (CMAKE_CXX_FLAGS "-flto ${CMAKE_CXX_FLAGS}")
++#endif()
+
+ # <<< Enable generic >>>
+
diff --git a/science/chemps2/pkg-descr b/science/chemps2/pkg-descr
new file mode 100644
index 000000000000..b85003551502
--- /dev/null
+++ b/science/chemps2/pkg-descr
@@ -0,0 +1,13 @@
+CheMPS2 is a scientific library which contains a spin-adapted implementation
+of the density matrix renormalization group (DMRG) for ab initio quantum
+chemistry. This wavefunction method allows to obtain numerical accuracy in
+active spaces beyond the capabilities of full configuration interaction (FCI),
+and allows to extract the 2-, 3-, and 4-particle reduced density matrices
+(2-, 3- and 4-RDM) of the active space.
+
+For general active spaces up to 40 electrons in 40 orbitals can be handled with
+DMRG, and for one-dimensional active spaces up to 100 electrons in 100 orbitals.
+The 2-RDM of these active spaces can also be easily extracted, while the 3- and
+4-RDM are limited to about 28 orbitals.
+
+WWW: https://github.com/SebWouters/CheMPS2
diff --git a/science/chemps2/pkg-plist b/science/chemps2/pkg-plist
new file mode 100644
index 000000000000..6bc4a82d98d4
--- /dev/null
+++ b/science/chemps2/pkg-plist
@@ -0,0 +1,59 @@
+bin/chemps2
+include/chemps2/CASPT2.h
+include/chemps2/CASSCF.h
+include/chemps2/ConjugateGradient.h
+include/chemps2/ConvergenceScheme.h
+include/chemps2/Correlations.h
+include/chemps2/Cumulant.h
+include/chemps2/DIIS.h
+include/chemps2/DMRG.h
+include/chemps2/DMRGSCFindices.h
+include/chemps2/DMRGSCFintegrals.h
+include/chemps2/DMRGSCFmatrix.h
+include/chemps2/DMRGSCFoptions.h
+include/chemps2/DMRGSCFrotations.h
+include/chemps2/DMRGSCFunitary.h
+include/chemps2/DMRGSCFwtilde.h
+include/chemps2/Davidson.h
+include/chemps2/EdmistonRuedenberg.h
+include/chemps2/Excitation.h
+include/chemps2/FCI.h
+include/chemps2/FourIndex.h
+include/chemps2/Hamiltonian.h
+include/chemps2/Heff.h
+include/chemps2/Initialize.h
+include/chemps2/Irreps.h
+include/chemps2/Lapack.h
+include/chemps2/MPIchemps2.h
+include/chemps2/Molden.h
+include/chemps2/MyHDF5.h
+include/chemps2/Options.h
+include/chemps2/Problem.h
+include/chemps2/Sobject.h
+include/chemps2/Special.h
+include/chemps2/SyBookkeeper.h
+include/chemps2/Tensor.h
+include/chemps2/Tensor3RDM.h
+include/chemps2/TensorF0.h
+include/chemps2/TensorF1.h
+include/chemps2/TensorGYZ.h
+include/chemps2/TensorKM.h
+include/chemps2/TensorL.h
+include/chemps2/TensorO.h
+include/chemps2/TensorOperator.h
+include/chemps2/TensorQ.h
+include/chemps2/TensorS0.h
+include/chemps2/TensorS1.h
+include/chemps2/TensorT.h
+include/chemps2/TensorX.h
+include/chemps2/ThreeDM.h
+include/chemps2/TwoDM.h
+include/chemps2/TwoIndex.h
+include/chemps2/Wigner.h
+lib/libchemps2.so
+lib/libchemps2.so.2
+share/cmake/CheMPS2/CheMPS2Config.cmake
+share/cmake/CheMPS2/CheMPS2ConfigVersion.cmake
+share/cmake/CheMPS2/CheMPS2Targets-shared-%%CMAKE_BUILD_TYPE%%.cmake
+share/cmake/CheMPS2/CheMPS2Targets-shared.cmake
+share/cmake/CheMPS2/FindTargetHDF5.cmake