summaryrefslogtreecommitdiff
path: root/cad
diff options
context:
space:
mode:
authordmcmahill <dmcmahill>2001-04-28 02:36:35 +0000
committerdmcmahill <dmcmahill>2001-04-28 02:36:35 +0000
commitb990ffd6849a9d6c4ccd6c53ae29108b40e98e78 (patch)
treef5b87d1c26cd78cdabd5d657c32979a65a97d8db /cad
parent0ee51ae4111798142cb9c4164eed251bc95769d0 (diff)
downloadpkgsrc-b990ffd6849a9d6c4ccd6c53ae29108b40e98e78.tar.gz
initial import of simian-2.1
Surface Impedance Method for Interconnect Analysis. SIMIAN is a two dimensional frequency dependent series impedance extraction tool for inerconnects and transmission lines using conductors of rectangular or circular cross section. The use of the surface ribbon method (SRM) greatly enhances the speed of computation relative to the volume filament method (VFM).
Diffstat (limited to 'cad')
-rw-r--r--cad/simian/Makefile34
-rw-r--r--cad/simian/distinfo8
-rw-r--r--cad/simian/patches/patch-aa34
-rw-r--r--cad/simian/patches/patch-ab64
-rw-r--r--cad/simian/patches/patch-ac16
-rw-r--r--cad/simian/patches/patch-ad38
-rw-r--r--cad/simian/pkg/DESCR9
-rw-r--r--cad/simian/pkg/PLIST15
8 files changed, 218 insertions, 0 deletions
diff --git a/cad/simian/Makefile b/cad/simian/Makefile
new file mode 100644
index 00000000000..44e24cdc790
--- /dev/null
+++ b/cad/simian/Makefile
@@ -0,0 +1,34 @@
+# $NetBSD: Makefile,v 1.1.1.1 2001/04/28 02:36:35 dmcmahill Exp $
+#
+
+DISTNAME= simian_12_98
+PKGNAME= simian-2.1
+CATEGORIES= cad
+MASTER_SITES= http://weewave.mer.utexas.edu/MED_files/CODE_RQST/
+
+MAINTAINER= dmcmahill@netbsd.org
+HOMEPAGE= http://weewave.mer.utexas.edu/MED_files/MED_research/Intrcncts/SIMIAN_stuff/simian_links.html
+COMMENT= 2-dimensional interconnect and transmission line simulator
+
+RESTRICTED= "Personal use only"
+NO_SRC_ON_CDROM= ${RESTRICTED}
+NO_BIN_ON_CDROM= ${RESTRICTED}
+NO_SRC_ON_FTP= ${RESTRICTED}
+NO_BIN_ON_FTP= ${RESTRICTED}
+
+WRKSRC= ${WRKDIR}/Simian/src
+ALL_TARGET= simian
+
+do-fetch:
+ @if ${TEST} \! -f ${DISTDIR}/${DISTNAME}${EXTRACT_SUFX}; then \
+ ${ECHO} "===> You need to request a password on ${HOMEPAGE}"; \
+ ${ECHO} " and fetch on your own source file."; \
+ exit 1; \
+ fi
+
+do-install:
+ ${INSTALL_PROGRAM} ${WRKSRC}/simian ${PREFIX}/bin
+ ${INSTALL_DATA_DIR} ${PREFIX}/share/examples/simian
+ ${INSTALL_DATA} ${WRKSRC}/../examples/* ${PREFIX}/share/examples/simian
+
+.include "../../mk/bsd.pkg.mk"
diff --git a/cad/simian/distinfo b/cad/simian/distinfo
new file mode 100644
index 00000000000..64839c44709
--- /dev/null
+++ b/cad/simian/distinfo
@@ -0,0 +1,8 @@
+$NetBSD: distinfo,v 1.1.1.1 2001/04/28 02:36:35 dmcmahill Exp $
+
+SHA1 (simian_12_98.tar.gz) = c7d57087a397970b05195f497c98a058cea1a93a
+Size (simian_12_98.tar.gz) = 18474 bytes
+SHA1 (patch-aa) = fa43e88db6902537114d49ff0f14d420927c50e1
+SHA1 (patch-ab) = e31c96d7fa79833dbd9dc7d22ea1f0a95b327d4a
+SHA1 (patch-ac) = 64b974adb3111e21bd6f14838371eb5db5cbd050
+SHA1 (patch-ad) = d3f6b068fe0d16a8c097b7e5a77d7f89d010e8b8
diff --git a/cad/simian/patches/patch-aa b/cad/simian/patches/patch-aa
new file mode 100644
index 00000000000..8eff5c7ce5f
--- /dev/null
+++ b/cad/simian/patches/patch-aa
@@ -0,0 +1,34 @@
+$NetBSD: patch-aa,v 1.1.1.1 2001/04/28 02:36:35 dmcmahill Exp $
+
+--- Makefile.orig Mon Dec 7 03:28:52 1998
++++ Makefile Fri Apr 27 17:09:20 2001
+@@ -1,6 +1,4 @@
+
+-SHELL = /bin/csh
+-CCC = c++
+-CCFLAGS = -g
++CXXFLAGS+= -Wformat
+ LDFLAGS = -lm
+ RM = /bin/rm
+@@ -14,5 +12,5 @@
+
+ simian : $(OBJEC)
+- $(CCC) $(CCFLAGS) $(TARGET_ARCH) $(OBJEC) -o simian $(LDFLAGS)
++ $(CXX) $(CXXFLAGS) $(TARGET_ARCH) $(OBJEC) -o simian $(LDFLAGS)
+
+ main.o : main.cc weeks.h
+@@ -48,11 +46,11 @@
+
+ $(INCLU)/linear.o : $(INCLU)/linear.cc
+- g++ -c $(CFLAGS) $(INCLU)/linear.cc -o $(INCLU)/linear.o
++ $(CXX) -c $(CXXFLAGS) $(INCLU)/linear.cc -o $(INCLU)/linear.o
+
+ $(INCLU)/bessel.o : $(INCLU)/bessel.cc
+- g++ -c $(CFLAGS) $(INCLU)/bessel.cc -o $(INCLU)/bessel.o
++ $(CXX) -c $(CXXFLAGS) $(INCLU)/bessel.cc -o $(INCLU)/bessel.o
+
+ clean:
+- $(RM) -f *.o
++ $(RM) -f *.o simian
+ cd ../include; $(RM) -f *.o
+
diff --git a/cad/simian/patches/patch-ab b/cad/simian/patches/patch-ab
new file mode 100644
index 00000000000..b41b651f21c
--- /dev/null
+++ b/cad/simian/patches/patch-ab
@@ -0,0 +1,64 @@
+$NetBSD: patch-ab,v 1.1.1.1 2001/04/28 02:36:35 dmcmahill Exp $
+
+--- main.cc.orig Thu Dec 10 05:56:19 1998
++++ main.cc Fri Apr 27 16:47:38 2001
+@@ -74,5 +74,5 @@
+ LastFil(fils); //remove last empty entry.
+ // Corr(fils); /* x1 < x2 */
+- printf("Total %ld ribbons, %ld conductor\n",Nf,Nc);
++ printf("Total %d ribbons, %d conductor\n",Nf,Nc);
+ L=allocator(Nf);
+
+@@ -85,5 +85,5 @@
+ L[j][i]=L[i][j]=Lp(iF,jF);
+ jF=jF->next;
+- fprintf(fo,"%ld %ld %le\n",i,j,L[i][j]*sis->unit);
++ fprintf(fo,"%d %d %e\n",i,j,L[i][j]*sis->unit);
+ }
+ iF=iF->next;
+@@ -97,5 +97,5 @@
+ for (i=0;i<Nf;i++) {
+ for (j=i;j<Nf;j++) {
+- fscanf(fi,"%ld %ld %le\n",&k,&k,&L[i][j]);
++ fscanf(fi,"%d %d %le\n",&k,&k,&L[i][j]);
+ L[i][j]/=sis->unit;
+ L[j][i]=L[i][j];
+@@ -115,5 +115,5 @@
+ printf("\n");
+ printf("*********** \n");
+- printf("Total Elapsed time=%ld Seconds\n",(stop-start));
++ printf("Total Elapsed time=%ld Seconds\n",(long int) (stop-start));
+ exit(1);
+ }
+@@ -144,9 +144,9 @@
+ z=matrix(Nc,Nc);
+ z=inverse(ymtrx,Nc);
+- fprintf(fzs,"\nImpedance %ld x %ld matrix (R,L) at f=%10.4le Hz\n",
++ fprintf(fzs,"\nImpedance %d x %d matrix (R,L) at f=%10.4e Hz\n",
+ Nc,Nc,w/2/M_PI);
+ for (i=0;i<Nc;i++) {
+ for (j=0;j<Nc;j++) {
+- fprintf(fzs,"(%11.4le,%11.4le) ",RE(z[i][j])*sis->unit,IM(z[i][j])
++ fprintf(fzs,"(%11.4e,%11.4e) ",RE(z[i][j])*sis->unit,IM(z[i][j])
+ /w*sis->unit);
+ }
+@@ -182,10 +182,10 @@
+ Din=matrix(numsgn+1,numsgn+1);
+ Din=Zequ(cons,numsgn,Nc);
+- fprintf(fzs,"\nImpedance %ld x %ld matrix (R,L) at f=%10.4le Hz\n",
++ fprintf(fzs,"\nImpedance %d x %d matrix (R,L) at f=%10.4e Hz\n",
+ numsgn,numsgn,w/2/M_PI);
+
+ for (i=0;i<numsgn;i++) {
+ for (j=0;j<numsgn;j++) {
+- fprintf(fzs,"(%11.4le,%11.4le) ",RE(Din[i][j])*sis->unit,IM(Din[i][j])
++ fprintf(fzs,"(%11.4e,%11.4e) ",RE(Din[i][j])*sis->unit,IM(Din[i][j])
+ /w*sis->unit);
+ }
+@@ -200,5 +200,5 @@
+ printf("\n");
+ printf("*********** \n");
+- printf("Total Elapsed time=%ld Seconds\n",(stop-start));
++ printf("Total Elapsed time=%ld Seconds\n",(long int) (stop-start));
+ exit(0);
+ }
diff --git a/cad/simian/patches/patch-ac b/cad/simian/patches/patch-ac
new file mode 100644
index 00000000000..749fd6161f0
--- /dev/null
+++ b/cad/simian/patches/patch-ac
@@ -0,0 +1,16 @@
+$NetBSD: patch-ac,v 1.1.1.1 2001/04/28 02:36:35 dmcmahill Exp $
+
+--- plane.cc.orig Mon Dec 7 03:28:51 1998
++++ plane.cc Fri Apr 27 16:48:43 2001
+@@ -335,9 +335,9 @@
+ for (j=1;j<=l[i];j++) {
+ if (l[i]!=2)
+- if (LX[i][j]!=LX[i][j+1]) fprintf(fo,"below %ld %le\n",i,LX[i][j]);
++ if (LX[i][j]!=LX[i][j+1]) fprintf(fo,"below %d %e\n",i,LX[i][j]);
+ }
+ for (j=1;j<=u[i];j++) {
+ if (u[i]!=2)
+- if (UX[i][j]!=UX[i][j+1]) fprintf(fo,"above %ld %le\n",i,UX[i][j]);
++ if (UX[i][j]!=UX[i][j+1]) fprintf(fo,"above %d %e\n",i,UX[i][j]);
+ }
+ }
diff --git a/cad/simian/patches/patch-ad b/cad/simian/patches/patch-ad
new file mode 100644
index 00000000000..c8ab727282c
--- /dev/null
+++ b/cad/simian/patches/patch-ad
@@ -0,0 +1,38 @@
+$NetBSD: patch-ad,v 1.1.1.1 2001/04/28 02:36:35 dmcmahill Exp $
+
+--- reader.cc.orig Thu Dec 10 04:02:44 1998
++++ reader.cc Fri Apr 27 17:00:23 2001
+@@ -213,5 +213,5 @@
+ fl >> s1;
+ if (strcmp(s1,"=")==0) fl >> conduc->dx;
+- else sscanf(s1,"%c%ld",&dum,&conduc->dx);
++ else sscanf(s1,"%c%d",&dum,&conduc->dx);
+ }
+ else if (strcmp(s1,"ny=")==0) fl >> conduc->dy;
+@@ -219,5 +219,5 @@
+ fl >> s1;
+ if (strcmp(s1,"=")==0) fl >> conduc->dy;
+- else sscanf(s1,"%c%ld",&dum,&conduc->dy);
++ else sscanf(s1,"%c%d",&dum,&conduc->dy);
+ }
+ else if (strcmp(s1,"nr=")==0) fl >> conduc->nr;
+@@ -225,5 +225,5 @@
+ fl >> s1;
+ if (strcmp(s1,"=")==0) fl >> conduc->nr;
+- else sscanf(s1,"%c%ld",&dum,&conduc->nr);
++ else sscanf(s1,"%c%d",&dum,&conduc->nr);
+ }
+ else if ((strncmp(s1,"*",1)==0)||(strncmp(s1,".",1)==0)) {
+@@ -266,9 +266,9 @@
+ sscanf(s1,"%c%c%le",&dum,&dum,&conduc->v);
+ else if (strncmp(s1,"nx=",3)==0)
+- sscanf(s1,"%c%c%c%ld",&dum,&dum,&dum,&conduc->dx);
++ sscanf(s1,"%c%c%c%d",&dum,&dum,&dum,&conduc->dx);
+ else if (strncmp(s1,"ny=",3)==0)
+- sscanf(s1,"%c%c%c%ld",&dum,&dum,&dum,&conduc->dy);
++ sscanf(s1,"%c%c%c%d",&dum,&dum,&dum,&conduc->dy);
+ else if (strncmp(s1,"nr=",3)==0)
+- sscanf(s1,"%c%c%c%ld",&dum,&dum,&dum,&conduc->nr);
++ sscanf(s1,"%c%c%c%d",&dum,&dum,&dum,&conduc->nr);
+ else if (strncmp(s1,"rx=",3)==0)
+ sscanf(s1,"%c%c%c%le",&dum,&dum,&dum,&conduc->rx);
diff --git a/cad/simian/pkg/DESCR b/cad/simian/pkg/DESCR
new file mode 100644
index 00000000000..c0bc18aa3ef
--- /dev/null
+++ b/cad/simian/pkg/DESCR
@@ -0,0 +1,9 @@
+Surface Impedance Method for Interconnect Analysis.
+
+SIMIAN is a two dimensional frequency dependent series
+impedance extraction tool for inerconnects and transmission
+lines using conductors of rectangular or circular cross section.
+
+The use of the surface ribbon method (SRM) greatly enhances
+the speed of computation relative to the volume filament
+method (VFM).
diff --git a/cad/simian/pkg/PLIST b/cad/simian/pkg/PLIST
new file mode 100644
index 00000000000..95afafca188
--- /dev/null
+++ b/cad/simian/pkg/PLIST
@@ -0,0 +1,15 @@
+@comment $NetBSD: PLIST,v 1.1.1.1 2001/04/28 02:36:35 dmcmahill Exp $
+bin/simian
+share/examples/simian/ex1
+share/examples/simian/ex10
+share/examples/simian/ex11
+share/examples/simian/ex12
+share/examples/simian/ex2
+share/examples/simian/ex3
+share/examples/simian/ex4
+share/examples/simian/ex5
+share/examples/simian/ex6
+share/examples/simian/ex7
+share/examples/simian/ex8
+share/examples/simian/ex9
+@dirrm share/examples/simian