aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--science/Makefile1
-rw-r--r--science/esys-particle/Makefile25
-rw-r--r--science/esys-particle/distinfo3
-rw-r--r--science/esys-particle/files/patch-CMakeLists.txt22
-rw-r--r--science/esys-particle/files/patch-Geometry_SphAggGougeBlock.hpp11
-rw-r--r--science/esys-particle/files/patch-Tools_StressCalculator_Contact.cpp11
-rw-r--r--science/esys-particle/files/patch-Tools_dump2vtk_frame__vtk.cpp11
-rw-r--r--science/esys-particle/pkg-descr9
-rw-r--r--science/esys-particle/pkg-plist19
9 files changed, 112 insertions, 0 deletions
diff --git a/science/Makefile b/science/Makefile
index 74da4c4d8c53..22e846e50b86 100644
--- a/science/Makefile
+++ b/science/Makefile
@@ -69,6 +69,7 @@
SUBDIR += epte
SUBDIR += erd
SUBDIR += erkale
+ SUBDIR += esys-particle
SUBDIR += fastcap
SUBDIR += fasthenry
SUBDIR += fisicalab
diff --git a/science/esys-particle/Makefile b/science/esys-particle/Makefile
new file mode 100644
index 000000000000..fd2629be9630
--- /dev/null
+++ b/science/esys-particle/Makefile
@@ -0,0 +1,25 @@
+# $FreeBSD$
+
+PORTNAME= esys-particle
+DISTVERSION= 2.3.5
+CATEGORIES= science
+MASTER_SITES= https://launchpad.net/esys-particle/trunk/${DISTVERSION}/+download/
+DISTNAME= ESyS-Particle-${DISTVERSION}
+
+MAINTAINER= yuri@FreeBSD.org
+COMMENT= Particle-based numerical modelling software
+
+LICENSE= APACHE20
+
+LIB_DEPENDS= libboost_system.so:devel/boost-libs \
+ libmpi.so:net/mpich
+
+USES= cmake:outsource fortran
+USE_LDCONFIG= yes
+
+LDFLAGS+= ${LOCALBASE}/lib/libboost_filesystem.so
+
+pre-build:
+ @${ECHO} "static int s_bzr_revision=-1;" > ${WRKSRC}/bzrversion.h
+
+.include <bsd.port.mk>
diff --git a/science/esys-particle/distinfo b/science/esys-particle/distinfo
new file mode 100644
index 000000000000..f9d0dc5d5eb9
--- /dev/null
+++ b/science/esys-particle/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1541392871
+SHA256 (ESyS-Particle-2.3.5.tar.gz) = 97f53fd0056c8f90771e1e2ff91bcea67a419bc68fcd91c68f7df76339680888
+SIZE (ESyS-Particle-2.3.5.tar.gz) = 8197209
diff --git a/science/esys-particle/files/patch-CMakeLists.txt b/science/esys-particle/files/patch-CMakeLists.txt
new file mode 100644
index 000000000000..97f2e0b56b98
--- /dev/null
+++ b/science/esys-particle/files/patch-CMakeLists.txt
@@ -0,0 +1,22 @@
+--- CMakeLists.txt.orig 2017-01-06 06:14:00 UTC
++++ CMakeLists.txt
+@@ -2,8 +2,8 @@ PROJECT(Esys C CXX)
+ CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
+
+
+-FIND_PACKAGE(Boost COMPONENTS system filesystem python thread REQUIRED)
+-INCLUDE(FindPythonLibs)
++FIND_PACKAGE(Boost COMPONENTS system filesystem thread REQUIRED)
++#INCLUDE(FindPythonLibs)
+
+ INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR})
+ INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/Foundation)
+@@ -25,7 +25,7 @@ ADD_SUBDIRECTORY("${CMAKE_SOURCE_DIR}/To
+ ADD_SUBDIRECTORY("${CMAKE_SOURCE_DIR}/ntable")
+ ADD_SUBDIRECTORY("${CMAKE_SOURCE_DIR}/tml")
+ ADD_SUBDIRECTORY("${CMAKE_SOURCE_DIR}/ppa/src")
+-ADD_SUBDIRECTORY("${CMAKE_SOURCE_DIR}/Python")
++#ADD_SUBDIRECTORY("${CMAKE_SOURCE_DIR}/Python")
+
+
+ ADD_SUBDIRECTORY("${CMAKE_SOURCE_DIR}/Parallel")
diff --git a/science/esys-particle/files/patch-Geometry_SphAggGougeBlock.hpp b/science/esys-particle/files/patch-Geometry_SphAggGougeBlock.hpp
new file mode 100644
index 000000000000..5206377f0713
--- /dev/null
+++ b/science/esys-particle/files/patch-Geometry_SphAggGougeBlock.hpp
@@ -0,0 +1,11 @@
+--- Geometry/SphAggGougeBlock.hpp.orig 2018-11-05 04:51:07 UTC
++++ Geometry/SphAggGougeBlock.hpp
+@@ -36,7 +36,7 @@ namespace esys {
+ void SphAggGougeBlock::visitParticles(TmplVisitor& visitor) const
+ {
+ GougeBlock3D::visitParticles(visitor);
+- for(vector<SBG_ptr>::iterator it = m_grainParticleGen.begin();
++ for(auto it = m_grainParticleGen.begin();
+ it != m_grainParticleGen.end();
+ it++)
+ {
diff --git a/science/esys-particle/files/patch-Tools_StressCalculator_Contact.cpp b/science/esys-particle/files/patch-Tools_StressCalculator_Contact.cpp
new file mode 100644
index 000000000000..84fe9a0d33f3
--- /dev/null
+++ b/science/esys-particle/files/patch-Tools_StressCalculator_Contact.cpp
@@ -0,0 +1,11 @@
+--- Tools/StressCalculator/Contact.cpp.orig 2018-11-05 04:44:17 UTC
++++ Tools/StressCalculator/Contact.cpp
+@@ -18,7 +18,7 @@ namespace esys
+ namespace lsm
+ {
+ bool ParticleData::s_is3d = true;
+- const double ParticleData::FOUR_THIRDS_PI = ((4.0/3.0)*M_PIl);
++ const double ParticleData::FOUR_THIRDS_PI = ((4.0/3.0)*M_PI);
+ }
+ }
+
diff --git a/science/esys-particle/files/patch-Tools_dump2vtk_frame__vtk.cpp b/science/esys-particle/files/patch-Tools_dump2vtk_frame__vtk.cpp
new file mode 100644
index 000000000000..28c517c68025
--- /dev/null
+++ b/science/esys-particle/files/patch-Tools_dump2vtk_frame__vtk.cpp
@@ -0,0 +1,11 @@
+--- Tools/dump2vtk/frame_vtk.cpp.orig 2018-11-05 04:45:11 UTC
++++ Tools/dump2vtk/frame_vtk.cpp
+@@ -1276,7 +1276,7 @@ void writeMeshFile(const string& infilen
+ string header,skip;
+ int numMeshIG;
+
+- while (datafile >> header != NULL){
++ while (datafile >> header){
+ if (header == "TMIG"){
+ datafile >> numMeshIG;
+ for(int ni=0;ni<numMeshIG;ni++){
diff --git a/science/esys-particle/pkg-descr b/science/esys-particle/pkg-descr
new file mode 100644
index 000000000000..abbb8592e1b6
--- /dev/null
+++ b/science/esys-particle/pkg-descr
@@ -0,0 +1,9 @@
+ESyS-Particle is Open Source Software for particle-based numerical modelling
+using the Discrete Element Method (DEM); a widely adapted technique for
+modelling processes involving large deformations, granular flow and/or
+fragmentation. ESyS-Particle is best suited for execution on parallel
+supercomputers, clusters or multi-core PCs running a Linux-based operating
+system. The C++ DEM simulation engine implements spatial domain decomposition
+via the Message Passing Interface (MPI).
+
+WWW: http://www.esys-particle.org/wiki/
diff --git a/science/esys-particle/pkg-plist b/science/esys-particle/pkg-plist
new file mode 100644
index 000000000000..8da97b057ffe
--- /dev/null
+++ b/science/esys-particle/pkg-plist
@@ -0,0 +1,19 @@
+bin/dump2geo
+bin/dump2vtk
+bin/fcconv
+bin/fracextract
+bin/grainextract
+bin/raw2tostress
+bin/rotextract
+bin/strainextract
+lib/libFields.so
+lib/libFoundation.so
+lib/libGeometry.so
+lib/libModel.so
+lib/libParallel.so
+lib/libTmlComm.so
+lib/libTmlMessage.so
+lib/libTmlType.so
+lib/liblibppa.so
+lib/libntable.so
+lib/libpis.so