Add FreeFem++, an extension of freefem, an implementation of the Gfem

language dedicated to the finite element method.

PR:		ports/58536
Submitted by:	Thierry Thomas <thierry@pompo.net>
This commit is contained in:
Pav Lucistnik 2003-12-07 03:13:41 +00:00
parent 196470e8fc
commit 94d36e079d
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=95236
7 changed files with 216 additions and 0 deletions

View file

@ -38,6 +38,7 @@
SUBDIR += fftpack
SUBDIR += fftw
SUBDIR += freefem
SUBDIR += freefem++
SUBDIR += fudgit
SUBDIR += fung-calc
SUBDIR += fxt

62
math/freefem++/Makefile Normal file
View file

@ -0,0 +1,62 @@
# New ports collection makefile for: FreeFem++
# Date created: 17 October 2003
# Whom: thierry@pompo.net
#
# $FreeBSD$
#
PORTNAME= freefem++
PORTVERSION= 1.34
CATEGORIES= math science
MASTER_SITES= ftp://ftp.inria.fr/INRIA/Projects/Gamma/freefem/
DISTNAME= FreeFem++v${PORTVERSION}
MAINTAINER= ports@FreeBSD.org
COMMENT= An implementation of a language dedicated to the finite element method
LIB_DEPENDS= atlas.1:${PORTSDIR}/math/atlas
BUILD_DEPENDS= ${LOCALBASE}/include/ARPACK++:${PORTSDIR}/math/arpack++
USE_XLIB= yes
USE_GMAKE= yes
MAKE_ENV= CXX=${CXX} HOSTTYPE=${HOSTTYPE}
DOCS= BUGS COPYRIGHT HISTORY README DOC/manual.pdf
.include <bsd.port.pre.mk>
HOSTTYPE!= ${UNAME} -s
post-patch:
@${MV} ${WRKSRC}/src/Makefile-linux ${WRKSRC}/src/Makefile-${HOSTTYPE}
@${MV} ${WRKSRC}/src/Makefile-linux.orig ${WRKSRC}/src/Makefile-linux
post-install:
@${STRIP_CMD} ${PREFIX}/bin/FreeFem++ ${PREFIX}/bin/FreeFem++-nw
.if !defined(NOPORTDOCS)
@${MKDIR} ${DOCSDIR}
.for doc in ${DOCS}
@${INSTALL_DATA} ${WRKSRC}/${doc} ${DOCSDIR}
.endfor
@${ECHO_MSG} "===> Documentation installed in ${DOCSDIR}."
.for direx in "" -bug -eigen -tutorial
@${MKDIR} ${EXAMPLESDIR}/${direx:S/-//}
@for sample in `${LS} ${WRKSRC}/examples++${direx}` ; do \
${INSTALL_DATA} ${WRKSRC}/examples++${direx}/$$sample \
${EXAMPLESDIR}/${direx:S/-//} ; \
done
.endfor
@${ECHO_MSG} "===> Examples installed in ${EXAMPLESDIR}."
.endif
.if defined(MAINTAINER_MODE)
test: install
# Gnuplot needed! Click on the picture to end a set.
.for direx in - -eigen -tutorial
(cd ${EXAMPLESDIR}/${direx:S/-//} ; \
${PREFIX}/bin/FreeFem++ all.edp)
.endfor
.endif
.include <bsd.port.post.mk>

1
math/freefem++/distinfo Normal file
View file

@ -0,0 +1 @@
MD5 (FreeFem++v1.34.tar.gz) = a86406c5c6be21835f0faa62dd2d718f

View file

@ -0,0 +1,11 @@
--- Makefile.orig Fri Aug 22 15:23:41 2003
+++ Makefile Sat Oct 25 17:10:47 2003
@@ -3,7 +3,7 @@
# ----------------------------------------------
src?=./src
include $(src)/Makefile-$(HOSTTYPE)
-CXXFLAGS = $(OPTFLAGS) $(FFFLAGS) $(includedir) $(INCARPACKPP)
+CXXFLAGS+= $(OPTFLAGS) $(FFFLAGS) $(includedir) $(INCARPACKPP)
CXXMPIFLAGS= $(CXXFLAGS) $(MPIFLAGS) -DPARALLELE $(INCARPACKPP)
LIBS=$(LIBARPACK) $(LIBF77)
VERSION=1.34

View file

@ -0,0 +1,35 @@
--- src/Makefile-linux.orig Thu Jan 2 14:30:30 2003
+++ src/Makefile-linux Thu Oct 23 23:42:32 2003
@@ -1,16 +1,15 @@
-LIBX11= -L/usr/X11R6/lib -lX11 -lm
-INCLUDEX11 = /usr/X11R6/include
-CXX=g++ #C++ compiler
-CXXMPI=mpiCC # compilation with mpi
-OOPTFLAGS= -O # compilation with optimisation
+# $FreeBSD$
+LIBX11= -L$(X11BASE)/lib -lX11 -lm
+INCLUDEX11 = $(X11BASE)/include
+OOPTFLAGS= -Wno-deprecated
GOPTFLAGS= -g # compilation with debugging
#--------------------------------------------------
# the flag of eigen value part with arpack++ tools
#-------------------------------------------------
EIGEN= eigenvalue.o
-LIBARPACK= -L../../arpack/ARPACK -larpack_linux -llapack -lblas
-LIBF77= -lg2c
-INCARPACKPP = -DEIGENVALUE -I../../arpack/arpack++/include
+LIBARPACK= -L$(LOCALBASE)/lib ${LOCALBASE}/lib/libarpack.a -lalapack -lf77blas -lcblas -latlas
+LIBF77= -lg2c -lm
+INCARPACKPP = -DEIGENVALUE -I$(LOCALBASE)/include/ARPACK++
# ------------------------------
# compilation flags of FreeFem++
# ------------------------------
@@ -29,7 +28,7 @@
# ---------------------------
# install and compile dir.
# ----------------------
-BIN_DIR=$(HOME)/bin-$(HOSTTYPE)
+BIN_DIR=$(PREFIX)/bin
COMPILE_DIR=c-$(HOSTTYPE)
#----------------------

14
math/freefem++/pkg-descr Normal file
View file

@ -0,0 +1,14 @@
FreeFem++ is an implementation of a language dedicated to the finite element
method.
It provides you a way to solve Partial Differential Equations (PDE) simply.
Problems involving partial differential equations (pde) of several branches
of physics such as fluid-structure interactions require interpolations of
data on several meshes and their manipulation within one program. In this
report we build on a fast quadtree-based interpolation algorithm, propose
a language for the manipulation of data on multiple meshes (generated with
bamg) and test by designing an extension of freefem and of freefem+.
Suggested add-on: the port graphics/xd3d.
WWW: http://www.ann.jussieu.fr/~hecht/freefem++.htm

92
math/freefem++/pkg-plist Normal file
View file

@ -0,0 +1,92 @@
bin/FreeFem++
bin/FreeFem++-nw
%%PORTDOCS%%%%DOCSDIR%%/BUGS
%%PORTDOCS%%%%DOCSDIR%%/COPYRIGHT
%%PORTDOCS%%%%DOCSDIR%%/HISTORY
%%PORTDOCS%%%%DOCSDIR%%/README
%%PORTDOCS%%%%DOCSDIR%%/manual.pdf
%%PORTDOCS%%%%EXAMPLESDIR%%/D2.edp
%%PORTDOCS%%%%EXAMPLESDIR%%/NSP1P1.edp
%%PORTDOCS%%%%EXAMPLESDIR%%/NSP1P1b.edp
%%PORTDOCS%%%%EXAMPLESDIR%%/NSP1P2.edp
%%PORTDOCS%%%%EXAMPLESDIR%%/aaRT.edp
%%PORTDOCS%%%%EXAMPLESDIR%%/aaa-adp.edp
%%PORTDOCS%%%%EXAMPLESDIR%%/aadaptation.edp
%%PORTDOCS%%%%EXAMPLESDIR%%/aalapacien.edp
%%PORTDOCS%%%%EXAMPLESDIR%%/aalaplace-nc.edp
%%PORTDOCS%%%%EXAMPLESDIR%%/aamove.edp
%%PORTDOCS%%%%EXAMPLESDIR%%/all.edp
%%PORTDOCS%%%%EXAMPLESDIR%%/arrayoFVh.edp
%%PORTDOCS%%%%EXAMPLESDIR%%/bug/SegmentationFault.edp
%%PORTDOCS%%%%EXAMPLESDIR%%/bug/aaa.edp
%%PORTDOCS%%%%EXAMPLESDIR%%/bug/bugf.edp
%%PORTDOCS%%%%EXAMPLESDIR%%/bug/bugv1.18.edp
%%PORTDOCS%%%%EXAMPLESDIR%%/bug/func.edp
%%PORTDOCS%%%%EXAMPLESDIR%%/ccc-adp.edp
%%PORTDOCS%%%%EXAMPLESDIR%%/demo.edp
%%PORTDOCS%%%%EXAMPLESDIR%%/demo1.edp
%%PORTDOCS%%%%EXAMPLESDIR%%/eigen/BeamEigenValue.edp
%%PORTDOCS%%%%EXAMPLESDIR%%/eigen/BeamEigenValueperio.edp
%%PORTDOCS%%%%EXAMPLESDIR%%/eigen/LapEigenValue.edp
%%PORTDOCS%%%%EXAMPLESDIR%%/eigen/LapnosymEigenValue.edp
%%PORTDOCS%%%%EXAMPLESDIR%%/eigen/all.edp
%%PORTDOCS%%%%EXAMPLESDIR%%/eigen/neuman.edp
%%PORTDOCS%%%%EXAMPLESDIR%%/funct.edp
%%PORTDOCS%%%%EXAMPLESDIR%%/include.edp
%%PORTDOCS%%%%EXAMPLESDIR%%/lap_mat.edp
%%PORTDOCS%%%%EXAMPLESDIR%%/lapacienprecon.edp
%%PORTDOCS%%%%EXAMPLESDIR%%/testFE.edp
%%PORTDOCS%%%%EXAMPLESDIR%%/testadp.edp
%%PORTDOCS%%%%EXAMPLESDIR%%/teste.edp
%%PORTDOCS%%%%EXAMPLESDIR%%/tutorial/FE.edp
%%PORTDOCS%%%%EXAMPLESDIR%%/tutorial/LaplaceP1.edp
%%PORTDOCS%%%%EXAMPLESDIR%%/tutorial/LaplaceP1bis.edp
%%PORTDOCS%%%%EXAMPLESDIR%%/tutorial/LaplaceRT.edp
%%PORTDOCS%%%%EXAMPLESDIR%%/tutorial/NSUzawaCahouetChabart.edp
%%PORTDOCS%%%%EXAMPLESDIR%%/tutorial/Newton.edp
%%PORTDOCS%%%%EXAMPLESDIR%%/tutorial/Periodic.edp
%%PORTDOCS%%%%EXAMPLESDIR%%/tutorial/StokesUzawa.edp
%%PORTDOCS%%%%EXAMPLESDIR%%/tutorial/a_tutorial.edp
%%PORTDOCS%%%%EXAMPLESDIR%%/tutorial/adapt.edp
%%PORTDOCS%%%%EXAMPLESDIR%%/tutorial/adaptindicatorP1.edp
%%PORTDOCS%%%%EXAMPLESDIR%%/tutorial/adaptindicatorP2.edp
%%PORTDOCS%%%%EXAMPLESDIR%%/tutorial/aile.msh
%%PORTDOCS%%%%EXAMPLESDIR%%/tutorial/algo.edp
%%PORTDOCS%%%%EXAMPLESDIR%%/tutorial/algowithmacro.edp
%%PORTDOCS%%%%EXAMPLESDIR%%/tutorial/all.edp
%%PORTDOCS%%%%EXAMPLESDIR%%/tutorial/array.edp
%%PORTDOCS%%%%EXAMPLESDIR%%/tutorial/beam.edp
%%PORTDOCS%%%%EXAMPLESDIR%%/tutorial/blakschol.edp
%%PORTDOCS%%%%EXAMPLESDIR%%/tutorial/calculus.edp
%%PORTDOCS%%%%EXAMPLESDIR%%/tutorial/cavity.edp
%%PORTDOCS%%%%EXAMPLESDIR%%/tutorial/convect-apt.edp
%%PORTDOCS%%%%EXAMPLESDIR%%/tutorial/convect.edp
%%PORTDOCS%%%%EXAMPLESDIR%%/tutorial/convect2.edp
%%PORTDOCS%%%%EXAMPLESDIR%%/tutorial/dumptable.edp
%%PORTDOCS%%%%EXAMPLESDIR%%/tutorial/ex-vf.edp
%%PORTDOCS%%%%EXAMPLESDIR%%/tutorial/fluidStruct.edp
%%PORTDOCS%%%%EXAMPLESDIR%%/tutorial/fluidStructAdapt.edp
%%PORTDOCS%%%%EXAMPLESDIR%%/tutorial/freeboundary-weak.edp
%%PORTDOCS%%%%EXAMPLESDIR%%/tutorial/freeboundary.edp
%%PORTDOCS%%%%EXAMPLESDIR%%/tutorial/gnuplot.edp
%%PORTDOCS%%%%EXAMPLESDIR%%/tutorial/medit.edp
%%PORTDOCS%%%%EXAMPLESDIR%%/tutorial/mesh.edp
%%PORTDOCS%%%%EXAMPLESDIR%%/tutorial/nolinear-elas.edp
%%PORTDOCS%%%%EXAMPLESDIR%%/tutorial/onde.edp
%%PORTDOCS%%%%EXAMPLESDIR%%/tutorial/parareal.edp
%%PORTDOCS%%%%EXAMPLESDIR%%/tutorial/periodic4.edp
%%PORTDOCS%%%%EXAMPLESDIR%%/tutorial/plot.edp
%%PORTDOCS%%%%EXAMPLESDIR%%/tutorial/readmesh.edp
%%PORTDOCS%%%%EXAMPLESDIR%%/tutorial/region.edp
%%PORTDOCS%%%%EXAMPLESDIR%%/tutorial/schwarz-gc.edp
%%PORTDOCS%%%%EXAMPLESDIR%%/tutorial/schwarz-no-overlap.edp
%%PORTDOCS%%%%EXAMPLESDIR%%/tutorial/schwarz-overlap.edp
%%PORTDOCS%%%%EXAMPLESDIR%%/tutorial/tablefunction.edp
%%PORTDOCS%%%%EXAMPLESDIR%%/tutorial/truncmesh.edp
%%PORTDOCS%%%%EXAMPLESDIR%%/tutorial/xyf
%%PORTDOCS%%%%EXAMPLESDIR%%/wafer-heating-laser-axi.edp
%%PORTDOCS%%@dirrm %%DOCSDIR%%
%%PORTDOCS%%@dirrm %%EXAMPLESDIR%%/bug
%%PORTDOCS%%@dirrm %%EXAMPLESDIR%%/eigen
%%PORTDOCS%%@dirrm %%EXAMPLESDIR%%/tutorial
%%PORTDOCS%%@dirrm %%EXAMPLESDIR%%