Alternative transient program (ATP) - MODELSDescrição completa
Full description
AtpCondensadoresDescripción completa
Descripción completa
Pengertian ATP WTPFull description
Full description
Descrição completa
ATP para pilotos comerciales
Full description
proses sintesis NADH dan ATP pada mitokondriaFull description
Examen Curso BRC ATPDescripción completa
Its for IGCSE Chemistry All important notes includedFull description
Descripción: Tareas Evaluativas Atp
ATP para pilotos comerciales
BTS Optimization
CURSO ATPDescrição completa
Deskripsi lengkap
Full description
Descripción completa
Rulebook ATP (junio 1996 - internet)
0.
Table
of
H01
Contents
No page numbers accompany the chapters and sections listed below because such numbers are methodically generated from the given information. This is most easily explained by illustration. Section I-D is seen to concern the SUBROUTINE CIMAGE, which would begin on page number number 1D-1. The following following page would be numbered numbered 1D-2, etc. This assumes assumes that there is sufficient material material to warrant two levels of independence (Chapter (Chapter I, Section D). Some chapters chapters are so short that sections are not warranted, in which case the letter in the middle will be omitted. omitted. For example, the references references of Chapter XXV begin on page 25-1, followed followed by page page 25-2, etc. In rare cases there may be three levels levels of categorization. For example, example, Section IV-D-3 will begin on page 4D3-1, followed by page 4D3-2, etc.
I.
General
A.
B. C. D. E.
F. G. H. I. J. K. L.
II.
III.
A. B. C. D. E.
F.
Information
About
ATP
Version
of
EMTP
Background of ATP; user groups; ATP education 1. History of royalty-free EMTP Development 2. Learning to use ATP; user groups; newsletters; E-mail Development centers for ATP Summary program capability; ways execution begins $-cards of SUBROUTINE CIMAGE Computer-dependent aspects and alternatives: 1. Summary of installation-dependent EMTP modules 2. STARTUP disk file for program initialization 3. STARTSPY disk file for program initialization Different computer systems, specific specific details details for all brands brands Variable dimensioning and Dynamic Dimensioning FORTRAN data format specifications Structure of EMTP input data EMTP data data sorting sorting by class (use (use of "/" cards) cards) $INCLUDE use for data modularization (including arguments) Separate interactive plotting programs: 1. TPPLOT for sophisticated, single-window, plotting 2. WINDOWPLT for simpler, multiple-window, plotting
Cards
A. B. C.
Introductory
that
Begin
a
New
Data
Case
Special-request cards having key words Miscellaneous data cards Extensions to miscellaneous data cards
TACS
and
MODELS
to
Simulate
Control
Systems
Purpose of TACS Summary of TACS capability How to simulate what TACS steady-state initialization rules TACS elements and card formats 1. Transfer functions or S-blocks 2. Limiters 3. Signal sources 4. Supplemental variables and devices 5. TACS output-variable specification 6. TACS user-defined initial conditions MODELS : more powerful, flexible, and newer than TACS
ADOLFO DELGADOIV.
Branch
Cards
to
Model
Linear
Elements
1
Rulebook ATP (junio 1996 - internet)
2
H01
A. B. C. D.
Branch card for lumped, series R, L, C Branch cards for Pi-circuits Branch cards for mutually-coupled R-L elements Branch cards for distributed-parameter transmission lines 1. Constant-parameter model with constant [T] 2. Constant-parameter, double-circuit model with special special [T] 3. Rigorous, frequency-dependent model (Jose Marti) 4. 2nd-order, recursive-convolution model (Semlyen) E Saturable transformer component F. Branch input using "CASCADED PI" feature
Static electric network source functions Type-16 simplified equivalent of hvdc converter
VIII.
Dynamic
Synchronous
IX.
Dynamic
Universal
X.
EMTP
XI.
Cards
to
Override
XII.
Cards
to
Request
XIII.
Source
XIV.
Batch-Mode
XV.
Request
XVI.
Interactive
A. B. C.
Single-Phase
Time, voltage, current-controlled switches Diode or thyristor (TACS-controlled, type-11) Spark gap or triac (TACS-controlled, type-12) TACS-controlled ordinary switch (type-13)
Electric
A. B.
to
Pseudo-nonlinear resistance R(i) Pseudo-nonlinear reactor L(i) Staircase time-varying resistance R(t) Pseudo-nonlinear hysteretic reactor L(i) Exponential ZnO surge arrester R(i) Piecewise-linear time-vary resistor R(t) True-nonlinear resistance R(i) True nonlinear inductance L(i) Circuit Circuit breaker or electric arc R(t,i) User-supplied FORTRAN for compensation Corona modeling for cascaded line sections
Switch
A. B. C. D.
Cards Cards
Load
Flow
Type-1
Machine
Cards
Electric
Definitions
for
of
(3-phase S.M.; (U.M.;
(for
Initial
Plotting
Cards
Machine
"FIX SOURCE" Conditions Network (for
Cards
Cards
Usage)
of
the
Output
each
Resulting
Statistical
Execution,
Type-19)
Type-59)
time
Electric
Variables Variables step )
Simulation
Tabulations
Observation,
and
Control
(SPY)
Initiating EMTP execution that includes SPY Opportunities for SPY dialogue: the keyboard interrupt SPY commands explained according to general function 1. Loading Loading and/or changing EMTP data cards via SPY 2. SPY commands to halt or resume program execution 3. SPY commands to observe observe EMTP tables: BUS, BUS, BRANCH, etc.
Network
Rulebook ATP (junio 1996 - internet)
D. E. XVII.
"JMARTI SETUP"
All
A. B. C. D. E. F. G. H. I.
Supporting
Fixed-Dimension
Supporting
---
not yet available
Programs
"XFORMER" to derive [R], [L] of 1-phase transformers "OBSERVE PARALLEL MONTE CARLO" for parallel "STATISTICS" "BCTRAN" to derive [R], [L] of multi-phase transformers "CHANGE SWITCH" to process former switch cards "OLD TO NEW ZNO" to update pre-"M39." ZnO data cards "DATA BASE MODULE" to modularize for $INCLUDE arguments "SATURATION" for magnetic saturation calculations "HYSTERESIS" to punch Type-96 branch cards "ZNO FITTER" to punch Type-92 ZnO branch cards "LINE CONSTANTS"
4. "PLOT" for vector or character plots during execution 5. Command files: @K, FILES, COMMENT, VERIFY, TYPE 6. EMTP variables: EXAMINE, NAMES, ROLL, LIST, FIND, DEPOSIT 7. Table dumping/restoring: SAVE, RESTORE, SLEEP, WAKE, WHEN 8. "DICE" for statistical tabulation of Monte Carlo simulations 9. Mathematics within command files: "APPEND" 10. "RAMP" & "SERIES" for continuous linear parameter variations 11. Utilities: HEADING, HEADING, TIME, SIZE, LIMIT, LIMIT, HONK, ECHO, WAIT, $ 12. "TACS" : gateway to Concurrent Sequential Processing (CSP) 13. Servicing [Y] changes: YFORM, NOY, FACTOR, NOF Batch-mode execution of SPY commands: $SPY and $SPYEND Use of SPY "PLOT" instead of separate program "TPLOT"
XVIII. "NODA SETUP" XIX.
H01
for
Reference
Program
Supporting
"NETEQV"
Material
Alphabetically-Ordered
Information
Program
About
References
Program
===================================================================== Copyright 1987-1995 by the Can/Am EMTP User Group. All rights reserved. =====================================================================
No part part of either either this this manual manual or the associ associate ated d comput computer er progra program m (ATP (ATP vers versio ion n of the the EMTP EMTP) ) may may be repr reprod oduc uced ed in any any form form, , usin using g card cards, s, pape paper, r, microfilm, magnetic media, or any other means, without written permission from the Canadian Canadian/Ameri /American can (Can/Am) (Can/Am) EMTP EMTP User Group. Group. Further, Further, such materia materials ls have restricted circulation, and their informational content shall not be released to third parties. The content of this manual, the associated computer program, and all other ATP ATP EMTP EMTP mate materi rial als, s, are are all all made made avai availa labl ble e for for use use by othe others rs with withou out t any any guaran guarantee tee of useful usefulnes ness, s, accu accurac racy, y, fideli fidelity, ty, or comp complet letene eness. ss. No author author, , licens licensing ing agent, agent, or author authorize ized d distri distribut butor or will will be held held respon responsib sible le for any damages that might possibly result from the use or misuse of ATP EMTP materials for any purpose. purpose. The user user is solely responsi responsibilit bility y for any damages damages that might might possibly result from the use or misuse of ATP EMTP materials for any purpose.
Rulebook ATP (junio 1996 - internet)
4 I-A.
Background of ATP;
User
Groups;
H01
Education
The Electromagnetic Transients Program, or EMTP (pronounced by naming the four letters sequentially), is primarily a simulation program of the electric power industry. It can predict variables of interest within electric power networks as functions of time, typically following some disturbance such as the switching of a circuit breaker, or a fault. It also is used by those who specialize in power electronics. EMTP has its roots in Portland, Oregon (USA), at the Bonneville Power Administration (BPA), an agency of the U.S. Department of Energy. Thanks to generous contributions of both manpower and money (the latter to support specialists working on EMTP research and development under contract), BPA dominated EMTP development for more than a decade. This was all public-domain work, and it was given freely to any interested party. This was prior to attempted commercialization of the EMTP during the summer of 1984 (see Section I-A-1 below). The present manual basically is just a complete set of rules for EMTP input and output. Except for the Table of Contents and Introduction at the front (through the end of Section I), and the References and Index at the back (Sections XXV and XXVI, respectively), nothing but rules of program usage will be found. Since most EMTP data have a required order of input, the rules of this book have been written in this same order of data input. Supporting programs (e.g., "LINE CONSTANTS") are exceptions, and they have all been forced to the back (Chapters XVII through XXIV) to agree with the order of appearance within the computer source file (UTPF). Details about interactive execution, observation, and control (SPY) also have no fixed order, and they have been placed in Chapter XVI, preceding the supporting programs.
I-A-1.
History
of
Royalty-Free
Development
Following attempted commercialization of the EMTP by certain large organizations of the North American power industry ("EPRI and some friends," as explained later), all EMTP development no longer was given to BPA by persons who had cooperated with BPA in the past. Included was the prodigious afterhours, weekend, and vacation work of Dr. W. Scott Meyer. There evolved a distinct EMTP version known by the acronym ATP (Alternative Transients Program). Although ATP work remains the property of the individuals who produced it, the Can/Am user group is the licensing agent for the use of these EMTP materials by others. For other parts of the world (England, Europe, Taiwan, etc.), such authority has been delegated to others. ATP materials are royalty-free for those who have not participated in "EMTP commerce" (defined by form letter LICENSE.ZIP of the Can/Am user group), but they are not public-domain in nature (as is the case with BPA EMTP work). This distinction is necessary in order to protect such materials from commercial exploitation. The Can/Am user group is grateful to BPA for all of its public-domain EMTP development that formed the basis for this newer, improved, offering of the program. The roots of ATP can be traced to early 1984, when it became apparent to BPA EMTP developers that DCG was not working as it was supposed to, and formed a threat to free EMTP. At that point (February or March), 12 years of "EMTP Memoranda" were ended by Dr. Meyer, and every available hour of his free (non-BPA) time was switched from BPA's EMTP to the creation of a viable alternative that would be denied to those having commercial ambitions (already apparent among several DCG members). ATP, the Alternative Transients Program, was the result during the fall of 1984. This followed Dr. Meyer's return from Europe (the first European EMTP short course, in Leuven) and purchase of his first home computer (the new IBM PC AT) during August of 1984. In September of 1982, a "coordination agreement" concerning the EMTP was signed by six large power organizations of North America: three U.S. government agencies (BPA, the Western Area Power Administration, and the U.S. Bureau of
Rulebook ATP (junio 1996 - internet)
H01
5
Reclamation, with the latter two headquartered in Denver, Colorado) and three Canadian organizations (Hydro-Quebec/IREQ, Ontario Hydro, and the Canadian Electrical Association on behalf of the remaining Canadian utilities). Known by the acronym DCG (for EMTP Development Coordination Group), this organization agreed during March of 1983 to keep the EMTP proper (the UTPF) in the public domain. But there followed a loose Association with the Electric Power Research Institute (EPRI, of Palo Alto, California) during the summer of 1984. During the fall of that year, it was claimed by the DCG Steering Committee that BPA EMTP work would no longer be in the public domain, and would not be given freely to others. But such DCG/EPRI policy was nothing more than wishful thinking by those wanting to commercialize the EMTP. During April of 1985, a U.S. Freedom of Information Act (FOIA) request was filed with BPA, and BPA disclosed its then-latest version of the UTPF as required by that U.S. law. Since then, strong statements from BPA indicated that both U.S. government work and money must result only in public-domain EMTP products. This was consistent with the hopes of European EMTP users, of course. Prior to such statements by higher management and its representatives at BPA, LEC (the Leuven EMTP Center with headquarters on the campus of K.U. Leuven in Belgium) was formed by Prof. Daniel Van Dommelen during the spring and summer of 1984 as a defensive measure. This was after hearing of proposed DCG/EPRI prices during a personal visit by DCG Chairman Doug Mader. Although LEC later had problems of mismanagement, everyone involved can be proud of those early years, and the obvious spirit of independence ("hell no, we won't pay") that drove the effort. The first th annual meeting of LEC was held in Leuven on November 4 of 1985, and Dr. Meyer agreed to bring ATP. About possible cooperation with those who then were trying to sell EMTP, the official minutes of this meeting records the following: "- It was unanimously agreed that the User Group wants to influence the politics of development by making a distinction between: - the EMTP proper (UTPF), which should remain free and intact. - Preprocessors, postprocessors and data bases, which could be things to sell. - After this discussion, it was agreed that TA should contact DCG in order to request EPRI not to sell the EMTP proper (UTPF). Should this first attempt prove to be unsuccessful, then DVD could try." Here "TA" stands for Mr. Ture Adielson of ASEA, who at the time was the EMTP representative of ASEA to both DCG and LEC. Finally "DVD" indicates Prof. Van Dommelen, the Chairman of LEC. Prior to the vote authorizing this statement, Dr. Meyer had agreed to turn his ATP work into the public domain provided DCG and EPRI would do likewise. No response from DCG or EPRI was ever received, as far as the Can/Am user group knows. Both K.U. Leuven and LEC operated through 1993 without any formal connection to any power organization of North America. However, LEC did cooperate with BPA on an informal basis for several years (most effectively from 1985 to 1989), and it remained willing to consider the establishment of a formal tie provided non-commercial EMTP activity at K.U. Leuven could thereby be assisted. This was the stated goal of LEC, which was supposed to be a nonprofit organization. The Chairman did serve without pay, and decisions normally were made (or subsequently reaffirmed) by majority vote of the members. That was through 1990, anyway. But with growth came affluence, and with affluence seemed to come corruption as discovered by LEC's own Steering Committee. After failing to account for all money collected from members, and failing to honor voting rights of members in this regard (accurate accounting of money), LEC was closed at the end of 1993. But the European EMTP User Group (EEUG) was reformed in Hannover, Germany, during November of 1994. This followed the leadership of Dr. Mustafa Kizilcay, who was working for Lahmeyer International as the meeting was planned, but had
Rulebook ATP (junio 1996 - internet)
6
H01
been named to be a Professor at the university in Osnabrueck before the meeting was actually held. By German law, all money must be accounted for, and voting rights of members are guaranteed by an associated charter. As this text is being revised during the spring of 1995, operation is beginning slowly (German law is demanding), but with considerable promise.
I-A-2.
Learning
to
Use
ATP;
User
Groups
By far the best way to learn about EMTP capability and usage is by working beside a competent, experienced veteran. Those power organizations that have been using the EMTP for a broad range of power system simulation, and which have not suffered disrupting changes of personnel, represent the ideal learning environment. If the reader is working for such an organization, he should count his blessings, and disregard most of what follows. In case of questions or problems, go see the local experts. Always ask questions. Program users must adopt this habit, since they will be doing it until the day they retire, so broad and complex is transient simulation! For those not so blessed by local experts, the next-best alternative is a strong national or regional EMTP User Group to which new users can turn for help. Contact personnel of ATP-licensed organizations that are officially recognized by the Can/Am user group are as follows: Dr. Akihiro Ametani, Professor and Chairman, Japanese EMTP Committee Dr. Naoto Nagaoka, Professor and Secretary Faculty of Electric Engineering Doshisha University Tanabe, Tsuzuki-gun Kyoto 610-03 JAPAN
Prof. Dr.-Ing Mustafa Kizilcay Fachhochschule Osnabrueck Fachbereich Elektrotechnik Albrechtstr. 30 D-49076 Osnabrueck GERMANY
Mr. Marco Polo Pereira Chairman, Latin American EMTP User Group Furnas Centrais El étricas S.A. Rua Real Grandeza 219, C 1608 CEP 22283-900 -- Rio de Janeiro BRAZIL
Dr. Brian J. Elliott, Chairman Mr. Stephen Boroczky, Secretary Grid Planning & Development Electricity Transmission Authority PO Box 1000 Sydney South, NSW, 2000 AUSTRALIA
Dr. W. Scott Meyer and Dr. Tsu-huei Liu, Co-Chairmen Canadian/American EMTP User Group The Fontaine, Unit 6B 1220 N.E. 17th Avenue Portland, Oregon 97232 U.S.A.
Rulebook ATP (junio 1996 - internet)
H01
7
JinBoo Choo, Manager Korean EMTP Committee Electric Power Research Department Korea Electric Power Corporation (KEPCO) Research Center 117-15, Yong Jeon Dong, Dong-Gu Dae Jeon SOUTH KOREA
Mr. Chiang-Tsung Huang, Chairman Mr. Shui-Hsiu Lin, Secretary Republic of China EMTP User Group (Includes Hong Kong and Singapore) System Planning Department Taiwan Power Company (Taipower) 242 Roosevelt Road, Section 3 P. O. Box 171 Taipei 107 REPUBLIC OF CHINA (TAIWAN)
Dr. Warren Levy Information Technology Dept. Electricity Supply Commission (ESKOM) Megawatt Park, Maxwell Drive P. O. Box 1091 Johannesburg 2000 SOUTH AFRICA
While each group was primarily designed to serve users of its geographical region, anyone in the world can order ATP materials directly from either Osnabrueck or Portland. Also, computer files are being shared on a world-wide basis among ATP-licensed users by E-mail (the Internet). See later paragraph. EMTP education is being handled separately, and materials related to it are not available through BPA, so do not write to Portland for a copy. EMTP education began in June of 1978 with a one-week EMTP short course at the University of Wisconsin -- Madison. This was basically an introductory course, and it has been offered most summers since its inception. Following the switch from BPA's EMTP to the commercial offering of DCG/EPRI in 1987 or 1988, the Madison offering has ceased to be of much value to ATP users, however. Other universities have offered introductory courses, too, from time to time. For ATP, this began in Leuven, Belgium, during the summer of 1987 --- the first public exposition of ATP. Then during the summers of 1988 and 1989, Cal Poly in San Luis Obispo, California, USA, offered the first EMTP course that used only PCs (Personal Computers). The spring of 1989 saw the beginning of such now-famous PC-based education offered by Prof. Dennis Carroll at the University of Florida in Gainesville. Prof. Ned Mohan began his popular 2-day, traveling (it follows IEEE PES Summer Meetings) course in 1990 when the PES meeting was near his home campus in Minneapolis. As for more advanced education, Europeans were first, when a high-level course for experienced users was given during the summer of 1984 by Prof. Daniel Van Dommelen at K.U. Leuven in Belgium. While needed, such advanced courses have difficulty attracting adequate numbers of students to be offered regularly. Power electronics can be simulated using the EMTP as documented by a textbook on the subject that first appeared in 1989. John Wiley & Sons, Inc., of New York City (USA), publish "Power Electronics: Converters, Applications, and
Rulebook ATP (junio 1996 - internet)
8
H01
Design" by Ned Mohan, Tore Undeland, and William Robbins. An associated set of 64 ATP data cases and paper documentation of them (a separate book) can be purchased from Prof. Mohan at the University of Minnesota. Beginning about 1993, this package was bundled with Prof. Mohan's short course, which now specializes in ATP applied to power electronics of power systems. The EMTP Rule Book contains almost nothing about what is happening in the world of EMTP usage and development. For EMTP-related announcements, reports of interesting studies by program users, corrections to the Rule Book and/or common program versions, and summaries of ongoing EMTP research, see the newsletter of the Can/Am user group. This is Can/Am EMTP News, which during 1994 and 1995 has consisted of 20 pages per quarterly issue (January, April, July, and October of each year). Dating to the second half of 1988, WordPerfect 5.1 documents of the content can be obtained by E-mail from several Anonymous FTP sites around the world (more about such E-mail usage later). "EMTP News" was a valuable journal about EMTP that was published by LEC for some 6 or 7 years prior to LEC's demise in 1993. Early issues of the Can/Am newsletter will refer to this, which is an important part of the historical record of ATP usage and development. Unfortunately, no computer storage of most of the published material is believed to exist. It is hoped that the tradition of a journal for full-length articles about ATP use (more than development) can be resurrected during 1995 by the new EEUG, which would use the more appropriate name "EMTP Journal." A newsletter, this was not (during its prime, each issue of the quarterly "EMTP News" averaged about 100 pages). E-mail (electronic mail) has become critically important to many ATP users. As WordPerfect disk files, the newsletter and other ATP-useful things can be ftp.ee.mtu.edu obtained from FTP server (the former plains server, which became a mirror during April of 1995) using Anonymous FTP sparky.nodak.edu transfers of Internet. These two sites are in the north-central USA (Michigan Tech in Houghton and North Dakota State University in Fargo, respectively). There also is a mirror in Europe, at the University of Hannover in Germany at 130.75.2.2 address Details are summarized in the January, 1995, newsletter. Prof. Bruce Mork of Michigan Tech in Houghton manages this material. He also [email protected] established a free electronic bulletin board that allows ATP users to exchange messages. See the October, 1991, issue of the newsletter for Prof. Bruce Mork's 3-page exposition about this pioneering, ATP service he founded. That article also can be found in OCT91.DOC within disk file EMAIL.ZIP on the GIVE2 disk of Salford EMTP distribution. The service is free, and had grown to more than 200 addresses by the end of 1994. Prof. Mork explained FTP use in the July, 1992, issue (see JUL92.DOC within EMAIL.ZIP). ATP itself can be distributed by FTP, but not without security Attach (a password). ATP also can be distributed by normal E-mail using the button of MS Mail within MS Windows (this UUENCODEs an archive such as GIVE1.ZIP automatically) as described in the January, 1995, newsletter.
I-B.
Development
Centers
for
ATP
The Can/Am EMTP User group can be reached most easily by E-mail (electronic mail) since use of it was begun by the user group in the fall of 1993. The [email protected] current Internet address used by Drs. Meyer and Liu is: The non-electronic mailing address in The Fontaine was displayed previously. BPA personnel who are preoccupied with free EMTP development are Drs. W. Scott Meyer and Tsu-huei Liu, who most easily can be reached by telephone using number (503) 230-4404. Dr. Liu's telephone is -4401, but this is less useful because it has no recorder, and a secretary might answer. If no human answers 4404, after a full four rings a personalized recording in Dr. Meyer's voice will be heard. If the phone is in use, the recording will be heard immediately. Following Dr. Meyer's brief greeting, a caller will be given an opportunity (after the tone) to leave a recorded message (not over about 8
Rulebook ATP (junio 1996 - internet)
H01
9
minutes). A warning is appropriate, however: Speak slowly and distinctly, since the recording system produces distortion of its own as evidenced by the quality of the recording. When the message is complete, a flashing red light will be seen on Dr. Meyer's telephone. For a telephone call to be returned, be sure the name and telephone number are slowly and clearly enunciated. Finally, the address for conventional mail, E-mail, and also telephone facsimile (FAX) is: Dr. W. Scott Meyer or Dr. Tsu-huei Liu E-mail: [email protected] BPA, Route TEOS; Floor 4, Post S-14 P. O. Box 3621 Portland, Oregon 97208 U.S.A. FAX: (503) 230-3212 Those wanting to use a delivery service will require a street address: 905 N.E. 11th Avenue, with different postal code 97232. Be sure to include the floor and post, since BPA's is one big building of some 2200 workstations. Laurent Dub é, author of MODELS (new control system modeling), also can [email protected] be reached most easily by E-mail. Use (Internet address). He also has voice telephone with a recorder: (503) 392-4551. For FAX, Mr. Dubé uses 392-4575. Located on the Oregon coast about 2 hours by car from Portland, the mailing address is: DEI Simulation Software 7000 Rowan Road Manor P. O. Box 848 Neskowin, Oregon 97149 U.S.A.
I-C.
Summary Program Capability; --------------------------
Ways Execution Begins; ---------------------
Errors ------
.el The EMTP is used to simulate transients of electrical power networks. That is, it is used to solve the algebraic, ordinary, and/or partial differential equations that are associated with an interconnection of the following components: .LITERAL *
Lumped resistance,
R :
*
Lumped inductance,
L :
*
Lumped capacitance,
*
Multiphase Pi-equivalents, where the preceding scalar R, L, and C become symmetric, square matrices [R], [L], and [C].
*
Multiphase distributed-parameter transmission lines, wherein propagation time of the component is represented. Both constant-parameter and frequencydependent representations are provided.
C :
Rulebook ATP (junio 1996 - internet)
10
*
Nonlinear resistors, where the v-i characteristic is single-valued.
*
Nonlinear inductors, either with the conventional single-valued characteristic (see sketch at right) or including hysteresis and residual flux.
*
Time-varying resistance.
*
Switches, used to simulate circuit breakers, spark gaps, or any other connection change of the network. Diodes and thyristers (ac/dc valves) are included.
*
Voltage or current sources. In addition to standard mathematical functions (sinusoids, surge functions, steps, and ramps), the user may specify sources point by point as functions of time, or in usersupplied FORTRAN, or via TACS control (see control system modeling below).
*
Dynamic rotating electric machinery, of which the most common form is conventional, 3-phase synchronous machines. But induction machinery and dc-machinery also can be represented, for 1, 2, or 3 phases. Such machine models can be connected to TACS control system models (see immediately below), thereby allowing dynamics for voltage regulators and speed governors.
*
Control system dynamics as years ago were represented by differential analyzers ("analog computers"). This modeling has been named TACS, an acronym derived from "Transient Analysis of Control Systems." Nonlinear and logical operations of various types are allowed. Inputs and outputs may be interfaced with the electric network of the EMTP, thereby providing hybrid computer capability. All TACS configurations are user-patchable, and hence configurationfree. See Section III for details.
H01
.EL Trapezoidal-rule (second-order) implicit integration is used on the describing equations of most elements that are described by ordinary differential equations. The result is the formation of an associated set of real, simultaneous, algebraic equations that must be solved at each time step (see Ref.#1). These equations are placed in nodal-admittance form, with new unknown voltages as variables, and are solved by ordered triangular factorization (Ref.#4). Program output consists of component variables (e.g., branch currents or voltages, machine torques or speeds, etc.) as functions of time, for those variables that were requested by the user. Both printed and plotted output is possible, with plotting available in either character or vector-graphic mode. See Section#XIV for the batch-mode (both character and vector) plotting, and Section#XVI for the details of interactive (SPY) usage.
Rulebook ATP (junio 1996 - internet)
H01
11
Initial conditions for differential equations of the various components can be determined automatically by the program for many if not most cases of practical interest. The most important restriction is to linear elements (nonlinear components must generally be ignored during phasor steady-state solutions). Yet injections of the electric network may be specified in terms of power and voltage magnitude, thereby providing multi-phase load flow capability. Control system modeling (TACS) allows for the superposition of an arbitary number of linear phasor solutions of different frequencies. An enormous discontinuity in the EMTP occurred during 1984-1985. As DCG/EPRI made proprietary claims to BPA work (later rejected by BPA in connection with a Freedom of Information Act request during April of 1985), the ATP (Alternative Transients Program) version was developed outside of BPA by W.#Scott Meyer and other cooperating individuals and organizations. Because the program was restructured in important ways, former translators had to be abandoned. A new beginning has taken place. As a general rule, the new EMTP (i.e., ATP) is less demanding of computers than were the older ("M39." and before) versions. However, structure is different, so successful experience gained from "M39." and earlier versions is being omitted from this documentation. Most if not all of the two dozen or more distinct computers that once were proven to be EMTP-compatible (for the old code) probably remain compatible for the new code, too. Yet this is not yet known for sure. As an honest, conservative approach, all former (pre-ATP) material is being removed. For those wanting information about the portability of "M39." and earlier EMTP versions, refer to the Rule Book dated June, 1984. For all computer systems, program execution begins with a one-line prompt that shows the most important alternatives within parentheses: .LITERAL $emtp EMTP begins. Send (SPY, file_name, DISK, HELP, GO, KEY) : SPY .EL If the user is communicating with the operating system in real time via a keyboard (as opposed to being home in bed while some batch-mode processor runs his job during the middle of the night), then his next input is crucial to how the program begins execution. If the user knows nothing, he might send the 4th listed alternative ("HELP"), which results in the following universal information about the various choices: 1) "SPY" is the gateway to interactive execution, observation, and control, as documented in Section#XVI of the Rule Book. For details, send "SPY", "HELP" and then "ALL" --- resulting in a total of about 500 lines of instruction. 2) "file_name". If not one of the listed key words (in capital letters), the input line is taken as the name of a disk file of data for batch-mode solution. If this ends with a period, ".dat" (the implied file type DATTYP of the STARTUP file) will be appended. 3)
"DISK"
is request for later prompt for LUNIT6 disk file name.
4)
"HELP"
provides the overview of options now being read.
5) "GO" is for batch solution, like 2, only for the special case of an external connection of the data file to LUNIT5. 6)
"KEY"
7) "STOP" .LITERAL .el
is for use of
LUNIT5#=#5
data input
(no use of LUNT10 cache).
will terminate execution immediately (FORTRAN STOP).
12
Rulebook ATP (junio 1996 - internet)
H01
The 1st alternative, "SPY", should be used only with those computers that have the capability of interactive EMTP execution, observation, and control. Verify availability in the installation-dependent section applicable to the computer of interest before any such attempt. Then refer to Section#XVI for generic instructions of usage. A disk file name may follow "SPY", separated by a blank and possibly preceeded by the character "@" (indicating a SPY command file rather than an EMTP data file). For further details, see the "DATA" command of SPY in Section XVI-C-1. For non-SPY EMTP execution, it is the 2nd option ("file_name") of the initial EMTP prompt that can always be used. Just send the name of any legal disk file that contains EMTP data to be solved. Since such names depend upon computer system (file names were not standardized by ANSI FORTRAN#77), any example might be misleading, so none will be given. Arguments of the type used with $INCLUDE can follow the file name for special cases. Of course, a special data file is required, and arguments must match the demands of the data file in both number and type. If ".dat" is not explicitely keyed, remember to leave room for it (at least 4 blanks) before any arguments begin, since the ".dat" will erase whatever exists at the time and place of its application. An illustration using a single argument is provided by BENCHMARK DC-65, which begins execution as follows. Note that there is only one argument, the end time TMAX of the study, which is being set to 7/10 second: .literal $emtp EMTP begins. Send (SPY, file_name, DISK, HELP, GO, KEY) : dc65. , 0.70 .el For more details, see "DATA BASE MODULE" of Section XIX-F. Two or more arguments require use of a comma "," as a separator (possibly changed by variable CHRCOM on card 19 of the STARTUP file). To continue the argument list on a second or later input line, simply key "$$" (possibly changed by variable CHRCOM on card 19 of the STARTUP file) on the right in any columns not exceeding 79-80. The following continuation line begins in column 2 (column 1 is ignored, so do not begin an argument there). There is no limit to the number of such continuation lines. The third possible beginning is "DISK", which provides a universal way of sending the EMTP's LUNIT6 output to a disk file of the user's choice, in case of non-SPY execution. If the user is communicating with the operating system in real time, and if his computer has windows that can be scrolled the way Apollo's can, then usage of "DISK" is not generally recommended, since it masks important information about how execution is progressing. For example, the user will not know how close to termination a simulation might be. On the other hand, in cases of batch-mode solution with the user at home and asleep in bed, this is precisely what is wanted. For such use, the "DISK" request is sent first, followed by "file_name" (to specify the data), followed by a second file name to which LUNIT6 is to be connected. If such commands are done in real time, the third and final input will be in response to the prompt: .LITERAL Send desired disk file name for LUNIT6 : .el To over-write an existing file of the same name, append "-r" or "-R" for most computers. For example: "dc4. -r". Without this request to replace the old file with the new one, the EMTP will prompt for a correction. The 5th alternative input is "GO", which is not universal, and which is not recommended for any computer that has dynamic OPEN/CLOSE capability. It is only necessary and sufficient for those installations that lack such capability (e.g., mainframe IBM systems) --- computers that require the user to connect the EMTP input data file externally. For typical batch-mode IBM usage, this would be as part of the Job Control Language that runs the program. The
Rulebook ATP (junio 1996 - internet)
H01
13
"GO" command then informs the computer that data has already been connected, and that the user now wants the solution to proceed. The 6th alternative input is "KEY", which has specialized use. One application is for program (or data) debugging using computers with windows (see the Apollo pages). Another application is for the production of batch-mode EMTP plots one at a time, with the user allowed to see the preceding plot before creating the following plot card. This assumes that the user is communicating with the operating system in real time, and that he is using a terminal that is capable of displaying the requested plots. It also assumes that the simulation of interest has already been performed, and that raw plot data points have been saved on disk (integer miscellaneous data parameter ICAT > 0). Consider the following sequence of keyed input lines in response to the initial EMTP prompt: .LITERAL KEY $OPEN, UNIT=4 FILE=//A/WSM/DC3TO54.PL4 ....(etc.) REPLOT 144 1. 0.0 20. 18-A 18-B 18-C .el The 2nd card shown connects the plot file to the program, whereas the 3rd ("REPLOT") transfers control to batch-mode EMTP plotting. The 4th card is the 1st of an indeterminate number of batch-mode EMTP plot cards. Since these are only read one at a time as needed, the user can request whatever he wants in whatever quantity he wants, based of the results of previous plots. It is possible that an extra card, "DISK PLOT DATA", might be required after "KEY" and before "REPLOT". This is the case for those program versions (e.g., Apollo) that do not have an LUNIT4 connection to disk by default. There may also be need of a "CALCOMP PLOT" or "PRINTER PLOT" request before the first plot card, if the STARTUP file does not correspond to the available mode of the terminal being used. Finally, remember that the $OPEN card is installation-dependent. For details of this example, see BENCHMARK DC-54. The 7th and final alternative, not suggested by the prompt, is "STOP", which represents a generic way to terminate program execution. But since most if not all computers have vendor-specific ways that may be more convenient and natural, it is unclear whether the average user will want to key "STOP" just to halt the program. Once program execution is under way, output designed for the line printer (the LUNIT6 I/O channel) will be created at intervals, and variables of interest may be written to a disk file (typically with file type ".PL4") for later plotting. Whether the user sees much if any of this will depend upon whether or not he can see the LUNIT6 output on a computer monitor during this time. The "DISK" command obviously prevents this for most systems, as might the "GO" command (if a file were assigned externally to LUNIT6). Formal error terminations are a special form of output with which every user should be familiar. It is difficult to overlook any such messages, since the LUNIT6 output is marked before and after by the following characteristic, 4-line band of printing that is a full 132 columns wide: .literal -----------------------------------------------------------------ERROR/ERROR/ERROR/ERROR/ERROR/ERROR/ERROR/ERROR/ERROR/ERROR/ERROR/ ... etc. ERROR/ERROR/ERROR/ERROR/ERROR/ERROR/ERROR/ERROR/ERROR/ERROR/ERROR/ -----------------------------------------------------------------.el Following such an introduction will be 5 lines of standard explanation ("You lose, fella ...") to which only the beginning user need pay any attention. But then comes valuable information, beginning an 80-column card image of the last-read data card. Location of the difficulty in the EMTP source code is provided by the numbers that are labeled as: "KILL code number", "Overlay number", and "Nearby statement number". Finally, there is the specific error message itself, always beginning with "KILL =XX" where "XX" is the KILL-code number (between unity and about 230). After a second printing of the
Rulebook ATP (junio 1996 - internet)
14
H01
"ERROR/ERROR" band, there will be attempted recovery of execution, with the program reading through remaining data cards until a "BEGIN NEW DATA CASE" card is found. Case summary statistics will then separate the error termination from the following solution (if enough data remains to be solved). Non-fatal warning messages are usually much more inconspicuous, but should be looked for, and understood, by the intelligent user. Usually such messages will be indented, and often they are preceded by several special symbols. As an example, consider: "///##Warning.##Nonzero XOPT or COPT differs from the power frequency of 6.00000000E+01 Hz. Did the user really want this?" Not shown here is the indentation of two spaces. .literal
I-D.
$-Cards of "CIMAGE" Can Be Ordered Arbitrarily ------------------------------------------------
.el An EMTP data case is made of EMTP data cards (or more formally, of 80-column card-image records, in this day of CRT monitors). Most such cards require specific ordering (see Section I-I), so are the subject of later sections of this manual (Section#II onward). But there is an exception -- a class of cards called "$-cards" for which ordering is arbitary. Such cards will be explained in the remainder of this section. A $-card (pronounced "dollar card") consists of a dollar sign in column one, followed immediately by some short command. All such cards are requests for operations that can be serviced locally within installation-dependent SUBROUTINE CIMAGE. Due to the installation-dependent character, it is true that no one can be sure of what applies to all systems. For example, a particular computer might refuse to recognize any such card. Yet this should not happen. There should be a solid, universal framework that applies to all computers for the following cards: .LITERAL 1. $OPEN 2. $CLOSE 3. $WIDTH 4. $ABORT 5. $ENABLE 6. $NEW EPSILN, EPS 7. $MONITOR 8. $LISTOFF 9. $LISTON 10. $VINTAGE,M 11. $STOP 12. $WATCH 13. $COMMENT 14. $DEBUG, M 15. $UNITS 16. $PUNCH 17. $ERASE 18. $STARTUP, file_name 19. $KEY 20. $BREAK .el It is such universal rules that will be described in the remainder of the present section. For specifics of computer- or installation-dependent exceptions or extensions, see that section of the Rule Book that applies to the computer of interest. .literal I-D-1.
$OPEN
to connect a disk file to an I/O channel -----------------------------------------------
.el $OPEN##is used to connect a disk file to an I/O channel of the program. Similar to the ANSI FORTRAN#77 definitions of these statements, qualifiers are allows. While some qualifiers are required for all computers (e.g., the I/O unit number with qualifier "UNIT="), others (e.g., the record length specification "RECL=") may be required only for certain computers. So, although details may vary from computer to computer, the structure is universal, and this is what will now be summarized. First, consider sample $OPEN usage for Apollo, as drawn from BENCHMARK DC-54 (and split into two lines only for ease of display): .LITERAL $OPEN, UNIT=4 FILE=//A/WSM/DC3TO54.PL4 FORM=UNFORMATTED STATUS=OLD RECL=8000 .el
Rulebook ATP (junio 1996 - internet)
H01
15
Note the single comma, after the request word. All other qualifiers are separated from each other by one or more blanks, not commas (note!). Although the display has been spread onto a second line for convenience of presentation, this is not allowed as EMTP data, which must all fit within a single, 80-column card image. The qualifiers can appear in any order, and variations should be obvious to any FORTRAN programmer. For example, FORM=FORMATTED would be possible, as would STATUS=NEW, STATUS=SCRATCH, or STATUS=UNKNOWN. Yet some of this is computer-dependent. For example, VAX can always create a NEW file (given a higher version number by VAX/VMS), whereas Apollo only can do so if a file of the desired name does not already exists. An unfortunate peculiarity of Apollo Aegis is the need for the "RECL=" qualifier (most systems can dispense with this detail). Remember that using STATUS=SCRATCH conflicts with the use of "FILE=", so these two should never be used together (see the 2nd subcase of BENCHMARK DC-24 for sample STATUS=SCRATCH usage). An illustration of $OPEN usage is provided by BENCHMARK DC-40, which continues the Monte Carlo simulation of DC-24 (which only performed 3 of the 6 total energizations) using "START AGAIN". Before emtp tables can be read via I/O channel LUNIT2#=#2, the disk file storing them must be connected. The data card interpretation for this operation is as follows: .literal C 1 2 3 4 5 6 7 C 34567890123456789012345678901234567890123456789012345678901234567890123456 C ------------------------------------------------|------------------------Connect disk file to I/O unit. |$OPEN, UNIT=2 FILE=DC24. .el Other test cases illustrating $OPEN are: 1)##DC-3, which illustrates the manual naming of the plot file (rather than having a random name based on the date and time of day); 2)##the second subcase of DC-24, to connect the file of user-supplied switch times, DC24LUNIT8.DAT, to unit 8; 3)##DC-32, where the disk file of program tables (created because MEMSAV#=#1) must be connected by the user. 4)##DC-46, where the plot file created by DC-45, DC45.PL4, is connected for postprocessing using TACS; 4)##DC-49, which is like DC-40 except for the lack of dice rolling (it provides a continuation for the deterministic DC-32); 5)##DC-54, where the plot file created by DC-3, DC3TO54.PL4, is connected for purposes of delayed, batch-mode plotting using REPLOT. Should more than 80 columns be required due to a long file name, the user is advised to use a continuation request "=$$" on the right of his $OPEN card. All partial cards begin with "$OPEN," in columns 1-6. For an illustration of such usage, see BENCHMARK DC-66. Interpretation will be identical whether or not the $OPEN is contained on a single card. .literal
I-D-2.
$CLOSE
to disconnect a disk file from an I/O channel -----------------------------------------------------
.el $CLOSE is used to disconnect a previously-connected file. Sometimes this is done to protect a data file from being written on after it has been used. At other times it is used to free the I/O unit for another connection that is to follow. In any case, only the UNIT= and STATUS= qualifiers are applicable. The first of these is self-explanatory, and the second will either be STATUS=SAVE or STATUS=DELETE. The addition of "SHOW CARDS" anywhere on the $CLOSE request will result in a listing of 80-column card images of the file just as though the cards had been punched (see $PUNCH). This is just before the file is released. For an illustration, see the second subcase of BENCHMARK DC-52. An illustration of $CLOSE usage is provided by BENCHMARK DC-40, which continues the simulation of DC-24 using "START AGAIN". After emtp tables have
Rulebook ATP (junio 1996 - internet)
16
H01
been connected and read, they are immediately disconnected to protect them against some unplanned, stray WRITE to the I/O channel being used (this is the extra-cautious approach). The following interpretation documents this: .literal C 1 2 3 4 5 6 7 C 34567890123456789012345678901234567890123456789012345678901234567890123456 C ------------------------------------------------|------------------------Disconnect disk file from I/O unit. |$CLOSE, UNIT=2 STATUS=K .el Any data case with MEMSAV#=#1, or the associated subsequent "START AGAIN", will use $CLOSE. Other test cases are the first and third subcases of BENCHMARK DC-24, DC-32, all subcases of DC-49, and the 2nd subcase of DC-52. I-D-3.
$WIDTH
to change the LUNIT6 output width -----------------------------------------
.el $WIDTH,#M##allows the user to modify the LUNIT6 output width, most commonly between 80 and 132. Such $-card specification will overide the initial choice that has been built into the STARTUP file. All output structures for simulation usage can have the width so controlled, although little has been done for non-simulation supporting programs (e.g., "LINE CONSTANTS"), most of which produce only 132-column output. One usage that may have nothing to do with width is to have 132-column output everywhere except for the branch flows and nodal injections of the phasor solution. This can both speed output and save considerable paper, since no reverse flows are printed, and the forward flows are shorter. An illustration of $WIDTH usage is provided by BENCHMARK DC-5, which illustrates 80-column output capability of the program. The following interpretation documents this: .literal C 1 2 3 4 5 6 7 C 34567890123456789012345678901234567890123456789012345678901234567890123456 C ------------------------------------------------|------------------------New KOL132 = 80 (LUNIT6 output width). |$WIDTH, 80, { Req
I-D-4.
$ABORT
to proceed to next data subcase ---------------------------------------
.el $ABORT results only in setting the error flag KILL#=#88. For most places of a data case, this will direct control to special error message number 88, and then result in a skip to the next data subcase of the disk file, should one exist. The location of $ABORT is not arbitrary, although it can be placed before just about any blank terminator card as an extra record. An illustration of $ABORT usage is provided by the second subcase of BENCHMARK DC-42, which is to abort before the blank card ending plot cards. The following interpretation documents this: .literal C 1 2 3 4 5 6 7 C 34567890123456789012345678901234567890123456789012345678901234567890123456 C ------------------------------------------------|------------------------ End data subcase. "CIMAGE" sets KILL = 88. |$ABORT { Illustration
I-D-5.
$DISABLE $ENABLE
to treat data cards as if they were comment cards to end such implicit commenting of data cards -------------------------------------------------------
.el
a
The $DISABLE/ENABLE feature is one trivial, universal feature. First, $DISABLE card tells the EMTP to treat all following data cards as if they
Rulebook ATP (junio 1996 - internet)
H01
17
were comment cards, until the following appearance of a $ENABLE card. This is a very handy feature for big blocks of comments, or for the temporary removal of components from a data case without actually throwing the records away (one might later want to restore them, and this allows easy remembrance). Any $INCLUDE file may contain $DISABLE and $ENABLE as a matched pair. Just be sure that $ENABLE always appears in the same disk file as the preceding $DISABLE. For an illustration, see BENCHMARK DC-17, which has $DISABLE and $ENABLE within DC17INC2.DAT, which is called by DC17INC1.DAT (in turn called by DC17.DAT). The $DISABLE/ENABLE feature is no longer actually in SUBROUTINE CIMAGE where it began. Instead, the cards to be discarded are ignored as they are first read from disk at the beginning of execution. Only the last card of the block will be retained, and this will be recreated to include a count of the total number of data cards (including both $DISABLE and $ENABLE) of the extraneous block. As an illustration, for BENCHMARK DC-17 this appears as follows: .literal C 1 2 3 4 5 6 7 C 34567890123456789012345678901234567890123456789012345678901234567890123456 C ------------------------------------------------|------------------------End of data to be ignored (implicit "C "). |$ENABLE, ONLY THIS ONE C ...ARD ENDING 5 CARDS OF $DISABLE/ENABLE IS RETAINED. Another illustration can be found in BENCHMARK DC-24:
I-D-6. .el
$NEW EPSILN to alter miscellaneous data parameter EPSILN ----------------------------------------------------------
$NEW#EPSILN,#EPS##allows the user to redefine the floating-point miscellaneous data parameter EPSILN at any point of the input data. The new numerical value is "EPS" --a free-format, positive, floating-point constant. Consult Section II-B for general information about EPSILN. Interpretation of the $NEW#EPSILN request confirms both the old and the new value for the tolerance. The following illustration is from BENCHMARK DC-12: .literal C 1 2 3 4 5 6 7 C 34567890123456789012345678901234567890123456789012345678901234567890123456 C ------------------------------------------------|------------------------EPSILN change. Old, new = 1.000E-08 1.000E-09 |$NEW EPSILN, 1.E-9, {
I-D-7. .el
$MONITOR
to display date and time on the computer monitor ----------------------------------------------------------
$MONITOR was originally designed to result in the display of this interpeted card image on the CRT monitor, which might be useful if the LUNIT6 output otherwise would be unseen (e.g., it might be sent to disk rather than to the computer CRT monitor). The result would be a single, 132-column line: 51 columns for the interpretation on the left, 1 columns for the vertical separator, and finally the 80-column card image (which begins with the request $MONITOR) on the right. Since the card in question usually should serve to mark some position of special importance (e.g., the final branch card), comment information to inform the user is appropriate. Any such arbitrary text can follow the in-line comment marker "{", of course. So much for the original use of $MONITOR, which was designed before the use of scientific workstations such as Apollo. For dedicated personal computers that have scrollable windows, there is seldom a good excuse for diverting the LUNIT6 output from the window in which the program is being executed. So, there was little use for the $-card. When the idea of a request for the wall-clock
18
Rulebook ATP (junio 1996 - internet)
H01
time came to mind, it was easy to switch to this more useful and different meaning. So, for Apollo and some other more modern computers, $MONITOR will still produce the 132-column line of the preceding paragraph, but this is just part of the regular LUNIT6 output. The card index for LUNT10 storage is displayed, as shown by the following illustration: .literal C 1 2 3 4 5 6 7 C 34567890123456789012345678901234567890123456789012345678901234567890123456 C ------------------------------------------------|------------------------Send time to CRT monitor. Card NUMDCD = 5492. |$MONITOR { Request t .el But there also is an extra such output that includes the date and the time in the interpretation, and this extra line goes to the CRT screen (Apollo window). An illustration follows: .literal C 1 2 3 4 5 6 7 C 34567890123456789012345678901234567890123456789012345678901234567890123456 C ------------------------------------------------|---------------------------- Monitor time = 10-Apr-86 14.10.30 |$MONITOR { Request t .el To observe such usage, see the solution to standard test case BENCHMARK DC-3 for the computer of interest. The preceding two examples were taken from the Apollo solution of this data. .LITERAL
I-D-8. $LISTOFF to cease outputing interpreted images of input cards I-D-9. $LISTON to resume outputing interpreted images of input cards --------------------------------------------------------------.el $LISTOFF/LISTON is another universal feature. First a $LISTOFF card tells the EMTP not to display and interpret data cards that follow. This continues until a following $LISTON card is encountered. The purpose of such use generally is to minimize the size of the output file by omitting the listing and interpretation of blocks of data that have been tested and used before. This is particularly advantageous for users of slow computer terminals, in order that solution speed not be inhibited by unneeded output (assuming that it goes to the terminal display). An illustration of such usage is provided by BENCHMARK DC-17. The interpretation is documented by the following two consecutive lines from the LUNIT6 output of the solution: .literal C 1 2 3 4 5 6 7 C 34567890123456789012345678901234567890123456789012345678901234567890123456 C ------------------------------------------------|------------------------Turn off input data listing at card 5505 |$LISTOFF, ----- Precedi Turn on input data listing at card 5508 |$LISTON .el Note that two card images, numbered 5506 and 5507 (indices of the EMTP card cache), are invisible in between the two that are seen in the solution. .literal
I-D-10. $VINTAGE to choose among alternate data formats -----------------------------------------------.el $VINTAGE,#M allows the user to choose between old and new data formats on a component by component basis. Here integer constant "M" characterizes the age of the data (only 0 and 1 have meaning so far). Data options will be described later in the manual, along with the components that allow such a choice. Interpretation of the $VINTAGE request is simple enough. was drawn from the solution to BENCHMARK DCPRINT-3:
The following
Rulebook ATP (junio 1996 - internet)
H01
19
.literal C 1 2 3 4 5 6 7 C 34567890123456789012345678901234567890123456789012345678901234567890123456 C ------------------------------------------------|------------------------New MOLDAT = 1 (data vintage). |$VINTAGE, 1, { Switch fr
I-D-11.
$STOP
to terminate the present solution ----------------------------------------
.el $STOP terminates the present "solution" as quickly as possible. But what exactly is meant by "solution" in this context? As this feature was originally conceived and implemented, the EMTP response to $STOP was the termination of program execution via an immediate, local FORTRAN STOP statement. So much for the original idea, which rapidly was modified to rely upon an installation-dependent module that serves this function: CALL STOPTP. Then a much bigger change came with the concept that EMTP execution should not be restricted to a single data file. Recall that one disk file (a collection of stacked EMTP data cases) after another can now be solved without execution ever terminating. This is for non-SPY usage, wherein execution begins with the opening prompt: .LITERAL EMTP begins. Send (SPY, file_name, DISK, HELP, GO, KEY) : .el When data of a disk file runs out (blank card ending the last EMTP data case), execution returns to this prompt. Well, this is the intended result of $STOP usage, too. Yet operation is necessarily less than perfect, depending upon where execution was when the card was read. All "CIMAGE" can do is set a flag (KILL = -9999) that will be looked for at various places in the program (e.g., the end of each overlay). Since there are hundreds of calls to the module, it is unrealistic to burden the program with a check after each call. So, there will be the hoped for reprompt if nothing illegal to the operating system (e.g., a numerical decode of the character string "$STOP") occurs before the flag is observed. For an example, see BENCHMARK DC-42, the second subcase of which uses $STOP after plot cards. There is no problem with recognition and recovery, it will be seen. Interpretation of the $STOP request is simple enough. The following was drawn from the solution to BENCHMARK DC-13: .literal C 1 2 3 4 5 6 7 C 34567890123456789012345678901234567890123456789012345678901234567890123456 C ------------------------------------------------|------------------------Halt execution: "CIMAGE" sets KILL = -9999. |$STOP { Illustrate im
I-D-12.
$WATCH
to request extra, periodic output to CRT ------------------------------------------------
.el $WATCH,#M is used to define the frequency of special, extra output that always goes to the CRT monitor. This really only has meaning if the LUNIT6 output would otherwise be unseen (e.g., it might be sent to disk rather than to the computer CRT monitor). If "M" were 100, then every 100-th input data card would be shown on the CRT monitor. This periodic output is only 80-columns in width, and it begins with the LUNT10 index number, which leaves only 72 columns for the input card image (to the right of a colon). As an illustration, consider the solution to BENCHMARK DC-12, of which one of the more readily recognizable monotoring lines is the following: .literal C 1 2 3 4 5 6 7 C 34567890123456789012345678901234567890123456789012345678901234567890123456 C ------------------------------------------------|------------------------5602 :BLANK card ending branch cards .el
Rulebook ATP (junio 1996 - internet)
20
H01
Interpretation of the $WATCH request includes confirmation of the user-specified frequency "M". The following is an illustration drawn from BENCHMARK DC-12: .literal C 1 2 3 4 5 6 7 C 34567890123456789012345678901234567890123456789012345678901234567890123456 C ------------------------------------------------|------------------------Paint input data on screen, every 25 -th card. |$WATCH, 25, { Illustrate
I-D-13. $COMMENT to toggle the suppression of comment cards ---------------------------------------------------.el $COMMENT serves to toggle the binary flag that controls the interpreted output of comment cards among input data. Following the first appearance of such a card, comment cards will be discarded and not seen in the LUNIT6 file. A second such request card will return the control to its original state, so that subsequent comment cards will be interpreted and displayed. An example of such usage is provided by BENCHMARK DC-3. As for the interpretation, it confirms the new status of the binary flag: zero means that comment cards are seen, whereas unity means that comment cards are being suppressed. The first usage within BENCHMARK DC-3 is interpreted as follows: .literal C 1 2 3 4 5 6 7 C 34567890123456789012345678901234567890123456789012345678901234567890123456 C ------------------------------------------------|------------------------Toggle comment card destruction. New N11 = 1. |$COMMENT {
I-D-14. .el
$DEBUG
for local control of diagnostic printout ------------------------------------------------
$DEBUG,#M is a request to redefine the current diagnostic printout control variable IPRSUP (see the integer miscellaneous data card of Section II-B) to value "M" (an integer constant most often in the range of 0 to 9). Confined to the UTPF overlay currently being executed, this allows redefinition of the DIAGNOSTIC printout level. But when the current UTPF overlay is exited, the effect of the $DEBUG definition is lost. Free-format is used for the ",#M" part, so imbedded blanks are optional here. Printout can be turned off later in the same UTPF overlay using "$DEBUG,#0" (remember that level zero implies none). Use of this $-card does not replace the "DIAGNOSTIC" special-request card of Section II-A (for diagnostic printout control overlay by overlay). In fact, this is why the $-card definition is local to the UTPF overlay in which it is read: because IPRSOV is used to reset IPRSUP every time a new overlay is begun. A somewhat artificial example of such usage is provided by BENCHMARK DCPRINT-5. The interpretation confirms the new value of diagnostic control, of course: .literal C 1 2 3 4 5 6 7 C 34567890123456789012345678901234567890123456789012345678901234567890123456 C ------------------------------------------------|------------------------New IPRSUP = 8 (DIAGNOSTIC value). |$DEBUG, 8, { Illustrativ
I-D-15.
$UNITS
to alter
XOPT
and/or
COPT ------------------------------------
.el $UNITS,#XOPT,#COPT is used to change the two floating-point miscellaneous data parameters that specify the units of input inductance (millihenries vs. ohms) and capacitance (microfarads vs. micromhos). This allows different
Rulebook ATP (junio 1996 - internet)
H01
21
branches to have different such choices, and it modifies the initial choice that is read from the floating-point miscellaneous data card of Section II-B. Interpretation of the input data confirms the new values for parameters XOPT and COPT. An illustration is provided by BENCHMARK DC-11, from which the following line was taken: .literal C 1 2 3 4 5 6 7 C 34567890123456789012345678901234567890123456789012345678901234567890123456 C ------------------------------------------------|------------------------New XOPT, COPT = 1.59154943E-01 1.59154943E-07 |$UNITS, .1591549431, .15
I-D-16.
$PUNCH
to flush the buffer that holds punched cards ----------------------------------------------------
.el $PUNCH##is used to flush card images that have accumulated in the punched-card buffer (originally I/O channel number LUNIT7) since the last such usage, or since the last usage of $ERASE -which ever is the most recent. Because $PUNCH involves installation-dependent code, details could vary among different computers. Of course, punched cards have just about gone the way of the dinosaur, so the first question is about the disposition of the card images. Most systems will produce both a separate disk file and also a labeled display of the card images on LUNIT6. For details, consult the appropriate installation-dependent information in Section I-F, and look to established illustrations such as BENCHMARK DC-13. It should always be legal to follow the request by a disk file name that is separated from the preceding "$PUNCH" by a comma and an arbitrary number of blanks. See the illustration immediately below. But be aware that there is no guarantee that all computers will actually send the punched cards to that file. Most should, however. Interpretation of the $PUNCH request is simple enough. The following was drawn from the solution to BENCHMARK DC-13: .literal C 1 2 3 4 5 6 7 C 34567890123456789012345678901234567890123456789012345678901234567890123456 C ------------------------------------------------|------------------------Request for flushing of punch buffer. |$PUNCH, dc13a.pch .el Immediately after this will follow a listing of the card images being processed, below a 4-line heading that includes an 80-column ruler. The heading will appear as follows (truncated on the right): .literal A listing of 80-column card images now being flushed from punch buffer follo ============================================================================ 1234567890123456789012345678901234567890123456789012345678901234567890123456 ============================================================================ .el After the last card image, there will be a single bounding record to inform the user that card "punching" is done. This will appear as follows (truncated on the right): .literal =========< End of LUNIT7 punched cards as flushed by $PUNCH request >=== .el Rather than place the disk file name on the $PUNCH card itself, it should be possible for him to connect the file manually using a separate, preceding $OPEN statement. Should unusual file attributes be desired or required, this might be needed in exceptional cases. .literal I-D-17.
$ERASE
to initialize the buffer that holds punched cards ---------------------------------------------------------
Rulebook ATP (junio 1996 - internet)
22
H01
.el $ERASE##is used to destroy any card images that might be in the punch buffer at the time this request is encountered. A conservative strategy is to always include $ERASE at the start of data that is designed to result in punched cards, since it is not always clear what might be executed ahead of the data case of interest. Interpretation of the $ERASE request confirms the number of card images in the punch buffer at the time of usage. The following was drawn from the beginning of solution to BENCHMARK DC-13. Note that no punched cards existed at the beginning of execution: .literal C 1 2 3 4 5 6 7 C 34567890123456789012345678901234567890123456789012345678901234567890123456 C ------------------------------------------------|------------------------Erase all of 0 cards in the punch buffer. |$ERASE
I-D-18. $STARTUP to re-read the STARTUP file --------------------------------------.el $STARTUP,#file_name is used to read a STARTUP file (see Section I-E-2) immediately, at the instant of time the $-card is read. One or more spaces following the comma after "$STARTUP" are optional. The file name can be any complete, legal specification for the computer being used, not to exceed 32#characters. It is the name of the STARTUP disk file that is wanted at this point of program execution. There must not be a trailing comma (at the end of the file name). An illustration of $STARTUP usage is provided by the first and third subcases of standard test case BENCHMARK DC-37. The following interpretation was taken from the solution of the first subcase, which calls for revised parameters immediately before plotting: .literal C 1 2 3 4 5 6 7 C 34567890123456789012345678901234567890123456789012345678901234567890123456 C ------------------------------------------------|------------------------Reinitialize using this STARTUP file. |$STARTUP, DC37STARTUP.DAT
I-D-19. .el
$KEY
to change card input from LUNT10 channel to keyboard ----------------------------------------------------------
$KEY##is used to provide keyboard input of EMTP data cards at some preselected location (the position of the $KEY request) of the program. Maybe when execution begins the user is unsure of some data, and he wants to supply that data later, based on initial program output. This is possible via $KEY, which can be used as often as desired. Each time $KEY is encountered, input will be switched from the normal card image storage of I/O unit LUNT10. Then input cards will be read from the keyboard until the user terminates such interactive input with "END", at which point input will be switched returned to the normal card image storage of LUNT10 at the record immediately following the $KEY request. In terms of card counting, keyboard input does not affect variable NUMDCD of the comment-card interpretation. In effect, keyboard input in extra input. Note that $KEY is for interactive use only. It either provides no assistance at all, or will not function properly, for batch-mode usage. Standard test cases do not illustrate such usage because, if it were added, then the case could not be properly executed in the batch mode. So, if the user wants an illustration, he must make his own. In any case, interpretation should appear as follows: .literal C 1 2 3 4 5 6 7
Rulebook ATP (junio 1996 - internet)
H01
23
C 34567890123456789012345678901234567890123456789012345678901234567890123456 C ------------------------------------------------|------------------------Data input next from keyboard (until "END"). |$KEY
I-D-20. $BREAK to manually trigger a disaster-level SPY interrupt ---------------------------------------------------------.el $BREAK##is similar to the preceding $KEY, only here the alternate input is changed to the SPY input channel rather than the keyboard. Of course, the two channels may be the same, for a crude, single-window implementation. But whether or not the input medium or channel is distinct, the destination of the input data is completely different. Whereas $KEY introduces normal EMTP data cards, $BREAK introduces SPY data. Time-sharing has automatically been disabled, so SPY input will continue until the user sends "GO". Of course, $BREAK can only be used with interactive execution (SPY), and this must be selected at the beginning of execution. $BREAK##is much more powerful than $KEY because SPY provides a new dimension of flexibility. For example, the user can modify any EMTP variable using DEPOSIT, and this includes the variable controlling $KEY usage. That is, if the user wants $KEY to be in effect when he leaves SPY with a subsequent "GO", he need only change the value of binary flag KEYBRD from zero to one. Since the disaster-level audible warning of SPY is used by the program in other circumstances, it is natural to employ it here, too. This alerts the user to the fact that the program is ready for interactive input. In the case of apollo, there will be the familiar audible tones of $HONK(10), which are terminated by a simple carriage return in the SPY window. After the last SPY input that is of interest to the user, "GO" will end the SPY input and return control to the batch-mode input that began the interactive operation. If the user wants to switch from SPY input to data card input, he need merely follow the $BREAK request by $KEY of the preceding subsection. They work well together as such an ordered pair. Note that $BREAK is for interactive use only. It either provides no assistance at all, or will not function properly, for batch-mode usage. Standard test cases do not illustrate such usage because, if it were added, the case then could not be properly executed in the batch mode. So, if the user wants an illustration, he must make his own. In any case, interpretation should appear as follows: .literal C 1 2 3 4 5 6 7 C 34567890123456789012345678901234567890123456789012345678901234567890123456 C ------------------------------------------------|------------------------Data input next from SPY (until SPY "GO"). |$BREAK
I-D-21. $INCLUDE --- no longer within "CIMAGE" ----------------------------------------.el $INCLUDE##is a very powerful and important command that once was honored by "CIMAGE". But since the advent of data modularization and sorting by class (see Section I-J), the original code of "CIMAGE" was removed. In its place, fortified and generalized service has been added at the beginning of program execution. So, if the original data had $INCLUDE usage, all of this will have been converted before "CIMAGE" is called for the first time. .literal
Ruleboob ATP (junio 1996 - internet)
H01e
1
I.E Computer-Dependent Aspects and Alternatives (General)
The !TP h"# been $ro%en &o'$"tible ith #o'e to o*en i#tin&tl+ i,,erent &o'$uter #+#te'# o%er the +e"r# "lthou.h "t "n+ one ti'e &urrent $ro.r"' %er#ion# t+$i&"ll+ ill be "%"il"ble onl+ ,or tho#e &o'$uter #+#te'# th"t "re "&ti%el+ #u$$orte b+ i'$ort"nt &ont"&t#/ t i# '"&hine (&o'$uter) tr"n#l"tion o, " ni%er#"l Tr"n#ient# Pro.r"' ile (TP) th"t '"ke# #u&h $ort"bilit+ $o##ible/ on&ei%e in o%e'ber o, 1974 (#ee Re,/ 13) thi# $ro&eure utili*e# " i,,erent itorTr"n#l"tor (T) $ro.r"' ,or e"&h i,,erent &o'$uter #+#te' o, intere#t/ An T '"&hine tr"n#l"te# the TP &on%ertin. it to le."l !TP RTRA ,or the $"rti&ul"r in#t"ll"tion o, intere#t/ Thi# tr"n#l"tion i# one b+ $ro.r"' '"inten"n&e "n hen&e #houl not be o, &on&ern to nor'"l u#er#/ u#t kee$ in 'in th"t "ll !TP &oe "&tu"ll+ be.in# ith the #"'e '"#ter ,ile (the TP) but i,,er# "&&orin. to the built-in or #$e&i"ll+-reue#te $ro$ertie# o, the tr"n#l"tion/ The nee to u$"te TP "n &o'$uter #$e&i,i& &oe re.ul"rl+ &"n not be #tre##e enou.h/ ith thi# in 'in the ritin. o, " &o''on Rule :ook ,or "ll i,,erent &o'$uter #+#te'# i# ju#t " little tri&k+/ u'eri&"l $re&i#ion i# " &o'$uter-e$enent et"il "bout hi&h " .oo u#er #houl be ""re/ The $re&i#ion o, T;R %"lue# i# not 'u&h o, "n i##ue #in&e "ll &o'$uter# in re&ent +e"r# "llo "eu"te $re&i#ion ,or "ll %"lue# o, intere#t/ lo"tin.-$oint re$re#ent"tion in the ,or' o, RA< or !P<= %"ri"ble# i# the onl+ re"li#ti& &on&ern then/ To"+ 'o#t &o'$uter# "re b+teor."ni*e "n the+ "llo RA<>8 "n !P<=>16 re$re#ent"tion# hi&h $ro%ie "bout 15 or 16 e&i'"l i.it# o, $re&i#ion/ Proble'# o, nu'eri&"l rouno,, th"t on&e ere "##o&i"te ith 36-bit $ro.r"' %er#ion# ,or or '"&hine# #u&h "# Hone+ell ? P?P-10 "n @@T!20 "n ni%"& h"%e l"r.el+ i#"$$e"re/ ither #u&h &o'$uter# "re no lon.er bein. u#e ,or the !TP or $ro.r"' %er#ion# h"%e been &on%erte to u#e ?:< PR@ hi&h $ro%ie# "n enor'ou# 72 bit# o, ,lo"tin.-$oint $re&i#ion/ The ue#tion o, !P<= i# tri&kier #in&e not "ll %enor# "llo $re&i#ion eu"l to th"t o, ?:< PR@ ,or thi# &"#e/ @u&h i# the &"#e ith A$ollo hi&h "# li'ite to 32 bit# o, $re&i#ion u$ to o$er"tin. #+#te' rele"#e @R9/7/ ro' %er#ion @R10 on"r# "l#o A$ollo no h"# ?:< PR@ !P<=/ ortun"tel+ it i# onl+ the BA:< @TAT@B &"l&ul"tion th"t "# ",,e&te b+ thi# #hort&o'in./ @o hile 'o#t $ro.r"' u#er# nee not be &on&erne %er+ 'u&h ith &o'$uter $re&i#ion the+ #houl &ert"inl+ be ""re o, h"t $re&i#ion i# bein. u#e/ ?i#k ,ile n"'e# "re not e,ine b+ the A@ RTRA 77 #t"n"r/ ?i#kn"'e $"thn"'e ,ilen"'e "n ,ile eCten#ion #$e&i,i&"tion# '"+ #ub#t"nti"ll+ %"r+ ,ro' one #+#te' to the other/ There "re no .ener"l rule#/ urther be"re o, the ,"&t th"t #o'e o$er"tin. #+#te'# (e/./ = Ae.i# @R10/C) "re &"#e #en#iti%e "# ,"r "# ,ile n"'in. i# o, &on&ern/ Hen&e "ll $ro.r"' ,e"ture# th"t rel+ on #u&h u#".e (e/./ the BRP<TB reue#t D<? DPH et&/) '"+ %"r+ ,ro' one &o'$uter to "nother/ !o#t #u&h u#".e relie# u$on the RTRA P<@ #t"te'ent hi&h '"+ in%ol%e ,urther %"ri"tion# "n hi&h '"+ not e%en eCi#t in the intene +n"'i& #en#e (e/./ :! '"in,r"'e &"n onl+ i'it"te +n"'i& o$enin.)/ n#t"ll"tion-e$enent in,or'"tion 'u#t be &on#ulte ,or "ll #u&h u#".e/ nter"&ti%e eCe&ution ob#er%"tion "n &ontrol (B@PB) i# hi.hl+ e$enent u$on the &o'$uter #+#te' in %"riou# "+# be.innin. ith the i#$l"+ $o##ibilitie#/ , "%"il"ble Bino#B #houl be u#e ,or i#$l"+ o, &our#e (#ee A$ollo "# "n eC"'$le)/ The ke+bo"r interru$t ill %"r+ ,ro' &o'$uter to &o'$uter/ @P ,un&tion# th"t "re b"#e on 'e'or+ lo&"tion (e/./ B=A!B or B?P@TB) 'i.ht h"%e trouble ,or #o'e &o'$uter#/ t&/
Ruleboob ATP (junio 1996 - internet)
H01e
2
The en%iron'ent ,or "&tu"ll+ eCe&utin. the !TP e$en# u$on the &o'$uter bein. u#e "n "l#o #o'eti'e# u$on the 'oe o, u#".e (thinkin. o, the i,,eren&e beteen Bb"t&h 'oeB "n Be'"n #er%i&eB)/ $er"tin. #+#te'# ill %"r+ ith '"nu,"&turer eC&e$t ,or the in&re"#in.l+ $o$ul"r niC th"t no i# "%"il"ble (but not "l"+# u#e) ,or "l'o#t "n+ &o'$uter/ Hen&e no et"il# th"t "re uni%er#"l "n "$$li&"ble to "ll &o'$uter# &"n be $ro%ie/ et lo&"l eC$ert# #houl "l"+# be "ble to "%i#e "bout #u&h '"tter#/
There i# "nother t+$e o, i,,eren&e "'on. $ro.r"' %er#ion# th"t &"n $ro,it"bl+ be e#&ribe in .ener"l ter'# hoe%er/ A# #u''"ri*e in Re,/ 17 RTRA #t"te'ent# th"t "re hi.hl+ e$enent on &o'$uter br"n "nor in#t"ll"tion u#".e h"%e been i#ol"te in in#t"ll"tion-e$enent !TP 'oule# e/./ b"t&h 'oe $lottin. r"no' nu'ber# intrin#i& ,un&tion# /// , " .i%en or."ni*"tion $er,or'# it# on tr"n#l"tion #u&h 'oule# 'i.ht be &u#to'i*e #o "# to #"ti#,+ it# on $e&uli"r nee# "n Pro.r"' !"inten"n&e o, th"t or."ni*"tion #houl thorou.hl+ uner#t"n the thinkin. th"t i# re#$on#ible ,or #u&h &h"n.e#/ :ut h"t i, "n or."ni*"tion re&ei%e# " RTRA &o$+ o, the !TP ,ro' #o'e other .rou$E n thi# &"#e $erh"$# nothin. ill be knon "bout in#t"ll"tion-e$enent e&i#ion# th"t 'i.ht be '"e therein/ n orer to be "ble to &h"n.e #o'e o, the#e e&i#ion# i, nee be the u#er 'u#t kno ho to lo&"te the in#t"ll"tion-e$enent 'oule# o, intere#t/ The t"ble o, @e&tion -1 #u''"ri*e# #u&h in,or'"tion/ @till "nother "#$e&t o, in#t"ll"tion-e$enent %"ri"tion i# e'boie in $ro.r"' B#t"rt u$B ,ile#/ or A$ollo ("n 'o#t #+#te'# th"t u#e thi# &on&e$t) the i#k ,ile n"'e# "re @TARTP "n @TART@P/ The ie" i# #i'$leF r"ther th"n builin. in#t"ll"tion-e$enent &hoi&e# into the !TP RTRA #u&h in#t"ll"tion-e$enent $"r"'eter# &"n be lo"e "# "t" "t the #t"rt o, the &o'$uter #olution o, e"&h the "t" &ont"ine in e"&h i#k ,ile/ ?et"il# "re $ro%ie in @e&tion --2 "n --3 (,or @TARTP) "n @e&tion --4 (,or @TART@P)/ /R! ,ile# (&ont"inin. TP eui%"lent# o, #+#te' e$enent routine#)/ !oule# o, TP o%erl"+ n"'e B!A00B "n nu'bere B-1B BWINDOW B i# u#e to o$en the #e&on ino ,or inter"&ti%e (@P) i"lo.ue "n the thir ino ,or %e&tor-.r"$hi& $lottin./ All @P out$ut $"##e# throu.h thi# routine "# ell/ or ork#t"tion# (e/./ A$ollo or @un) ino# "re in%ol%e/ or other #+#te'# #e$"r"te ter'in"l# &oul &on&ei%"bl+ be u#e/ :ut
Ruleboob ATP (junio 1996 - internet)
H01e
3
'o#t &o''onl+ #+#te'# not $ro%iin. ino# ill in%ol%e no o$enin. "n @P out$ut ill #i'$l+ be #ent to <T6 (i/e/ the ,ir#t ino)/ BTGRNT B ,in# the &urrent &entr"l $ro&e##or "n in$utout$ut job ti'e# u#in. #+#te' libr"r+ ,un&tion# -l"n.u".e &"ll# or "##e'bler &"ll#/ :"#i&"ll+ thi# i# u#e onl+ ,or the el"$#e-ti'e $rintout o, the &"#e-#u''"r+ #t"ti#ti "t the en o, " #olution/ o''uni&"tion i# %i" the %e&tor <@TAT o, B:8 other# h"%e !P<=>16 too/ TR $oint# "re u#e ,or the #e&on "n l"ter o, "ll #u&h libr"r+ ,un&tion#/
Ruleboob ATP (junio 1996 - internet)
H01e
4
BATA2LB #"ti#,ie# "ll RA< libr"r+ ,un&tion# o, to RA< in$ut "r.u'ent#/ TR $oint# "re u#e ,or the #e&on "n l"ter o, "ll #u&h libr"r+ ,un&tion#/ The ,or'er 'oule n"'e "# the otheri#e-unu#e BR<2B/ B!P<=LB #"ti#,ie# "ll !P<= libr"r+ ,un&tion# o, to RA< in$ut "r.u'ent#/ TR $oint# "re u#e ,or the #e&on "n l"ter o, "ll #u&h libr"r+ ,un&tion#/ BA!A;LB #"ti#,ie# "ll RA< libr"r+ ,un&tion# o, " #in.le !P<= in$ut "r.u'ent/ TR $oint# "re u#e ,or the #e&on "n l"ter o, "ll #u&h libr"r+ ,un&tion#/ The ,or'er 'oule n"'e "# the otheri#e-unu#e BR<3B/ B?<:RB $ro%ie# "ll ?:< PR@ libr"r+ ,un&tion# o, " #in.le ?:< PR@ in$ut/ #".e be."n ju#t ,or o%erl"+ 13 ,or the @e'l+en re&ur#i%e &on%olution &oe o, th"t o%erl"+/ A @:RT not " T 'oule i# in%ol%e (i/e/ the out$ut i# &"rrie "# " #e&on "r.u'ent)/ B?<:R2B $ro%ie# "ll ?:< PR@ libr"r+ ,un&tion# o, to ?:< PR@ in$ut#/ #".e i# b+ B@!< @TPB/ A @:RT not " T 'oule i# in%ol%e (i/e/ the out$ut i# &"rrie "# " thir "r.u'ent)/ !oule# o, TP o%erl"+ n"'e BRT10B "n nu'bere B0B BTAP@AKB i# u#e to u'$ "nor re#tore !! blo&k# o, TP e&k B
Ruleboob ATP (junio 1996 - internet)
H01e
5
!oule# o, TP o%erl"+ n"'e BKR16B "n nu'bere B16B B@R<B i# uni%er#"l #our&e &oe but it i# u#e onl+ b+ @P/ @in&e @P i# &o'$uter-e$enent #o'e $ro.r"' %er#ion# ill not h"%e B@R<B/ BAA<TB $ro%ie# ,or u#er-e,ine #our&e# in &"#e o, BAA<T @R@ @A;B/ Al#o the @P &oe u#e# thi# 'oule to #er%i&e "n+ BRA!PB reue#t# "t e"&h ti'e #te$/ !oule# o, TP o%erl"+ n"'e BRT20B "n nu'bere B28B Thi# i# the onl+ #e&tion o, #our&e &oe th"t &"n be ,or"re to "ll $ro.r"' u#er#/ t "llo# the u#er to #u$$ort ju#t "n+ .r"$hi&"l libr"r+/ %erl"+ 20 in&lue# b"t&h-'oe !TP $lottin. th"t i# "&&e##e b+ o%erl"+ nu'ber HA J 28/ Althou.h the &h"r"&ter 'oe o, #u&h $lottin. i# uni%er#"l the %e&tor-.r"$hi& 'oe i# hi.hl+ e$enent u$on the $lottin. inter,"&e th"t i# u#e/ The TP &ont"in# A$ollo 'oule# hi&h "llo both #&reen $lottin. (ith reli"n&e u$on A$ollo ;r"$hi Pri'iti%e# or ;PR) "n "l#o :en#on $lottin./ Hoe%er the :en#on (or "lo'$-like) #ubroutine# "re $ro$riet"r+ "n &"n not be i#tribute "lon. ith "n+ !TP %er#ion/ @u&h $lottin. routine# 'u#t be "&uire "n "$$ene "t link".e-eitin. ti'e b+ the u#er/ n the TP 'oule u''+ TR $oint# ,or "ll o, the re"l :en#on eCtern"l# o, the $re%iou# $"r".r"$h h"%e been "e #o th"t A$ollo u#er# ithout #u&h :en#on $en $lotter# ill h"%e " B&le"nB :?in. (link".e-eitin.)/ , :en#on $en $lottin. i# to be u#e #u&h eCtern"l# 'u#t be re'o%e o, &our#e/ ther inter,"&e# h"%e been e%elo$e tooF Po#t#&ri$t HP;< "lo'$ ;I@ ; ;??! P<T10 =-?@/ Ple"#e &ont"&t < ,or 'ore et"il#/ B:;P
Ruleboob ATP (junio 1996 - internet)