WESTERN MICHIGAN UNIVERSITY COMPUTER CENTER LIBRARY PROGRAM #2.5.1 CALLING NAME: ECAP PREPARED BY: DAVID C. SHULTZ AND RUSSELL R. BARR III PROGRAMMED BY: * APPROVED BY: JACK R. MEAGHER DATE: JULY 20, 1975 (VERION 3) ELECTRONIC CIRCUIT ANALYSIS PROGRAM TABLE OF CONTENTS 1.0 INTRODUCTION 2.0 ECAP INPUT LANGUAGE 3.0 RESPONSES TO QUESTIONS - INPUT? AND OUTPUT? 4.0 RESPONSES FOR READY 5.0 LIMITATIONS 6.0 EXAMPLE RUNS 1.0 INTRODUCITON THIS VERSION OF ECAP WAS CREATED IN RESPONSE TO REQUESTS THAT ECAP (WESTERN MICHIGAN'S ORIGINAL COPY OF THE ELECTRONIC CIRCUIT ANALYSIS PROGRAM) BE MADE MORE CONVENIENT IN AN INTERACTIVE ENVIRONMENT, INCLUDING ERROR RECOVERY, MODEL EDITING AND INPUT/OUTPUT OPTIONS. THESE FEATURES AND SOME OTHERS WERE INCORPORATED INTO ECAP. THE PROGRAM ECAP IS AN INTEGRATED SYSTEM OF PROGRAMS DEVELOPED PRIMARILY TO AID THE ELECTRICAL ENGINEER IN THE DESIGN AND ANALYSIS OF ELECTRONIC CIRCUITS. DC ANALYSIS, AC ANALYSIS AND TRANSIENT ANALYSIS CAPABILITIES ARE AVAILABLE. THE DC ANALYSIS PROGRAM OBTAINS THE STEADY-STATE SOLUTION OF LINEAR ELECTRICAL NETWORKS AND PROVIDES THE WORST CASE ANALYSIS DEVIAION (STATISTICAL) ANALYSIS, AND SENSITIVITY COEFFICIENT CALCULATIONS IF REQUESTED. THIS PROGRAM PROVIDES AN AUTOMATIC PARAMETER-MODIFICATION CAPABILITY. THE AC ANALYSIS PROGRAM OBTAINS THE STEADY-STATE SOLUTION OF LINEAR ELECTRICAL NETWORKS SUBJECT OF SINE-WAVE EXCITATION AT A FIXED FREQUENCY. SINCE THIS PROGRAM ALSO CONTAINS THE AUTOMATIC PARAMETER-MODIFICATION CAPABILITY, IT IS EASY TO OBTAIN FREQUENCY AND PHASE-RESPONSE SOLUTIONS. -------------------- *ECAP (DECUS #10-34) WAS OBTAINED FROM THE DIGITAL EQUIPMENT USER'S SOCIETY. SUBSTANTIAL ADAPITIVE PROGRAMMING WAS DONE AT WESTERN MICHIGAN UNIVERSITY BY SAM ANEMA AND RUSSELL BARR. THIS VERSION OF ECAP CONTAINS SUBSTATIAL REPROGRAMMING AND ERROR CORRECTION BY DAVID SCHULTZ AT WESTERN MICHIGAN UNIVERSITY. THE TRANSIENT ANALYSIS PROGRAM OBTAINS THE TIME-RESPONSE SOLUTION (VOLTAGES AND CURRENTS) OF BOTH LINEAR AND NON-LINEAR ELECTRICAL NETWORKS. COMPLETE DETAILS ABOUT THE USE OF THIS PROGRAM ARE GIVEN IN THE BOOK, "IBM ELECTRONIC CIRCUIT ANALYSIS PROGRAM--TECHNIQUES AND APPLICATIONS" BY JENSEN AND LEIBERMAN (PRENTICE-HALL 1968). MANY EXAMPLES WITH ANSWERS ARE GIVEN IN THIS BOOK. DIFFERENCES BETWEEN THE WMU ECAP AND ECAP DESCRIBED IN THE IBM MANUAL ARE DETAILED IN SECTION 2.0 THROUGH 6.0. NOTE: UNDERFLOW MESSAGES CAN BY CAUSED BY VERY LARGE RESISTONS BEING INPUTTED. 2.0 ECAP INPUT LANGUAGE GENERALLY THIS VERSION'S INPUT LANGUAGE IS THE SAME AS THAT OF THE IBM ECAP WITH THE EXCEPTIONS NOTED IN THE FOLLOWING SUBSECTIONS. 2.1 INPUT/OUTPUT THE ADDITION OF THE QUESTIONS INPUT? AND OUTPUT? GIVE THE USER MORE FREEDOM OF ACTION WITH HIS INPUT AND OUTPUT. BECAUSE OF THIS, IT IS NO LONGER NECESSARY OR POSSIBLE TO USE THE AS DSK 5 AND AS DSK 30 COMMANDS WITH ECAP. SEE SECITON 3.0 FOR MORE INFORMATION. 2.2 DC, AC, AND TR THE DC (OR DC ANALYSIS), AC (OR AC ANALYSIS) AND TR (OR TRANSIENT ANALYSIS) COMMANDS NOW ARE USED AS A COMMAND (STARTING IN COLUMN 1) AFTER THE MODEL IS ENTERED, INSTEAD OF AS SOLUTION CONTROL LINES. SEE SECTION 6.0 FOR EXAMPLES. 2.3 EXECUTE THE EXECUTE SOLUTION CONTROL LINE IS NOW NEEDED ONLY AFTER MODIFY GROUPS AND IS OPTIONAL AT OTHER TIMES. 2.4 SOLUTION CONTROL LINES SOLUTION CONTROL LINES ARE THOSE THAT DO NOT START WITH A LETTER IN COLUMN 1. THAT IS: FREQUENCY, SENSITIVITY, EXECUTE, ETC. THESE LINES START WITH BLANKS OR A TAB(CONTROL-I) AND MAY BE PRECEEDED BY AN OPTIONAL NUMBER FOR EDITING PURPOSES. IF NO NUMBERS ARE USED, THE INTERNAL REPRESENTATION WILL START AT 10 AND INCREASE BY 10 FOR EACH SOLUTION CONTRL LINE. 2.5 MODIFY THE MODIFY COMMAND GROUP IS THE SAME EXCEPT THAT LINES ADDED TO THE MODIFY GROUP OUT OF SEQUENCE (AS IN EDITING) SHOULD BE PRECEEDED WITH A NUMERIC LINE NUMBER TO DIFFERENTIATE BETWEEN NORMAL LINES IN THE MODEL AND THOSE IN THE MODIFY GROUP. IT IS SUGGESTED THAT WHENEVER THE MODIFY COMMAND IS USED, ALL SOLUTION CONTROL LINES BE PRECEEDED WITH A NUMBER TO INSURE THE PROPER ORDER OF EACH STATEMENT WHEN EDITING IS DONE. EXAMPLE: B5 N(0),R=10,E=100 10 PRINT, VOLTAGES 20 MODIFY 30 B5 R=20(3)80 40 EXECUTE 3.0 RESPONSES TO QUESTIONS-INPUT? AND OUTPUT? THIS SECTION EXPLAINS THE FOLLOWING TWO QUESTINS YOU WILL ENCOUNTER: INPUT? (TYPE HELP IF NEEDED)-- AND OUTPUT? (TYPE HELP IF NEEDED)-- RESPONSES TO THESE QUESTIONS DEFINE FROM WHERE THE USER WISHES TO READ HIS INPUT MODEL (INPUT?) AND WHERE THE USER WISHES TO WRITE HIS OUTPUT DATA OR SAVE HIS MODEL (OUTPUT?). SEE NOTE 2 BELOW FOR OTHER INPUT OPTIONS. THE PROPER RESPONSE TO EACH OF THESE QUESTIONS CONSISTS OF THREE BASIC PARTS: A DEVICE, A FILENAME, AND A PROJECT-PROGRAMMER NUMBER. THE GENERAL FORMAT FOR THESE THREE PARTS IS AS FOLLOW: DEVICE:FILE.EXT[PROJ,PORG] 1) DEV: ANY OF THE FOLLOWING DEVICES ARE APPROPRIATE WHERE INDICATED: DEVICE LIST DEFINITION STATEMENT USE TTY: TERMINAL INPUT OR OUTPUT DSK: DISK INPUT OR OUTPUT CDR: CARD READER INPUT ONLY LPT: LINE PRINTER OUTPUT ONLY DTA0: DECTAPE 0 INPUT OR OUTPUT DTA1: DECTAPE 1 INPUT OR OUTPUT DTA2: DECTAPE 2 INPUT OR OUTPUT DTA3: DECTAPE 3 INPUT OR OUTPUT DTA4: DECTAPE 4 INPUT OR OUTPUT DTA5: DECTAPE 5 INPUT OR OUTPUT DTA6: DECTAPE 6 INPUT OR OUTPUT DTA7: DECTAPE 7 INPUT OR OUTPUT MTA0: MAGNETIC TAPE 0 INPUT OR OUTPUT MTA1: MAGNETIC TAPE 1 INPUT OR OUTPUT INPUT MAY NOT BE DONE FROM THE LINE PRINTER NOR MAY OUTPUT GO THE CARD READER. 2) FILE.EXT IS THE NAME AND THE EXTENSION OF THE FILE TO BE USED. THIS PART OF THE SPECIFICATION IS USED ONLY IF DISK OR DECTAPE IS USED. 3) [PR0J,PROG] IF A DISK IS USED AND THE USER WISHES TO READ A FILE IN ANOTHER PERSON'S DIRECTORY, HE MAY DO SO BY SPECIFYING THE PROJECT-PROGRAMMER NUMBER OF THE DIRECTORY FROM WHICH HE WISHES TO READ. THE PROJECT NUMBER AND THE PROGRAMMER NUMBER MUST BE SEPARTED BY A COMMA AND ENCLOSED IN BRACKETS. OUTPUT MUST GO TOYOUR OWN AREA. EXAMPLE: OUTPUT? LPT:/2 INPUT? DSK:DATA.DAT[71171,71026] IN THE EXAMPLE, TWO COPIES OF THE OUTPUT ARE TO BE PRINTED BY THE HIGH SPEED LINE PRINTER. THE INPUT DATA IS A DISK FILE OF DATA.DAT IN USER DIRECTORY [71171,71026]. DEFAULTS: 1) IF NO DEVICE IS SPECFIED BUT A FILE NAME IS SPECIFIED THE DEFAULT DEVICE WILL BE DSK: 2) IF NO FILENAME IS SPECIFIED AND A DISK OR DECTAPE IS USED THE DEFAULT ON INPUT WILL BE FORM INPUT.DAT: ON OUTPUT IT WILL BE OUTPT.DAT. 3) IF THE PROGRAM IS RUN FROM THE TERMINAL AND NO SPECIFICAION IS GIVEN (JUST A CARRIAGE RETURN) BOTH INPUT AND OUTPUT DEVICES WILL BE THE TERMINAL. 4) IF THE PROGRAM IS RUN THROUGH BATCH AND NO SPECIFICATION OS GIVEN( A BLANK CARD) THE INPUT DEVICE WILL BE DEVICE CDR: AND THE OUTPUT DEVICE WILL BE LPT: 5) IF NO PROJECT-PROGRAMMER NUMBER IS GIVEN, THE USER'S OWN NUMBER WILL BE ASSUMED. NOTE: (1) IF LPT: IS USED AS AN OUTPUT DEVICE MULTIPLE COPIES MAY BE OBTAINED BY SPECIFYING LPT:/N WHERE N REFERS TO THE NUMBER OF COPIES DESIRED. (2) THE FOLLOWING TWO OPTIONS ARE NOT APPLICABLE FOR THE FIRST TIME INPUT? IS ENCOUNTERED, I.E., IT IS APPLICABLE ONLY WHEN THE PROGRAM BRANCHES BACK TO INPUT? (A) SAME OPTION UPON RETURNING TO INPUT? IF THE SAME DATA FIEL IS TO BE USED AGAIN, SIMPLY ENTER SAME, OTHERWISE, EITHER USE THE FINISH OPTION OR ENTER ANOTHER FILE NAME,ETC. (B) FINISH OPTION WHEN AT AN INPUT?, THE USER MUST ENTER FINISH TO BRANCH OUT OF THE PROGRAM. FAILURE TO DO SO, SUCH AS USING ^C (CONTROL C) MIGHT RESULT IN LOSING THE ENTIRE FILE. 4.0 RESPONSES FOR READY ANY OF THE FOLLOWING COMMANDS MAY BE TYPED IN RESPONSE TO A READY OR IF ECAP IS NOT SPECIFICALLY REQUESTING OTHER RESPONSE (SUCH AS: INPUT?). NONE OF THE COMMANDS IN THIS SECTION ARE PART OF ECAP'S INPUT LANGUAGE BUT INSTEAD ARE TYPED AT THE LEFT MARGIN ON THE TERMINAL. COMMAND PURPOSE DC START DC ANALYSIS AC START AC ANALYSIS TR START TRANSIENT ANALYSIS LIST LIST CURRENT MODEL ON TERMINAL REMOVE NN REMOVE SOLUTION CONTROL LINE "NN" SAVE STORE CURRENT MODEL NEW INPUT A NEW MODEL EXIT CLOSE OUTPUT FILES AND EXIT FROM ECAP HELP TYPE THIS TEXT IN ADDITION, YOU MAY ALSO ENTER A NEW LINE TO THE MODEL OR RETYPE A LINE PREVISOLY ENTERED. SEE SECTION 6.0 FOR EXAMPLES OF THE USE OF SOME OF THESE COMMANDS. NOTES: A) IF THE SAVE COMMAND IS USED AND THE RESPONSE TO THE SUBSEQUENT OUTPUT? IS LPT:, A LISTING OF THE MODEL MAY BE OBTAINED ON THE LINE PRINTER IMMEDIATELY WITHOUT EXITING FROM THE PROGRAM. B) TO RE-EMPHASIZE: ONLY SOLUTION CONTROL LINES MY BE REMOVED FROM THE MODEL. ONCE A BRANCH OR A NODE IS ESTABLISHED, IT MAY NOT BE REMOVED. 5.0 LIMITATIONS A MAXIMUM OF: (A) 10 NUMBERED COMMENT LINES. (B) 60 BRANCH LINES (C) 5 MUTUAL INDUCTANCE LINES. (D) 20 SWITHC LINES (E) 10 DEPENDENT CURRENT SOURCE LINES. (F) 25 SOLUTION CONTROL LINES (G) NUMBERS WITH MAGNITUDES GREATER THAN 1E36 OR LESS THAN 1E-36 MAY CAUSE OVERFLOWS OR UNDERFLOWS. 6.0 EXAMPLE RUNS THE FOLLOWING EXAMPLES WERE OBTAINED FROM THE BOOK "IBM ELECTRONIC CIRCUIT ANALYSIS PROGRAM--TECHNIQUES AND APPLICATIONS" BY JENSEN AND LIEBERMAN. THE USER'S RESPONSES ARE UNDERLINED TO SEPARATE THEN FROM PROGRAM OUTPUT. 6.1 TERMINAL EXAMPLE #1 THIS EXAMPLE IS BASED ON THE SINGLE STAGE COMMAND EMITTER AMPLIFIER ON PAGE 58 OF THE IBM ECAP MANUAL. IT IS ENTERED FROM THE TERMINAL. AN OMITTED BRANCH (B6) IS ENTERED BEFORE ATTEMPTING TO START EXECUTION OF THE MODEL. .R ECAP WMU ELECTRONIC CIRCUIT ANALYSIS PROGRAM (VERSION 3) INPUT? (TYPE HELP IF NEEDED)--TTY: READY(TYPE HELP IF NEEDED) C1 SINGLE STATE COMMON EMITTER AMPLIFIER C2 PAGE 58 IBM ECAP MANUAL - DC ANALYSIS B1 N(0,2),R=2E3,E=20 B2 N(0,1),R=6E3,E=20 B3 N(0,1),R=1000 B4 N(1,3),R=350,E=-.5 B5 N(3,0),R=500 T1 B(4,6),BETA=50 SENSITIVITIES PRINT, SENSITIVITIES B6 N(2,3),R=11.1E3 DC OUTPUT? (TYPE HELP IF NEEDED)--TTY: C1 SINGLE STATE COMMON EMITTER AMPLIFIER C2 PAGE 58 IBM ECAP MANUAL - DC ANALYSIS PARTIAL DERIVATIVES AND SENSITIVITIES OF NODE VOLTAGES WITH RESPECT TO RESISTANCES BRANCH NODE PARTIALS SENSITIVITIES 1 1 -6.36672142D-06 -1.27334428E-04 1 2 -4.41292319D-03 -8.82584639E-02 1 3 -8.96646600D-06 -1.79329320E-04 2 1 -3.93767894D-04 -2.36260737E-02 2 2 1.51202726D-03 9.07216361E-02 2 3 -3.87278038D-04 -2.32366824E-02 3 1 2.30212613D-03 2.30212614E-02 3 2 -8.83992203D-03 -8.83992203E-02 3 3 2.26418382D-03 2.26418381E-02 4 1 2.84804864D-06 9.96817028E-06 4 2 2.70948545D-04 9.48319910E-04 4 3 -6.93984979D-05 -2.42894743E-04 5 1 1.69551441D-04 8.47757205E-04 5 2 1.67974570D-02 8.39872854E-02 5 3 2.38784946D-04 1.19392473E-03 6 1 -1.13133789D-06 -1.25578506E-04 6 2 9.01299184D-06 1.00044209E-03 6 3 -1.59330086D-06 -1.76856396E-04 WITH RESPECT TO BETAS BETA NODE PARTIALS SENSITIVITIES 1 1 1.16225512D-03 5.81127570E-04 1 2 -9.25929915D-03 -4.62964963E-03 1 3 1.63684263D-03 8.18421329E-04 WITH RESPECT TO VOLTAGE SOURCES BRANCH NODE PARTIALS SENSITIVITIES 1 1 1.42635039D-03 2.85270078E-04 1 2 9.88636742D-01 0.19772735 1 3 2.00877680D-03 4.01755362E-04 2 1 1.37314752D-01 2.74629507E-02 2 2 -5.27274195D-01 -0.10545484 2 3 1.35051610D-01 2.70103221E-02 4 1 -3.87967306D-02 -1.93983653E-04 4 2 -3.69091938D+00 -1.84545969E-02 4 3 9.45361271D-01 4.72680637E-03 READY EXIT END OF EXECUTION CPU TIME: 0.72 ELAPSED TIME: 5.93 EXIT 6.2 TERMINAL EXAMPLE #2 THIS EXAMPLE IS BASED ON THE SINGLE STAGE COMMON EMITTER AMPLIFIER ON PAGE 91 OF THE IBM ECAP MANUAL WITH PARAMETER MODIFICAION ADDED TO VARY THE RESISTANCE OF BRANCH B5 FROM 100 TO 700 OHMS IN STEPS OF 200. NOTE THAT THERE IS AN ERROR IN THE DISK FILE CONTAING THE MODEL (EC91.DAT)WHICH WILL BE CORRECTED AFTER ECAP FINDS IT. AFTER THE CORRECTED MODEL IS RUN SUCCESSFULLY IT WILL BE SAVED ON DISK WITH THE NAME EC91.DAT AND THE PROGRAM WILL BE EXITED. .TYPE EC91.DAT C1 SINGLE STAGE COMMON EMITTER AMPLIFIER C2 PAGE 91 - IBM ECAP MANUAL B1 N(0,2),R=2000 B2 N(0,1),R=6000 B3 N(0,1),R=1000 B4 N(1,3),R=350 B5 N(3,0),R=100 B6 N(2,3),R=11.1E3 B7 N(5,1),C=5E-6 B8 N(3,0),C=60E-6 B9 N(2,4),C=5E-6 B10 N(4,0),R=10E3 B11 N(5,0),R=10E6,I=1 T1 V(4,6),BETA=50 FREQUENCY=1000 PRINT, VOLTAGES MODIFY 40 B5 R=300(2)700 EXECUTE .R ECAP WMU ELECTRONIC CIRCUIT ANALYSIS PROGRAM (VERSION 3) INPUT? (TYPE HELP IF NEEDED)--EC91.DAT READY AC T1 V(4,6),BETA=50 ^ ***ERROR # 20 CHARACTER IS NOT "B,N,R,G,E,I,L,C" %%%% 1 ERROR(S) WERE DETECTED, EXECUTION IMPOSSIBLE READY T1 B(4,6),BETA=50 AC OUTPUT? (TYPE HELP IF NEEDED)--TTY: C1 SINGLE STAGE COMMON EMITTER AMPLIFIER C2 PAGE 91 - IBM ECAP MANUAL FREQ= 1000.0000 NODE OR NODE BRANCH VOLTAGE --------------------------- 1 MAG 2.6243E+02 1 PHA -12.8952 2 MAG 5.1069E+04 2 PHA -174.4507 3 MAG 8.3120E+01 3 PHA -82.9012 4 MAG 5.1069E+04 4 PHA -174.2683 5 MAG 2.7131E+02 5 PHA -19.4620 R = 0.30000000E+03 FREQ= 1000.0000 NODE OR NODE BRANCH VOLTAGE --------------------------- 1 MAG 2.6149E+02 1 PHA -12.9952 2 MAG 5.1156E+04 2 PHA -174.4377 3 MAG 8.3288E+01 3 PHA -83.9010 4 MAG 5.1156E+04 4 PHA -174.2553 5 MAG 2.7044E+02 5 PHA -19.5806 R = 0.50000000E+03 FREQ= 1000.0000 NODE OR NODE BRANCH VOLTAGE --------------------------- 1 MAG 2.6131E+02 1 PHA -13.0145 2 MAG 5.1174E+04 2 PHA -174.4355 3 MAG 8.3318E+01 3 PHA -84.1015 4 MAG 5.1174E+04 4 PHA -174.2531 5 MAG 2.7026E+02 5 PHA -19.6037 R = 0.70000000E+03 FREQ= 1000.0000 NODE OR NODE BRANCH VOLTAGE --------------------------- 1 MAG 2.6123E+02 1 PHA -13.0226 2 MAG 5.1182E+04 2 PHA -174.4346 3 MAG 8.3331E+01 3 PHA -84.1874 4 MAG 5.1181E+04 4 PHA -174.2522 5 MAG 2.7018E+02 5 PHA -19.6135 READY EXIT END OF EXECUTION CPU TIME: 1.12 ELAPSED TIME: 8.05 EXIT 6.3 BATCH EXAMPLE IN THE FOLLWOING BATCH JOB SETUP, EACH LINE REPRESENTS ONE CARD, EACH CARD STARTING IN COLUMN 1. DO NOT INCLUDE THE COMMENTS ON THE RIGHT. SEE COMPUTER CENTS USER'S GUIDE #7. $JOB[#$##,###] ;###,### REPRESENTS THE USER'S PROJECT- PROGRAMMER NUMBER. $PASSWORD #### ;#### REPRESENT THE USER'S PASSWORD .R ECAP ; START ECAP. [COMMANDS TO ECAP] (EOF) ; END OF FILE AVAILABLE FROM COMPUTER CENTER.