summaryrefslogtreecommitdiff
path: root/cad
diff options
context:
space:
mode:
authorfrueauf <frueauf>1998-06-06 22:42:58 +0000
committerfrueauf <frueauf>1998-06-06 22:42:58 +0000
commiteb7167fbbbde6e017393a73059aac28a4edeeb55 (patch)
tree7dd435c55f89ec53f974e26d9b6de7326b1eff8d /cad
parent9ffb11282213168d7a84308dccb6b569737a3d20 (diff)
downloadpkgsrc-eb7167fbbbde6e017393a73059aac28a4edeeb55.tar.gz
Initial addition of a fast 3-D capacitance solver.
Closes pr 5418 by Dan McMahill; heavy portlinting.
Diffstat (limited to 'cad')
-rw-r--r--cad/fastcap/Makefile77
-rw-r--r--cad/fastcap/files/md54
-rw-r--r--cad/fastcap/patches/patch-aa9
-rw-r--r--cad/fastcap/patches/patch-ab19
-rw-r--r--cad/fastcap/patches/patch-ac10
-rw-r--r--cad/fastcap/pkg/COMMENT1
-rw-r--r--cad/fastcap/pkg/DESCR18
-rw-r--r--cad/fastcap/pkg/PLIST47
8 files changed, 185 insertions, 0 deletions
diff --git a/cad/fastcap/Makefile b/cad/fastcap/Makefile
new file mode 100644
index 00000000000..4019e3d00fe
--- /dev/null
+++ b/cad/fastcap/Makefile
@@ -0,0 +1,77 @@
+# $NetBSD: Makefile,v 1.1 1998/06/06 22:42:58 frueauf Exp $
+#
+
+DISTNAME= fastcap-2.0-15Jul92
+PKGNAME= fastcap-2.0.15Jul92
+WRKSRC= ${WRKDIR}/fastcap
+CATEGORIES= cad
+MASTER_SITES= ftp://rle-vlsi.mit.edu/pub/fastcap/
+DISTFILES= fastcap-2.0-15Jul92.tar.Z \
+ postscript/ug.ps.Z \
+ postscript/mtt.ps.Z \
+ postscript/tcad.ps.Z
+
+MAINTAINER= mcmahill@alum.mit.edu
+
+DIST_SUBDIR= fastcap
+EXTRACT_ONLY= fastcap-2.0-15Jul92.tar.Z
+IGNOREFILES= postscript/ug.ps.Z \
+ postscript/mtt.ps.Z \
+ postscript/tcad.ps.Z
+
+HAS_CONFIGURE= yes
+CONFIGURE_SCRIPT= config
+CONFIGURE_ARGS= 4
+
+do-install:
+ ${INSTALL_PROGRAM} ${WRKSRC}/bin/fastcap ${PREFIX}/bin
+ ${INSTALL_PROGRAM} ${WRKSRC}/bin/cubegen ${PREFIX}/bin
+ ${INSTALL_PROGRAM} ${WRKSRC}/bin/capgen ${PREFIX}/bin
+ ${INSTALL_PROGRAM} ${WRKSRC}/bin/busgen ${PREFIX}/bin
+ ${INSTALL_PROGRAM} ${WRKSRC}/bin/pipedgen ${PREFIX}/bin
+ ${INSTALL_PROGRAM} ${WRKSRC}/bin/pyragen ${PREFIX}/bin
+ ${INSTALL_DATA_DIR} ${PREFIX}/share/examples/fastcap
+ ${INSTALL_DATA} ${WRKSRC}/examples/1x1bus.lst ${PREFIX}/share/examples/fastcap
+ ${INSTALL_DATA} ${WRKSRC}/examples/1x1coarse.neu ${PREFIX}/share/examples/fastcap
+ ${INSTALL_DATA} ${WRKSRC}/examples/1x1fine.neu ${PREFIX}/share/examples/fastcap
+ ${INSTALL_DATA} ${WRKSRC}/examples/1x1nonuni.neu ${PREFIX}/share/examples/fastcap
+ ${INSTALL_DATA} ${WRKSRC}/examples/README ${PREFIX}/share/examples/fastcap
+ ${INSTALL_DATA} ${WRKSRC}/examples/big_sphere1.neu ${PREFIX}/share/examples/fastcap
+ ${INSTALL_DATA} ${WRKSRC}/examples/coated_sph.lst ${PREFIX}/share/examples/fastcap
+ ${INSTALL_DATA} ${WRKSRC}/examples/cond_air_1x1.qui ${PREFIX}/share/examples/fastcap
+ ${INSTALL_DATA} ${WRKSRC}/examples/cond_dielec_1x1.qui ${PREFIX}/share/examples/fastcap
+ ${INSTALL_DATA} ${WRKSRC}/examples/connector2.sh ${PREFIX}/share/examples/fastcap
+ ${INSTALL_DATA} ${WRKSRC}/examples/connector3.sh ${PREFIX}/share/examples/fastcap
+ ${INSTALL_DATA} ${WRKSRC}/examples/connector4.sh ${PREFIX}/share/examples/fastcap
+ ${INSTALL_DATA} ${WRKSRC}/examples/cubeeg.fig ${PREFIX}/share/examples/fastcap
+ ${INSTALL_DATA} ${WRKSRC}/examples/dielec_face.neu ${PREFIX}/share/examples/fastcap
+ ${INSTALL_DATA} ${WRKSRC}/examples/dielec_sides.neu ${PREFIX}/share/examples/fastcap
+ ${INSTALL_DATA} ${WRKSRC}/examples/dielec_sides_2x2.neu ${PREFIX}/share/examples/fastcap
+ ${INSTALL_DATA} ${WRKSRC}/examples/dielec_topbot.neu ${PREFIX}/share/examples/fastcap
+ ${INSTALL_DATA} ${WRKSRC}/examples/pin ${PREFIX}/share/examples/fastcap
+ ${INSTALL_DATA} ${WRKSRC}/examples/pipeeg.fig ${PREFIX}/share/examples/fastcap
+ ${INSTALL_DATA} ${WRKSRC}/examples/ramcell.lst ${PREFIX}/share/examples/fastcap
+ ${INSTALL_DATA} ${WRKSRC}/examples/ramcell.out ${PREFIX}/share/examples/fastcap
+ ${INSTALL_DATA} ${WRKSRC}/examples/ramcell_bitl.neu ${PREFIX}/share/examples/fastcap
+ ${INSTALL_DATA} ${WRKSRC}/examples/ramcell_botd.neu ${PREFIX}/share/examples/fastcap
+ ${INSTALL_DATA} ${WRKSRC}/examples/ramcell_cond.neu ${PREFIX}/share/examples/fastcap
+ ${INSTALL_DATA} ${WRKSRC}/examples/ramcell_gnd.neu ${PREFIX}/share/examples/fastcap
+ ${INSTALL_DATA} ${WRKSRC}/examples/ramcell_test.neu ${PREFIX}/share/examples/fastcap
+ ${INSTALL_DATA} ${WRKSRC}/examples/ramcell_topd.neu ${PREFIX}/share/examples/fastcap
+ ${INSTALL_DATA} ${WRKSRC}/examples/ramgen.sh ${PREFIX}/share/examples/fastcap
+ ${INSTALL_DATA} ${WRKSRC}/examples/sphere1.neu ${PREFIX}/share/examples/fastcap
+ ${INSTALL_DATA} ${WRKSRC}/examples/sphere2.neu ${PREFIX}/share/examples/fastcap
+ ${INSTALL_DATA} ${WRKSRC}/examples/sphere3.neu ${PREFIX}/share/examples/fastcap
+ ${INSTALL_DATA} ${WRKSRC}/examples/testgen.sh ${PREFIX}/share/examples/fastcap
+ ${INSTALL_DATA} ${WRKSRC}/examples/testrun.sh ${PREFIX}/share/examples/fastcap
+ ${INSTALL_DATA} ${WRKSRC}/examples/via.neu ${PREFIX}/share/examples/fastcap
+ ${INSTALL_DATA_DIR} ${PREFIX}/share/doc/fastcap
+ ${INSTALL_DATA} ${DISTDIR}/${DIST_SUBDIR}/mtt.ps.Z ${PREFIX}/share/doc/fastcap
+ ${INSTALL_DATA} ${DISTDIR}/${DIST_SUBDIR}/tcad.ps.Z ${PREFIX}/share/doc/fastcap
+ ${INSTALL_DATA} ${DISTDIR}/${DIST_SUBDIR}/ug.ps.Z ${PREFIX}/share/doc/fastcap
+.for file in mtt.ps.Z tcad.ps.Z ug.ps.Z
+ uncompress ${PREFIX}/share/doc/fastcap/${file}
+.endfor
+ ${INSTALL_DATA} ${WRKSRC}/README.docs ${PREFIX}/share/doc/fastcap
+
+.include "../../mk/bsd.pkg.mk"
diff --git a/cad/fastcap/files/md5 b/cad/fastcap/files/md5
new file mode 100644
index 00000000000..4d84b1add35
--- /dev/null
+++ b/cad/fastcap/files/md5
@@ -0,0 +1,4 @@
+MD5 (fastcap/fastcap-2.0-15Jul92.tar.Z) = 7060f04f269ebede16d8a40a20373105
+MD5 (fastcap/postscript/ug.ps.Z) = IGNORE
+MD5 (fastcap/postscript/mtt.ps.Z) = IGNORE
+MD5 (fastcap/postscript/tcad.ps.Z) = IGNORE
diff --git a/cad/fastcap/patches/patch-aa b/cad/fastcap/patches/patch-aa
new file mode 100644
index 00000000000..c921e07cb29
--- /dev/null
+++ b/cad/fastcap/patches/patch-aa
@@ -0,0 +1,9 @@
+--- src/Makefile.4.orig Wed May 6 19:07:58 1998
++++ src/Makefile.4 Wed May 6 19:08:20 1998
+@@ -66,5 +66,5 @@
+ #CFLAGS = -O -DOTHER
+ # for most machines running 4.2/3 use (only necessary if timers are needed)
+-CFLAGS = -O -DFOUR
++CFLAGS = -O2 -DFOUR
+ # for most machines running System V use (only necessary if timers are needed)
+ #CFLAGS = -O -DFIVE
diff --git a/cad/fastcap/patches/patch-ab b/cad/fastcap/patches/patch-ab
new file mode 100644
index 00000000000..88e75eadf04
--- /dev/null
+++ b/cad/fastcap/patches/patch-ab
@@ -0,0 +1,19 @@
+--- src/mulSetup.c.orig Wed May 6 19:48:32 1998
++++ src/mulSetup.c Wed May 6 19:55:09 1998
+@@ -36,6 +36,16 @@
+
+ cube *cstack[1024]; /* Stack used in several routines. */
+
++
++/* Function prototypes for static functions in this file */
++static int placeq(int flag, ssystem *sys,charge *charges);
++static indexkid(ssystem *sys, cube *dad, int *pqindex, int *pcindex);
++static getnbrs(ssystem *sys);
++static linkcubes(ssystem *sys);
++static setMaxq(ssystem *sys);
++static getAllInter(ssystem *sys);
++static set_vector_masks(ssystem *sys);
++
+ /*
+ sets up the partitioning of space and room for charges and expansions
+ */
diff --git a/cad/fastcap/patches/patch-ac b/cad/fastcap/patches/patch-ac
new file mode 100644
index 00000000000..6d739e8249f
--- /dev/null
+++ b/cad/fastcap/patches/patch-ac
@@ -0,0 +1,10 @@
+--- /dev/null Fri May 8 09:34:20 1998
++++ README.docs Fri May 8 11:07:04 1998
+@@ -0,0 +1,7 @@
++The files in this directory are:
++
++mtt.ps.Z -- Paper from IEEE Microwave Theory and Techniques about FastCap
++tcad.ps.Z -- Paper from IEEE Transactions on CAD
++ug.ps.Z -- FastCap users guide
++README.docs -- This file
++
diff --git a/cad/fastcap/pkg/COMMENT b/cad/fastcap/pkg/COMMENT
new file mode 100644
index 00000000000..3f2efbbf53b
--- /dev/null
+++ b/cad/fastcap/pkg/COMMENT
@@ -0,0 +1 @@
+Fast 3-D capacitance solver.
diff --git a/cad/fastcap/pkg/DESCR b/cad/fastcap/pkg/DESCR
new file mode 100644
index 00000000000..a160c6cd915
--- /dev/null
+++ b/cad/fastcap/pkg/DESCR
@@ -0,0 +1,18 @@
+FastCap is a three-dimensional capacitance extraction program.
+
+FastCap computes self and mutual capacitances between ideal
+conductors of arbitrary shapes, orientations and sizes.
+The conductors can be embedded in a dielectric region composed
+of any number of constant-permittivity regions of any shape and
+size.
+
+The algorithm used in FastCap is an acceleration of the
+boundary-element technique for solving the integral equation
+associated with the multiple-conductor, multiple-dielectric
+capacitance extraction problem. The linear system resulting
+from the boundary-element discretization is solved using a
+generalized conjugate residual algorithm with a fast multipole
+algorithm to efficiently compute the iterates.
+
+FastCap was written at MIT by the MIT RLE VLSI-CAD research
+group (http://rle-vlsi.mit.edu/).
diff --git a/cad/fastcap/pkg/PLIST b/cad/fastcap/pkg/PLIST
new file mode 100644
index 00000000000..c8df99a85a2
--- /dev/null
+++ b/cad/fastcap/pkg/PLIST
@@ -0,0 +1,47 @@
+@comment $NetBSD: PLIST,v 1.1 1998/06/06 22:42:59 frueauf Exp $
+bin/busgen
+bin/capgen
+bin/cubegen
+bin/fastcap
+bin/pipedgen
+bin/pyragen
+share/examples/fastcap/1x1bus.lst
+share/examples/fastcap/1x1coarse.neu
+share/examples/fastcap/1x1fine.neu
+share/examples/fastcap/1x1nonuni.neu
+share/examples/fastcap/README
+share/examples/fastcap/big_sphere1.neu
+share/examples/fastcap/coated_sph.lst
+share/examples/fastcap/cond_air_1x1.qui
+share/examples/fastcap/cond_dielec_1x1.qui
+share/examples/fastcap/connector2.sh
+share/examples/fastcap/connector3.sh
+share/examples/fastcap/connector4.sh
+share/examples/fastcap/cubeeg.fig
+share/examples/fastcap/dielec_face.neu
+share/examples/fastcap/dielec_sides.neu
+share/examples/fastcap/dielec_sides_2x2.neu
+share/examples/fastcap/dielec_topbot.neu
+share/examples/fastcap/pin
+share/examples/fastcap/pipeeg.fig
+share/examples/fastcap/ramcell.lst
+share/examples/fastcap/ramcell.out
+share/examples/fastcap/ramcell_bitl.neu
+share/examples/fastcap/ramcell_botd.neu
+share/examples/fastcap/ramcell_cond.neu
+share/examples/fastcap/ramcell_gnd.neu
+share/examples/fastcap/ramcell_test.neu
+share/examples/fastcap/ramcell_topd.neu
+share/examples/fastcap/ramgen.sh
+share/examples/fastcap/sphere1.neu
+share/examples/fastcap/sphere2.neu
+share/examples/fastcap/sphere3.neu
+share/examples/fastcap/testgen.sh
+share/examples/fastcap/testrun.sh
+share/examples/fastcap/via.neu
+share/doc/fastcap/mtt.ps
+share/doc/fastcap/tcad.ps
+share/doc/fastcap/ug.ps
+share/doc/fastcap/README.docs
+@dirrm share/examples/fastcap
+@dirrm share/doc/fastcap