1
0
mirror of https://git.FreeBSD.org/ports.git synced 2025-01-04 06:15:24 +00:00

New port: science/sparta: Gas simulator: SPARTA DSMC software package

This commit is contained in:
Yuri Victorovich 2018-11-12 03:02:28 +00:00
parent f14586159d
commit cdb078bae2
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=484789
5 changed files with 76 additions and 0 deletions

View File

@ -281,6 +281,7 @@
SUBDIR += simint
SUBDIR += simlib
SUBDIR += simsmith
SUBDIR += sparta
SUBDIR += spglib
SUBDIR += step
SUBDIR += step-kde4

46
science/sparta/Makefile Normal file
View File

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

3
science/sparta/distinfo Normal file
View File

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

View File

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

15
science/sparta/pkg-descr Normal file
View File

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