diff options
author | will <will@FreeBSD.org> | 2001-06-11 11:01:32 +0800 |
---|---|---|
committer | will <will@FreeBSD.org> | 2001-06-11 11:01:32 +0800 |
commit | 5a9312e21c8ca4e3ccd299ac6a935302198fdadd (patch) | |
tree | 45222d95f555cb6737fa8c1b48260153f27af90a | |
parent | 3e17e4b65407a73f426d42e6fdbed1423e53d38f (diff) | |
download | freebsd-ports-graphics-5a9312e21c8ca4e3ccd299ac6a935302198fdadd.tar.gz freebsd-ports-graphics-5a9312e21c8ca4e3ccd299ac6a935302198fdadd.tar.zst freebsd-ports-graphics-5a9312e21c8ca4e3ccd299ac6a935302198fdadd.zip |
Add vecfem 3, a program to solve non-linear boundary value problems.
PR: 24459
Submitted by: Ralf Becker <ralf@akk.org>
-rw-r--r-- | math/Makefile | 1 | ||||
-rw-r--r-- | math/vecfem/Makefile | 36 | ||||
-rw-r--r-- | math/vecfem/Makefile.inc | 117 | ||||
-rw-r--r-- | math/vecfem/distinfo | 1 | ||||
-rw-r--r-- | math/vecfem/files/patch-aa | 41 | ||||
-rw-r--r-- | math/vecfem/pkg-comment | 1 | ||||
-rw-r--r-- | math/vecfem/pkg-descr | 20 | ||||
-rw-r--r-- | math/vecfem/pkg-plist | 187 |
8 files changed, 404 insertions, 0 deletions
diff --git a/math/Makefile b/math/Makefile index 43a7afb1ce0..42f1e238990 100644 --- a/math/Makefile +++ b/math/Makefile @@ -109,6 +109,7 @@ SUBDIR += topaz SUBDIR += umatrix SUBDIR += umfpack + SUBDIR += vecfem SUBDIR += vtk SUBDIR += wingz SUBDIR += wingz3 diff --git a/math/vecfem/Makefile b/math/vecfem/Makefile new file mode 100644 index 00000000000..38dbfeb5e8b --- /dev/null +++ b/math/vecfem/Makefile @@ -0,0 +1,36 @@ +# New ports collection Makefile for: vecfem +# Date created: 15 January 2001 +# Whom: Ralf Becker <ralf@akk.org> +# +# $FreeBSD$ +# + +PORTNAME= vecfem +PORTVERSION= 3 +CATEGORIES= math +MASTER_SITES= http://www.massey.ac.nz/~lgrosz/vecfem/downloads/ +DISTNAME= vem + +MAINTAINER= Ralf Becker <ralf@akk.org> + +.ifdef MPI +BUILD_DEPENDS= ${LOCALBASE}/mpich/bin/mpif77:${PORTSDIR}/net/mpich +.endif + +NO_WRKSUBDIR= YES +USE_GMAKE= YES +EXTRACT_SUFFIX= tar.gz +BUILD_WRKSRC= ${WRKDIR}/source +ALL_TARGET= + +MAN7= vemlst.7 + +pre-fetch: +.if !defined(MPI) + @${ECHO_MSG} "Type \"make MPI=yes\" if you want MPI support" +.else + @${ECHO_MSG} "Building ${PORTNAME}-${PORTVERSION} with MPI support" +.endif + +.include <Makefile.inc> +.include <bsd.port.mk> diff --git a/math/vecfem/Makefile.inc b/math/vecfem/Makefile.inc new file mode 100644 index 00000000000..07926caed18 --- /dev/null +++ b/math/vecfem/Makefile.inc @@ -0,0 +1,117 @@ +# Makefile include for: vecfem +# Date created: 15 January 2001 +# Whom: Ralf Becker <ralf@akk.org> +# +# + +.ifdef MPI +VECFEM_ARCH= ${OPSYS}_MPI +LINUX= LINUX_MPI +.else +VECFEM_ARCH= ${OPSYS} +LINUX= LINUX +.endif + +VEMTOOL= vemaxiom vembuild vemfc vemcompile vemmaple vemmaxima \ + vempost vemrun vemtar vemhint + +VEMSHARE= avsout1.h avsout2.h avsout32.h avsscalarseries.net \ + avsscalarsteady.net avsvectorseries.net avsvectorsteady.net \ + dummy.equation dummy.resource dxout1.h dxout2.h dxout32.h \ + dxscalarseries.net dxscalarsteady.net dxvectorseries.net \ + dxvectorsteady.net ensightout1.h ensightout2.h ensightout32.h \ + fortra.lisp gnuplotout1.h gnuplotout2.h gnuplotout32.h \ + ideasin.h ideasout1.h ideasout2.h ideasout31.h ideasout32.h \ + isvasout1.h isvasout2.h isvasout32.h maple1.h maple3.h \ + maxima1.h maxima1.h.back maxima3.h nomeshout.h noopen.h \ + openout.h patran.vecfem.res_tmpl patranin.h patranout1.h \ + patranout2.h patranout31.h patranout32.h printin.h \ + printout1.h printout2.h printout32.h userb1.h userb3.h \ + userf1.h userf3.h useru01.h useru03.h usrfu1.h usrfu3.h \ + usrfut1.h usrfut3.h vecfem1.h vecfem10.h vecfem1a.h \ + vecfem1e.h vecfem1p.h vecfem2.h vecfem3.h vecfem4e.h \ + vecfem4p.h vecfem5.h vecfem6.h vecfem71.h vecfem72.h \ + vecfem8.h vecfem9.h vempfade + +VEMDOCDIR= RefManual + +VEMINCLUDE= archi.h cache.h maxnpe.h nproc.h scalar.h bytes.h const.h \ + norec.h nprocs.h solex.h + +VEMLIB= lib${PORTNAME}${PORTVERSION}.a +VEMLIBDIR= ${WRKDIR}/${VECFEM_ARCH} + +MAKE_ENV= VECFEM_ROOT=${WRKDIR} \ + VECFEM_SHELL=/bin/sh \ + LIB=${VEMLIBDIR}/${VEMLIB} \ + VECFEM_ARCH=${VECFEM_ARCH} \ + AR=ar \ + ARFLAGS=rv +pre-build: +.ifdef MPI + @${ECHO_MSG} "Building ${PORTNAME}-${PORTVERSION} with MPI support" +.endif + +# necessary links + -@${LN} -s ${WRKDIR}/include/${LINUX} ${WRKDIR}/include/${VECFEM_ARCH} + -@${LN} -s ${WRKDIR}/source/${LINUX} ${WRKDIR}/source/${VECFEM_ARCH} + @${MKDIR} ${WRKDIR}/${VECFEM_ARCH} + +do-build: +# build the architecture independent part + @(cd ${BUILD_WRKSRC} ; ${SETENV} ${MAKE_ENV} ${GMAKE} ${MAKE_FLAGS} ${MAKEFILE} ${MAKE_ARGS} ${ALL_TARGET}) +# build the architecture dependent subdirectoy + @(cd ${BUILD_WRKSRC}/${VECFEM_ARCH}; ${SETENV} ${MAKE_ENV} ${GMAKE} ${MAKE_FLAGS} ${MAKEFILE} ${MAKE_ARGS} ${ALL_TARGET}) + +post-build: +# changing shell and VEMPATH of vemtools + @(echo "===> Fixing ${WRKDIR}/vemtools") +.for i in ${VEMTOOL} + @(${SED} '1s/^#!\/bin\/ksh/#!\/bin\/sh/' ${WRKDIR}/vemtool/$i | ${SED} 's/vemtool\/\(vem*\)/bin\/\1/g' | ${AWK} '{ if ($$0=="MYCOMMAND=$$_") print "MYCOMMAND=${PREFIX}/share/${PORTNAME}${PORTVERSION}/vempfade"; else print $$0 }' > ${WRKDIR}/vemtool/$i.back) + @(${CP} ${WRKDIR}/vemtool/$i.back ${WRKDIR}/vemtool/$i) +.endfor + +# changing path in vembuild + + @(${SED} 's/vemtool\/\(.*\.h\)/share\/${PORTNAME}${PORTVERSION}\/\1/g' ${WRKSRC}/vemtool/vembuild | ${SED} 's/vemtool\/\(dummy.*\)/share\/${PORTNAME}${PORTVERSION}\/\1/g' | ${SED} 's/vemtool /share\/${PORTNAME}${PORTVERSION}/g' > ${WRKSRC}/vemtool/vembuild.back) + @(${CP} ${WRKSRC}/vemtool/vembuild.back ${WRKSRC}/vemtool/vembuild) + +#changing path in vemfc + + @( ${SED} 's/\(include\)\/".VECFEM_ARCH/\1\/${PORTNAME}${PORTVERSION}"/g' ${WRKSRC}/vemtool/vemfc | ${SED} 's/\(.VECFEM_ROOT\)"\/".VECFEM_ARCH/\1\/lib/g' | ${SED} 's/.VECFEM_ARCH\(\/liblsolpp.a\)/lib\1/' > ${WRKSRC}/vemtool/vemfc.back) + @(${CP} ${WRKSRC}/vemtool/vemfc.back ${WRKSRC}/vemtool/vemfc) + +# changing path in vempost + + @(${SED} 's/vemtool\/\(.*\.net\)/share\/${PORTNAME}${PORTVERSION}\/\1/g' ${WRKSRC}/vemtool/vempost | ${SED} 's/vemtool\/\(.*\_tmpl\)/share\/${PORTNAME}${PORTVERSION}\/\1/g' > ${WRKSRC}/vemtool/vempost.back ) + @(${CP} ${WRKSRC}/vemtool/vempost.back ${WRKSRC}/vemtool/vempost) + +# changing path in maxima1.h + + @(${SED} 's/vemtool\/\(.*\.lisp\)/share\/${PORTNAME}${PORTVERSION}\/\1/g' ${WRKSRC}/vemtool/maxima1.h > ${WRKSRC}/vemtool/maxima1.h.back) + @(${CP} ${WRKSRC}/vemtool/maxima1.h.back ${WRKSRC}/vemtool/maxima1.h) + +# writing vemtool/vempfade + + @(${ECHO} "export VECFEM_SHELL=/bin/sh" > ${WRKSRC}/vemtool/vempfade) + @(${ECHO} "export VECFEM_AWK=awk" >> ${WRKSRC}/vemtool/vempfade) + @(${ECHO} "export VECFEM_ARCH=${VECFEM_ARCH}" >> ${WRKSRC}/vemtool/vempfade) + @(${ECHO} "export VECFEM_ROOT=${PREFIX}" >> ${WRKSRC}/vemtool/vempfade) + +do-install: + +## installing share/vecfem3 + @( cd ${WRKSRC}/vemtool; ${INSTALL} -d ${PREFIX}/share/${PORTNAME}${PORTVERSION} ; ${INSTALL_DATA} ${VEMSHARE} ${PREFIX}/share/${PORTNAME}${PORTVERSION} ) + @( cd ${WRKSRC}; ${INSTALL} -d ${PREFIX}/share/doc/${PORTNAME}${PORTVERSION}/${VEMDOCIR} ; ${CP} -r ${VEMDOCDIR} ${PREFIX}/share/doc/${PORTNAME}${PORTVERSION} ) + +## installing include/vecfem3 + @( cd ${WRKSRC}/include/${VECFEM_ARCH}/; ${INSTALL} -d ${PREFIX}/include/${PORTNAME}${PORTVERSION} ; ${INSTALL_DATA} ${VEMINCLUDE} ${PREFIX}/include/${PORTNAME}${PORTVERSION} ) + +## installing lib + @( cd ${WRKSRC}/${VECFEM_ARCH}; ${INSTALL_DATA} ${VEMLIB} ${PREFIX}/lib/ ) + +## installing bin + @( cd ${WRKSRC}/vemtool; ${INSTALL_SCRIPT} ${VEMTOOL} ${PREFIX}/bin/ ) + +## installing manpages + @( cd ${WRKSRC}/man7; ${INSTALL_DATA} ${MAN7} ${PREFIX}/man/man7/ ) diff --git a/math/vecfem/distinfo b/math/vecfem/distinfo new file mode 100644 index 00000000000..b6aeeaf9b17 --- /dev/null +++ b/math/vecfem/distinfo @@ -0,0 +1 @@ +MD5 (vem.tar.gz) = 996039e5aaa6c2febeb20000d354c6c4 diff --git a/math/vecfem/files/patch-aa b/math/vecfem/files/patch-aa new file mode 100644 index 00000000000..ed495a71680 --- /dev/null +++ b/math/vecfem/files/patch-aa @@ -0,0 +1,41 @@ +*** vemtool/vemfc.orig Thu Nov 9 21:23:30 2000 +--- vemtool/vemfc Thu Jan 18 14:57:21 2001 +*************** +*** 1,4 **** +! #!/bin/ksh + DATE="10/08/1998" + MYCOMMAND=$_ + #************************************************************************** +--- 1,4 ---- +! #!/bin/sh + DATE="10/08/1998" + MYCOMMAND=$_ + #************************************************************************** +*************** +*** 74,79 **** +--- 74,81 ---- + # + case $ARCH in + ++ FreeBSD) F77="f77 -O";; ++ FreeBSD_MPI) F77="/usr/local/mpich/bin/mpif77";; + LINUX) F77="g77 -O";; + LINUX_PG) F77="pgf77 -O -Munroll -Mnoframe -tp px -Minfo -Mvect=assoc,cachesize:128000 -Mcache_align";; + LINUX_MPI) F77="mpif77 -O";; +*************** +*** 114,120 **** + # set the paths of inlcude files and libraries: + # + case $ARCH in +! SunOS | SOLARIS | IRIX6N32 | IRIX6N64 | AP1000 | DECALPHA | LINUX | LINUX_MPI | SOLARISF90) + IFLAGS="-I"$VECFEM_ROOT"/include/"$VECFEM_ARCH ; + LFLAGS="-L"$VECFEM_ROOT"/"$VECFEM_ARCH ;; + IRIX5 ) +--- 116,122 ---- + # set the paths of inlcude files and libraries: + # + case $ARCH in +! FreeBSD | FreeBSD_MPI | SunOS | SOLARIS | IRIX6N32 | IRIX6N64 | AP1000 | DECALPHA | LINUX | LINUX_MPI | SOLARISF90) + IFLAGS="-I"$VECFEM_ROOT"/include/"$VECFEM_ARCH ; + LFLAGS="-L"$VECFEM_ROOT"/"$VECFEM_ARCH ;; + IRIX5 ) diff --git a/math/vecfem/pkg-comment b/math/vecfem/pkg-comment new file mode 100644 index 00000000000..70e850337dd --- /dev/null +++ b/math/vecfem/pkg-comment @@ -0,0 +1 @@ +Program to solve non-linear boundary value problems diff --git a/math/vecfem/pkg-descr b/math/vecfem/pkg-descr new file mode 100644 index 00000000000..f3ed8f7a104 --- /dev/null +++ b/math/vecfem/pkg-descr @@ -0,0 +1,20 @@ +VECFEM is a program package for the solution of non-linear boundary value +problems by the finite element method. +VECFEM is open for arbitrary domains and a very large class of non-linear PDEs. +This allows you to run your simulation without simplifying your model. +The package uses the finite element method (FEM) to compute an approximation +of your PDE considering 1-D, 2D and 3D domains of any shape. +The equation may be a single equation or a system of coupled PDEs. +It may be steady or time-dependent. +Examples of use are + + heat transfer + flow problem + diffusion + structural analysis + fluid analysis + +WWW: http://www.massey.ac.nz/~lgrosz/vecfem/ + +- Ralf Becker +<ralf@akk.org> diff --git a/math/vecfem/pkg-plist b/math/vecfem/pkg-plist new file mode 100644 index 00000000000..d8f5447cded --- /dev/null +++ b/math/vecfem/pkg-plist @@ -0,0 +1,187 @@ +bin/vemaxiom +bin/vembuild +bin/vemfc +bin/vemcompile +bin/vemmaple +bin/vemmaxima +bin/vempost +bin/vemrun +bin/vemtar +bin/vemhint +include/vecfem3/archi.h +include/vecfem3/cache.h +include/vecfem3/maxnpe.h +include/vecfem3/nproc.h +include/vecfem3/scalar.h +include/vecfem3/bytes.h +include/vecfem3/const.h +include/vecfem3/norec.h +include/vecfem3/nprocs.h +include/vecfem3/solex.h +lib/libvecfem3.a +share/doc/vecfem3/RefManual/xvem.html +share/doc/vecfem3/RefManual/comend.html +share/doc/vecfem3/RefManual/equation.html +share/doc/vecfem3/RefManual/idevem.html +share/doc/vecfem3/RefManual/idve97.html +share/doc/vecfem3/RefManual/index.html +share/doc/vecfem3/RefManual/lsolpp.html +share/doc/vecfem3/RefManual/matrix.html +share/doc/vecfem3/RefManual/mesh.html +share/doc/vecfem3/RefManual/patvem.html +share/doc/vecfem3/RefManual/userb.html +share/doc/vecfem3/RefManual/userc.html +share/doc/vecfem3/RefManual/userf.html +share/doc/vecfem3/RefManual/userl.html +share/doc/vecfem3/RefManual/usrfu.html +share/doc/vecfem3/RefManual/vedx97.html +share/doc/vecfem3/RefManual/veen97.html +share/doc/vecfem3/RefManual/vegp97.html +share/doc/vecfem3/RefManual/veid97.html +share/doc/vecfem3/RefManual/veid99.html +share/doc/vecfem3/RefManual/veis97.html +share/doc/vecfem3/RefManual/vemavs.html +share/doc/vecfem3/RefManual/vembldexm01.html +share/doc/vecfem3/RefManual/vembldexm04.html +share/doc/vecfem3/RefManual/vembldexm05.html +share/doc/vecfem3/RefManual/vembldexm07.html +share/doc/vecfem3/RefManual/vembldexm08.html +share/doc/vecfem3/RefManual/vembldexm10.html +share/doc/vecfem3/RefManual/vembldexm11.html +share/doc/vecfem3/RefManual/vembuild.html +share/doc/vecfem3/RefManual/vemcompile.html +share/doc/vecfem3/RefManual/vemconvert.html +share/doc/vecfem3/RefManual/vemdis.html +share/doc/vecfem3/RefManual/vemdx.html +share/doc/vecfem3/RefManual/veme00.html +share/doc/vecfem3/RefManual/veme00exm01.html +share/doc/vecfem3/RefManual/veme00exm03.html +share/doc/vecfem3/RefManual/veme00exm04.html +share/doc/vecfem3/RefManual/veme00exm05.html +share/doc/vecfem3/RefManual/veme00exm06.html +share/doc/vecfem3/RefManual/veme00exm07.html +share/doc/vecfem3/RefManual/veme00exm08.html +share/doc/vecfem3/RefManual/veme00exm09.html +share/doc/vecfem3/RefManual/veme02.html +share/doc/vecfem3/RefManual/veme02exm01.html +share/doc/vecfem3/RefManual/veme02exm03.html +share/doc/vecfem3/RefManual/veme02exm04.html +share/doc/vecfem3/RefManual/veme02exm05.html +share/doc/vecfem3/RefManual/veme02exm06.html +share/doc/vecfem3/RefManual/veme02exm09.html +share/doc/vecfem3/RefManual/veme02exm10.html +share/doc/vecfem3/RefManual/vemens.html +share/doc/vecfem3/RefManual/vemexamples.html +share/doc/vecfem3/RefManual/vemfre.html +share/doc/vecfem3/RefManual/vemge2.html +share/doc/vecfem3/RefManual/vemgen.html +share/doc/vecfem3/RefManual/vemgen1d.html +share/doc/vecfem3/RefManual/vemgen2d.html +share/doc/vecfem3/RefManual/vemgen2dq.html +share/doc/vecfem3/RefManual/vemgen3d.html +share/doc/vecfem3/RefManual/vemhint.html +share/doc/vecfem3/RefManual/vemide.html +share/doc/vecfem3/RefManual/vemisv.html +share/doc/vecfem3/RefManual/vemlst.html +share/doc/vecfem3/RefManual/vemopt.html +share/doc/vecfem3/RefManual/vemp02.html +share/doc/vecfem3/RefManual/vemp02exm01.html +share/doc/vecfem3/RefManual/vemp02exm03.html +share/doc/vecfem3/RefManual/vemp02exm05.html +share/doc/vecfem3/RefManual/vempat.html +share/doc/vecfem3/RefManual/vempeak.html +share/doc/vecfem3/RefManual/vempost.html +share/doc/vecfem3/RefManual/vemrun.html +share/doc/vecfem3/RefManual/vemtar.html +share/doc/vecfem3/RefManual/vemu01.html +share/doc/vecfem3/RefManual/vemu02.html +share/doc/vecfem3/RefManual/vemu03.html +share/doc/vecfem3/RefManual/vemu04.html +share/doc/vecfem3/RefManual/vemu05.html +share/doc/vecfem3/RefManual/vemu06.html +share/doc/vecfem3/RefManual/vemu07.html +share/doc/vecfem3/RefManual/vemu08.html +share/doc/vecfem3/RefManual/vemu09.html +share/doc/vecfem3/RefManual/vemu13.html +share/doc/vecfem3/RefManual/vepa97.html +share/doc/vecfem3/RefManual/vepa99.html +share/doc/vecfem3/RefManual/combgn.html +share/vecfem3/avsout1.h +share/vecfem3/avsout2.h +share/vecfem3/avsout32.h +share/vecfem3/avsscalarseries.net +share/vecfem3/avsscalarsteady.net +share/vecfem3/avsvectorseries.net +share/vecfem3/avsvectorsteady.net +share/vecfem3/dummy.equation +share/vecfem3/dummy.resource +share/vecfem3/dxout1.h +share/vecfem3/dxout2.h +share/vecfem3/dxout32.h +share/vecfem3/dxscalarseries.net +share/vecfem3/dxscalarsteady.net +share/vecfem3/dxvectorseries.net +share/vecfem3/dxvectorsteady.net +share/vecfem3/ensightout1.h +share/vecfem3/ensightout2.h +share/vecfem3/ensightout32.h +share/vecfem3/fortra.lisp +share/vecfem3/gnuplotout1.h +share/vecfem3/gnuplotout2.h +share/vecfem3/gnuplotout32.h +share/vecfem3/ideasin.h +share/vecfem3/ideasout1.h +share/vecfem3/ideasout2.h +share/vecfem3/ideasout31.h +share/vecfem3/ideasout32.h +share/vecfem3/isvasout1.h +share/vecfem3/isvasout2.h +share/vecfem3/isvasout32.h +share/vecfem3/maple1.h +share/vecfem3/maple3.h +share/vecfem3/maxima1.h +share/vecfem3/maxima1.h.back +share/vecfem3/maxima3.h +share/vecfem3/nomeshout.h +share/vecfem3/noopen.h +share/vecfem3/openout.h +share/vecfem3/patran.vecfem.res_tmpl +share/vecfem3/patranin.h +share/vecfem3/patranout1.h +share/vecfem3/patranout2.h +share/vecfem3/patranout31.h +share/vecfem3/patranout32.h +share/vecfem3/printin.h +share/vecfem3/printout1.h +share/vecfem3/printout2.h +share/vecfem3/printout32.h +share/vecfem3/userb1.h +share/vecfem3/userb3.h +share/vecfem3/userf1.h +share/vecfem3/userf3.h +share/vecfem3/useru01.h +share/vecfem3/useru03.h +share/vecfem3/usrfu1.h +share/vecfem3/usrfu3.h +share/vecfem3/usrfut1.h +share/vecfem3/usrfut3.h +share/vecfem3/vecfem1.h +share/vecfem3/vecfem10.h +share/vecfem3/vecfem1a.h +share/vecfem3/vecfem1e.h +share/vecfem3/vecfem1p.h +share/vecfem3/vecfem2.h +share/vecfem3/vecfem3.h +share/vecfem3/vecfem4e.h +share/vecfem3/vecfem4p.h +share/vecfem3/vecfem5.h +share/vecfem3/vecfem6.h +share/vecfem3/vecfem71.h +share/vecfem3/vecfem72.h +share/vecfem3/vecfem8.h +share/vecfem3/vecfem9.h +share/vecfem3/vempfade +@dirrm share/doc/vecfem3/RefManual +@dirrm share/doc/vecfem3 +@dirrm share/vecfem3 +@dirrm include/vecfem3 |