aboutsummaryrefslogtreecommitdiff
path: root/science/sparta
diff options
context:
space:
mode:
authorYuri Victorovich <yuri@FreeBSD.org>2018-11-12 03:02:28 +0000
committerYuri Victorovich <yuri@FreeBSD.org>2018-11-12 03:02:28 +0000
commitcdb078bae2ef0373aa0f05799ec9c69ddd7daff0 (patch)
tree6834b64fb384c8f06f71a3c100e801c6cf9f37ee /science/sparta
parentf14586159db1bc192cf59edf3a21e3889a7cbb62 (diff)
downloadports-cdb078bae2ef0373aa0f05799ec9c69ddd7daff0.tar.gz
ports-cdb078bae2ef0373aa0f05799ec9c69ddd7daff0.zip
New port: science/sparta: Gas simulator: SPARTA DSMC software package
Notes
Notes: svn path=/head/; revision=484789
Diffstat (limited to 'science/sparta')
-rw-r--r--science/sparta/Makefile46
-rw-r--r--science/sparta/distinfo3
-rw-r--r--science/sparta/files/patch-STUBS_mpi.c11
-rw-r--r--science/sparta/pkg-descr15
4 files changed, 75 insertions, 0 deletions
diff --git a/science/sparta/Makefile b/science/sparta/Makefile
new file mode 100644
index 000000000000..21dd6c976c1b
--- /dev/null
+++ b/science/sparta/Makefile
@@ -0,0 +1,46 @@
+# $FreeBSD$
+
+PORTNAME= sparta
+PORTVERSION= ${GH_TAGNAME:C/([0-9]{1,2})([A-Z][a-z][a-z])([0-9]{4})/\3.\2.\1/S/Jan/01/S/Feb/02/S/Mar/03/S/Apr/04/S/May/05/S/Jun/06/S/Jul/07/S/Aug/08/S/Sep/09/S/Oct/10/S/Nov/11/S/Dec/12/}
+CATEGORIES= science
+PKGNAMESUFFIX= -dsmc # Direct Simulation Monte Carlo
+
+MAINTAINER= yuri@FreeBSD.org
+COMMENT= Gas simulator: SPARTA DSMC software package
+
+LICENSE= GPLv2
+LICENSE_FILE= ${WRKSRC}/../LICENSE
+
+BUILD_DEPENDS= bash:shells/bash
+
+USES= gmake localbase
+USE_GITHUB= yes
+GH_TAGNAME= 29Oct2018
+
+CXXFLAGS+= -DSPARTA_UNORDERED_MAP
+
+WRKSRC_SUBDIR= src
+MAKE_ARGS= CC=${CXX} CCFLAGS="${CXXFLAGS}" LINK=${CXX} LINKFLAGS="${LDFLAGS}" mode=exe
+
+OPTIONS_SINGLE= PARALLEL
+OPTIONS_SINGLE_PARALLEL= SERIAL MPI
+OPTIONS_DEFAULT= MPI
+PARALLEL_DESC= Parallelization
+
+SERIAL_DESC= Serial: no parallelization
+SERIAL_ALL_TARGET= serial
+SERIAL_PLIST_FILES= bin/spa_serial
+
+MPI_ALL_TARGET= mpi
+MPI_PLIST_FILES= bin/spa_mpi
+MPI_CXXFLAGS= -I${LOCALBASE}/mpi/openmpi/include
+MPI_LDFLAGS= ${LOCALBASE}/mpi/openmpi/lib/libmpi.so -Wl,-rpath=${LOCALBASE}/mpi/openmpi/lib
+MPI_LIB_DEPENDS= libmpi.so:net/openmpi
+
+post-patch:
+ @${REINPLACE_CMD} 's|SHELL = /bin/bash|SHELL = ${LOCALBASE}/bin/bash|' ${WRKSRC}/Makefile
+
+do-install:
+ ${INSTALL_PROGRAM} ${WRKSRC}/spa_* ${STAGEDIR}${PREFIX}/bin/
+
+.include <bsd.port.mk>
diff --git a/science/sparta/distinfo b/science/sparta/distinfo
new file mode 100644
index 000000000000..21e1622fb26f
--- /dev/null
+++ b/science/sparta/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1541984571
+SHA256 (sparta-sparta-2018.10.29-29Oct2018_GH0.tar.gz) = 769461c0538727ee06bef72762c49eb496c4f8dd8d33adcb4e9e85bd4bca8496
+SIZE (sparta-sparta-2018.10.29-29Oct2018_GH0.tar.gz) = 19956946
diff --git a/science/sparta/files/patch-STUBS_mpi.c b/science/sparta/files/patch-STUBS_mpi.c
new file mode 100644
index 000000000000..264bd95ad764
--- /dev/null
+++ b/science/sparta/files/patch-STUBS_mpi.c
@@ -0,0 +1,11 @@
+--- STUBS/mpi.c.orig 2018-11-12 01:31:19 UTC
++++ STUBS/mpi.c
+@@ -20,7 +20,7 @@
+ #include <stdio.h>
+ #include <stdint.h>
+ #include <sys/time.h>
+-#include <mpi.h>
++#include "mpi.h"
+
+ /* data structure for double/int */
+
diff --git a/science/sparta/pkg-descr b/science/sparta/pkg-descr
new file mode 100644
index 000000000000..1931d10d6052
--- /dev/null
+++ b/science/sparta/pkg-descr
@@ -0,0 +1,15 @@
+SPARTA is a parallel DSMC code for performing simulations of low-density gases
+in 2D or 3D. Particles advect through a hierarchical Cartesian grid that
+overlays the simulation box. The grid is used to group particles by grid cell
+for purposes of performing collisions and chemistry. Physical objects with
+triangulated surfaces can be embedded in the grid, creating cut and split grid
+cells. The grid is also used to efficiently find particle/surface collisions.
+
+SPARTA runs on single processors or in parallel using message-passing techniques
+and a spatial-decomposition of the simulation domain. The code is designed to be
+easy to modify or extend with new functionality.
+
+SPARTA was developed at Sandia National Laboratories, a US Department of Energy
+(DOE) laboratory.
+
+WWW: https://sparta.sandia.gov/