You are on page 1of 101

II.

Cards to Begin a New Data Case ( includes miscellaneous data cards )


Each new data case that is to be processed by ATP must begin with one or more of the data types described in the following subsections. Structurally, there is an indeterminate number (possibly zero) of the special-request cards of Section II-A that come first, in any order (unless usage dictates an order for the problem of interest). The miscellaneous data cards of Section II-B, followed by possible extensions to these cards (see Section II-C), only come after the last of the special-request cards of Section II-A.

II-A. Special - Request Cards That Precede Miscellaneous Data


Free-format data options are useful for some special-request inputs. Take the FREQUENCY SCAN declaration as an example. Using free format, a valid sample card image is as follows : "FREQUENCY SCAN, 10., 5.0, 100., 0". Even more abbreviation is possible for the really lazy data assembler. Rather than use the full request word, an acronym made up of the first letter of each sub-word usually can be used. In this case, FREQUENCY SCAN can be abbreviated as FS, if desired. Nearly all special-request words are recognized in such abbreviated, fashion. Any exceptions to regular naming will be shown within parentheses on the right of the alphabetical list below, and in a separate tabulation following the complete list. A final point is this: although possible, the use of abbreviations generally is not recommended because the data that results is less readable. All possible special-request cards that could be recognized at this point of EMTP data input will now be listed in alphabetical order for ease of location. Before each is the number of the subsection (within the present Section II-A) that contains an explanation of use. The ordering begins (in July of 2003) alphabetically : 1 ABSOLUTE TACS DIMENSIONS 2 ABSOLUTE U.M. DIMENSIONS ( AUMD ) 3 ACCESS MODULE BCTRAN 4 ALLOW EVEN PLOT FREQUENCY 5 ALTERNATE DIAGNOSTIC PRINTOUT 6 ANALYTIC SOURCES USAGE 7 AUTO NAME 8 AVERAGE OUTPUT 9 BASE CURRENT IN AMPERES 10 BASE VOLTAGE IN VOLTS 11 BEGIN NEW DATA CASE 12 BEGIN PEAK VALUE SEARCH 13 BLANK card 14 CABLE CONSTANTS 15 CABLE PARAMETERS 16 CAO LOAD FLOW 17 CENTRAL STATISTICS FILE 18 CHANGE PLOT FREQUENCY ( CPLF )
19 20 21 22 CHANGE PRINTOUT FREQUENCY ( CPRF) CHANGE SWITCH CHANGE TRANSFORMER ( CX ) COMPILED TACS MAKE

allocation of total storage among 9 TACS tables allocation of total storage among 4 U.M. tables branch cards for multi-phase transformer disable conversion of IPLOT to odd number diagnostic printout within time-step loop user supplied ANALYT defines Type-1 sources toggle choice of internal branch naming average values for EMTP output variables normalizing factor for output current normalizing factor for output voltage case-separation card precedes data case time the extrema computation can begin to signal the end of stacked data cases cable system: calculation of constants Akihiro Ametanis newer cable constants Unbalanced load flow by Xiang-lin Cao name of the OPMC file PARALLEL.LIS
change frequency of .PL4 file points change frequency of the simulation printout to convert former switched-R and L data to convert saturable TRANSFORMER to [Z] produce FORTRAN representing TACS supplemental

2A - 1

23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76

COMPILED TACS USE faster TACS simulation using compiled models CREATE HARMONIC SOURCES build source cards to approximate harmonics CUSTOM PLOT FILE double the precision of the .PL4 file (to 64 bits) DATA BASE MODULE modularize data: $INCLUDE with arguments DIAGNOSTIC selective diagnostic printout specified DISK PLOT DATA toggle plot data storage (disk vs. RAM) EXACT PHASOR EQUIVALENT toggle lumped-R to long-line formulas FAULTS TO GROUND phasor solutions with nodes faulted FILE REQUEST access to former "MIDOV1" during input FIX SOURCE ( FXS ) EMTP load flow: declare intention to use FREQUENCY SCAN loop over frequency for phasor solutions HARMONIC FREQUENCY SCAN user-defined sources drive phasor solutions HEIDLER SURGE FUNCTION find Heidler parameters for Type-15 source HYSTERESIS ( HYS ) to punch Type-96 hysteresis branch cards HYSTERESIS HEVIA to convert Type-98 into Type-96 inductor INDUCTION MOTOR DATA derive U.M. parameters for induction motor INTERPOLATE SWITCH ZERO CROSSINGS switches open at interpolated zero currents JMARTI SETUP ( JMS ) derive frequency-dependent Marti line model KILL CODES output a range of program error messages LINE CONSTANTS calculate parameters of an overhead line LINE MODEL FREQUENCY SCAN evaluate one line model vs. frequency LINEAR BIAS USAGE linearly-varied (not random) switch bias LOAD MORE SHOTS to combine 2 or more Monte Carlo results LOSSY SATURATION ( LSAT ) extended SATURATION that includes losses MINIMUM HARMONIC NUMBER beginning frequency of harmonic freq. scan MINIMUM TABLE SIZES make LISTSIZE.PMC for parallel Monte Carlo MISCELLANEOUS DATA CARDS miscellaneous data cards are to follow MODE VOLTAGE OUTPUT modal voltage output of distributed line MODELS BEFORE TACS each dT, MODELS is done before TACS MODELS PROCESSES EXTREMA use MODELS on extrema, not within dT loop NAMES ARE LEFT ADJUSTED halt if an A6 name begins with a blank NAMES ARE RIGHT ADJUSTED halt if an A6 name ends with a blank NETWORK EQUIVALENT create a constant-parameter network equivalent NEW LIST SIZES redefine limits of various program tables NODA SETUP frequency-dependent fitting by Taku Noda OBSERVE PARALLEL MONTE CARLO display and manage central status file OLD TO NEW TACS convert TACS data before M39. of July, 1984 OLD TO NEW ZNO convert old data of ZnO to current formats OMIT BASE CASE skip base base simulation of a Monte Carlo study PARTIAL TABLE DUMPING any table dumping or restoration will be partial PEAK VOLTAGE MONITOR request for peak node or branch voltage output POCKET CALCULATOR VARIES PARAMETERS pocket calculator loops over time or frequency POSTPROCESS PLOT FILE postprocess ".PL4" plot file signals using TACS POWER FREQUENCY change the synchronous power frequency PRINTED NUMBER WIDTH for width and blanks of dT-loop numbers RANDOM NUMBER GENERATOR SEED initialize the random number generator READ PL4 HEADER REWIND LUNIT4 and then read header only RELATIVE TACS DIMENSIONS relative sizing of the 9 TACS tables RENUMBER WITHOUT COUPLING ignore mutual coupling for node renumbering REPEATABLE RANDOM NUMBERS make random number generator predictable REPLOT batch-mode plot from connected .PL4 file SATURATION produce regular and hysteretic B-H curves SEMLYEN SETUP 2nd order frequency-dependent line fitter SINGLE STEP IF MAKE end at T = dT if COMPILED TACS MAKE

2A - 2

77 SMOOTH SATURATION USING TANH 78 STANDLER SURGE FUNCTION 79 START AGAIN 80 STEP ZERO COUPLE 81 TACS POCKET CALCULATOR 82 TACS WARN LIMIT 83 TIME STEP LOOP 84 TOGGLE EXTREMA MODE 85 TRULY RANDOM NUMBERS 86 TRUNCATE OUTPUT LINES 87 TWO EXP SURGE FUNCTION 88 UM TO TACS 89 UNIQUE TACS SOURCE 90 USE SEATTLE XFORMER 91 USE TPPLOT BEGIN 92 USE TPPLOT END 93 USER IDENTIFICATION ( UID ) 94 USER SUPPLIED SWITCH TIMES 95 VERIFY U.M. COMPENSATION ( VUMC ) 96 VOLTAGE SOURCES IN KV 97 XFORMER 98 ZERO FLUX TOLERANCE 99 ZINC OXIDE 100 ZNO FITTER

hyperbolic tangent models Type-93 inductor find Standler parameters for Type-15 source restart a halted, preceding simulation identify subnetworks with switches closed pocket calculator does TACS supplemental limit on the number of TACS warnings transfer control to the time-step loop formatted vs. unform. LOAD MORE SHOTS seed the number generator using date and time output line limit after formed using KOL132 parameters of Type-15 exponential surge U.M. output variables go to Type-92 TACS TACS Type-91 or 93 source must be unique Xusheng Chens 3-phase transformer model begin data of TPPLOT for concurrent plot end data of TPPLOT for concurrent plot 6-byte label overrides USERID of STARTUP user supplied random switching times protect against overlap with 1-phase element scale voltage sources by an arbitrary factor derive impedance matrix for transformers tolerance to determine if phasor excitation redefine controls of ZnO Newton iteration to fit exponentials to ZnO V-I data points

Most of these (e.g. AUTO NAME) are self-contained, so the explanation that follows will be complete. But some represent requests for the transfer to separate supporting programs, and for these requests, there will be references to further explanation toward the back of the book. An example of the latter is NETWORK EQUIVALENT. Acronyms (abbreviations) generally can be used, although such use is not encouraged because the result is less readable. Usually, the appropriate acronym is formed from the first letters of the associated words, where a blank marks the end of each word. Take ABSOLUTE TACS DIMENSIONS as an illustration. The acronym ATD is equivalent. This simple, uniform rule applies to most requests. The exceptions are seen within parentheses of the preceding tabulation. For completeness, they are, in alphabetical order : # Acronym Long form of request word -------------------------------------2 AUMD ABSOLUTE U.M. DIMENSIONS 13 BLANK 18 CPLF CHANGE PLOT FREQUENCY 19 CPRF CHANGE PRINTOUT FREQUENCY 21 CX CHANGE TRANSFORMER 32 FXS FIX SOURCE 36 HYS HYSTERESIS 37 HYSTERESIS HEVIA 40 JMS JMARTI SETUP 46 LSAT LOSSY SATURATION 92 USE TPPLOT END 93 UID USER IDENTIFICATION 95 VUMC VERIFY U.M. COMPENSATION Note that 3 requests have no acronyms. For each such entry, there is no alternative to the long form. 2A - 3

II-A-1. Request for Absolute Allocation of Total TACS Storage


TACS is the control-system modeling of Section III. Total working space for all TACS tables is assigned in List 19, along with the other 29 EMTP lists (see Section I-G). But there still remains the question of how this total working space is to be divided among the nine TACS tables. This allocation can be performed at execution time, according to the description of the present section, thanks to the procedure of offset subscripting (see Ref. 8, Vol. VIII, 27 January 1979, pages PROV-19 through 22 ) . The first way to allocate total TACS storage is with a request for absolute TACS table sizing. Two data cards are involved. ABSOLUTE TACS DIMENSIONS (ATD) is to be followed by a card that gives the desired absolute sizes :
1 2 3 4 5 6 7 8 123456789012345678901234 56789012345678901234567890123456789012345678901234567890 ABSOLUTE TACS DIMENSIONS 8 7 6 5 4 3 2 1 12345678 90123456 78901234 56789012 34567890 12345678 90123456 78901234 56789012 234567890 K1 I8 K2 I8 K3 I8 K4 I8 K5 I8 K6 I8 K7 I8 K8 I8 K9 I8

The format for the sizes is 9I8, with 9 required TACS table sizes having the following meaning : LT1 LT2 Maximum number of TACS dynamic function blocks, having Laplace transfer functions H(s). Maximum number of nonzero factors of the triangularized TACS network matrix. This limit applies to both the steady-state solution and the transient solution. Maximum total number of input variables to TACS dynamic function and supplemental devices. Maximum number of TACS sources. This includes built-in sources (e.g., "TIMEX" or "UNITY") and variables passed from the electric network to be TACS driving functions. Maximum number of supplemental variables and devices ( type codes 99, 98, or 88 keyed in columns 1-2). Maximum total number of extra INTEGER pointers which are associated with supplemental variables and devices. There is no easy, exact formula, although sample figures can be given. Each parenthesis requires 3 cells, as does each arithmetic operation ("+", "*", "="). Maximum total number of extra floating-point cells that are associated with TACS variables. Each TACS variable requires one or more such cells. Again, a simple rule is impossible to state. Each first-order function block requires 10 cells, each intermediate variable of supplemental-variable expression evaluation requires one, the average device might require between 3 and 5, and the most complex device, the Type-66 RMS sensor, requires 1 / ( f * DELTAT ) where "f" is the fundamental frequency. Maximum number of distinct TACS variables used in the TACS data specification. 2A - 4

LT3 LT4

LT5

LT6

LT7

LT8

LT9

Maximum number of Type-53 TACS devices (transport delay blocks).

Provided the total storage represented by this request is less than or equal to the List-19 space available, execution will proceed normally. If not, the overflow will be noted before any TACS data will actually be read. The result would be a KILL = 1 message pointing to List 19. A second way to allocate total TACS storage is via a request for relative sizing. That is, rather than request a specific number of function blocks, supplemental variables, etc., the user can simply request a proportional allocation (e.g., 5% of the total storage for function blocks, etc.). Consult the appropriate subsection for details about RELATIVE TACS DIMENSIONS ( RTD ) . Use of FORTRAN 77 ( F77 ) is assumed in the preceding comment about possible overflow of List 19. The problem applies to any F77 version of ATP. Any newer F95 alternative avoids this potential problem as explained in the October, 2000, newsletter. Using F95, the user-requested absolute storage simply is created dynamically. For this reason, RTD has no meaning, and any attempt to use it with a F95 version should result in an error stop. The interpretation of the two input data cards confirms only the first 5 of the 9 integers being specified. The following illustration has been taken from the 2nd subcase of BENCHMARK DC-18 :
C 1 2 3 4 5 6 7 C 34567890123456789012345678901234567890123456789012345678901234567890123456 C ------------------------------------------------|------------------------Request to define new TACS allocation absolutely. |ABSOLUTE TACS DIMENSIONS TACS table sizes. 10 90 100 20 30 | 10 90 100

II-A-2. Request for Absolute Allocation of Total U. M. Storage


The universal machine (U.M.) component of Section IX has total working space for all tables assigned in List 25 of the overall program variable dimensioning (see Section I-G). But there still remains the flexibility of dividing this total working space among the four U.M. tables by means of the following request for absolute sizes :
1 2 3 4 5 6 7 8 12345678901234567890123456789012 34567890 12345678 90123456 78901234 5678901234567890 ABSOLUTE U.M. DIMENSIONS NCLFIX I8 NUMFIX I8 IOTFIX I8 IBSFIX I8

NCLFIX

(cols. 33-40) Maximum total number of U.M. coils in the data case. This is the total for all U.M. components involved. It is the sum of the number of coils for each machine. (cols. 41-48) Maximum number of U.M. components (machines) for the data case. (cols. 49-56) Maximum number of U.M. output quantities (total for all machines). (cols. 57-64) Maximum number of 6-character alphanumeric names associated with the U.M. This is the total for all machines.

NUMFIX IOTFIX IBSFIX

2A - 5

Provided the total storage represented by this user request is less than or equal to the List-25 space available, execution will proceed in a nominal fashion. If not, this fact will be noted in UTPF overlay 5 as the first U.M. data component itself is ready for input, and an EMTP error message will result. In any case, the corresponding minimum size for List 25 will be shown as part of the column 1-50 interpretation of the Type-19 request card for U.M. modeling. This way, the user knows what fraction of the available space he is utilizing. If the user fails to input such a request for U.M. table sizing, then ATP allocates default dimensions equal to (20, 3, 50, 60) within UTPF overlay 5. For computers with 32-bit integers and 64-bit floating-point values, a List-25 size of 300 is sufficient for this usage (and it corresponds to the default allocation of VARDIM for List 25). Interpretation of the input data confirms the four U.M. table sizes that have been requested, of course. As an illustration, consider the associated output line of BENCHMARK DCNEW-1 :
C 1 2 3 4 5 6 7 C 34567890123456789012345678901234567890123456789012345678901234567890123456 C ------------------------------------------------|------------------------U.M. table sizes. 20 2 50 60 |ABSOLUTE U.M. DIMENSIONS

II-A-3. Calculation of Matrices to Represent Transformers


The calculation of matrices [R] and [L] or [A] and [R] to represent arbitrary transformers is described in the separate Section XIX-C. Whereas an XFORMER request is for data limited to a single phase and three windings, the code now being considered (supporting program BCTRAN) can be used with an arbitrary number of phases and windings. The transfer to BCTRAN is by means of the following specialrequest card :
3 4 5 6 7 8 1 2 12345678901234567890 123456789012345678901234567890123456789012345678901234567890 ACCESS MODULE BCTRAN

For an example of such usage, see any of the three subcases of BENCHMARK DCNEW-8. Interpretation extracted from the solution to this data case appears as follows :
C 1 2 3 4 5 6 7 C 34567890123456789012345678901234567890123456789012345678901234567890123456 C ------------------------------------------------|------------------------Generate transformer [R],[L] or [A],[R]. |ACCESS MODULE BCTRAN

II-A-4. Allow Even Plot Frequency


ALLOW EVEN PLOT FREQUENCY ( AEPF ) is the request to save solution points of the time-step loop with an even plotting frequency in the .PL4 file. This is contrary to default program logic as explained in Section II-B.2. But the user has this flexibility if he requests :

2A - 6

1 2 3 4 5 6 7 8 1234567890123456789012345 6789012345678901234567890123456789012345678901234567890 ALLOW EVEN PLOT FREQUENCY

An illustration of use can be found in the 4th subcase of BENCHMARK DC-22, from which the following interpretation has been drawn. Note that there are no parameter values to be confirmed ) :
C 1 2 3 4 5 6 7 C 34567890123456789012345678901234567890123456789012345678901234567890123456 C ------------------------------------------------|------------------------Allow IPLOT of misc. data to be even (2, 4, ...). |ALLOW EVEN PLOT FREQUENCY

II-A-5. Request for Alternative Diagnostic Printout of the dT Loop


ALTERNATE DIAGNOSTIC PRINTOUT ( ADP ) is the request that defines 4 integers to control diagnostic printout of the 4 pieces of the time-step loop (overlays 16 through 19 ) . If minus signs are applied to MULT(K) as part of the printout frequency changes of Section II-C (or the equivalent CHANGE PRINTOUT FREQUENCY declaration of a later subsection), then diagnostic printout controls of the time-step loop are to be switched. Those of the DIAGNOSTIC request (see a later subsection) are in effect initially. Then, at the time of the first change, an alternate set of printout control parameters IPR(1:4) is used instead. These four new variables replace IPRSOV(16:19), to control the diagnostic output of the four pieces of the time-step loop. Upon the second such change (the second negative MULT), there is a switch back to the original DIAGNOSTIC printout control values. Etc. (for each minus sign, the two sets of control variables are switched). The alternate set of printout control parameters IPR(1:4) is automatically initialized to zero at the beginning of execution. If this is what the user wants, a declaration of the present section is not required. This would be for the common usage that will begin with diagnostic printout for steps 0 and 1, but which has no such output thereafter. On the other hand, if the time-step loop is to begin without any diagnostic printout, then nonzero IPR(K) must be defined by the user. This is done using the following special-request card :
1 2 4 5 6 7 8 12345678901234567890123456789012 34567890 12345678 90123456 78901234 5678901234567890 ALTERNATE DIAGNOSTIC PRINTOUT IPR1 I8 IPR2 I8 IPR3 I8 IPR4 I8

Interpretation of the input data confirms the four printout controls that have been requested, of course. As an illustration, consider the associated output line of BENCHMARK DC-53 :
C 1 2 3 4 5 6 7 C 34567890123456789012345678901234567890123456789012345678901234567890123456 C ------------------------------------------------|------------------------DELTAT-loop printout. 9 9 9 9 |ALTERNATE DIAGNOSTIC PRIN

2A - 7

II-A-6. Type -1 Sources Are Defined by User within ANALYT


As explained in Section VII, source types 1 through 9 are reserved for functions that are directly defined in user-supplied source code. If one or more such source functions are to be defined in FORTRAN within a special user-supplied version of SUBROUTINE ANALYT, then the following special request card must precede input of the miscellaneous data cards for the data case in question :
1 2 3 4 5 6 7 8 1234567890123456789012 3456789012345678901234567890123456789012345678901234567890 ANALYTIC SOURCES USAGE

It is the user's responsibility to see to it that his own special SUBROUTINE ANALYT has replaced the near-dummy module that comes with the UTPF, of course. The UTPF module is useful only for the artificial illustration of BENCHMARK DC-6. Do not confuse the present declaration and associated ANALYT with the analytically-defined Type-10 source of Section VII. The Type-10 source is newer and more convenient (e.g., no FORTRAN compiler is required), but it relies on the pocket calculator, so is limited to functions of that device. It is less general than arbitrary FORTRAN that could be placed in ANALYT. Interpretation of the input declaration is illustrated by BENCHMARK DC-6. Note that there is no parameter value to be confirmed :
C 1 2 3 4 5 6 7 C 34567890123456789012345678901234567890123456789012345678901234567890123456 C ------------------------------------------------|------------------------User-supplied SUBROUTINE ANALYT is declared. |ANALYTIC SOURCES USAGE

II-A-7. Control of Automatic, Internal Branch and Switch Naming


The startup file initializes variable NMAUTO, which controls whether or not branches will automatically be serialized by the program. There are only two possibilities : "0" means no such automatic naming, whereas "1" will result in such naming. Well, whatever the STARTUP decision might be, the following declaration will toggle (i.e., reverse) it :
1 2 3 4 5 6 7 8 123456789 01234567890123456789012345678901234567890123456789012345678901234567890 AUTO NAME

The interpretation of this request confirms the status of variable NMAUTO after the change. The 4th subcase of BENCHMARK DC-7 illustrates a change from naming (STARTUP defines NMAUTO = 1) to no names as follows :
C 1 2 3 4 5 6 7 C 34567890123456789012345678901234567890123456789012345678901234567890123456 C ------------------------------------------------|------------------------Toggle auto branch/switch name. NMAUTO = 0. |AUTO NAME

2A - 8

II-A-8. Request to Average Output Signals


Successive values of EMTP output variables will be averaged prior to printing and plotting if the following request is made :
2 3 4 5 6 7 8 1 12345678901234 567890123456789012345678901234567890123456789012345678901234567890 AVERAGE OUTPUT

The mathematics of the solution are not affected. This is just a massaging of the answers at the time answers are printed and/or written to the plot file of LUNIT4. By averaging is meant the arithmetic mean of the current and the preceding variable value : (V-new + V-old ) / 2 . For studies where EMTP output variables are smooth functions of time, the AVERAGE OUTPUT request would have negligible effect, and should not be used (it just adds a small error to the answer). But there are problem cases such as the hanging inductor (see the two pages of discussion in Section VI about REMARKS ON OPENING ACTION). There are pathological cases where the trapezoidal rule gives answers that oscillate around the true value, so this remedy might sometimes be useful. As an example of such usage, see BENCHMARK DC-55. Interpretation of the input declaration appears as follows (note that there is no parameter value to be confirmed ) :
C 1 2 3 4 5 6 7 C 34567890123456789012345678901234567890123456789012345678901234567890123456 C ------------------------------------------------|------------------------Request to average (smooth) output variables. |AVERAGE OUTPUT

II-A-9. Normalizing Factor for Output Currents


Output currents of the electric network, typically requested by1-punches in column 80 of the associated branch cards, can be normalized uniformly by factor BASEI in amperes. In effect, the output currents are converted to per unit with BASEI being the base current. The request for such scaling is BASE CURRENT IN AMPERES ( BCIA ) as follows :
5 6 7 8 4 1 2 3 12345678901234567890123456789012 34567890 1234567890123456789012345678901234567890 BASE CURRENT IN AMPERES BASEI E8.0

Of course, non-unity BASEI will influence printout of the phasor solution as well as that of the time-step loop. To cancel scaling of the preceding subcase, use BASEI equal to unity. The 6th subcase of BENCHMARK DC-37 involves a scaling factor of 1000, to produce output in kiloamps. This probably is the most common value other than unity. Interpretation of this use follows :
C 1 2 3 4 5 6 7 C 34567890123456789012345678901234567890123456789012345678901234567890123456 C ------------------------------------------------|------------------------Normalize output currents by I-base = 1000 |BASE CURRENT IN AMPERES

2A - 9

II-A-10. Normalizing Factor for Output Voltages


Output voltages of the electric network, typically requested by 2-punches in column 80 of the associated branch cards, can be normalized uniformly by factor BASEV in volts. In effect, the output voltages are converted to per unit with BASEV being the base voltage. The request for such scaling is BASE VOLTAGE IN VOLTS as follows :
1 2 3 4 5 6 7 8 12345678901234567890123456789012 34567890 1234567890123456789012345678901234567890 BASE VOLTAGE IN VOLTS BASEV E8.0

Of course, non-unity BASEV will influence printout of the phasor solution as well as that of the time-step loop. To cancel scaling of the preceding subcase, use BASEV equal to unity. The 6th subcase of BENCHMARK DC-37 involves a scaling factor of 1000 to produce output in kV. This probably is the most common value other than unity. Interpretation of this use follows :
C 1 2 3 4 5 6 7 C 34567890123456789012345678901234567890123456789012345678901234567890123456 C ------------------------------------------------|------------------------Normalize output voltages by V-base = 1000 |BASE VOLTAGE IN VOLTS

II-A-11. Optional Case - Separation Card


While not mandatory, it is good practice for the user to make the very first card of each data case a special case-separation marker :
1 2 3 4 5 6 7 8 1234567890123456789 0123456789012345678901234567890123456789012345678901234567890 BEGIN NEW DATA CASE

See any standard test case ( e.g., BENCHMARK DC-18 ) for an example. For execution that terminates normally, or for single-data-case solutions, this just described card serves no operational purpose. It does, of course, appear on the listing of 80-column input data, with appropriate interpretation on the left (see below), but that's all. On the other hand, should ATP decide to prematurely terminate execution of a particular data-case solution with an EMTP error message, then a case-separation marker might be important. For a formal KILL = error termination, ATP automatically steps over remaining input cards, discarding them one at a time until it finds such a BEGIN NEW DATA CASE ( BNDC ) card. At that point, a new data case is known to begin, so ATP can correctly recover to handle the just-found following case. This is referred to as EMTP error-recovery, during execution that involves two or more stacked data subcases. Yet suppose that it was during the solution of the final data case of program execution that a fatal EMTP error termination occurs. In this case, there would be no following data case, so further solutions would not be possible. To distinguish this situation, the final data case should always be followed by a BEGIN NEW DATA CASE card and a blank card, in order to terminate execution cleanly. The blank card 2A - 10

in this situation is read as the start of a new data case, and the lack of any keying on it is recognized by the EMTP as the end of all data cases. In the absence of such usage, recovery following an EMTP error will result in the encounter of an end to input data, which will be accompanied by a second EMTP error message (messy, and possibly confusing). It should be emphasized that BEGIN NEW DATA CASE cards must be properly positioned in the data deck; they do not in any way alter the need for blank termination cards (see explanation in a later subsection). The identity and function of these special cards is recognized by the EMTP in only two places: 1. Following an EMTP fatal error, such cards are watched for as other cards of the input data are read and discarded. Following normal completion of the solution for any particular data case, the very first non-comment card of the following data case will be checked for BEGIN NEW DATA CASE.

2.

Any other placement of these key cards will generally lead to error termination by the operating system, since the alphanumeric text will be decoded numerically (which is impossible). As any standard test case will show, interpretation of the BNDC declaration appears as follows. Note that there is no parameter value to be confirmed :
C 1 2 3 4 5 6 7 C 34567890123456789012345678901234567890123456789012345678901234567890123456 C ------------------------------------------------|------------------------Marker card preceding new EMTP data case. |BEGIN NEW DATA CASE

II-A-12. Request for Delay in Extrema Calculation


The integer miscellaneous data parameter MAXOUT (see Section II-B) provides for the calculation of variable extrema (maxima and minima) of program output variables. The same vectors of extrema are used for STATISTICS and SYSTEMATIC output as well. Normally, extrema are wanted over the full time span of the simulation. But not always. There are cases where one wants to ignore a certain initial interval of the simulation, only considering transients after a certain minimum time. For example, in a STATISTICS simulation, it is possible that random closing will follow the opening of breakers (the clearing of a fault), but that the peak simulation voltage will be produced during the deterministic opening portion of the simulation. If extrema were calculated over the entire time span of the simulation, each energization would generate identical peaks, which is useless to the designer. So, in this case, the solution is to inhibit the calculation of extrema until transients of the opening phase of execution have passed. This is possible, using a BEGIN PEAK VALUE SEARCH (BPVS) request upon which the beginning time BEGMAX in seconds is to be keyed in columns 33-40 :
1 2 3 4 5 6 7 8 12345678901234567890123456789012 34567890 1234567890123456789012345678901234567890 BEGIN PEAK VALUE SEARCH BEGMAX E8.0

For examples of such use, see BENCHMARK DC-48 and DCNEW-22.

2A - 11

So much for the simplest possible case, where an initial time span is simply ignored in the extrema calculation. But more complex time ranges are possible, if the above BEGMAX is given a value of "-1.0". In this case, an extra card is to follow, upon which monotone increasing times T1, T2, etc. are to be keyed :
8 7 6 5 4 3 2 1 12345678 90123456 78901234 56789012 34567890 12345678 90123456 78901234 56789012 34567890 T1 E8.0 T2 E8.0 T3 E8.0 T4 E8.0 T5 E8.0 T6 E8.0 T7 E8.0 T8 E8.0 T9 E8.0 T10 E8.0

1st interval

2nd interval

3rd interval

4th interval

5th interval

In this case, extrema are to be calculated only for those portions of the simulation that intersect the sub-intervals of time (T1, T2), (T3, T4), etc. Present dimensioning of this feature has been limited to the single card of five subintervals, as shown. In case fewer than this maximum are actually desired, the 4 or fewer pairs should be followed by a very large time that will never be reached: the beginning time of a bounding subinterval. Interpretation of the input data confirms the starting time BEGMAX of the search for extrema, if this is positive (the simple case). Using BENCHMARK DC-48 as an illustration :
C 1 2 3 4 5 6 7 C 34567890123456789012345678901234567890123456789012345678901234567890123456 C ------------------------------------------------|------------------------Extrema lookout begins at t = 5.2500E-01 sec. |BEGIN PEAK VALUE SEARCH

On the other hand, if BEGMAX = -1.0, then the more complicated, 2-card input is involved. BENCHMARK DC-5 provides an illustration of such usage. Note that interpretation confirms only the first four of 10 possible times :
C 1 2 3 4 5 6 7 C 34567890123456789012345678901234567890123456789012345678901234567890123456 C ------------------------------------------------|------------------------Extrema lookout begins at t = -1.0000E+00 sec.|BEGIN PEAK VALUE SEARCH (T1,T2): 5.00E-01 1.50E+00 2.50E+00 3.50E+00 | 0.5 1.5 2.5

II-A-13. Blank Card to Terminate Execution


The traditional termination procedure for the solution of a disk file that contains one or more stacked data subcases is to have the first card of the following (non-existent) data case completely blank. The use of "BLANK " in columns 1-6 (note mandatory blank byte following the key word of 5 letters), followed by anything for the rest of the card image, is also acceptable. By agreement, either of these tells the program that there remain no more data cases to be handled, so that EMTP execution can return to the original opening prompt ("EMTP begins. Send ...") if execution is interactive. For batch-mode execution using RUNTP.BAT with initial input equal to either DISK or BOTH , program execution will end.
1 2 3 4 5 6 7 8 123456 78901234567890123456789012345678901234567890123456789012345678901234567890 BLANK <-user may enter comments here (cols. 7-80) ->

2A - 12

In order to protect against termination by the operating system after an EMTP error stop, the justmentioned final blank card should always be preceded by a BEGIN NEW DATA CASE ( BNDC ) card. This is explained in the preceding BNDC subsection . This was the situation for many years, and it remains good practice today. Yet the user is advised that the blank terminating card at the end generally will not be read. If fewer than 5 data cards (the default value of KASEND in STARTUP) remain when the final BEGIN NEW DATA CASE card is encountered, the program now is smart enough to realize that data is done, so it immediately re-issues the opening prompt (if interactive execution) or halts (if batch-mode execution). This saves a little output.

II-A-14. Calculation of Parameters of Multi - Phase Coaxial Cables


Prof. Akihiro Ametani of Doshisha University in Kyoto, Japan, is the author of cable parameter calculations. The present CABLE CONSTANTS ( CC ) dates to the mid-'70s whereas the following CABLE PARAMETERS ( CP ) dates to 1994. If the user has no reason to prefer the present CC, he is referred to the following CP, which is the author's preference. The calculation of parameters for multi-phase coaxial cables is isolated in a separate UTPF overlay. It really is a separate, self-contained program, and all usage is described in the separate Section XXIII. To transfer to that separate program, the following special-request card is used :
1 2 3 4 5 6 7 8 123456789012345 678901234567890123456789012345678 90123456 789012345678901234567890 CABLE CONSTANTS KTRLSW(3) I8

Normally only the request word is required (leave columns 16 onward blank). For examples of such usage, see BENCHMARK DC-27, 28, 60, and DCNEW-6. The parameter KTRLSW(3) of columns 49-56 is optional. It is used to modify the number of conductors per SC (single core) coaxial cable within the memory reserved for CABLE CONSTANTS parameters (as explained near the top of MAIN27). As a rule of thumb, the following equation is valid : ratio = # of conductors / SC cable = 2 + KTRLSW(3) Of course this implies KTRLSW(3) > 2. The following table was derived for 0.85 times default dimensioning : KTRLSW(3) # SC # conductors ratio ---------------------------------------2 92 0 0 2 42 42 1 0 22 45 2 1 15 46 3 2 11 47 4

2A - 13

Interpretation of the input data will report limiting sizes of the CC tables. For example, standard test cases are usually verified using 3 times default dimensioning and List 31 = 240K. Then the .LIS file of BENCHMARK DC-27 will show :
C 1 2 3 4 5 6 7 C 34567890123456789012345678901234567890123456789012345678901234567890123456 C ------------------------------------------------|------------------------Akihiro Ametani`s old code. Limits = 26 53 |CABLE CONSTANTS

The values 26 and 53 are internal parameters LDM and LDN. If a user had turned on diagnostic printout, he would have seen LDM and LDN described as the limit on SC coaxial cables and the limit on the number of conductors, respectively.

II-A-15. Alternative, Newer Cable Parameters from Akihiro Ametani


Prof. Akihiro Ametani of Doshisha University in Kyoto, Japan, is the author of cable parameter calculations. The present CABLE PARAMETERS ( CP ) dates to 1994. At that time, the hope was that CP eventually would replace the original and older CABLE CONSTANTS (CC). But as long as CC can do something that CP can not, CC is being retained. Data is similar, so changing from one to the other generally is not difficult for an experienced user. Finally, CC continues to have value because CC code is largely independent of the CP code. Access to Akihiro Ametanis newer cable modeling is by means of the following request :
1 2 3 4 5 6 7 8 1234567890123456 7890123456789012345678901234567890123456789012345678901234567890 CABLE PARAMETERS

Illustrations of CP use can be found in standard test cases BENCHMARK DC-27, 28, 52, 60, DCNEW-6, NEW-13, and NEW-29. Interpretation of the declaration will report the limiting number of conductors. For example, standard test cases are usually verified using 3 times default dimensioning and List 31 = 240K. Then the .LIS file of BENCHMARK DC-27 will show the following in the 2nd subcase :
C 1 2 3 4 5 6 7 C 34567890123456789012345678901234567890123456789012345678901234567890123456 C ------------------------------------------------|------------------------Prof. Akihiro Ametani`s 1994 code. Order = 38 |CABLE PARAMETERS

That is, the total of the number of cores, sheaths, armors, and the pipe (if any) must not exceed 38 for such standard dimensioning. Much larger numbers of coupled conductors have been successfully handled as reported in newsletters of years 2002 and 2003. Produced by VARDI151.BAT is a TPBIG that will tolerate 151 coupled conductors. The associated LISTSIZE.151 has List 31 = 3800K (storage varies approximately as the square of the number of conductors, of course ) .

2A - 14

II-A-16. Unbalanced Load Flow by Xiang - lin Cao


The unbalanced load flow within ATP comes from Xiang-lin Cao of Toden Software Inc. (TSI), which is a subsidiary of huge Tokyo Electric Power Company (TEPCO) in Japan. Mr. Cao also is the author of the Type-58 dynamic S.M. model (see Chapter VIII), and he seemed to believe that the original load flow algorithm of ATP (see FIX SOURCE later in this Section II-A) was unsatisfactory for networks that involve significant imbalance. CAO LOAD FLOW is the alternative that he has provided for such cases. The declaration is as follows :
1 2 3 4 5 6 7 8 1234567890123 4567890123456789012345678901234567890123456789012345678901234567890 CAO LOAD FLOW

An illustration of CAO LOAD FLOW can be found in standard test case BENCHMARK DCNEW-20. Interpretation should then appear as follows :
C 1 2 3 4 5 6 7 C 34567890123456789012345678901234567890123456789012345678901234567890123456 C ------------------------------------------------|------------------------New TEPCO load flow is used when unbalanced S.M. |CAO LOAD FLOW

In fact, the older and original request NEW LOAD FLOW is illustrated by the 2nd subcase of DCNEW-20. Such old data continues to be honored, even though it is not encouraged. If used, there will be an extra, preceding output line : "+++ Warning. The following is old. The recommended new form is CAO LOAD FLOW, named after the author." For more about CAO LOAD FLOW, refer to newsletters dated April and July of 1999.

II-A-17. Name the Central Status File of Parallel STATISTICS


The user of OBSERVE PARALLEL MONTE CARLO ( OPMC ) must name PARALLEL.LIS, which is the central file of summary statistics. This name, up to 40 bytes in length, is to follow (on a separate data card) the declaration :
1 2 3 4 5 6 7 8 12345678901234567890123 456789012345678901234567890123456789012345678901234567890 CENTRAL STATISTICS FILE

Column one of the file name must not be a slash ("/"), since this would be mistaken by the program as a request for data sorting by class (Section I-J). There usually are computer-dependent ways to avoid the problem (e.g., for Apollo Aegis, begin with a backslash "\"). But for those who are either unwilling or unable to use such tricks, precede the leading slash by an extra, leading percent sign ("%") which will be discarded upon input. Finally, for case-sensitive computers, the file name generally should be in lower case, followed by an exclamation point ("!") to hold that case even though STARTUP variable KINSEN has value unity (indicating conversion of input to upper case). An example of the just-explained declaration is provided by BENCHMARK DC-66. It was from the solution DC66.LIS that the following interpretation was drawn : 2A - 15

C 1 2 3 4 5 6 7 C 34567890123456789012345678901234567890123456789012345678901234567890123456 C ------------------------------------------------|------------------------Name of file for "OBSERVE PARALLEL MONTE CARLO" |CENTRAL STATISTICS FILE File name:parallel.lis |parallel.lis ! { Actual

II-A-18. Request to Change the Frequency of Plot Points


The frequency of output to the .PL4 file, and hence the frequency for subsequent batch-mode plotting, is nominally controlled by integer miscellaneous data parameter IPLOT of Section II-B. But this frequency can be varied as the simulation time is advanced. The request for such variation involves 2 data cards as follows :
1 2 3 4 5 6 7 8 123456789012345678901 23456789012345678901234567890123456789012345678901234567890 CHANGE PLOT FREQUENCY

1 2 3 4 5 6 7 8 12345678 90123456 78901234 56789012 34567890 12345678 90123456 78901234 56789012 34567890 KCHG I8 MULT I8 KCHG I8 MULT I8 KCHG I8 MULT I8 KCHG I8 MULT I8 KCHG I8 MULT I8

1st change

2nd change

3rd change

4th change

5th change

The numeric card specifies at which time steps the frequency is to be changed, and to what values the frequency is to be changed. Up to five pairs of these controls (KCHG, MULT) are permitted. The following definitions apply : KCHG(K): The time step number at which the K-th variation of plot frequency is to begin. MULT(K): The modified value of IPLOT (see 2nd miscellaneous data card) that takes effect at time step KCHG(K). Normally KCHG will be monotone increasing, from left to right. In any case, the pairs of integers are used in this order. As simulation begins on step 1, ATP is waiting for step KCHG(1) to be reached before the change to output frequency MULT(1) will be made. Then ATP will wait for step KCHG(2) to be reached, etc. There is no need for a bound as ATP will halt its consideration once the last defined pair has been used. Interpretation confirms only the first three of the five pairs of integers that are defined. Illustrations of use are provided by BENCHMARK DC-3 and DCNEW-25. The following interpretation is drawn from the first of these :
C 1 2 3 4 5 6 7 C 34567890123456789012345678901234567890123456789012345678901234567890123456 C ------------------------------------------------|------------------------Request preceding 5 plot output frequency pairs. |CHANGE PLOT FREQUENCY Plot out : 5 5 10 1 0 0 | 5 5 10

2A - 16

II-A-19. Request to Change the Frequency of Time - Step Loop Printout


The frequency of LUNIT6 printout within the time-step loop is nominally controlled by integer miscellaneous data parameter IOUT of Section II-B. But this frequency can be varied as the simulation time is advanced. One way is to use an extension to the integer miscellaneous data card (see Section II-C). But it is possible to accomplish identically the same control by having the same numerical card of (KCHG, MULT) pairs preceded by the appropriate special-request card, as follows :
3 4 5 6 7 8 1 2 1234567890123456789012345 6789012345678901234567890123456789012345678901234567890 CHANGE PRINTOUT FREQUENCY

1 2 3 4 5 6 7 8 12345678 90123456 78901234 56789012 34567890 12345678 90123456 78901234 56789012 34567890 KCHG I8 MULT I8 KCHG I8 MULT I8 KCHG I8 MULT I8 KCHG I8 MULT I8 KCHG I8 MULT I8

1st change

2nd change

3rd change

4th change

5th change

The numeric card specifies at which time steps the printout frequency is to be changed, and to what values the frequency is to be changed. Up to five pairs of these (KCHG, MULT) controls are permitted, as per the following definitions : KCHG(K) : The time step number at which the K-th variation of printout frequency is to begin. Printout for this particular step number is always provided, as a beginning to the new frequency of output. The modified value of IOUT (see 2nd miscellaneous data card) that takes effect at time step KCHG(K).

MULT(K) :

Normally KCHG will be monotone increasing, from left to right. In any case, the pairs of integers are used in this order. As simulation begins on step 1, ATP is waiting for step KCHG(1) to be reached before the change to MULT(1) will be made. Next ATP will wait for step KCHG(2) to be reached, etc. There is no need for a bound as ATP will halt its consideration once the last defined pair has been used. If a minus sign is appended to MULT(K), then at the corresponding step number KCHG(J), the diagnostic printout status will be changed. That is, there will be a switching of the two sets of diagnostic printout controls : 1) IPRSOV(16:19) of a DIAGNOSTIC request and 2) IPR(1:4) of an ALTERNATE DIAGNOSTIC PRINTOUT request If there is no minus sign, there will be no change in status of the diagnostic printout at the associated time step. Any minus signs are merely extra flags. The absolute value of MULT still controls the production (non-diagnostic) printout frequency as originally described. The present usage is more self-explanatory than the alternative of Section II-C, so probably it is to be preferred. Years ago, it was necessary. Note that the extension to the integer miscellaneous data card is possible only if integer miscellaneous data parameter IPUN is given a value of minus one (columns 41-48). But IPUN once had meaning when it was positive, as a request for the creation of terminal conditions. The 2A - 17

user might have wanted to do both of these operations in the same data case, which previously was impossible (since variable IPUN could not be both negative and positive at the same time). Use of CHANGE PRINTOUT FREQUENCY is illustrated by several standard test cases : BENCHMARK DC-22, 40, 42, 48, and 49. Program interpretation of the input data confirms only the first three of the five possible pairs of integers, however. The following illustration is from DC-48 :
C 1 2 3 4 5 6 7 C 34567890123456789012345678901234567890123456789012345678901234567890123456 C ------------------------------------------------|------------------------Request preceding 5 printout number pairs. |CHANGE PRINTOUT FREQUENCY Printout : 5 5 10 10 0 0 | 5 5 10

II-A-20. Conversion of Former Switched-R, L Elements to Type - 99 and 98


Years ago (prior to the "M32." update of 1982), EMTP had switch components that allowed for both resistive and inductive discontinuities : so-called switched-R and switched-L elements. Today, such modeling can be accomplished using the more general pseudo-nonlinear elements of type codes 99 and 98. The user who wants to convert antiquated data involving switched-R or switched-L elements into modern, equivalent, representations can issue the following request :
1 2 3 4 5 6 7 8 1234567890123 4567890123456789012 34567890 1234567890123456789012345678901234567890 CHANGE SWITCH XOPT E8.0

This special-request card is to be added before the first miscellaneous data card of the antiquated data case. Conversion then will be accomplished within a special program described in Section XIX-D. Parameter XOPT of columns 33-40 is the miscellaneous data parameter that specifies the units that are being used for inductance (millihenries if zero or blank; ohms at frequency XOPT Hz if positive). Specification on the request card means less intelligence inside the supporting program (no need to look for the integer miscellaneous data card, and read it). The supporting program will then read all input data, and punch (see $PUNCH) replacement branch cards to represent the antiquated components. It will then be the user's responsibility to replace the old card images with the new ones. An example of such conversion is provided by the third subcase of standard test case BENCHMARK DC-14. The interpretation of the request then appears as follows :
C 1 2 3 4 5 6 7 C 34567890123456789012345678901234567890123456789012345678901234567890123456 C ------------------------------------------------|------------------------Convert switched-R,L cards to pseudo-nonlinear. |CHANGE SWITCH

II-A-21. Convert SATURABLE Transformer Cards to [ R ] and [ L ]


The calculation of matrices [R] and [L] to provide an alternative, linear representation for a saturable TRANSFORMER is described in the separate Section XIX-J. The special-request word CHANGE TRANSFORMER ( CX ) provides the transfer : 2A - 18

1 2 3 4 5 6 7 8 123456789012345678 90123456789012345678901234567890123456789012345678901234567890 CHANGE TRANSFORMER

Upon completion of the computation, resulting [R] and [L] are obtained in the form of Type-51, 52, ... branch cards using $PUNCH. Of course, the saturable TRANSFORMER is nonlinear, and the nonlinearity must be ignored. More precisely, it must be linearized : it is the phasor I-steady and PSI-steady that are used as an approximation. An illustration can be found in standard BENCHMARK DC-67. Interpretation of the transfer has been drawn from this solution :
C 1 2 3 4 5 6 7 C 34567890123456789012345678901234567890123456789012345678901234567890123456 C ------------------------------------------------|------------------------Convert saturable TRANSFORMER into [R], [L]. |CHANGE TRANSFORMER

II-A-22. Create FORTRAN for Compiled TACS Representation


Compiled TACS simulates faster than normal, old, interpretive TACS because the control system modeling, which the user defines in TACS data, has been converted to FORTRAN source code. For background, see newsletter stories entitled "Compiled TACS speeds simulation." These began in the January, 1997, issue. The user's TACS model is built into the program by compilation and linking of the associated FORTRAN. The first step of this process is creation of the associated FORTRAN, which is requested by :
1 2 3 4 5 6 7 8 123456789012345678 90123456789012345678901234567890123456789012345678901234567890 COMPILED TACS MAKE

Compiled TACS should not be used casually. Typically it should be used only for simulation that is too slow because of the TACS burden. In effect, the TACS burden can be removed because compiled execution typically might be an order of magnitude or more faster. But note that only the TACS burden is relieved in this way. If the electric network accounts for at least half of the total burden, note that simulation speed could not be doubled. Compiled TACS usually makes sense only if TACS dominates. SINGLE STEP IF MAKE ( SSIM ) is described in a later subsection. This request frequently is used along with COMPILED TACS MAKE ( CTM ) to halt the simulation after one time step. The desired FORTRAN to represent the TACS data is created on the first time step, so just a single step is required.
2 3 4 5 6 7 8 1 1234567890123456789 0123456789012345678901234567890123456789012345678901234567890 SINGLE STEP IF MAKE

The operating system symbol named COMPTACS provides an alternative to the declaration of COMPILED TACS MAKE in data. For MS-DOS, the command would be SET COMPTACS =MAKE Typically this would be placed in a batch file immediately prior to the ATP execution that would create the associated TACS FORTRAN. Of course, once ATP execution is complete, the flag should be cancelled. For MS-DOS, use SET COMPTACS= (i.e., nothing to the right of the equal sign ) . 2A - 19

An illustration of COMPILED TACS MAKE can be found in standard BENCHMARK DCNEW-25. The following interpretation has been extracted from the associated output :
C 1 2 3 4 5 6 7 C 34567890123456789012345678901234567890123456789012345678901234567890123456 C ------------------------------------------------|------------------------Request for generation of FORTRAN for TACS data. |COMPILED TACS MAKE

II-A-23. Using Compiled TACS for Faster Simulation


COMPILED TACS USE ( CTU ) is the second step of a 2-step process. Do not use this request unless it is preceded by the first step, which is COMPILED TACS MAKE ( CTM ) as described in the preceding section. These two requests are paired, and must involve the same TACS data. That is, one can USE (simulate) only what already has been made, compiled, and linked. The data must not be changed between the MAKE and the USE phases. Provided the ATP version being used has been linked to include the TACS modeling of interest, the request for faster simulation using compiled TACS is as follows :
2 3 4 5 6 7 8 1 12345678901234567 890123456789012345678901234567890123456789012345678901234567890 COMPILED TACS USE

No standard test case illustrates this request because no illustrative TACS data yet is being built into (i.e., linked with) every version of the program that is created. Also, the operating system symbol COMPTACS provides a more convenient alternative to declaration in data. For MS-DOS, the command would be SET COMPTACS=USE Typically this would be placed in a batch file immediately prior to the ATP execution of interest. Of course, once execution is complete, the flag should be cancelled. For MS-DOS, use SET COMPTACS= (i.e., nothing to the right of the equal sign ) . For the user who does choose to embed the request for compiled TACS use in data, interpretation should be as follows :
C 1 2 3 4 5 6 7 C 34567890123456789012345678901234567890123456789012345678901234567890123456 C ------------------------------------------------|------------------------Request for use of compiled TACS (no interpret). |COMPILED TACS USE

II-A-24. Creation of Source Cards to Approximate Harmonics


CREATE HARMONIC SOURCES ( CHS ) is the request for harmonic source estimation as first described in the April, 2002, newsletter. Code is from Orlando Hevia of UTN in Santa Fe, Argentina, who wrote : "I send you the source code of the routine to generate HFS sources for diode / thyristor bridges." The request for such service is :

2A - 20

1 2 3 4 5 6 7 8 12345678901234567890123 456789012345678901234567890123456789012345678901234567890 CREATE HARMONIC SOURCES

A couple of weeks later, author Hevia expanded his creation: "I added a new type of device ... a TCR (Thyristor Controlled Reactor). The data are Current RMS (fundamental), frequency, phase, conducting angle, maximum harmonics, and a key," with the last of these controlling the preservation or deletion of triplen harmonics. Operation is demonstrated by a new 3rd subcase of following interpretation has been extracted : BENCHMARK DC-15 , from which the

C 1 2 3 4 5 6 7 C 34567890123456789012345678901234567890123456789012345678901234567890123456 C ------------------------------------------------|------------------------Orlando Hevia creates harmonic sources for HFS. |CREATE HARMONIC SOURCES

II-A-25. Request for Double - Precision .PL4 Plot File


The user will normally employ whatever precision of plot file data has been decided upon by Program Maintenance for his computer system, and not think further about the question. For plotting only, which requires low-accuracy, any computer precision should be adequate, so the user need never worry. But there may be more concern for other uses of the plot file data, such as POSTPROCESS PLOT FILE (where plot file variables become TACS sources of a subsequent simulation), or FOURIER ON (to request Fourier series decomposition of a plot file signal). In such cases, full solution precision may be desired, and this is the motivation for the request, which takes this form :
1 2 3 4 5 6 7 8 1234567890123456 7890123456789012345678901234567890123456789012345678901234567890 CUSTOM PLOT FILE

Today (year 2002), all program versions available to the general public involve 64-bit (doubleprecision) computation and 32-bit (single-precision) storage in the .PL4 file. The first use of CUSTOM PLOT FILE thus will convert from 32-bit (REAL*4) storage to 64-bit (REAL*8) storage in the .PL4 plot file that will be created on LUNIT4 during simulation. However, the declaration is a toggle, so any following use would return the .PL4 storage to single precision. Use is illustrated by standard BENCHMARK DC-3 and 54. Either should show the following interpretation, which confirms a change from single precision ( L4FULL = 0 ) to double precision (L4FULL = 1) storage in the .PL4 file :
C 1 2 3 4 5 6 7 C 34567890123456789012345678901234567890123456789012345678901234567890123456 C ------------------------------------------------|------------------------Toggle choice of disk plot file. L4FULL = 1. |CUSTOM PLOT FILE { Re ...

2A - 21

II-A-26. Modularization of Data for $INCLUDE Use with Arguments


The request for a copy of some data component that is stored in a data base generally requires $INCLUDE usage with one or more arguments. But when arguments are present, data must first be processed by the supporting program of Section XIX-F. This program searches the user's raw data for the character strings of interest, and establishes numerical pointers for all arguments in order to speed later usage. A special-request card, to be placed in front of the user's raw data, transfers control to this conversion utility :
1 2 3 4 5 6 7 8 1234567890123456 7890123456789012345678901234567890123456789012345678901234567890 DATA BASE MODULE

An example of such usage is provided by BENCHMARK DC-36. It was from the first subcase of this solution that the following interpretation was drawn :
C 1 2 3 4 5 6 7 C 34567890123456789012345678901234567890123456789012345678901234567890123456 C ------------------------------------------------|------------------------Request for definition of data base modules. |DATA BASE MODULE

II-A-27. Request for Selective Diagnostic Printout


Integer miscellaneous data parameter IPRSUP (see Section II-B) will turn diagnostic printout on or off irrespective of the location of that printout within the program. That is, either all diagnostic output is turned on, or all is turned off, at a certain threshold level. If positive, IPRSUP will override the selective printout request of this present section. But if IPRSUP is to be keyed zero or blank, then EMTP diagnostic printout can be controlled overlay by overlay of the UTPF. A special-request card bearing the key word DIAGNOSTIC in columns 1-10 is used in this case, followed by 10 blanks, followed by values for each of the 29 overlays as 29I2 information :
1 ... 2 3 4 5 6 7 8 1234567890 ... 90 12 34 56 78 90 12 34 56 78 90 12 34 56 78 90 12 34 56 78 90 12 34 56 78 90 12 34 56 78 90 DIAGNOSTIC Overlay number : Each entry has I2 FORMAT

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29

In the selection of these diagnostic output codes, special care should always be taken with regard to the time-step loop of overlays 16-19. Remember that diagnostic output can be generated for each time step, so beware of the termination time TMAX in relation to the step-size DELTAT, should such output be requested. Another consideration is for large networks, which will generate voluminous output in overlay number 7 (network node-renumbering) and the [Y] formation of overlay 14. In these cases, output can be produced for each row of the matrix. It is recommended that diagnostic for overlay 7 almost never be used, and that the value for overlay 14 be limited to level 3. If in doubt about such control, consult Program Maintenance, or try the usage in real time, looking at the output on a computer monitor as it is being generated. In case the output is excessive, execution then could be aborted, and the controls modified appropriately. A summary of the function of key overlays at the start of the program follows : 2A - 22

Overlay 1 Overlay 2 Overlay 3 Overlay 4 Overlay 5 Overlay 6 Overlay 7

Special-request cards, miscellaneous data, and MODELS data input TACS data input Electric network branch input Switch (including diodes/valves) input Source (including S.M. and U.M.) input Network connectivity printout Node renumbering

If diagnostic printout is being turned off and on as a function of time (see Section 1.1b, with a minus sign on MULT), then (IPRSOV(16:19) alternate with IPR(1:4) for control of diagnostic printout of the time-step loop. There are two distinct cases of importance : Case 1. If the user wants to start with no diagnostic (i.e., for time steps zero or one), then IPRSOV(16:19) should all be zero, and the ALTERNATE DIAGNOSTIC PRINTOUT request of a preceding subsection should be used to define the nonzero printout codes (one or more of the 4 values nonzero). If the user wants to start with diagnostic (Step zero), then IPRSOV(16:19 should not all be zero. In this case, no ALTERNATE DIAGNOSTIC PRINTOUT request is needed, since zero values are the default.

Case 2.

Interpretation of the input data confirms only the first 12 of the 29 integers that are defined. An illustration is provided by BENCHMARK DC-18, which turns on diagnostic printout only in overlays 2 and 16 (used by the pocket calculator) :
C 1 2 3 4 5 6 7 C 34567890123456789012345678901234567890123456789012345678901234567890123456 C ------------------------------------------------|------------------------Debug print. 0 9 0 0 0 0 0 0 0 0 0 0 |DIAGNOSTIC 0 9

II-A-28. Toggle Choice Between Disk and Memory for Plot Data Storage
The startup file initializes variable LUNIT4, which controls whether plot data points are to be stored on disk or in memory within SUBROUTINE PLTFIL. The sign on what otherwise would be an I/O channel number makes this choice : "+" means that disk storage connected to I/O unit LUNIT4 will be used, whereas "-" will result in the storage of plot data in COMMON /C29B01/. Well, whatever the STARTUP decision might be, the following declaration will toggle (reverse) it :
1 2 3 4 5 6 7 8 12345678901234 567890123456789012345678901234567890123456789012345678901234567890 DISK PLOT DATA

For an example of such usage, see BENCHMARK DC-3. Interpretation will confirm the value of LUNIT4 following the change. From DC3.LIS, assuming that STARTUP defines LUNIT4 = -4 :
C 1 2 3 4 5 6 7 C 34567890123456789012345678901234567890123456789012345678901234567890123456 C ------------------------------------------------|------------------------Toggle plot data storage choice. LUNIT4 = 4. |DISK PLOT DATA

2A - 23

II-A-29. Long - Line Formulas for Constant - Parameter Distributed Lines


Normally, for the phasor solution, resistance is lumped (1/4 on each end and half in the middle) for constant-parameter, distributed lines. This agrees with the modeling of the time-step loop, of course. But sometimes the user may want the correct (exact) representation for the phasor solution. It can be obtained by the request :
1 2 3 4 5 6 7 8 12345678901234567890123 456789012345678901234567890123456789012345678901234567890 EXACT PHASOR EQUIVALENT

An example of such usage can be found in BENCHMARK DC-11 and DCNEW-2. Illustrative interpretation can be extracted from any such solution as follows :
C 1 2 3 4 5 6 7 C 34567890123456789012345678901234567890123456789012345678901234567890123456 C ------------------------------------------------|------------------------Do not lump R for constant-parameter distributed. |EXACT PHASOR EQUIVALENT

II-A-30. Phasor Solutions with Nodes Faulted to Ground


FAULTS TO GROUND ( FTG ) is a request that will cause ATP to loop over phasor solutions with different nodes grounded. For each fault, the user lists nodes that are to be grounded (most commonly one or three) on a data card. All regular EMTP output after source input is suppressed. In its place will appear a single table of fault currents with one row for each fault switch of each fault. A request for such service begins with the following fixed card :
1 2 3 4 5 6 7 8 1234567890123456 7890123456789012345678901234567890123456789012345678901234567890 FAULTS TO GROUND

Next to appear are an indeterminate number of cards, one for each fault. Each card is to carry the names of the nodes that are to be faulted to ground during that particular fault. The format is :
8 7 6 5 4 3 2 1 12 345678 901234 567890123456 789012 345678 901234 567890 123456 789012 345678 901234 567890 BUS1 A6 BUS2 A6 BUS3 A6 BUS4 A6 BUS5 A6 BUS6 A6 BUS7 A6 BUS8 A6 BUS9 A6 BUS10 BUS11 BUS12 BUS13 A6 A6 A6 A6

Most commonly, either one name will be provided, or three will be provided. This would be for a singleline-to-ground fault or a 3-phase (to ground) fault, respectively. But any number of nodes can participate. Blank names are ignored, so for 3-phase use, it is customary to use BUS1 for phase a, BUS2 for phase b, and BUS3 for phase c. Finally, a blank card terminates the last such row of nodes to be faulted. Inspiration for the addition of fault modeling to ATP came from BPA's Dan Goldsworthy. In the past, he had been forced to set up many different, separate data cases, execute the program for each one, and finally, extract the fault currents manually from each solution. This was part of the careful building of 2A - 24

a new data case. At the power frequency, Mr. Goldsworthy would validate his representation by shorting each bus of interest to ground. He then would compare the resulting fault currents with those predicted independently by a conventional short-circuit program. Operation of FAULTS TO GROUND ( FTG ) bears some similarity to the operation of FREQUENCY SCAN . Each involves a family of phasor solutions that is requested by means of a special-request card. Yet, there are important differences. The FTG loop is bigger because branch and switch cards will be re-read for each fault. In order for this to occur at maximum speed, data input must be from RAM rather than disk. Depending on computer, operating system, and compiler, this may or may not represent a bottleneck. No problem for Salford EMTP, which switched to virtual files early (see the final paragraph on page 1 of the July, 1992, newsletter). But there was an obvious problem for VAX/VMS, which demonstrated a lot of disk noise and slow execution when running FTG. After local VAX expert Randy Suhrbier advised that he knew of no DEC compiler switch to move scratch disk files to RAM, your Editor agreed to program a RAM disk as had been used for IBM mainframes during the mid-'80s. In fact, two RAM disks were programmed in SUBROUTINE WRIT10 for VAX during the morning of 3 April 1993. The first and biggest (20K card images) is for data of LUNT10; the second (8K card images) is for program text of BLOCKD51.BIN . The sizes are arbitrary, but compilation is required to change either of them. A new, third subcase has been added to DC-11 to illustrate the operation of FAULTS TO GROUND on the cascaded connection of Pi-circuits of DC-3. Illustrative interpretation is drawn from this solution. To save space, the output for faults 3 through 9 of the 10 have been omitted. Note that the first two faults are 3-phase whereas the 10th is single phase :
C 1 2 3 4 5 6 7 C 34567890123456789012345678901234567890123456789012345678901234567890123456 C ------------------------------------------------|------------------------Request preceding list of nodes to be faulted. |FAULTS TO GROUND Names of nodes for fault number 1. | M-A M-B M-C Names of nodes for fault number 2. | 1-A 1-B 1-C ... Names of nodes for fault number 10. | 18-C Blank card ending list of nodes to be faulted. |BLANK card ends list ...

II-A-31. Calling of Installation - Dependent Module MIDOV1


The principal installation-dependent module that is called at the start of execution of each data case is SYSDEP. But there once was another such module in overlay 1, a former SUBROUTINE that has since been converted to a special, optional logic branch within SYSDEP. This can be used for any necessary initialization that is possible only after miscellaneous data cards have been read, for those computer systems that require such special treatment. The request for such special initialization (originally associated with file opening and closing) is shown immediately below. But do not use this without the knowledge and approval of Program Maintenance. It will result in execution of the statement CALL SYSDEP, which could be disastrous for those computer systems that do not have alternate logic to intercept such advance usage.
1 2 3 4 5 6 7 8 123456789012 34567890123456789012345678901234567890123456789012345678901234567890 FILE REQUEST

2A - 25

No standard test case BENCHMARK DC*.DAT illustrates this use. In any case, interpretation of the input declaration should appear as follows :
C 1 2 3 4 5 6 7 C 34567890123456789012345678901234567890123456789012345678901234567890123456 C ------------------------------------------------|------------------------Request for "CALL MIDOV1" execution. |FILE REQUEST

II-A-32. Declaration of Intention to Use ATP Load Flow


EMTP load flow capability is associated with special data cards that are to follow the blank card ending sources, as explained in Section X. But such observation of power constraints is optional. If such data is to be read at the appropriate time and place, the EMTP must know of its existence. The user declares such existence by means of the following request card :
1 2 3 4 5 6 7 8 1234567890 1234567890123456789012345678901234567890123456789012345678901234567890 FIX SOURCE

For examples of such usage, see the standard test cases BENCHMARK DC-25 and DC-26. Interpretation of the input declaration then appears as follows :
C 1 2 3 4 5 6 7 C 34567890123456789012345678901234567890123456789012345678901234567890123456 C ------------------------------------------------|------------------------Declaration of desired EMTP load flow usage. |FIX SOURCE { Declare

II-A-33. Loop over Frequency to Produce Series of Phasor Solutions


The FREQUENCY SCAN ( FS ) feature of ATP allows for the repetition of steady-state phasor solutions, as the frequency of sinusoidal sources automatically is incremented between a beginning and an ending frequency. Rather than conventional time-response output, a frequency-response output of desired quantities such as node voltages, branch currents or driving-point impedance / admittances can be obtained For plotting, the time axis of conventional ATP simulation becomes the frequency axis. The result is a frequency curve rather than a time curve. Either polar coordinates (magnitude and angle) or rectangular coordinates (real and imaginary parts) of the phasor solution variables are used for output purposes. The user can choose among magnitude only, or polar, or rectangular, or all four possible outputs for the variables of interest. Typical applications of the Frequency Scan are :

! ! !

Analysis and identification of resonant frequencies of power networks and individual system components; Computation of frequency response of driving-point network impedances or admittances seen from a busbar. For example, the positive-sequence or zero-sequence impedance; Analysis of harmonic propagation in a power system using the extended, related feature HARMONIC FREQUENCY SCAN (see separate later subsection).

2A - 26

This section describes how to create a FREQUENCY SCAN data case, interpretation of program output, and the plotting of results. In addition, the following useful features related to FREQUENCY SCAN will be treated :

" "

Incorporation into the FS computation of frequency-dependent nodal admittance matrices that have been computed or measured outside of ATP ; The MODELS interface to FS.

II-A-33.1. Frequency Scan Data Case Structure Basically two types of frequency responses are generated, which differ in frequency increment: a) Frequency is incremented in equal steps, i.e. uniform spacing is used:

b)

Frequency is incremented geometrically, i.e. number of frequencies per decade is specified:

When geometric spacing is used, log(f) produces arithmetic frequency increment as illustrated by the following example with 4 frequency points per decade : f : log(f) : 10 1.0 17.782794 1.25 31.622777 1.50 56.234133 1.75 100 2.0 (Hz)

The Frequency Scan feature is activated by a special request data line, which must precede the miscellaneous data cards as illustrated by the 1st subcase of DC-51 :
BEGIN NEW DATA CASE C BENCHMARK DC-51 C "FREQUENCY SCAN" use, with subsequent plotting of phasors vs. frequency C This test cases uses uniform spacing; See DC-52 for geometric spacing. C Because IOUTLP = 2, the solutions for step numbers 3 and 5 are omitted. C 1st of 3 data subcases (2 LINE MODEL FREQUENCY SCAN, LMFS, cases follow) FREQUENCY SCAN, 60., 20., 130., 0, { 60 < f < 130 Hz in 20-Hz increments 0.1 0.0 2 1 1 { IOUTLP (cols. 1-8) only prints every other point .....

FS request with the required parameters is entered either in free format (parameters are separated by ,) or using column-oriented fixed format as shown below :
1 2 3 4 5 6 7 8 12345678901234 5678901234 56789012 34567890 12345678 90123456 78901234 5678901234567890 FREQUENCY SCAN FMINFS E8.0 DELFFS E8.0 FMAXFS E8.0 NPD I8 FUNDFS E8.0

FMINFS

(cols. 25-32) is the beginning (minimum) frequency of the scan in (Hertz). This must be a positive number. 2A - 27

DELFFS

(cols. 33-40) is the frequency increment between successive solutions of the scan, if the user wants uniform (as opposed to logarithmic) spacing. For logarithmic spacing, this field should be left blank. (cols. 41-48) is the ending (maximum) frequency of the scan, in (Hertz). This must be greater than or equal to FMINFS, of course. The solution loop will end with the last frequency that does not exceed this upper limit. (cols. 49-56) is used only for geometric or logarithmic spacing as opposed to uniform or arithmetic spacing of the frequency points. For geometric or logarithmic spacing, provide an integer value for the number of points per frequency decade. Successive frequency points within a decade then will be related by :

FMAXFS

NPD

FUNDFS

(cols. 57 - 64) is used if and only if source angles are to be made proportional to frequency. To understand, compare the 2nd subcase of BENCHMARK DCNEW-21 (positive FUNDFS) with the first (blank FUNDFS). If used, FUNDFS is the fundamental frequency the frequency on the source cards for which the angles are defined.

Parameters DELTAT (time step) and TMAX (maximum simulation time) on the first miscellaneous data card have no meaning for FS simulation. Using parameters IOUT and IPLOT of the integer miscellaneous data card, the frequency of list output and plot output can be changed, respectively. For beginners it is recommended to set IOUT = 1 and IPLOT = 1 in order results at each frequency to be saved in output list (.LIS file) and in the plot file (.PL4 file). Note that normally only odd numbers are allowed for IPLOT. If plot output frequency should be a even number, then special request ALLOW EVEN PLOT FREQUENCY should be entered preceding miscellaneous data lines. Special attention should be paid to integer miscellaneous data parameter KSSOUT when using the FS option. See the Section II-B of the Rule Book for the definition of KSSOUT. If punched with unity, the full phasor branch flow and injection output will result for each solution frequency of the scan. This could produce large quantities of printed output, if the number of frequency points is large. Inexperienced users should start with KSSOUT = 0. The electric network may be composed of linear branches and built-in complex components except : nonlinear elements (they are represented by their linearized characteristics, if applicable); U.M. rotating machine model; Semlyen line model (line is represented by a constant-parameter B-circuit); Noda line model (FS simulation dies).

When constant-parameter distributed line model (see Section IV-D) is included in the network, it is recommended to insert EXACT PHASOR EQUIVALENT (EPE) request preceding miscellaneous data cards. EPE activates distributed-line formulas with hyperbolic functions for the phasor solution compared to lossless line representation with lumped resistances ( at both ends and in the middle of the line as explained in Section IV-D). Hence the FS solution will be exact when EPE is used. 2A - 28

Important components of a FS computation are type-14 AC sources in the network. They can be voltage or current sources with constant amplitude as frequency is varied according to the range and increment defined on the FREQUENCY SCAN request card. The HARMONIC FREQUENCY SCAN feature as extension to FS allows to define harmonic sources with varying amplitudes as a function of frequency. Note that the frequency specified on the type-14 AC source card has no effect in a FS computation.

II-A-33.2. Frequency Scan Output


Formerly only node voltage output was available for FS solutions. Node voltages were outputted in both polar (magnitude and angle in degrees) and rectangular (real and imaginary parts) forms as shown below :
The "FREQUENCY SCAN" output vector has the following format: Cell number one contains the frequency of the phasor solution (or base-10 logarithm of this, in the case of geometric frequency spacing). Cells numbered two onward contain the pairs of magnitude and angle of the phasor node voltages. These pairs are in the order requested by the user on the card for selective node voltage outputs. For plotting purposes, these output variables are treated as though they were branch currents (plot type "9"). Both the magnitude and the angle use the actual node name for the first identifying variable, and then either "mag" or "angle" (left-adjusted in A6 field) for the second. The printed headings reverse this order and add a colon (":") separator in order to avoid imbedded blanks (assuming the user left-adjusts his names). The polar outputs are followed by rectangular outputs in the same relative order, only identified by the second names "real" and "imag". There is column allignment of the two display modes for any output variable, if printed output has been requested. mag:LOAD angle:LOAD mag:MID angle:MID mag:TRAN angle:TRAN mag:CUR angle:CUR real:LOAD imag:LOAD real:MID imag:MID real:TRAN imag:TRAN real:CUR imag:CUR ----- Output vector for step number 1. Frequency = 6.00000000E+01 Hz. 1.0000000E+02 0.0000000E+00 9.3571522E-01 -2.0655997E+01 9.3571522E-01 1.0000000E+02 0.0000000E+00 8.7556297E-01 -3.3007946E-01 8.7556297E-01 2) Freq [Hz] = 8.00000000E+01 Total network loss = 3.991500107966E+03

-2.0655997E+01 -3.3007946E-01

9.3571522E+01 8.7556297E+01

-2.0655997E+01 -3.3007946E+01

This output was extracted from the 1st subcase of BENCHMARK DC-51. The second of the two associated 6-character names was used to indicate which component of the complex variable was involved: 1) mag for magnitude; 2) angle for the angle in degrees; 3) real for the real part; and 4) imag for the imaginary part. Thus 4 real branch currents were used to represent one complex node voltage. Today, arbitrary outputs are allowed: node voltages, branch voltages, and branch currents, with each having its natural variable type. Fundamental to the improvements was a switch from the special, fixed FS printout to printout that is modeled after that of the time-step loop. Magnitude-only is the new default output choice for both FS and HFS data. As long as the average user is willing to ignore phase, it is both simpler conceptually, and more efficient computationally, to suppress output of the other parts of the complex solution (i.e., angle, real part, and imaginary part). Printed and plotted output variables then have the same familiar form as for time simulation (the most common use). Time in seconds is replaced by frequency in Hertz, of course. Otherwise, output has the same form, so requires no special explanation. To illustrate, an extract from the list output of the same data case (DC-51, 1st subcase) is given below :

2A - 29

Column headings for the 5 output variables follow. These are divided among t he 3 possible FS variable classes as follows .... First 4 output variables are electric-network voltage differences (upper voltage minus lower voltage); Next 1 output variables are branch currents (flowing from the upper node to the lower node); For each variable, magnitude is 1st, angle is 2nd, real part is 3rd, and imaginary is 4th. All 4 are labeled identically, note. Step F [Hz] LOAD LOAD LOAD LOAD MID MID MID MID TRAN TRAN TERRA TERRA TERRA TERRA TRAN CUR CUR CUR CUR LOAD TERRA TERRA TERRA TERRA MID 100. 0.0 100. 0.0 .93571522 -20.655997 .875562973 .875562973 -.33007946 93.571522 -20.655997 87.5562973 -33.007946 93.571522 100. 100. 0.0 100. 0.0 .846733016 -32.141908 .7169568 .7169568 -.45047724 84.6733016 -32.141908 71.69568 -45.047724 84.6733016 140. 100. 0.0 100. 0.0 .750845344 -41.336343 .563768731 .563768731 -.49591688 75.0845344 -41.336343 56.3768731 -49.591688 75.0845344 60. TRAN LOAD MID -.33007946 -20.655997 -.45047724 -32.141908 -.49591688 -41.336343 LOAD MID .93571522 87.5562973 .846733016 71.69568 .750845344 56.3768731 LOAD MID -20.655997 -33.007946 -32.141908 -45.047724 -41.336343 -49.591688

1 3 5

BOTH POLAR AND RECTANGULAR is the request for all 4 parts of each complex variable. This corresponds to the mandatory output of the previous Frequency Scan version. However, the printout looks very different, and the plot file has different structure. Take the illustration of the preceding paragraph. The first two columns (for step number and frequency) would remain unchanged. But thereafter, each column would be replaced by four columns. The names at the top of each of the 4 columns would be the same. For example :
Step F [Hz] LOAD TERRA LOAD TERRA LOAD TERRA LOAD TERRA MID MID ...

Within each adjacent quadruplet, the first half is polar (angle follows magnitude) and the second half is rectangular (imaginary part follows real part). This will be documented in a line immediately preceding the lines shown. For an illustration, see the first subcase of DC-51 or 52. POLAR OUTPUT VARIABLES is the second of three requests for an alternative to the default choice of magnitude-only. Instead of four columns of printout for each output variable as explained in the preceding paragraph, there will be only two. Magnitude and angle retain their same relative positions (magnitude precedes angle in degrees). RECTANGULAR OUTPUT VARIABLES is the third of three requests for an alternative to the default choice of magnitude-only. This is like the preceding POLAR except that real and imaginary part replace magnitude and angle. Those new output requests are inserted into data section of sources preceding first source card as illustrated in the 1st subcase of BENCHMARK DC-51 :
..... BLANK card ending (here, non-existent) switches C The following request for complete output (rather than the default choice C of magnitude only) is read as part of source data, but it must precede the C first source. This is for FS use (HFS allows it anywhere among sources). BOTH POLAR AND RECTANGULAR { Request for (in order): mag, angle, real, imag C Preceding is one of 3 alternatives. The other two are, after commented: C POLAR OUTPUT VARIABLES { 2nd of 3 alternatives for output gives mag, angle C RECTANGULAR OUTPUT VARIABLES { 3rd of 3 alternative outputs gives real, imag 14LOAD 100. 60. -1. BLANK card ending sources .....

Also for plotting, the same output requests are applied and accordingly output forms in pairs (mag, angle), (real, imag) or both are available. Widexx PL4 format option offers to import FS computation results as text file into standard software like Excel, Quattro Pro or MathCad and to produce, for example, Bode diagram with logarithmically scaled x- and y-axes. In STARTUP, if variable FMTPL4 2A - 30

(normally blank) is replaced by 'widexx', where xx defines the width of columns for plot variables, a text file with data columns is created.

II-A-33.3. FS Output of Driving - Point Impedance or Admittance


Frequency Scan computation does not produce directly frequency curves of driving-point impedances / admittances. According to the frequency-domain relations U = Z @ I and I = Y @ U , impedance seen from a node can be obtained, if a current source of amplitude 1 ampere is applied to this node. Voltage of that node then gives the impedance in S. Similarly, if a sinusoidal voltage source with amplitude 1 volt is connected to a node, then the current flowing into the network corresponds to the driving-point admittance seen from that node. Fig. II-A-33.1 shows these two alternatives. Computation of frequency responses of impedances or admittances shown in Fig. 3-2 can be extended to three-phase power networks to determine : positive-sequence short-circuit or no-load impedance/admittance; A three-phase balanced source is connected to a three-phase busbar. Provided the system is balanced, voltage of phase a or current flowing into phase a gives positive-sequence impedance or admittance, respectively. zero-sequence short-circuit or no-load impedance/admittance A single-phase source is connected to all three-phases of a busbar. In order to obtain Z0 not equal to infinity, a return path should be available for zero-sequence currents.

Fig. II-A-33.1 Determ ination of the frequen cy respon se o f driving-point imped anc e (left) and admittance (right) of a network seen from node k by FS simulation

II-A-33.4. Additional Features of Frequency Scan Incorporation of the Frequency-Dependent Nodal Admittance Matrices of Components into FS Computation A not well-documented feature of FREQUENCY SCAN allows to merge nodal admittance submatrices of any system component or group of components over the desired frequency range into the FS computation. This way, the frequency dependence of desired components like transmission lines, transformers can be taken into account during FS computations. Since such data ([Y] submatrices) can be generated outside of ATP, the user is flexible to input frequency dependent data either measured or computed using any other program. The only restriction is the [Y] matrix must be symmetric, i.e. only the lower triangle is inputted. The procedure is outlined in Fig. II-A-33.2. 2A - 31

Fig. II-A-33.2 Incorporation of externally produced frequency response curves into Frequency Scan computation

Input Data Format The nodal admittance matrices [Y(fi)] over a given frequency range (fmin # fi # fmax) are to be provided for ATP as a text file (FORMATTED), that will be connected using a $OPEN statement. Additionally, the nodal admittance matrix (or a group of submatrices for different elements) at f = fmin must be entered as type51, 52, ... elements. Unlike normal coupled RL-branches that carry a pair of A6 node names on each phase card, only half of the node name fields are used, leaving the remaining fields blank as illustrated below ( benchmark DC-11, first subcase ) :
BEGIN NEW DATA CASE C BENCHMARK DC-11 C Illustration of data input using [Y]. Matrix comes from DC-9 (or C more precisely, DCPRINT-25, since DIAGNOSTIC is needed to see it). C Solution is close to DC-9 (remember limited input [Y] precision). C Note two $UNITS cards. The 2nd, returning to original XOPT and C COPT, does nothing, since all data input is completed. But the 1st C is mandatory whenever [Y] input is used, so input [Y] in mhos will C be loaded into List-3 tables TR and TX without any scaling. COPT is C not used, so it can be anything (zero is used below). But XOPT must C equal the reciprocal of 2 * Pi, since the scaling factor for [L] is C 2 * Pi times this frequency (.1591549431) in Hz --- which is unity. 0.0 0.0 60. { Note XOPT = 60 here --- never actually used 1 1 $UNITS, .1591549431, 0.0, { Ensures no scaling of [Y] in mhos. XOPT = 1/(2*Pi) 51RA1 GA1 4.8E-9 1.22811E-04 { 1st row of 6x6 [Y] in mhos 52RB1 GB1 -1.E-7-2.24227E-05.00944-2.57399E-02 53RC1 GC1 4.3E-8-1.46254E-05-.0085 1.67291E-02.01660-4.74760E-02 54 -1.E-7-9.42642E-06.01871-5.03015E-02-.0145 2.40976E-02 .04631-1.15612E-02 55 1.5E-6 6.45897E-06-.0168 5.97172E-02.01897-4.24556E-02 -.0327 3.04757E-02.03607-6.06204E-02 56 1.2E-6 4.48565E-06.00209-2.06269E-02-.0022 3.68953E-02 .00366-6.53239E-02-2.E-5 2.74250E-02.00485 9.93931E-03

2A - 32

$UNITS, 60., 0.0, { Restore original values; BLANK card ending branch cards

"CIMAGE" ends scaling

XUNITS = 1.

Following rules should be followed : 1. Connect the file of [Y] matrices to I/O channel LUNIT8 using $OPEN: $OPEN, UNIT=8 FILE=<filename> FORM=FORMATTED STATUS=OLD This card must precede FREQUENCY SCAN request card. 2. To ensure no frequency scaling of [Y] (units are mhos), two $UNITS cards are required. They are inserted before and after entering type-51, 52, ... cards for f = fmin : $UNITS, .1591549431, 0.0, causes the scaling factor of [L] to become unity. Instead of a frequency value, 1/(2B) must be entered. Miscellaneous data parameter COPT is not used for the [Y] data input mode. $UNITS, -1.0, -1.0 this card follows the last type-51., 52, ... card to restore the original frequency values. 3. The file containing admittance matrices, which are ordered with frequency increasing , is a text file (FORMATTED). There must be one set of [Y(fi)] data for each frequency starting from f = fmin. Note that the nodal admittance matrix at f = fmin is actually entered twice, i.e. additionally on type-51, 52, ... cards in the ATP data case. Each data set consists of a single, arbitrary comment line followed by [Y(fi)]. 4. As [Y] data, either single nodal admittance matrix for each frequency can be supplied or several admittance submatrices form a [Y] data set. 5. Since [Y] is symmetric, only the lower-triangle is inputted. Each matrix element is entered as a (G, B) pair. Each data line contains max. 2 matrix elements with format 4E20.0. No node names are used, since they are already known by type-51 cards. Data are inputted by rows of the lower-triangle up to and including the diagonal element. Each row starts on a new data line. To illustrate the file format, an excerpt from an example with [Y](2x2) matrices is shown below :
C 1 2 3 4 5 6 7 8 C 345678901234567890123456789012345678901234567890123456789012345678901234567890 C real part >< imaginary part >< real part >< imaginary part > C 1 50.0000000000 -- Comment line for each frequency -9.024370461702E-03 -2.464601956308E-02 1.006936311722E+00 -8.415832519531E-01 2.256673812866E+01 -6.162223052979E+01 C 2 52.3564274025 -- next frequency, f=52.35.. -8.370772004128E-03 -2.374093048275E-02 9.560084342957E-01 -8.187347054482E-01 2.093238830566E+01 -5.935950469971E+01 C 3 54.8239098072 -- next frequency, f=54.82.. -7.762122899294E-03 -2.285474725068E-02 9.074985980988E-01 -7.955815792084E-01 1.941037559509E+01 -5.714403533936E+01 . . .

6. The frequency increment (linear or logarithmic) used to create the [Y] data set must match that of the Frequency Scan computation. 2A - 33

II-A-33.5. MODELS Interface to Frequency Scan The interface of MODELS to FREQUENCY SCAN [4] allows processing of the results of Frequency Scan computation by user-defined logic of MODELS. The node voltages and switch currents as complex quantities (real and imaginary parts) can be passed to MODELS as INPUT variables. When MODELS is used in conjunction with FS, the MODELS variable t is used to carry the value of the present frequency f used in FS. All variables and functions of MODELS making explicit or implicit references to time are automatically transformed to make the same references to frequency. Examples: timestep deriv(y) integral(y) prevval(y) predval(y,a) etc... holds the frequency increment between the previous frequency (prevtime) and the present frequency (t or simtime); calculates the derivative of y with respect to frequency calculates the integral of y with respect to frequency returns the value of y at the previous frequency returns the predicted value of y at frequency a

diffeq(a0|D0+a1|D1+...)|y:=x calculates the value of y from a differential equation expressed in terms of frequency, i.e.

Typical applications of the MODELS interface are, for example, to create Bode diagrams with magnitude in Decibel ( 20 @ log10 ), to calculate the effective values using harmonic components, or to calculate total harmonic distortion. MODELS output can be sent to output list (.LIS file) and stored in the .PL4 plot file by means of RECORD..ENDRECORD statements. Additionally, through WRITE1 and / or WRITE2 statements, MODELS variables can be written directly column-wise into text files MODEL.1 and / or MODEL.2 . For a simple example of such usage, see the 3rd subcase of BENCHMARK DC-52.

II-A-34. User - Defined Harmonic Sources Drive Harmonic Frequency Scan


HARMONIC FREQUENCY SCAN ( HFS ) performs a sequence of phasor solutions for Type-14 voltage and / or current sources of various frequencies, amplitudes and angles that are specified by the user. HFS is the ATP option for harmonic analysis of electrical networks. Data for HFS runs can be divided into 6 classes : 1 . Special Request cards and Miscellaneous data cards 2 . $PARAMETER entries 3 . BRANCH data including requests for frequency dependent elements 2A - 34

4 . Special output request 5 . Source specifications 6 . Specification of frequency dependence of elements II-A-34.1. Special Requests Class 1 data includes as a minimum the two Special Request entries of BEGIN NEW DATA CASE and HARMONIC FREQUENCY SCAN as shown below
3 4 5 6 7 8 1 1234567890123456789 0123456789012345678901234567890123456789012345678901234567890 BEGIN NEW DATA CASE

1 2 3 4 5 6 7 8 12345678901234567890123 456789012345678901234567890123456789012345678901234567890 HARMONIC FREQUENCY SCAN

The user can add optional special requests as listed in Section II-A. Typical entries may be POWER FREQUENCY or PRINTED NUMBER WIDTH, etc. Of course, the user should verify that such additions do not conflict with the process of HARMONIC FREQUENCY SCAN. An optional but important addition requests the use of the Pocket Calculator for varying the value of a series R-L-C branch as a function of frequency (harmonic order). This option is introduced by the request POCKET CALCULATOR VARIES PARAMETERS ( PCVP ) in conjunction with the $PARAMETER request as explained below.
7 8 6 5 1 2 3 4 1234567890123456789012345678901234567890 12345678 90123456 78901234 5678901234567890 POCKET CALCULATOR VARIES PARAMETERS MAXKNT IOPCVP NOSTAT

I8

I8

I8

In the general purpose use of PCVP (see later subsection of II-A), the value of MAXKNT sets the number of passes the user wants to make with varying parameters. For such study, MAXKNT of cols. 41-48 is an arbitrary number provided by the user. But for HFS studies, MAXKNT should be set to zero because MAXKNT is internally set to the number of different frequencies that are specified by the user as part of his frequency scan. IOPCVP = 0 (cols. 49-56) generates a .LIS file with a full output for each pass. This may be required for some general purpose application of PCVP, but it is wasteful for HFS. With IOPCVP = 1, the .LIS file contains the tabulation of output variables for each frequency specified and the new parameter values for each frequency as changed by the KNT dependent formulas in $PARAMETER. The above special requests are followed by two miscellaneous data cards the same ones as described in Section II-B. They will be repeated here to indicate recommended entries for HFS use. First (floating-point) miscellaneous data card : 2A - 35

1 2 3 4 5 6 7 8 12345678 90123456 78901234 56789012 34567890 12345678 90123456789012345678901234567890 DELTAT TMAX XOPT COPT EPSILN TOLMAT

E8.0

E8.0

E8.0

E8.0

E8.0

E8.0

Values of DELTAT and TMAX have no meaning for HFS, but cannot be left blank. Enter 1.0 for both parameters. XOPT and COPT have the same meaning as described in Section II-B. Second (integer) miscellaneous data card :
1 2 3 4 5 6 7 8 12345678 90123456 78901234 56789012 34567890 12345678 90123456 78901234 56789012 34567890 IOUT I8 IPLOT I8 IDOUBL I8 KSSOUT I8 MAXOUT I8 IPUN I8 MEMSAV I8 ICAT I8 NENERG I8 IPRSUP I8

Enter 1 for both IOUT and IPLOT to have outputs in the .LIS and .PL4 files for each frequency specified. KSSOUT = 1 will generate a detailed phasor output for each frequency, resulting in a large volume of output, which for the usual HFS is not warranted. KSSOUT = 0 is the recommended usage. To create a .PL4 file of plot points, enter ICAT = 1. This is common for HFS data.

II-A-34.2. $PARAMETER Specification $PARAMETER data is required if the PCVP option is used to define the frequency dependence of one or more series R-L-C elements. Rules for using the PCVP request in conjunction with $PARAMETER is described in detail in Section I-D. The HFS use is shown here on a simple example. In HFS applications, the ATP constant KNT which in the general case is the sequence counter of the sequence number of passes in a systematic or statistical run, is internally made equal to the harmonic order h = frequency / power frequency. The frequency dependence of an element is defined by the user as a function of KNT, which is normalized frequency. Let BUSHFS be the name of a node to which a frequency dependent impedance RHFS + j XFHS is connected. With the harmonic order h equal to KNT, let RHFS = 0.35 * KNT **2 and XHFS = 1.21 * (1.0 + KNT**0.4 ) To enter these elements the user will have entered the PCVP request among the Class 1 data as outlined above. After miscellaneous data cards, the following shows the data entry for $PARAMETER : C 12345678901234567890123456789012345 $PARAMETER REFS__ = 0.3*KNT**2.0 XEFS__ = 1.21*(1.0+KNT**0.4) BLANK card ends $PARAMETER definition

2A - 36

As part of branch data, the above frequency dependent element would be entered as follows : C 345678901234567890123456789012345678 BUSHFS REFS__XHFS__ Note the use of under score characters to extend variable names to 6 characters (the width of R, L, and C data fields of an old, narrow-format, series R-L-C branch ) . The $PARAMETER data involves free-format, low-level, FORTRAN-like statements. Constants must be floating-point numbers. I.e., constants must include a decimal point. Integers are not allowed (bad things will happen if a decimal point is forgotten). The user should carefully study the PCVP subsection that follows.

II-A-34.3. Frequency Dependent Elements Class 3 HFS data is the same as the regular data for time domain runs. As HFS is a sequence of phasor solutions, nonlinearities cannot be represented correctly. Nonlinear inductors will be linearized whereas nonlinear resistors and other nonlinear elements generally will be ignored.

II-A-34.3.1. Frequency Dependent R - L - C Elements Linear frequency dependence of a series R- L - C branch can be modeled as described in Section II-A-34.6. User defined non-linear frequency dependence of a series R-L-C element is modeled using the PCVP option. An example is shown in Section II-A-34.7.

II-A-34.3.2. The CIGRE Load Model A frequency dependent distribution system load model was developed for HFS, but it is usable for FS and time domain simulations. After the originators of the model, it is called the CIGRE model, and characterized by three constants A, B, and C. The user enters the load MW, MVAR and kV and the three constants, ATP calculates the load impedance for the harmonic orders. The C.I.G.R.E. recommended constants are A = 0.073, B = 6.7 and C = 0.74. The model is valid for harmonic orders of 5 and higher and may yield incorrect reactive absorption at the fundamental frequency. This is usually not a problem, but the user should be aware of it and compensate for it if required. The changing of the recommended constants will change the overall frequency dependence of the model, and should be carefully analyzed by the user. For details of the model see C.I.G.R.E. Publication Electra Vol. 71, 1981. Two branch cards are required to enter a single-phase CIGRE load at some bus named BUSL . The following shows order and format :
1 2 3 4 5 6 7 8 12345678 901234567890123456 7890123456789012 3456789012345678 9012345678901234 567890 <LOAD> CIGRE A,B,C A E16.0 B E16.0 C E16.0

2A - 37

1 2 3 4 5 6 7 8 12 345678 901234 567890123456 7890123456789012 3456789012345678 9012345678901234 567890 <LOAD> A6 A6 VOLT E16.0 PLOAD E16.0 QLOAD E16.0

The constants A, B, C are defaulted to 0.073, 6.7 and 0.74 respectively. Alternatively, the user can enter these values or his own preferences. As for the 2nd of the 2 data cards : 1) V LOAD is r.m.s. voltage across the load 2) PLOAD is the active power absorbed by the load 3) QLOAD is the reactive power absorbed by the load VLOAD, PLOAD and QLOAD must be specified in units consistent with the source specifications. E.g. if the source voltages are in volts, VLOAD is in volts, PLOAD is in Watts and QLOAD is in VARs. For three phase loads, the data input can be simplified as follows. Assume the three phase load is connected to nodes BUSLA, BUSLB, and BUSLC, two data cards suffice for the 3 phases :
1 2 3 4 5 6 7 8 12345678 901234567890123456 7890123456789012 3456789012345678 9012345678901234 567890 <LOAD> CIGRE A,B,C A E16.0 B E16.0 C E16.0

8 6 7 5 3 4 2 1 12 345678 901234 567890 123456 7890123456789012 3456789012345678 9012345678901234 567890 BUSLA <LOAD3BUSLB BUSLC A6 A6 A6 A6 VOLT E16.0 PLOAD E16.0 QLOAD E16.0

VOLT, PLOAD and QLOAD are single phase quantities.

II-A-34.3.3. Induction Motor HFS Model There is no built-in HFS induction motor model at the present time. In most cases it will be sufficient to use the locked rotor power frequency locked rotor impedance of the motor. Should a more sophisticated model be required, the PCVP option may be used to for generating the frequency dependent characteristic of the rotor. See Example #2 in Section II-A-34.3.7 below.

II-A-34.3.4. Synchronous Machine HFS Model There is special synchronous machine HFS model. It is generally recommended to use the negative sequence impedance.

2A - 38

II-A-34.4. Output Requests The old restriction of only node voltage outputs with FREQUENCY SCAN has been removed. Both node and branch voltage and current can be output the usual way with column 80 entries of 1, 2, or 3, which is available for both FS and HFS. In the old FS output node voltages were recorded with their magnitudes, angles, and real and imaginary components. This has been changed to only magnitudes being monitored as the default option. For HFS, the user can request the additional output of the angle of the variable by inserting a POLAR OUTPUT VARIABLES request after the blank card ending switches as follows : C 123456789012345678901234567 BLANK ending switches POLAR OUTPUT VARIABLES C followed by SOURCE data 14BUSA etc.

II-A-34.5. Sources Only Type 14 sources are available in HFS due to the fact that HFS is a sequence of phasor solutions. Source frequencies can be specified either in Hertz Hz or harmonic order h. The two types of source frequency specifications cannot be mixed, however. There has to be at least one source with the power frequency equal to the default power frequency or the power frequency as modified at the top of the data file. If sources are specified in terms of the harmonic order h, there has to be at least one source with h = 1. ATP calculates internally the frequency in Hz corresponding to h. Sources can be entered in any order as they are sorted internally. The general format for entering a source is :
5 6 7 8 4 3 2 1 12 345678 90 1234567890 1234567890 1234567890 1234567890123456789012345678901234567890 14 NAME I2 A6 J AMPLITUDE I2 E10.6 FREQ or h E10.6 ANGLE E10.6

NAME J AMPLITUDE FREQ or h ANGLE

(cols. 3-8) is the name of the source bus (cols. 9-10) is blank for a voltage source and -1 for a current source (cols. 11-20) is the peak voltage or current magnitude (cols. 21-30) is the source frequency in Hz or harmonic order h in per unit (cols. 31-40) is the source voltage or current angle in degrees

Columns 41 through 80 must be blank except for a possible in-line comment following {

II-A-34.6. Elements with Linear Frequency Dependence A series R-L-C branch having linear frequency dependence can be specified by entering the value at a specified higher frequency. ATP then will make a linear interpolation at any required frequency (harmonic order) of the scan. The cards for this follow the last source card, and have the following format :

2A - 39

1 2 3 4 5 6 7 8 12345678901234567890123456789012 34567890 1234567890123456789012345678901234567890 NEXT PREQUENCY FOR SERIES RLC FREQ E8.0 1 2 3 4 5 6 7 8 12 345678 901234 567890123456 789012345678 901234 567890123456789012345678901234567890 0 BUS1 A6 BUS2 A6 R E6.2 L E6.2 C E6.2

1 2 3 4 5 6 7 8 12345678901234567890123456789012345678901234567890123456789012345678901234567890 BLANK card ending frequency dependence

FREQ BUS1, BUS2 R, L, C

(cols. 33-40) is the elevated frequency at which parameters are specified (cols. 3-14) are the 6-character terminal names that identify the series R-L-C branch (cols. 27-44) are the parameters of the branch connecting BUS1 to BUS2

There are an indeterminate number of such frequency-dependent specifications of series R-L-C elements. These are to be specified in order of increasing frequency. For any particular frequency, there is an indeterminate number of branches, in general. Only the last of such sets of frequency-dependent data is to be terminated by a single blank card. So, the final branch at any particular frequency will be terminated either by declaration of the next frequency (if there is one) or a blank card (if no higher frequency).

II-A-34.7. HFS Examples Example #1 Linear frequency dependence of R L and CIGRE load model
BEGIN NEW DATA CASE POWER FREQUENCY, 50.0 HARMONIC FREQUENCY SCAN C DELTAT TMAX XOPT 1 1 50. C IOUT IPLOT ICAT 1 1 1 C 1o km cable -1SRCA LOADA 1.280 0.152 0.408 10.0 -2SRCB LOADB 0.164 .0987 0.408 10.0 -3SRCC LOADC C frequency dependent impedance C R X = 0.3 +j0.6 at 500 Hz C 345678901234567890123456789012345678901234567890123456789012345678901234567890 LOADA LODA 0.1 0.3 1 LOADB LODB 0.1 0.3 LOADC LODC 0.1 0.3 C frequency dependent CIGRE type load kV, 4.8 MW, 2.4 MVAR <LOAD> CIGRE A,B,C 0.073 2.0 0.74 LODA <LOAD3LODB LODC 5780.0 1600000. 80000. 1 C branch to the converter LOADA CONVA 0.1 1

2A - 40

LOADB CONVB 0.1 LOADC CONVC 0.1 BLANK end of BRANCH data BLANK end of SWITCH data POLAR OUTPUT VARIABLES C amplitude Hz or h angle C 10 kV 50 Hz voltage source 14SRCA 8150.00 1. 0. 14SRCB 8150.00 1. 240. 14SRCC 8150.00 1. 120. C assume 3% negative sequence voltage at source 14SRCA 245.00 2. 10. 14SRCB 245.00 2. 130. 14SRCC 245.00 2. 250. C harmonic sources at converter 14CONVA -1 60.0 1.0 10.0 14CONVB -1 60.0 1.0 250.0 14CONVC -1 60.0 1.0 130.0 C 5th 14CONVA -1 12.0 5.0 10.00 14CONVB -1 12.0 5.0 130.00 14CONVC -1 12.0 5.0 250.00 C 7th 14CONVA -1 8.0 7.0 10.00 14CONVB -1 8.0 7.0 250.00 14CONVC -1 8.0 7.0 130.00 C 11th 14CONVA -1 5.0 11.0 10.00 14CONVB -1 5.0 11.0 130.00 14CONVC -1 5.0 11.0 250.00 BLANK ending SOURCES NEXT FREQUENCY FOR SERIES RLC 500. { Elevated frequency for interpolation LOADA LODA 0.3 0.6 LOADB LODB 0.3 0.6 LOADC LODC 0.3 0.6 BLANK card ending F-dependent series R-L-C branches LOADA LOADB LOADC BLANK end of OUTPUT data BLANK end of PLOT data BEGIN NEW DATA CASE BLANK

Example #2 Demonstrates the use of the PCVP


BEGIN NEW DATA CASE C this data file demonstrates the simple HFS modeling of an induction C motor with only one rotor circuit. The model is created by the C POCKET CALCULATOR VARIES PARAMETERS option POWER FREQUENCY, 50.0 HARMONIC FREQUENCY SCAN POCKET CALCULATOR VARIES PARAMETERS 0 1 { Loop five times C DELTAT TMAX XOPT 0.001 -1.0 50. 1 1 1 $PARAMETER C demonstrates the uses of a frequency dependence induction motor C locked rotor impedance. Only the R component is frequency dependent C Motor : 3ph, 0.38 kV, 550 kVA, slip = 0.8%, locked rotor reactance = 27% C rrotor = slip * V(kV)**2 / MVA C rrmot = 0.008 * (0.38**2 / .5 5) = 0.0021 ohm/ph C the locked rotor inductance assuming xd' = 27% C Xlmot = 0.27 * (0.38**2 / .5 5) = 0.00709 ohm/ph

2A - 41

C note the underscores making up the 6 char. names, only for those variables C which are passed to the network data C the constant KNT is made equal to h in ATP C $$ signifies an intermediate variable XLMOT_= 0.27 * 0.38**2/0.55 SLIP = 0.008 $$ RMOTS = 0.008 * 0.38**2/0.55 $$ C the following expression is MOD(h,3) HMOD = ( KNT - 3.0 * TRUNC (KNT/3.0)) $$ C test for the sequence number Z = (-1.0) ** HMOD $$ HS1 = (KNT + Z) $$ C HS is the "harmonic slip" HS = (HS1 + SLIP)/KNT $$ RMOT__= RMOTS/HS BLANK card ends $PARAMETER definitions C Source bus 10.0 kV 95 MVA 51SRCA BSA .30000 3.1000 52SRCB BSB .01100 1.0528 53SRCC BSC C BSA to BSMA is a measuring switch C 10.0 kV cable equivalent to plant bus 2.0 km -1BSMA TR10A 0.38 0.410 0.30 2.0 -2BSMB TR10B 0.38 0.410 0.30 2.0 -3BSMC TR10C C C Transformer 1000 kVA C x = 6.5% x = 10**2/1.00 = 100.0 ohm * 0.065 = 6.50 ohm C imag = 1.5 A , r = 0.5 ohm/ph C TRANSFORMER 3.0 40.0 AX 9999 1TR10A TR10B .800 19.00 10.0 2LS3A GRS .001 .0001 .220 TRANSFORMER AX AY 1TR10B TR10C 2LS3B GRS TRANSFORMER AX AZ 1TR10C TR10A 2LS3C GRS GRS 1.0 C line to converter LS3A CONVA 0.001 0.020 LS3B CONVB 0.001 0.020 LS3C CONVC 0.001 0.020 C ****************************** C Induction motor 500 kW C ****************************** C induction motor, 500 kW, 380 V, modeled by locked rotor reactance C ------______------______------______------______ C 345678901234567890123456789012345678901234567890123456789012345678901234567890 LS3A MOTA RMOT__XLMOT_ 1 LS3B MOTB RMOT__XLMOT_ LS3C MOTC RMOT__XLMOT_ MOTA MOTSA .00001 { source separation MOTB MOTSB .00001 MOTC MOTSC .00001 C BLANK end of BRANCH data ------------------------------------------------------| C SWITCHES C measure current in 10 kV feeder BSA BSMA -1.0 10.0 1 BSB BSMB -1.0 10.0 BSC BSMC -1.0 10.0 C BLANK end of SWITCH data ------------------------------------------------------|

2A - 42

POLAR OUTPUT VARIABLES C power frequency voltage source 10 kV 3 ph 14SRCA 8150.00 1. 0. 14SRCB 8150.00 1. 240. 14SRCC 8150.00 1. 120. C C Voltage source for the induction motor 14MOTSA 307.50 1. -85. 14MOTSB 307.50 1. 155. 14MOTSC 307.50 1. 35. C C current injection at converter bus CONVA,B,C C 500 kVA fundamental 933 A r.m.s. 1315 A peak 14CONVA -1 1315.0 1.0 -170.00 14CONVB -1 1315.0 1.0 70.00 14CONVC -1 1315.0 1.0 -50.00 C harmonic sources 14CONVA -1 1.000 3.0 -170.00 14CONVB -1 1.000 3.0 70.00 14CONVC -1 1.000 3.0 -50.00 C 14CONVA -1 1.000 4.0 -170.00 14CONVB -1 1.000 4.0 70.00 14CONVC -1 1.000 4.0 -50.00 C 14CONVA -1 150.00 5.0 -310.00 14CONVB -1 150.00 5.0 -190.00 14CONVC -1 150.00 5.0 -70.00 C 14CONVA -1 108.00 7.0 -110.00 14CONVB -1 108.00 7.0 -230.00 14CONVC -1 108.00 7.0 -350.00 C 14CONVA -1 70.00 11.0 -250.00 14CONVB -1 70.00 11.0 -130.00 14CONVC -1 70.00 11.0 -10.00 C BLANK card ending all source cards BLANK ening frequency dependent cards TC10A TC10B TC10C LS3A LS3B LS3C BSA BSB BSC BLANK ending OUTPUT requests. BLANK ends plot cards BLANK BEGIN NEW DATA CASE BLANK

II-A-35. Find Parameters for Heidler Surge Function


The Type-15 source is for surge functions of the electric network. One of the early extensions to Dommel's simple exponentials is the Heidler surge function. See Section VII-A for details. The question is, for a given surge, what are the associated Heidler parameters? A fitter to produce the data required by ATP was written by Orlando Hevia of UTN in Santa Fe, Argentina. Access is granted in response to the following request :
1 2 3 4 5 6 7 8 1234567890123456789012 3456789012345678901234567890123456789012345678901234567890 HEIDLER SURGE FUNCTION

2A - 43

Four illustrations of use have been provided in the 11th subcase of BENCHMARK DC-13. Any of these illustrates the fixed interpretation as follows :
C 1 2 3 4 5 6 7 C 34567890123456789012345678901234567890123456789012345678901234567890123456 C ------------------------------------------------|------------------------Orlando Hevia fits params for Type-15 Heidler. |HEIDLER SURGE FUNCTION

II-A-36. Create Branch Cards for Type - 96 Hysteretic Inductor


The normal user of hysteresis modeling will know his B-H characteristic, and can simply input it according to the rules of Section V-D. But some users may not have any idea about magnetic losses (and hence the width of the hysteresis loop). Some users may only want a representative loop, for preliminary experimentation. Or some users may not even care about the loop itself, since possibly residual magnetism is the only phenomenon of interest (and hysteresis must be requested to have it). For whatever reason, the user can access a standard hysteresis loop by means of the following request :
1 2 3 4 5 6 7 8 1234567890 1234567890123456789012345678901234567890123456789012345678901234567890 HYSTERESIS

Such a card transfers to the code of Section XIX-H, which will create branch cards for the Type-96 hysteretic inductor of interest. For an example of such usage, see the 3rd subcase of BENCHMARK DC-13. The following illustrative interpretation was taken from this solution :
C 1 2 3 4 5 6 7 C 34567890123456789012345678901234567890123456789012345678901234567890123456 C ------------------------------------------------|------------------------Request to make Type-96 hysteresis branch cards. |HYSTERESIS

II-A-37. Conversion of Type-98 Element to Type - 96 Hysteretic Inductor


HYSTERESIS HEVIA provides access to a program that will convert from an old, single-valued, Type-98 inductor to the more general Type-96 hysteretic inductor. Program HYSTER performs this function, and it comes from Orlando Hevia of UTN in Santa Fe, Argentina, as described in the July, 2000, newsletter. Of course, approximation and additional data (e.g., losses, residual flux, and frequency) are involved. The conversion begins with a request that includes controls for associated automatic, batch-mode plotting :
6 7 8 5 4 1 2 3 12345678901234567890123456789012 34567890 12345678 90123456 789012345678901234567890 HYSTERESIS HEVIA NOZOOM I8 FSCALE E8.0 DXL2 E8.0

2A - 44

NOZOOM of columns 33-40 is a binary switch that indicates whether the entire curve, or instead just the hysteresis loop itself, is to be plotted. Value 1 will plot everything (i.e., no zoom) whereas value zero will drop the final point, which is outside the hysteresis loop itself. FSCALE of columns 41-48 is a scaling factor to waste space above and to the right of the 1st and 2nd quadrant plot (for positive values of flux, which is plotted vertically). For example, value 1.1 will waste 10%, providing this much of a margin for the batch-mode plot. DXL2 of columns 49-46 is the "radius" in screen inches of the squares that will be used to mark data points. Value zero means that there will be no such marking. The preceding HYSTERESIS HEVIA request is to be followed by branch cards for a Type-98 element. The characteristic (including the 9999 card to terminate) is unmodified. However, the branch card itself is modified to the right of column 26 (the end of the BUS4 name) as follows :
1 2 3 4 5 6 7 8 12345678901234567890123456 7890123456789012 3456789012345678 9012345678901234 567890 P-LOSS E16.0 FREQ E16.0 PSI E16.0 IOUT I6

Here PLOSS (cols. 27-42) is the loss in Watts, FREQ (cols. 43-58) is the frequency in Hz, PSI (cols. 59-74) is the residual flux in volt-seconds, and IOUT (cols. 75-80) is the request for branch output (normally limited to column 80 of a branch card). For an illustration of use, see the new 7th subcase of DC-13. Interpretation of the two most important data cards are copied from this solution :
C 1 2 3 4 5 6 7 C 34567890123456789012345678901234567890123456789012345678901234567890123456 C ------------------------------------------------|------------------------Request to make Type-96 hysteresis branch cards. |HYSTERESIS HEVIA ... Hevia 98. 4.0775E+04 5.0000E+01 4.0000E+02 3 |98NODE1 NODE2 ...

HEVIA HYSTER is the request word that will perform the computation of HYSTERESIS HEVIA during branch data input. For an illustration, see the new 8th subcase of DC-13. In effect, HEVIA HYSTER is like a special, fixed version of more general TO SUPPORTING PROGRAM (see the April, 1999, newsletter). Advantages include compactness of data (roughly a factor of two is saved for the characteristic), avoidance of the need for comment cards to document raw data, and avoidance of intermediate roundoff error (the need to punch flux and current in columns of width 16). Disadvantages include the effort to perform the conversion each time the data case is simulated. Name HYSTER can be traced to SUBROUTINE HYSTER in which author Hevia's supporting program has been placed. ... By means of the REPLOT request, more than one plot is possible for each set of input data, and each plot is allowed to have different parameters. The reference branch names BUS3 and BUS4 of columns 15-26 are used in unusual ways. For cards punched by HYSTERESIS HEVIA the text HEVIA HYSTER represents not a request for a copy, but rather a request for wide format that is equivalent to preceding use of $VINTAGE, 1. This is for a Type-96 branch. For a copy of a preceding Type-98 HEVIA HYSTER branch, names BUS3 and BUS4 are used in the usual way but the type code is to be changed from 98 to 96. 2A - 45

II-A-38. Derive U. M. Data for an Induction Motor


Induction motors can be modeled using the Universal Machine (U.M.) of Chapter IX. However, all required U.M. data often are not readily available. Fortunately, they can be estimated from parameters that are generally available. This is the function of a supporting program INDMOT written by Gabor Furst of suburban Vancouver, B.C., Canada. See a story in the April, 1997, newsletter about this feature. Program INDMOT itself is described in Section XIX-J, and access to it is established by the following request :
1 2 3 4 5 6 7 8 12345678901234567890 123456789012345678901234567890123456789012345678901234567890 INDUCTION MOTOR DATA

For an example of such usage, see the 2nd subcase of BENCHMARK DC-15. The following illustrative interpretation was taken from that solution :
C 1 2 3 4 5 6 7 C 34567890123456789012345678901234567890123456789012345678901234567890123456 C ------------------------------------------------|------------------------To Gabor Furst program to make Type-3 U.M. data. |INDUCTION MOTOR DATA

II-A-39. Open Switches at Interpolated Current Zeros


INTERPOLATE SWITCH ZERO CROSSINGS ( ISZC ) is a request to change the rules of switch opening. This feature is not usable for general simulation, but it is useful for research involving specially-limited data. The request takes the form :
1 2 3 4 5 6 7 8 123456789012345678901234567890123 45678901234567890123456789012345678901234567890 INTERPOLATE SWITCH ZERO CROSSINGS

ISZC is an outgrowth of the great debate about trapezoidal rule oscillation during the mid-'90s. For a summary, see newsletter stories entitled "Trapezoidal rule oscillations" which began in the October, 1995, issue. Specifically, ISZC is a request for the experimental feature mentioned in a story entitled "Testing interpolation and half-step" in the January, 1996, issue. Rather than open a switch after a current zero has been detected, the switch will be opened at the time of the interpolated zero. Simulation time will be backed up to this intermediate instant, and a real (exact) half-step then is estimated by averaging a full step. Note this differs from the procedure described by those Manitoba authors of EMTDC. Thus, in ATP, time is not resynchronized with the original discretization. For every time instant that a switch is opened, half a time step thus is lost. Limitations of ISZC are severe. Changes have been made for lumped, series-RLC elements only; they ignore single-phase nonlinear elements, rotating machinery, and control system modeling (TACS and/or MODELS) entirely. As a result, thyristors can not be represented. But diodes can, and this is enough to begin the consideration of Prof. Ned Mohan's "Computer exercises for power electronics education." Not yet being verified along with standard test cases is BENCHMARK DCNEW-30 which includes data applicable to several of Prof. Ned Mohan's simple illustrations. Comment cards that begin the last-studied subcase (at the top of the file) mention : "Mohan's comment card had title 'DIODE BRIDGE 2A - 46

RECTIFIER WITH A 3-PHASE INPUT.' ... No snubber circuits or damping resistors are being used, there are no manually-specified initial conditions, and the time step dT is much larger than Mohan was able to use, thanks to ISZC. 30 May 2000" Interpretation of the ISZC declaration can be documented from the solution :
C 1 2 3 4 5 6 7 C 34567890123456789012345678901234567890123456789012345678901234567890123456 C ------------------------------------------------|------------------------Switch opening shifts time to interpolated zero. |INTERPOLATE SWITCH ZERO C

II-A-40. Derive Frequency - Dependent J. Marti Line Model


In order to represent an overhead transmission line with frequency-dependent parameters and a constant transformation matrix as required by Section IV-D-3, recourse is made to a separate supporting program. Instructions for the usage of this separate program are contained in Section XVII. Transfer to this supporting program is accomplished by the following request :
1 2 3 4 5 6 7 8 123456789012 34567890123456789012 34567890 1234567890123456789012345678901234567890 JMARTI SETUP PDTO E8.0

Variable PDT0 of columns 33-40 has the same meaning as the parameter of columns 33-38 of frequency-dependent branch cards of Section IV-D-3. In fact, the parameter is not actually used by the fitter, but is merely passed along from the declaration just shown to any branch cards that later will be punched. This is no different than node names of a BRANCH request, only here the request comes earlier, outside the supporting program. Illustrations of JMARTI SETUP (JMS) use can be found in standard test cases BENCHMARK DCNEW3, 5, and 6. Interpretation of the input declaration will confirm the input parameter (the following illustration is from the 1st subcase of DCNEW-3 ) :
C 1 2 3 4 5 6 7 C 34567890123456789012345678901234567890123456789012345678901234567890123456 C ------------------------------------------------|------------------------Jose Marti`s line fitter. PDT0 = 1.00000000E+00 |JMARTI SETUP, 1.0,

II-A-41. Request for Display of Fatal Error Messages


It sometimes is convenient to be able to generate the text of any particular fatal error message (a "KILL code") without actually being obliged to assemble data that will so terminate erroneously during execution. This is possible using the request :
5 6 7 8 4 2 3 1 1234567890 1234567890123456789012 34567890 12345678 90123456789012345678901234567890 KILL CODES KILL1 I8 KILL2 I8

2A - 47

Here KILL1 (columns 33-40) and KILL2 (columns 41-48) are the beginning and ending numbers of the consecutive error messages that are to be printed. Of necessity, KILL2 must not be less than KILL1. Note that only formal error messages with a KILL number can be reproduced this way. In theory, this should be all possible error messages. In practice, it excludes many "temporary" error messages that involve the simpler, in-line statement CALL STOPTP to terminate execution following some simple message. The most common use of KILL CODES is on an impromptu basis, which suggests interactive input following the "KEY" response to the opening prompt of the program. Interpretation of the input data confirms the beginning and ending indices of the error messages. The 4th subcase of BENCHMARK DC-13 illustrates this as follows :
C 1 2 3 4 5 6 7 C 34567890123456789012345678901234567890123456789012345678901234567890123456 C ------------------------------------------------|------------------------Test output of error messages 13 through 14 |KILL CODES, 13, 14,

II-A-42. Calculation of Parameters of Overhead Transmission Lines


The calculation of parameters for an overhead transmission line is isolated in a separate UTPF overlay. This really is a separate, self-contained program, and all usage is described in the separate Chapter XXI. To transfer to that separate program, the following special-request card is used :
1 2 3 4 5 6 7 8 12345678901234 567890123456789012345678901234567890123456789012345678901234567890 LINE CONSTANTS

For examples of such usage, see BENCHMARK DC-9, 29, 59, 60, etc. DC-59 provides numerous, self-contained examples (i.e., not within some other supporting program such as JMARTI SETUP). Using standard dimensioning with 240K for List 31, interpretation shows that 100 conductors can be handled :
C 1 2 3 4 5 6 7 C 34567890123456789012345678901234567890123456789012345678901234567890123456 C ------------------------------------------------|------------------------Compute overhead line constants. Limit = 100 |LINE CONSTANTS

II-A-43. Estimate Error of a Line Model vs. Frequency


LINE MODEL FREQUENCY SCAN ( LMFS ) first was mentioned in newsletters in the April, 1990, issue. This refers to a 9-page article by Robert Hasibar, Daniel Goldsworthy, and Tsu-huei Liu in the March issue of EMTP News (LEC's journal). Entitled "Validation of frequency-dependent transmission line models," this "describes a recent addition to BPA's EMTP that will evaluate the steady-state response of a line section as a function of frequency." Although commonly used for a frequency-dependent line section, in fact LMFS can be used for any line section. The result is a comparison between the user-supplied model and theory as represented by LINE CONSTANTS or CABLE CONSTANTS or CABLE PARAMETERS. Three standard tests were chosen to determine model accuracy : 1) a positive-sequence, short-circuit impedance test with all circuits energized simultaneously; 2) a zero-sequence, short-circuit input-impedance 2A - 48

test with all circuits energized simultaneously; and 3) a zero-sequence input-impedance and mutual-coupling test with just one of the circuits energized (used only for multi-circuit cases). ATP automatically connects the appropriate testing circuits from previously-established data files, and produces output both on the line printer (LUNIT6) and also in a conventional .PL4 plot file for subsequent plotting. LMFS compares any "line model" with the exact Pi-equivalent of a single segment of overhead line. This is done over an arbitrary range of frequencies. The "line model" that is being tested can be any combination of linear branches, such as lumped elements, lines (constant-parameter, distributed line, frequency-dependent representation of any type), coupled R-L elements, etc. The frequency response of a line model such as constant-parameter distributed, JMarti or Semlyen line is compared with the exact B-equivalent of that line, which is calculated for each frequency of interest using geometrical and electrical parameters that are entered as LINE CONSTANTS input data. For 3- and 6-phase overhead lines, generic data files for $INCLUDE are provided as part of the 2nd and 3rd subcases of BENCHMARK DC-51. These compute positive-sequence and zero-sequence short-circuit impedances : DC51FS3P.DAT electric circuit with place-holding node names to compute positive-sequence, short-circuit impedance of a 3-phase overhead line electric circuit with place-holding node names to compute zero-sequence, short-circuit impedance of a 3-phase overhead line electric circuit with place-holding node names to compute positive-sequence, short-circuit impedance of a 6-phase overhead line electric circuit with place-holding node names to compute zero-sequence, short-circuit impedance of a 6-phase overhead line electric circuit with place-holding node names to compute positive-sequence, mutual-coupling impedance of a 6-phase overhead line between two circuits

DC51FS3Z.DAT

DC51FS6P.DAT

DC51FS6Z.DAT

DC51FS6M.DAT

II-A-43.1 Rules of LMFS Data Creation Establish simulation data similar to that for FREQUENCY SCAN (see a preceding subsection) as follows: 1. Use a new special request card: LINE MODEL FREQUENCY SCAN (or LMFS). The data fields and their format on this card are the same as those for the Regular FREQUENCY SCAN case: FMINFS, DELFFS, FMAXFS, NPD. Leave the data field for DELFFS blank, and enter the number of points per decade for the logarithmic (geometric) spacing as NPD. FMIMFS and FMAXFS are the beginning and the ending frequencies respectively.

1 2 3 4 5 6 7 8 12345678901234567890123456789012 34567890 12345678 90123456 78901234 56789012 34567890 LINE MODEL FREQUENCY SCAN FMINFS E8.0 DELFFS E8.0 FMAXFS E8.0 NPD I8 FUNDFS E8.0

2A - 49

2. Input the miscellaneous data cards. 3. Input the branch cards for the "line model" to be tested. 4. Input the appropriate generic data files (see description above) which consist of the needed branch cards and source cards by using $INCLUDE. Also required on the $INCLUDE card are the names of sending end and receiving end nodes of the line being tested. Following is an example of the use of generic file DC51FS6Z.DAT, which will produce the frequency response for the zero-sequence short-circuit test of a 6-phase line :
$INCLUDE,dc51fs6z.dat,MR02A# ,MR04A# ,MR02B# ,MR04B# ,MR02C# ,MR04C#, C MR02D# ,MR04D# ,MR02E# ,MR04E# ,MR02F# ,MR04F# C dc51fs6p.dat C dc51fs6m.dat Col. 79-80 $$

Note that 12 node names are needed for a 6-phase line. MR02A and MR04A are names of the sending end and the receiving end of the first phase, respectively, etc. The $$ in columns 79-80 indicates that there will be a continuation card following the initial $INCLUDE card. Next, the comment card "C dc51fs6p.dat" provides the name of a disk file that contains branch and source cards for the positive-sequence impedance test. Finally, the comment card "C dc51fs6m.dat" provides similar information for the mutual-coupling test. This assumes a double-circuit (6-phase) test. If only a single circuit is involved, the final comment card has no meaning, and can be omitted without consequence (such omission is not mandatory, however ) . BLANK card ending frequency cards. 5. Input the geometrical data of a single segment of overhead line. Prepare this data of line geometry just as one would for ordinary LINE CONSTANTS use except that only a single frequency card is used. This frequency card carries the following data: RHO (earth resistivity), FCAR (Carson accuracy), DIST (length of the line), ISEG (segmentation option), and MODAL (transposition of the line). This data is terminated by the usual BLANK card ending frequency cards.
C Raw LINE CONSTANTS data for the overhead transmission line being considered: C 1 2 3 4 5 6 7 C 3456789012345678901234567890123456789012345678901234567890123456789012345678 1.4138 .0497 4 1.603 -15. 52.0 A1-1 1.4138 .0497 4 1.603 -16.06 53.06 A1-2 1.4138 .0497 4 1.603 -13.94 53.06 A1-3 2.4138 .0497 4 1.603 -25. 83.0 B1-1 2.4138 .0497 4 1.603 -26.06 84.06 B1-2 2.4138 .0497 4 1.603 -23.94 84.06 B1-3 3.4138 .0497 4 1.603 -15. 114.0 C1-1 3.4138 .0497 4 1.603 -16.06 115.06 C1-2 3.4138 .0497 4 1.603 -13.94 115.06 C1-3 4.4138 .0497 4 1.603 15. 114.0 A2-1 4.4138 .0497 4 1.603 13.94 115.06 A2-2 4.4138 .0497 4 1.603 16.06 115.06 A2-3 5.4138 .0497 4 1.603 25. 83.0 B2-1 5.4138 .0497 4 1.603 23.94 84.06 B2-2 5.4138 .0497 4 1.603 26.06 84.06 B2-3 6.4138 .0497 4 1.603 15. 52.0 C2-1 6.4138 .0497 4 1.603 13.94 53.06 C2-2 6.4138 .0497 4 1.603 16.06 53.06 C2-3 0.5 3.56 4 .495 -7.0 150.7 OHGW-L 0.5 3.56 4 .495 7.0 150.7 OHGW-R BLANK card ending conductor cards of LINE CONSTANTS data

2A - 50

100. .001 1 C RHO ] [FCAR] BLANK card ending frequency cards of

53.00 [ DIST ] LINE CONSTANTS

1 S data

1 T

6. Input optional batch-mode plot card(s). E. g., C 345678901234567890123456789012345 PRINTER PLOT 186 .2 0.0 5.0 GENIA MAG 196 .2 0.0 5.0 GENIB % MAG For plotting purposes, node voltages are converted to branch quantities. The results of the tested line model are treated as branch voltages ("8" in column 4), and results of the exact B-model and the percentage errors are treated as branch currents ("9" in column 4.). The second name of a percentage error will be either "% MAG" or "% ANG " ( for magnitude or angle, respectively ) . 7. After the last plot card, input the following three cards to end the data case : BLANK card ending plot cards BEGIN NEW DATA CASE BLANK card ending data subcases The line printer output includes tabulation of results of the requested node voltage output variables for the tested line model, for the exact B-model, and the percentage errors. Variable IOUT of the integer miscellaneous data card of Section II-B-2 controls the frequency of this output. Tabulation after 100 entries will be truncated. Be careful with positive values for IDOUBL and KSSOUT on the same card. If IDOUBL has value unity, the connectivity table will be produced for each test (there are 2 for a single-circuit line or 3 for a double-circuit line). As for any frequency scan, positive KSSOUT for LMFS is even more serious: there will be phasor branch flows and injection printout for each of the generally-many frequencies. As a general rule, IDOUBL and KSSOUT should have value zero.

II-A-44. Linearly ( not Randomly ) Varied Bias for Monte Carlo Switching
At the request of BPA production users (specifically, Dan Goldsworthy), the normally random or zero bias that can be added to all switch times of Monte Carlo studies can be replaced by a linear variation. This will be the response of ATP to the request :
1 2 3 4 5 6 7 8 12345678901234567 890123456789012345678901234567890123456789012345678901234567890 LINEAR BIAS USAGE

No further information is required, since limits on the bias will be provided by the STATISTICS miscellaneous data parameters DEGMIN and DEGMAX (see Section II-C, columns 41-56). For a case with LINEAR BIAS USAGE (LBU), there is replacement of the random number that normally is used by a variable that varies linearly between 1.0 / NENERG and unity as the NENERG energizations are performed. For an illustration, see the 2nd and 3rd subcases of BENCHMARK DC-48. 2A - 51

The interpretation of this request involves the confirmation of no parameter value. The following has been copied from DC48.LIS :
C 1 2 3 4 5 6 7 C 34567890123456789012345678901234567890123456789012345678901234567890123456 C ------------------------------------------------|------------------------Ramped linear variation of random bias. |LINEAR BIAS USAGE

II-A-45. Combination of 2 or More Partial Monte Carlo Studies


The many energizations ("shots") of a Monte Carlo study can be simulated in groups, either sequentially or in parallel (using 2 or more computers, typically). If not all shots are performed as part of the same data case, there will be partial results in 2 or more .EXT disk files that are connected to I/O unit LUNIT9 (see DC24.DAT for examples of use). Such partial results (extrema) then can be combined for purposes of statistical tabulation by means of a LOAD MORE SHOTS (LMS) request :
1 2 3 4 5 6 7 8 12345678901 ... 0 1234 5678 9012 3456 7890 1234 5678 9012 3456 7890 1234 5678 9012 3456 7890 LOAD MORE SHOTS K1 I4 K2 I4 K3 I4 K4 I4 K5 I4 K6 I4 K7 I4 K8 I4 K9 I4 K10 I4 K11 I4 K12 I4 K13 I4 K14 I4 K15 I4

The 15 integers that are read from columns 21-80 as 15I4 information are optional. These are the numbers of exceptional shots within the file --- shots that the user wants to discard (ignore) during loading of the file. A maximum of 15 excluded shots are allowed, note. If one or more of the integers is non-zero, it is assumed that the first zero follows the last non-zero. I.e., the numbers of shots to be excluded fill the vector from left to right. Also, ATP assumes that the non-zero numbers are monotone increasing from left to right. In effect, LOAD MORE SHOTS is a command to read from a disk file of extrema that has been connected to I/O unit LUNIT2 using $OPEN. This is assumed to follow START AGAIN which loads simulation tables (program memory). Use is illustrated several times within BENCHMARK DC-40. The third use, which excludes two energizations (shots numbered 1 and 2) is interpreted as follows :
C 1 2 3 4 5 6 7 C 34567890123456789012345678901234567890123456789012345678901234567890123456 C ------------------------------------------------|------------------------Load more Monte Carlo extrema. 1 2 0 |LOAD MORE SHOTS 1

II-A-46. Extended SATURATION That Includes Losses


LOSSY SATURATION ( LSAT ) is a request for an extension to the original SATURATION request, which accounted for inductance only. Accounting for losses (but not hysteresis) as well as flux, LOSSY SATURATION comes from author Orlando Hevia of UTN in Santa Fe, Argentina, as first described in the April, 2002, newsletter. A Type-99 pseudo-nonlinear resistance is added in parallel with a Type-98 pseudo-nonlinear inductance to complete the representation. The newsletter story mentions more detailed documentation: a paper entitled "Inductor with losses in the ATP" on pages 13-22 of the August, 2001, issue of EEUG News. To connect to author Hevia's supporting program of Section XIX-K, use the request:

2A - 52

1 2 3 4 5 6 7 8 1234567890123456 7890123456789012345678901234567890123456789012345678901234567890 LOSSY SATURATION

Use is illustrated in the 10th subcase of standard BENCHMARK DC-13. The fixed interpretation of this request is copied from DC13.LIS :
C 1 2 3 4 5 6 7 C 34567890123456789012345678901234567890123456789012345678901234567890123456 C ------------------------------------------------|------------------------Orlando Hevia fits params for lossy saturation. |LOSSY SATURATION

II-A-47. Starting Frequency of Harmonic Frequency Scan


A MINIMUM HARMONIC NUMBER ( MHN ) declaration is required if and only if a $PARAMETER block involves harmonic number "h" prior to the definition of sources of a frequency scan. This will be the case for a POCKET CALCULATOR VARIES PARAMETERS ( PCVP ) loop that varies network impedances as a function of frequency. The problem is this : The harmonic number "h" is used before it normally is defined. To rectify this problem, the user must declare redundantly his lowest frequency :
1 2 3 4 5 6 7 8 12345678901234567890123456789012 34567890 1234567890123456789012345678901234567890 MINIMUM HARMONIC NUMBER MINH I8

"Subharmonics allowed in HFS" is the title of a story in the July, 2002, newsletter. It provides further explanation of how and why the MHN declaration was added. Prior to the admission of subharmonics, there was no problem because the power frequency was the minimum frequency. But with subharmonics, this can not be assumed. The 19th subcase of BENCHMARK DCNEW-21 illustrates the MHN declaration. Although columns 33-40 contain the all-important starting value of 1/3 (indicating 16.67 Hz for the 50-Hz system), this value is not confirmed in the interpretation. Rather, the limited space is used to explain when the MHN declaration is needed :
C 1 2 3 4 5 6 7 C 34567890123456789012345678901234567890123456789012345678901234567890123456 C ------------------------------------------------|------------------------Needed if HFS subharmonic h in $PARAMETER block. |MINIMUM HARMONIC NUMBER

II-A-48. Create LISTSIZE.PMC for Parallel Monte Carlo


Parallel Monte Carlo simulation is the only practical use of the MINIMUM TABLE SIZES ( MTS ) declaration as first explained in the July, 1995, newsletter. MTS is ignored except during initialization of the central statistics file (characterized by a PART:-1 declaration). Then MTS is a request for one energization followed by the creation of a LISTSIZE.DAT file that corresponds to minimum sizes. This file will be created in the CENTRAL STATISTICS FILE (CSF) directory, and will be given the special file 2A - 53

type .PMC to recall the usage with parallel Monte Carlo. If present at the time a simulation involving SHOTS: begins, it is this file rather than LISTSIZE.DAT that will be connected to establish program table sizes. Although automatically created during initialization, nothing prevents a user from editing the file manually if he believes he knows more or better than ATP about how to economize on tables. After all, logic of the ATP creation is simple, so an intelligent user almost always can do better. An MTS declaration takes the form :
1 2 3 4 5 6 7 8 12345678901234567890123456789012 34567890 12345678 90123456789012345678901234567890 MINIMUM TABLE SIZES MULTIP I8 MEXTRA I8

Here the two integers are optional. MULTIP is a multiplier in percent (i.e., will be divided by 100 upon input) whereas MEXTRA is an offset. These two values provide excess table space to account for imperfect estimation of needs. Normally, the user will leave the fields of columns 33-48 blank in which case the program will assign default values MULTIP = 4 and MEXTRA = 5. These mean that following estimation of a minimum list size, this value will be multiplied by 1.04 and then 5 will be added to provide a margin of safety. BENCHMARK DC-66 includes several MTS declarations. Since it is only for PART:-1 use that MTS has meaning, there are two possible and different interpretations :
C 1 2 3 4 5 6 7 C 34567890123456789012345678901234567890123456789012345678901234567890123456 C ------------------------------------------------|------------------------Create .PMC file using MINHAR, MAXHAR = 4 5 |MINIMUM TABLE SIZES Ignore since not PART:-1 initialize of SHOTS: |MINIMUM TABLE SIZES

II-A-49. Request to Read Miscellaneous Data Cards


The floating-point and integer miscellaneous data cards are described in Section II-B. For a conventional simulation, they come after all special requests of the type now being considered. For the normal simulation, this is fine, and there is no need to read miscellaneous data cards elsewhere. But for special circumstances, the user may want to define one or more of the miscellaneous data parameters ahead of time, along with other special request cards. This is required for START AGAIN usage, for example (see BENCHMARK DC-40 or 49 as an illustration). If such usage is wanted, simply precede the usual miscellaneous data cards of Sections II-B and II-C by the special request MISCELLANEOUS DATA CARDS ( MDC ) as follows :
1 2 3 4 5 6 7 8 123456789012345678901234 56789012345678901234567890123456789012345678901234567890 MISCELLANEOUS DATA CARDS

The user is advised not to do this casually, however. There should be a clear, real, known need as approved by standard instructions, or as recommended by local Program Maintenance.

2A - 54

The interpretation of these data only requires documentation of the request card, since the miscellaneous data cards (and possible extensions) are interpreted exactly as explained in Sections II-B and II-C. As for the leading card, it is interpreted as follows :
C 1 2 3 4 5 6 7 C 34567890123456789012345678901234567890123456789012345678901234567890123456 C ------------------------------------------------|------------------------Request preceding 2 miscellaneous data cards. |MISCELLANEOUS DATA CARDS

II-A-50.

Request for Tricky Mode - Voltage Output of Distributed Line

There are cases where mode voltage rather than phase voltage is desired as the output of a distributed transmission line. This will generally be for educational usage of one form or another, since the quantities in question generally can not be physically measured. Since all distributed-parameter transmission-line models (except Noda) use a modal transformation matrix to decouple the multi-conductor equations, the modal quantities are a part of the solution process, and it is just a matter of directing such variables to the output vector. With care, the user can request the modal voltage to ground at both ends of one distributedparameter transmission line. The request has the following form :
1 2 3 4 5 6 7 8 12345678901234567890123456789012 34567890 1234567890123456789012345678901234567890 MODE VOLTAGE OUTPUT MODOUT I8

Variable MODOUT (cols. 33-40) is to be keyed with the number of phases or coupled conductors that are involved. A blank or zero field is defaulted to MODOUT = 3, so it is really only in other cases that the numerical value need be keyed. Such modal output is possible for only one transmission line, and that line must be placed at the very end of branches, immediately before the blank card that terminates all branch cards. In addition, the very first branch data must consist of extra, high-impedance branches that are connected from each node to ground at both ends of the line in question. Equal in number to 2 * MODOUT, column 80 of these uncoupled (type0) series R-L-C branches must be keyed with a "1" so as to request branch current output. Use a resistance so large that the answer is unaffected. So much for data input. Following simulation, the user will find his modal voltages in the output locations that otherwise would have been reserved for the branch currents just mentioned. This is why the present feature is a little tricky. The first MODOUT output currents are in reality modal voltages to local ground at the BUS1 end of the line, in natural order; the next MODOUT output currents are mode voltages to ground at the other end (the BUS2 end) of the line, also in natural order. A reminder message to this effect is printed immediately below the column headings for the output variables, so the user will not forget. Note that if one is plotting, type-9 plot requests (see Section 1.10) must be used, since the EMTP thinks that the modal voltages are currents in the 2 * MODOUT high-resistance branches that were supplied by the user. An illustration of this feature is provided by the 2nd subcase of BENCHMARK DC-38. It is from this solution involving a 3-phase, constant-parameter line that the following interpretation has been extracted :

2A - 55

C 1 2 3 4 5 6 7 C 34567890123456789012345678901234567890123456789012345678901234567890123456 C ------------------------------------------------|------------------------Request for tricky modal output. MODOUT = 3. |MODE VOLTAGE OUTPUT

II-A-51. MODELS Computation Precedes TACS


If both MODELS and TACS are being used in the same data subcase, the default choice is for TACS computation to be performed first at any time step. This was the decision of MODELS author Dube when first he allowed coexistence of the two alternatives (see the July, 1995, newsletter). But, as explained in the July, 2003, newsletter, there are cases where the user might want the MODELS computation to precede the TACS computation. In theory, this can be requested as follows :
3 4 5 6 7 8 1 123456789012345678 90123456789012345678901234567890123456789012345678901234567890 MODELS BEFORE TACS

The MODELS BEFORE TACS ( MBT ) request can be added to any data, but it will have an effect only if both TACS and MODELS are being used. Operation is illustrated by the 4th subcase of BENCHMARK DC-30, from which the following interpretation has been extracted :
C 1 2 3 4 5 6 7 C 34567890123456789012345678901234567890123456789012345678901234567890123456 C ------------------------------------------------|------------------------Each time step, MODELS computation precedes TACS |MODELS BEFORE TACS

II-A-52. Use MODELS on Extrema Rather Than within the dT Loop


MODELS can be used to post-process the extrema vector rather than for modeling within the time-step loop. This is for time simulation. But MODELS can not be used for both functions as part of the same time simulation. The user must choose between the two possible uses. The default choice is the original one of MODELS author Dube: simulation within the time-step loop. If the user wants instead to use MODELS to postprocess, he must declare this intention using this request :
1 2 3 4 5 6 7 8 123456789012345678901234 56789012345678901234567890123456789012345678901234567890 MODELS PROCESSES EXTREMA

Operation first was described in the April, 2001, newsletter. Although the previous paragraph mentioned the time-step loop for clarity of understanding, a loop over frequency might instead be involved. There is a similar choice for frequency scans, too. More generally and abstractly, the choice is this: whether or not MODELS is required to form the output vector. In the case of a frequency scan, MODELS originally was used to form the complex outputs themselves as illustrated by the 3rd subcase of BENCHMARK DC-52. An alternative is to apply MODELS to the output vector after it has been formed. In fact, the newsletter writing begins with mention of frequency not time: "MODELS can process HARMONIC FREQUENCY SCAN (HFS) solution variables ..." Just as there is an alternative, completely-different use of MODELS for time simulation, so there is an alternative, completely-different use of MODELS for frequency scans, too. Interpretation might mention time simulation, but only because this is easier to explain in less space. 2A - 56

The 9th subcase of BENCHMARK DCNEW-10 illustrates use for a PCVP loop over time simulations. Interpretation is as follows :
C 1 2 3 4 5 6 7 C 34567890123456789012345678901234567890123456789012345678901234567890123456 C ------------------------------------------------|------------------------Unconventional use outside time step loop only. |MODELS PROCESSES EXTREMA

II-A-53. Halt Execution If an A6 Name Begins with a Blank


NAMES ARE LEFT ADJUSTED ( NALA ) is the way the user declares that none of his A6 names begins with a blank byte. Normally, there is no such restriction. But if the user wants protection against an inadvertent leading blank (in effect, a spelling error), he need only issue the declaration :
1 2 3 4 5 6 7 8 12345678901234567890123 456789012345678901234567890123456789012345678901234567890 NAMES ARE LEFT ADJUSTED

Should a leading blank be discovered (should not all names be left-adjusted as intended), program execution will be terminated with a KILL = 81 error message. BENCHMARK DCNEW-10 illustrates use, with the 2nd subcase illustrating this error termination. Interpretation of the NAMES ARE LEFT ADJUSTED declaration involves the confirmation of no parameter. From the solution to BENCHMARK DCNEW-10, it appears as follows :
C 1 2 3 4 5 6 7 C 34567890123456789012345678901234567890123456789012345678901234567890123456 C ------------------------------------------------|------------------------Halt if 1st byte of a name is found to be blank. |NAMES ARE LEFT ADJUSTED

II-A-54. Halt Execution if an A6 Name Ends with a Blank


NAMES ARE RIGHT ADJUSTED ( NARA ) is the way the user declares that none of his A6 names ends with a blank byte. Normally, there is no such restriction. But if the user wants protection against an inadvertent trailing blank, he need only issue this declaration :
3 4 5 6 7 8 1 2 123456789012345678901234 56789012345678901234567890123456789012345678901234567890 NAMES ARE RIGHT ADJUSTED

Should a trailing blank be discovered (should not all names be right-adjusted as intended), program execution will be terminated with a KILL = 81 error message. No standard test case illustrates this, however. In the opinion of program developers, left-adjusted names are preferable to right-adjusted names, so use of the present declaration is not encouraged. BENCHMARK DCNEW-10 explains this on a comment card. Interpretation of the NAMES ARE RIGHT ADJUSTED declaration involves the confirmation of no parameter. It should appear as follows :

2A - 57

C 1 2 3 4 5 6 7 C 34567890123456789012345678901234567890123456789012345678901234567890123456 C ------------------------------------------------|------------------------Halt if last byte of a name is found to be blank. |NAMES ARE RIGHT ADJUSTED

II-A-55. Calculation of Constant - Parameter [R], [L] Network Equivalent


The calculation of coupled [R], [L] branches to represent parts of the network that are not to be modeled explicitly is done by a separate supporting program named NETEQV. Instructions for the usage of this utility are covered in Section XXIV. To transfer to that separate program, the following special-request card is used :
1 2 3 4 5 6 7 8 123456789012345678 90123456789012 34567890 1234567890123456789012345678901234567890 NETWORK EQUIVALENT IOFBND I8

IOFBND of columns 33-40 is optional, and normally will be left blank. If a value is keyed, it is taken to be the maximum number of busses that are allowed. If omitted, the EMTP will dimension tables of the supporting program as large as possible (within available working space of overlay 28 (/C28B01/). Since the sparsity diagram (which shows nonzero terms of the Jacobian) can only be produced if there is extra storage, this diagram will only be seen if a positive IOFBND is keyed, and if this positive value leaves sufficient extra working space for the sparsity diagram. Interpretation of the request card confirms the value of IOFBND. An illustration is provided by the second subcase of BENCHMARK DC-14 :
C 1 2 3 4 5 6 7 C 34567890123456789012345678901234567890123456789012345678901234567890123456 C ------------------------------------------------|------------------------Constant-R,L generator equivalent. IOFBND = 11. |NETWORK EQUIVALENT, 11,

II-A-56. Redefine the Limits of Program Tables


Disk file LISTSIZE.DAT defines the limits of program tables as execution begins. This is as explained in Section I-G. However, if the same dimensioning information (VARDIM data) has been declared as part of data of the first subcase of the input data file, it is this latter information that will be used in place of LISTSIZE.DAT for the initial table sizing. This is for program dimensioning at the very start of the .LIS file (assuming LU6VRT is positive). Such data begins with NEW LIST SIZES ( NLS ) as follows :
1 2 3 4 5 6 7 8 12345678901234 567890123456789012345678901234567890123456789012345678901234567890 NEW LIST SIZES

This is to be followed by the contents of LISTSIZE.DAT as documented in Section I-G. Standard BENCHMARK DC-47 illustrates such use. The output file DC47.LIS then begins as follows (note the very first line, which is exceptional and characteristic of NLS use ) : 2A - 58

Table sizes declared in data. |NEW LIST SIZES List 6 scaled by = 5.00 |NBHDSW 5.0 { Five is the default ... Default multiplier = 2.000 |DEFAULT 2.0 1st card (Lists 1-10). |BLANK Comment card is ignored. |C 0 0 0 0 0 2nd card (Lists 11-20). | 0 0 0 0 0 3rd card (Lists 21-29). | 0 1750 Supplemental offsets. | 240000 742 --502 cards of disk file read into card cache cells 1 onward. Alternative Transients Program (ATP), Salford 80386 translation. ...

Later, when special-request cards are interpreted, there will be no trace of NLS and its associated data. These cards already have been displayed (see immediately above). The NLS data have been removed from regular data in order to replace LISTSIZE.DAT For small data cases, no user should bother with NLS. But for larger data sets, the use of NLS makes very good sense, and is encouraged. The burden on program tables does depend on data, so the input data file is the logical place to store such important statistics. Whereas most standard BENCHMARK DC-XX test cases can be processed using the usual 3-times-default dimensioning, there are a few exceptions that require more space for at least one table. For these cases (see DC-22 and 47), NLS has been used. For NLS use, the 2nd or later stacked subcase is fundamentally different from the first. For the 2nd subcase, NLS data can not replace LISTSIZE.DAT since NLS does not apply to the first subcase. So NLS data in the 2nd or later subcase must be processed in its natural location and sequence. Interpretation is illustrated by output that begins the solution of the 4th subcase of DC-22 :
C 1 2 3 4 5 6 7 C 34567890123456789012345678901234567890123456789012345678901234567890123456 C ------------------------------------------------|------------------------Marker card preceding new EMTP data case. |BEGIN NEW DATA CASE Request preceding VARDIM input LISTSIZE.DAT |NEW LIST SIZES 1st card (Lists 1-10). | 0 0 68 2nd card (Lists 11-20). | 0 0 4700 3rd card (Lists 21-29). | 0 0 220 Supplemental offsets. | 240000

This will be followed by another heading as execution "begins again" using the revised dimensions. Because obviously unused space has been eliminated, a lot of table space has been saved, note : "Total size of LABCOM tables = 74664 ..." ( compare with 230K for 3-times-default dimensioning ) .

II-A-57. Frequency Dependent Fitting by Taku Noda


Frequency-dependent modeling by Taku Noda first is mentioned in newsletters in the October, 1994, issue. Associated branch data is explained in Section IV-D-5. But how does an interested user obtain data applicable to his particular component (typically a section of transmission line or cable)? Dr. Noda has his own separate fitting program (not part of ATP) that runs on any Wintel PC, and the ATP user can interface with it following the request :
1 2 3 4 5 6 7 8 1234567890123456 78901234 56789012345678901234567890123456789012345678901234567890 NODA SETUP NODAPR I8

2A - 59

NODAPR (columns 17-24) is a binary switch that controls production printout within LINE CONSTANTS or CABLE PARAMETERS (whichever is named by the following data). For production use, NODAPR is left blank, which means there will be no printed output. This corresponds to production output of a JMARTI SETUP or SEMLYEN SETUP case : no printout during the frequency scan. In effect, normal output is being suppressed just as if $LISTOFF had been used. If the user wants normal output during the frequency scan for diagnostic purposes, use value unity (comparable to $LISTON ) . Use with several different line and cable sections is illustrated by standard BENCHMARK DCNEW-13. Interpretation of the first of these is as follows (note that blank columns 17-24 produced the value zero for NODAPR after erasure of the in-line comment ) :
C 1 2 3 4 5 6 7 C 34567890123456789012345678901234567890123456789012345678901234567890123456 C ------------------------------------------------|------------------------Request for Taku Noda`s ARMA fitter. NODAPR = 0 |NODA SETUP { Requ ...

II-A-58. Display and Manage Central Status File of Parallel STATISTICS


Some program versions and some installations have networking of two or more computers that allow central monitoring and control of the parts of a Monte Carlo study that is being simulated in pieces, generally by parallel processing. Reference [52] provides a detailed explanation. Well, access to the supporting program that displays and manipulates the central status file PARALLEL.LIS is by the request:
3 4 5 6 7 8 1 2 1234567890123456789012345678 9012345678901234567890123456789012345678901234567890 OBSERVE PARALLEL MONTE CARLO

Since usage normally is interactive, the KEY request would precede this one, which can be abbreviated OPMC for quicker keying. The CENTRAL STATISTICS FILE request to name PARALLEL.LIS should come between these two, as the following interpretation from the 5th subcase of BENCHMARK DC-66 shows :
C 1 2 3 4 5 6 7 C 34567890123456789012345678901234567890123456789012345678901234567890123456 C ------------------------------------------------|------------------------Name of file for "OBSERVE PARALLEL MONTE CARLO" |CENTRAL STATISTICS FILE File name:f:\data\parallel.lis |f:\data\parallel.lis Monitor and control parallel "STATISTICS". |OBSERVE PARALLEL MONTE CA

Some computers (e.g., Apollo, Sun, and DEC VAX / VMS ) should have the OPMC code available as a separate, small supporting program. If so, a common name would be OPMC.EXE Frequent users probably will find such an alternative preferable, since a small program is less demanding of computer resources than huge ATP. Also, it allows for computer-dependent extensions to the universal features that will be described in Section XIX-B.

2A - 60

II-A-59. Convert TACS Data Older Than M39. Update of July, 1984
With every passing year, OLD TO NEW TACS has decreasing value. It serves to convert old TACS data to current TACS data. Here "old" is defined to mean what existed prior to the "M39." update of July, 1984. Among other things, this marked the end of blank cards within TACS data to separate different data classes (which originally required ordering and segregation). The request for conversion is :
2 3 4 5 6 7 8 1 123456789012345 67890123456789012345678901234567890123456789012345678901234567890 OLD TO NEW TACS

The 2nd subcase of standard BENCHMARK DC-67 demonstrates such use. Interpretation is copied from the solution DC67.LIS :
C 1 2 3 4 5 6 7 C 34567890123456789012345678901234567890123456789012345678901234567890123456 C ------------------------------------------------|------------------------Convert pre-M39 TACS data to new TACS data. |OLD TO NEW TACS

II-A-60. Convert ZnO data of "M36." Vintage ( September, 1983 )


With every passing year, OLD TO NEW ZNO has decreasing value. It serves to convert old zinc-oxide (ZnO) surge arrester modeling to current modeling. Here "old" is "M36." or earlier vintage, which dates to September of 1983. The request is simple enough :
1 2 3 4 5 6 7 8 12345678901234 567890123456789012345678901234567890123456789012345678901234567890 OLD TO NEW ZNO

This special-request card is to be added before the first miscellaneous data card of a data case involving old ZnO data cards. The EMTP reads such data, and punches (see $PUNCH in Sect. I-D) replacement branch cards to represent the ZnO arresters. It then will be the user's responsibility to replace the old card images with the new ones, using a text editor. An example of such conversion is provided by the second subcase of standard test case BENCHMARK DC-13. The following illustrative interpretation has been copied from DC13.LIS :
C 1 2 3 4 5 6 7 C 34567890123456789012345678901234567890123456789012345678901234567890123456 C ------------------------------------------------|------------------------Request to convert old ZnO data to new formats. |OLD TO NEW ZNO

II-A-61. Request for Omission of Base Case of STATISTICS Simulation


The conventional STATISTICS or SYSTEMATIC data case involves a base case simulation before any of the NENERG (integer miscellaneous data parameter; see Section II-B) energizations are performed. This is a preliminary shot, right down the middle, with all of the variances set to zero. Well, the user can omit this extra, preliminary simulation by a special request card reading : 2A - 61

1 2 3 4 5 6 7 8 12345678901234 567890123456789012345678901234567890123456789012345678901234567890 OMIT BASE CASE

Resulting statistical tabulations are unaffected, since the base case simulation was not part of the statistical processing, anyway. So, if the user already knows how the base case solution looks, he can save the computation of one shot as well as the associated printed output. Examples of such usage are provided in standard test cases BENCHMARK DC-16, 24, and 66. The following fixed interpretation can be seen in any of the associated solutions :
C 1 2 3 4 5 6 7 C 34567890123456789012345678901234567890123456789012345678901234567890123456 C ------------------------------------------------|------------------------Omit base case if STATISTICS/SYSTEMATIC usage. |OMIT BASE CASE

II-A-62. Request That Any Table Dumping or Restoring Be Partial


The concept of partial table dumping was introduced in the January, 1999, newsletter (see a story entitled "Partial table dumping"). Partial Table Dumping is an extension to Turbo Table Dumping by Robert Schultz of the New York City area. For background on Schultz's quantum leap forward, see newsletters beginning with the October, 1993, issue. Partial or selective table dumping began 12 October 1998 when MODELS tables were the first to be ignored for any data case that involved no MODELS usage. This was quickly followed by the addition of logic for TACS, the U.M., etc. Partial table dumping prohibits the application of Schultz's logic to those portions of ATP tables that are known not to be in use. For now (October, 2002), partial table dumping can be enabled by the average user only by means of the following request :
3 4 5 6 7 8 1 2 123456789012345678901 23456789012345678901234567890123456789012345678901234567890 PARTIAL TABLE DUMPING

For now, the user is being forced to declare explicitly his desire for partial table dumping. This is to prevent unintended use until associated logic has been proven to be bulletproof by numerous experienced and serious users. Later, if and when usage might be understood by various experts to be extremely reliable, the need for explicit declaration might be removed. Testing of partial dumping logic occurs regularly following an easy, special modification to code. Program developers will rename disk file TAPSAV.NEW to TAPSAV.PUM and then perform a minor update (UP PUM). Next, TSTALL of STARTUP is changed to some negative value such as -0.3 to dump, zero, and restore tables 30% of the way through any simulation. The value of TSTALL should not affect the answer as long as it is in the interval (-1, 0). Finally, RUN.BAT next will verify every single standard simulation example without any change to data. This is so easy, and so exhaustive (if not 100% rigorous), there seems to be little need for explicit testing among the family of standard test cases. Only DC-16 contains the PARTIAL TABLE DUMPING declaration, and the following interpretation is taken from the solution DC16.LIS :

2A - 62

C 1 2 3 4 5 6 7 C 34567890123456789012345678901234567890123456789012345678901234567890123456 C ------------------------------------------------|------------------------Faster STATISTICS, SYSTEMATIC, and START AGAIN. |PARTIAL TABLE DUMPING

II-A-63. Request for Peak Voltage of Simulation


The user may be interested in peak node voltage, or in peak linear branch voltage, or both, without being concerned about the location in the network where this will occur. If so, there exists the paper-saving alternative that avoids voltage output for all nodes or branches :
1 2 3 4 5 6 7 8 12345678901234567890123456789012 34567890 1234567890123456789012345678901234567890 PEAK VOLTAGE MONITOR MAXVLT I8

Variable MAXVLT chooses the type of voltages being monitored : 1 --- for node voltages only ; 2 --- for linear branch voltages only ; 3 --- for both node voltages and also linear branch voltages. Zero or blank will be interpreted as unity (a request for the peak of node voltages only). This is the request. Later, at the end of the simulation, before the usual peak-value printout for the output vector, will be generated the requested output or outputs. For the monitoring of node voltages (MAXVLT = 0 or 1), one line will give the node name, the time of the peak, and the value of the overall peak. The following is an illustration taken from the first subcase of BENCHMARK DC-7 : Overall simulation peak node voltage = 5.69470365E+05 occurred at bus "TRANB " at time (sec) = 1.17000000E-02 For 132-column output, this will be a single line, of course (it has here been split in two for ease of presentation only). The printed value at the end is the peak of all node voltages in volts, not the peak of all node voltages in per unit. If the problem has transformers that change the nominal voltage level, there is no easy way of spotting peaks of per unit voltage that might occur on the low voltage side. So, usage is somewhat specialized, and it requires caution. For the case of MAXVLT = 2 or 3, there will be output for the peak branch voltage as follows (from the second subcase of BENCHMARK DC-7 ) : Overall simulation peak branch voltage = 5.66276224E+01 occurred at linear branch number 3, which connects node "TRAN " to " ". The time [sec] = 0.00000000E+00 Illustrative use can be found in standard test cases BENCHMARK DC-7, 61, and 62. The following illustration of interpretation was taken from the solution to the second subcase of BENCHMARK DC-7 :
C 1 2 3 4 5 6 7 C 34567890123456789012345678901234567890123456789012345678901234567890123456 C ------------------------------------------------|------------------------Output global peak voltage of network. 3 |PEAK VOLTAGE MONITOR, 3,

2A - 63

II-A-64. Pocket Calculator Controls Loop over Solutions


POCKET CALCULATOR VARIES PARAMETERS ( PCVP ) is a request for use of the pocket calculator to either add a loop, or control an existing loop, over solutions. During the loop, typically some data parameter or parameters will be varied by the pocket calculator via a $PARAMETER block (a separate subject of Section I-D). The PCVP request involves 3 integer control parameters as follows :
1 2 3 4 5 6 7 8 1234567890123456789012345678901234567890 12345678 95123456 78901234 5678901234567890 POCKET CALCULATOR VARIES PARAMETERS MAXKNT I8 IOPCVP I8 NOSTAT I8

MAXKNT (cols. 41-48) gives the number of times the loop over solutions is to be traversed. Yet, this is just backup information that will be preempted (or superceded or overridden) by a better, separate control. For example, MAXKNT is ignored in the case of either FREQUENCY SCAN ( FS ) or HARMONIC FREQUENCY SCAN ( HFS ) because each of these declarations already controls the loop over frequency in more sophisticated fashion using starting and ending frequencies. When not needed, typically MAXKNT is given the obviously-wrong value of unity to emphasize that the value is being ignored. Any value that is not positive will be converted to the default value of unity because a positive value is required by code that supports PCVP. IOPCVP (cols. 49-56) controls printout within the loop over solutions. Value zero will avoid suppression, resulting in complete output during all passes. This is useful during testing that severely limits the number of passes. But for a large number of passes, the extra output generally is wasteful, and might be confusing. Just as a STATISTICS or SYSTEMATIC loop generally suppresses normal output other than extrema, so production use of PCVP generally will. For positive IOPCVP, output is suppressed after the first pass. The following summary, copied from the output of DCNEW-25, explains the transition as follows: IOPCVP > 0 means that normal output is about to be suppressed as the 2nd shot begins. At most, extrema and parameters will be seen (this would be for value 1). Value 2 will suppress parameters of the next shot. Value 3 also will suppress extrema, leaving just the single line showing KNT and MAXKNT. NOSTAT (cols. 57-64) is a binary switch that controls the use of extrema for statistical tabulation. Value unity will suppress statistical tabulation (i.e., "no statistics") whereas value zero or blank will not. But for any frequency scan, there is no statistical tabulation, so the value is immaterial in these case (e.g., for FS or HFS use). An explanation of possible uses is complicated by the fact that there are 3 fundamentally different types of loops over solutions : 1) Loop over time simulations. An example would be a Monte Carlo study. Yes, flexible PCVP can be used as an alternative to limited and rigid STATISTICS, although care is required. Alternatively, some normally-constant parameters of the network (e.g., values of a filter) might be varied. This commonly would be referred to as a parameter-variation study. DCNEW-25 provides illustrations. 2) Loop over phasor solutions. Here steady-state frequency is an important controlling variable, typically. There will be a frequency scan --- possibly (but not necessarily) in conjunction with older and separate FREQUENCY SCAN ( FS ) or HARMONIC FREQUENCY SCAN ( HFS ) declarations. Simple network parameters may be varied as the loop is traversed. DCNEW-26 provides illustrations. 2A - 64

3) Loop over some supporting program. An example would be a loop over conductor height or ground resistivity for an overhead transmission line within the LINE CONSTANTS calculation. DC-59 provides illustrations. Before attempting to create his own data involving PCVP, a user is encouraged to study input data and resulting output of the standard test cases previously mentioned. Theory and evolution of PCVP use was summarized in newsletters beginning with the October, 1998, issue. A search for the 4-letter acronym should always be adequate for published writing because the long form is simply too demanding of space with proportional fonts. Not so for data (the long form is used exclusively in standard test cases). The interpretation of the PCVP request card confirms just the first two of the 3 integer parameters. To illustrate, consider the 10th subcase of BENCHMARK DC-59 :
C 1 2 3 4 5 6 7 C 34567890123456789012345678901234567890123456789012345678901234567890123456 C ------------------------------------------------|------------------------Build loop around $PARAMETER changes. 3 0 |POCKET CALCULATOR VARI ...

II-A-65. Request to Postprocess .PL4 Plot File Using TACS or MODELS


POSTPROCESS PLOT FILE ( PPF ) is the declaration that either TACS or MODELS will be used to postprocess a .PL4 plot file. The user first connects the old plot file (input to the post processor) to I/O unit number LUNIT2 using $OPEN. For an example (which may be installation-dependent), see BENCHMARK DC-46. If TACS, variables of the plot file will be assigned to user-defined TACS sources in natural order by ATP, thereby providing the connection for postprocessing by the user. If MODELS, signals will be connected as defined by a special INPUT statement. This is the ATP response to the request :
1 2 3 4 5 6 7 8 12345678901234567890123456789012 34567890 12345678 90123456 789012345678901234567890 POSTPROCESS PLOT FILE IPLOT I8 LUNPPF I8 L63TYP I8

IPLOT (columns 33-40) is an integer indicating frequency of the output. There is similarity to the miscellaneous data parameter of the same name. For example, if IPLOT = 3 is used, then only every third point of the old plot file will be used for input, and output will have this same frequency, of course. The most common (and least tricky) case uses IPLOT = 1, so that there are as many output points as there are input points. Note that IPLOT > 1 requires a multiplied time step DELTAT, too. LUNPPF (columns 41-48) is the number of the I/O unit to which the input .PL4 file is to be connected. Any non-positive value (including blank) will be given default value 63, which usually is satisfactory. L63TYP (columns 49-56) is an integer code indicating .PL4 file type. There are four choices: 1) value unity indicates UNFORMATTED; 2) value two indicates FORMATTED; 3) value three indicates conventional C-like; and 4) value four indicates Pisa-format C-like.

2A - 65

The data case is completed by cards for a TACS-only or MODELS-only data case. Yes, an electric network could follow, and the 2nd subcase of DC-46 illustrates this. But the control system modeling is all that is required. Consider TACS first. Generally, there should be as many TACS sources as there are variables in the old data file, with 6-character names being arbitrary. In the order defined, these are automatically (internally) connected to variables of the old plot file. Most post-processing will involve TACS supplemental variables, although function blocks also are useful ( e.g., 1 / s for the integration of some voltage to produce flux). That was for TACS. MODELS is substantially different. Instead of TACS sources, an INPUT statement defines each name followed by {PL4(K)} where K is an integer giving the position of the variable in the disk file (e.g., 1 for the first, 2 for the second, etc.). For an illustration, see the 3rd subcase of DC-46 which does using MODELS what the preceding two subcases do using TACS. The interpretation of the request card confirms the user-keyed frequency IPLOT, of course. This is illustrated by the following line from the solution to the first subcase of BENCHMARK DC-46 :
C 1 2 3 4 5 6 7 C 34567890123456789012345678901234567890123456789012345678901234567890123456 C ------------------------------------------------|------------------------Postprocess with frequency IPLOT = 2. |POSTPROCESS PLOT FILE

II-A-66. Redefinition of Synchronous Power Frequency STATFR


POWER FREQUENCY ( PF ) is the declaration that the synchronous power frequency STATFR is to be redefined. The initial value of STATFR is defined arbitrarily in the STARTUP file, of course. But it is not convenient to alter such a critical value for occasional foreign data cases that might deviate from the local frequency. In the case of stacked data cases, it is even conceivable that different values would be required within the same disk file. So, at the beginning of each new data case, the user has the ability to alter the assumed power frequency by means of a request such as :
1 2 3 4 5 6 7 8 123456789012345 67890123456789012 34567890 1234567890123456789012345678901234567890 POWER FREQUENCY STATFR E8.0

Variable STATFR of columns 33-40 is the synchronous power system frequency in Hertz. Without such a declaration, this will normally be either 50 Hz or 60 Hz, depending upon content of the STARTUP file (which defines the variable at the start of execution ) . The interpretation of the request card confirms the user-keyed frequency STATFR, of course. This is illustrated by the following line from the solution to BENCHMARK DC-26 :
C 1 2 3 4 5 6 7 C 34567890123456789012345678901234567890123456789012345678901234567890123456 C ------------------------------------------------|------------------------New power frequency STATFR = 5.00000000E+01 Hz. |POWER FREQUENCY, 50.0,

2A - 66

II-A-67. Request to Change the Width and Spacing of dT Loop Printout


A PRINTED NUMBER WIDTH (PNW) request will format the dominant printout of the time-step loop. This involves the step number, time, and variable values, and it occurs at frequency IOUT (miscellaneous data parameter of Section II-B). Although spacing of the step number and the time are fixed, all following numbers will be of uniform width and intercolumn separation as determined by variables KOLWID and KOLSEP of the STARTUP file. Such formatting is important enough, however, that it also has been placed under user control at the beginning of each data case. The optional request in data is :
1 2 3 4 5 6 7 8 12345678901234567890 123456789012 34567890 12345678 90123456789012345678901234567890 PRINTED NUMBER WIDTH KOLWID I8 KOLSEP I8

KOLWID (cols. 33-40) is the total column width in characters, including blanks that separate columns. KOLSEP (cols. 41-48) is the number of blank characters separating nonblank numbers. The interpretation of the request card confirms the two user-keyed integers KOLWID and KOLSEP, of course. This is illustrated by the following line from the solution to BENCHMARK DC-26 :
C 1 2 3 4 5 6 7 C 34567890123456789012345678901234567890123456789012345678901234567890123456 C ------------------------------------------------|------------------------Width of time-step loop numbers. W=13 S=2 |PRINTED NUMBER WIDTH, 13,

II-A-68. Initialization of Random Number Generator of STATISTICS


A single floating-point number is required to initialize the random number generator of Monte Carlo ("STATISTICS") studies as well as other uses (TACS, SPY APPEND, the pocket calculator, and MODELS). The experienced user can define this seed, SEEDRN, using a RANDOM NUMBER GENERATOR SEED ( RNGS ) request as follows :
6 7 8 4 5 1 2 3 12345678901234567890123456789012 345678901234567890123456 789012345678901234567890 RANDOM NUMBER GENERATOR SEED SEEDRN E24.0

Installation-dependent complications are possible although not yet an important issue as this paragraph is reviewed during November of 2002. As long as all computers involve 32-bit integers, 24 bytes of decimal precision should be adequate to seed the 32-bit number-generating algorithm, which dates to the mid-'80s. The user is forewarned, however, that an upgrade would be appropriate upon use of a computer and PC that uses 64-bit integers. Using 64 bits, repetition should be practically impossible. But a change to the code of RANDNZ will be required. Although not yet illustrated by any standard test case, interpretation is as shown below. Note that this output confirms the seed within 11 decimal digits (generally inadequate; a 64-bit variable for SEEDRN allows 16 or 17 decimal digits ) : 2A - 67

C 1 2 3 4 5 6 7 C 34567890123456789012345678901234567890123456789012345678901234567890123456 C ------------------------------------------------|------------------------Store new dice seed SEEDRN = .74280517926 |RANDOM NUMBER GENERATO ...

II-A-69. Position .PL4 Plot File on LUNIT4 Ready for 1st Time Step
Special positioning is required if new simulation numbers are to be written immediately following existing header information of an old .PL4 plot file that is either UNFORMATTED or FORMATTED in nature. Note that the newer and more efficient C-like alternatives require no such request. Assuming that an UNFORMATTED or FORMATTED plot file already is connected to I/O unit number LUNIT4 (variable defined by STARTUP), the user request for positioning ready for the dT loop is :
2 3 4 5 6 7 8 1 123456789012345 67890123456789012345678901234567890123456789012345678901234567890 READ PL4 HEADER

The usual application will involve START AGAIN which otherwise would create a plot file without the header information that is needed for later plotting. By means of the READ PL4 HEADER (RPH) request, a complete, self-contained plot file can be produced by the START AGAIN simulation. An example can be found in the 4th subcase of BENCHMARK DC-40, which uses the header produced by the 2nd subcase of BENCHMARK DC-24. Note that no plot points from the first simulation will be preserved, however. Illustrative interpretation comes from the solution to BENCHMARK DC-40 :
C 1 2 3 4 5 6 7 C 34567890123456789012345678901234567890123456789012345678901234567890123456 C ------------------------------------------------|------------------------REWIND LUNIT4 plot file, then read the header. |READ PL4 HEADER

Historical note: READ PL4 HEADER was devised for sequential .PL4 files. These came first (the middle '80s). For sequential files, special code to position the file is very important. Although practical use involved UNFORMATTED files, the FORMATTED case should be comparable (although it is little used because of larger file size and slower I/O). Later introduction of C-like files made the positioning trivial, and did away with the need for READ PL4 HEADER. Today (November, 2002), the alternative STATUS=OVERLAY on the $OPEN card should perform the same function for C-like data. BENCHMARK DC-40 for Salford EMTP shows that the READ PL4 HEADER declaration has been removed by commenting. An in-line comment explains that it "messes up C-like usage of PL4."

II-A-70. Request for Relative Allocation of Total TACS Storage


Before using RELATIVE TACS DIMENSIONS ( RTD ), understand the preceding ABSOLUTE TACS DIMENSIONS ( ATD ), which provides the more common way to allocate use of the total TACS storage. Also realize that relative TACS dimensioning is not supported by any F95 ATP version, for which it has no meaning because total TACS storage is not defined. The second way to allocate total TACS storage is with a request for relative sizing. That is, rather than request a specific number of function blocks, supplemental variables, etc., the user can simply request a 2A - 68

proportional allocation (e.g., 5% of the total storage for function blocks, etc.). The special-request card is to be followed by one data card bearing the 9 proportions, which will be read as 9I8 data :
1 2 3 4 5 6 7 8 123456789012345678901234 56789012345678901234567890123456789012345678901234567890 RELATIVE TACS DIMENSIONS 1 2 3 4 5 6 7 8 12345678 90123456 78901234 56789012 34567890 12345678 90123456 78901234 56789012 234567890 K1 I8 K2 I8 K3 I8 K4 I8 K5 I8 K6 I8 K7 I8 K8 I8 K9 I8

In theory, this is simple enough. But one practical problem with this second alternative for sizing TACS tables is this: the user has no intuitive feeling for the relative space that is occupied by the different tables. To aid the user, the following is an approximate correspondence between nominal (default) absolute dimensions and the proportions that produced them : Absolute size Relative size 20 11 90 15 100 7 20 7 30 3 250 8 300 21 60 28 4 1

This applies to translations having integers that are half as long as floating-point variables. Note that the INTEGER*4 and REAL*8 storage in common use today (November, 2002) satisfies this condition. Proportions would be a little different for computers that store floating-point variables in words of the same length as integers. This might be an issue soon, with 64-bit microprocessors on the horizon. RELATIVE TACS DIMENSIONS was added to the 6th subcase of BENCHMARK DC-21 on 10 November 2002 simply for completeness. It does not change the output significantly, and is ignored by F95 ATP (e.g., Lahey) use. In any case, interpretation will be illustrated using the following output. Note that values of just the first 3 of the 9 input numbers are confirmed :
1 2 3 4 5 6 7 C 34567890123456789012345678901234567890123456789012345678901234567890123456 C ------------------------------------------------|------------------------Request to define TACS allocation proportions. |RELATIVE TACS DIMENSIONS TACS proportions. 1.10E+01 1.50E+01 7.00E+00 | 11 15 7

II-A-71. Ignore Mutual Coupling During Node Renumbering


RENUMBER WITHOUT COUPLING ( RWC ) was introduced to speed execution using data that involve extremely large numbers of coupled conductors. Use first was described in the January, 1999, newsletter. For anything close to the 400 coupled coils that have been used for internal transformer modeling, renumbering of network nodes may pose a sizable bottleneck. Yet, the burden of renumbering is easily bypassed, and the resulting simulation speed might not be noticeably affected. To avoid node renumbering (which means that nodes will be numbered in the order they are encountered during data input), use the declaration :

2A - 69

1 2 3 4 5 6 7 8 1234567890123456789012345 6789012345678901234567890123456789012345678901234567890 RENUMBER WITHOUT COUPLING

Use is illustrated by the 5th subcase of standard BENCHMARK DC-5. The following interpretation is taken from this solution :
C 1 2 3 4 5 6 7 C 34567890123456789012345678901234567890123456789012345678901234567890123456 C ------------------------------------------------|------------------------Ignore coil coupling for transient renumbering. |RENUMBER WITHOUT COUPLING

Of course, data of DC-5 is far too small for such use to be practical. It is an illustration only. Just 3 time steps are simulated, but these are enough to show that the solution is unaffected (compare with the solution of the 1st subcase). Curiously, RWC actually saved memory, so presumably also accelerated the simulation slightly. From case summary statistics following the simulation, it will be seen that List 5 use decreased from 39 cells for the 1st subcase to 38 for the 5th. One fewer factor of triangularized [Y] seems to have resulted.

II-A-72. Make the Random Number Generator Predictable


REPEATABLE RANDOM NUMBERS ( RRN ) is used to seed the random number generator of ATP so that each execution will produce the same sequence of numbers. Use first was described in the October, 1998, newsletter. This English-language request and its companion TRULY RANDOM NUMBERS ( TRN ) control the same variable NSEED as the column-80 punch of the STATISTICS miscellaneous data card. But there are needs for random numbers that do not involve STATISTICS switches, so RRM is more general, and is important in its own right. Should an RRN request be part of a STATISTICS data case, RRN will override (take precedence over) the later numeric specification of NSEED in column 80. Illustrations of the REPEATABLE RANDOM NUMBERS request can be found in standard BENCHMARK DC-24 and 68. The format is simple enough :
1 2 3 4 5 6 7 8 1234567890123456789012345 6789012345678901234567890123456789012345678901234567890 REPEATABLE RANDOM NUMBERS

Interpretation requires no explanation since no parameter requires confirmation. The following can be found in either DC24.LIS or DC68.LIS :
C 1 2 3 4 5 6 7 C 34567890123456789012345678901234567890123456789012345678901234567890123456 C ------------------------------------------------|------------------------Constant seed in random number generator. |REPEATABLE RANDOM NUMBERS

II-A-73. REPLOT for Batch - Mode Plotting of Connected .PL4 File


REPLOT ( R ) is for batch-mode plotting of a previous simulation. If miscellaneous data parameter ICAT was equal to 1 or 2, then the plot data points of the previous simulation were saved on disk as a 2A - 70

permanent file. Should the user now (at some later time) wish to perform batch-mode plotting of this data, he must do two things. First, he must connect the file of raw data points of I/O channel LUNIT4 using $OPEN (see Section I-D). Second and finally, he must transfer control to batch-mode plotting by means of the following request :
1 2 3 4 5 6 7 8 123456 78901234567890123456789012345678901234567890123456789012345678901234567890 REPLOT

As an example of such usage, see the standard test case BENCHMARK DC-54 for the computer of interest. Remember that the $OPEN card is installation-dependent, in general (which is why the recommendation is "for the computer of interest"). As for interpretation, this is as follows :
C 1 2 3 4 5 6 7 C 34567890123456789012345678901234567890123456789012345678901234567890123456 C ------------------------------------------------|------------------------Request to attach and plot disk file of old data. |REPLOT

II-A-74. Convert RMS V - I Saturation Characteristic to Instantaneous B - H


The calculation of instantaneous B-H characteristics for use with Type-92 or Type-98 nonlinear reactors is not trivial, sometimes. If the user has only a curve of RMS values for voltage and current, the separate supporting program named SATURA can profitably be used. Instructions for the usage of this utility are covered in Section XIX-G. To transfer to this separate program, the following special-request card is used :
1 2 3 4 5 6 7 8 1234567890 1234567890123456789012345678901234567890123456789012345678901234567890 SATURATION

For an example of such usage, see BENCHMARK DC-13. It is from the solution to this case that the following interpretation was drawn :
C 1 2 3 4 5 6 7 C 34567890123456789012345678901234567890123456789012345678901234567890123456 C ------------------------------------------------|------------------------Request for magnetic saturation computation. |SATURATION

II-A-75. Model Overhead Line by 2nd Order Recursive Convolution


SEMLYEN SETUP ( SS ) is the request for a supporting program to model a transmission circuit using second order recursive convolution as first advocated by Prof. Adam Semlyen of the University of Toronto in Ontario, Canada. This was the first multi-phase, untransposed, frequency-dependent model in EMTP. It dates to the mid-70s. If used with care, it probably leads to the fastest smooth simulation of an overhead line. But the fixed, low order means that proper fitting is demanding. By the mid-'80s, use had been largely superceded by the newer, higher-order, and easier-to-use JMARTI SETUP (see a preceding subsection).

2A - 71

In order to represent overhead transmission lines with frequency-dependent parameters and a constant transformation matrix as required by Section IV-D-4, recourse is made to a separate supporting program. Instructions for the usage of this separate program are contained in Section XXII. The transfer to this supporting program is accomplished by the following request :
2 3 4 5 6 7 8 1 1234567890123 4567890123456789012345678901234567890123456789012345678901234567890 SEMLYEN SETUP

For examples of such usage, see BENCHMARK DC-29 and 60. It is from any solution to this data that the following fixed interpretation was drawn :
C 1 2 3 4 5 6 7 C 34567890123456789012345678901234567890123456789012345678901234567890123456 C ------------------------------------------------|------------------------2nd-order frequency-dependent line modeling. |SEMLYEN SETUP

II-A-76. Terminate Simulation at Time dT if COMPILED TACS MAKE


The SINGLE STEP IF MAKE ( SSIM ) declaration has no meaning in the absence of compiled TACS, which simulates faster because dedicated FORTRAN is used to represent the user's TACS modeling. The FORTRAN in question will be created during the first step of simulation that involves TACS if COMPILED TACS MAKE has been requested. Of course, normally a simulation would involve many time steps. But if a user wants nothing other than the FORTRAN to represent his TACS model, he can halt after one time step. This is the effect of SINGLE STEP IF MAKE ( SSIM ) . With an SSIM declaration, the user does not need to change ending time T-max on the floating-point miscellaneous data card. The format is :
1 2 3 4 5 6 7 8 1234567890123456789 0123456789012345678901234567890123456789012345678901234567890 SINGLE STEP IF MAKE

An example of such use can be found in the 6th subcase of standard BENCHMARK DCNEW-25. It is from the associated solution DCN25.LIS that the following interpretation was drawn :
C 1 2 3 4 5 6 7 C 34567890123456789012345678901234567890123456789012345678901234567890123456 C ------------------------------------------------|------------------------Halt after single step, if MAKE of compiled TACS. |SINGLE STEP IF MAKE

II-A-77. Type - 93 Reactor Converted to Hyperbolic Tangent


SMOOTH SATURATION USING TANH ( SSUT ) is a request to convert reactor data from one nonlinear ATP model to another from the piecewise-linear Type-93 saturable reactor of Section V-I into the smooth hyperbolic tangent function TANH of Section V-K. Orlando Hevia of UTN in Santa Fe, Argentina, provided a separate fitting program SFTANH to provide this service (see Section XIX-L), and SSUT connects with this fitter as first described in the January, 1998, newsletter.

2A - 72

Access to Orlando Hevia's separate fitting program requires a request that includes three optional numeric parameters. The format is as follows :
1 2 3 4 5 6 7 8 12345678901234567890123456789012 34567890 12345678 90123456 789012345678901234567890 SMOOTH SATURATION USING TANH ITMAX I8 KPL I8 DXL2 E8.0

ITMAX (columns 33-40) is an iteration limit for the fitter's optimization. Any blank or non-positive value will be internally converted to the default value of 3000. KPL (columns 41-48) is the number of steps used to vary the current numerically from zero to the peak value of interest. Any blank or non-positive value will be internally converted to the default value of 50. DXL2 (columns 49-56) is a radius in inches for the associated batch-mode graphics. These rely upon CALCOMP PLOT graphics. Any blank or non-positive value will be internally converted to the default value of 0.05 which means that data points will be marked with squares having 1/10 of an inch on each side. Note that the largest circle contained within this square has a radius of .05 inches (hence use of the term radius). Use is illustrated by the 6th subcase of standard BENCHMARK DC-13 and this includes screen graphics for those program versions that support batch-mode plotting of CALCOMP PLOT. In addition to the screen graphics, the user has the HP-GL, PostScript, and GNUPLOT alternatives. Unfortunately, interpretation of the request does not confirm any of the input parameters, which were an afterthought. The interpretation is independent of input data as follows :
C 1 2 3 4 5 6 7 C 34567890123456789012345678901234567890123456789012345678901234567890123456 C ------------------------------------------------|------------------------Fit piecewise-linear saturation with smooth TANH. |SMOOTH SATURATION USIN ...

II-A-78. Find Standler Parameters for a Type - 15 Source


The Type-15 source is for surge functions of the electric network. One of the later extensions to simple exponentials is the Standler surge function as first described in the January, 2001, newsletter. The question is, for a given surge function, what are the 3 associated Standler parameters? A fitter to produce these, was written by Orlando Hevia of UTN in Santa Fe, Argentina. Transfer to this supporting program STANDL is the result of the request :
3 4 5 6 7 8 1 2 12345678901234567890123 456789012345678901234567890123456789012345678901234567890 STANDLER SURGE FUNCTION

Associated batch-mode graphics will display the resulting Standler surge function on the screen. Since CALCOMP PLOT graphics are used for this, the HP-GL, PostScript, and GNUPLOT alternatives also should be available ( see NOHPGL, NOPOST, and NOGNU parameters within STARTUP ) .

2A - 73

An illustration can be found in the 9th subcase of standard BENCHMARK DC-13. Interpretation of the transfer has been drawn from the associated .LIS file :
C 1 2 3 4 5 6 7 C 34567890123456789012345678901234567890123456789012345678901234567890123456 C ------------------------------------------------|------------------------Orlando Hevia fits params for Type-15 Standler. |STANDLER SURGE FUNCTION

II-A-79. Request to Restart a Halted Simulation : START AGAIN


Integer miscellaneous data parameter MEMSAV will result in the dumping of EMTP memory onto disk at the conclusion of a simulation. For a single, deterministic simulation, this will be at the ending time of the simulation, t = Tmax. For a Monte Carlo (STATISTICS) study, this will be upon the completion of the final energization number NENERG. Such a simulation can be restarted at any later time by means of the following initial request :
1 2 3 4 5 6 7 8 12345678901 1234567890123456789012345678901234567890123456789012345678901234567890 START AGAIN

Actually, this is only the request to load tables from the disk file that already has been connected to I/O unit number LUNIT2 by means of a $OPEN request (see Section I-D). For an example of such usage, see BENCHMARK DC-40 for the computer of interest (due to installation-dependence of the $OPEN card). If integrity of the disk file that stores EMTP tables is important, a copy of the original file should be used, in order to prevent accidental destruction. At the present time, there is no READ-only insurance for any connected file. As the hibernating simulation is awakened, certain parameters can be changed, should the user desire this. The START AGAIN request is to be followed by an arbitrary number of cards that redefine switch and TACS source parameters, one card per component or quantity that is to be changed. The last of these is terminated by a "9999"-card (keyed in columns 5-8) : $OPEN, (etc. for control parameters) START AGAIN One card for each switch or TACS source that is to be changed 9999 There are five alternatives for the format of the cards that change the parameters of switches or TACS sources. These alternatives follow :
5 6 7 8 3 4 1 2 12345678 9012345678901234 5678901234567890 1234567890123456789012345678901234567890 J I8 T-close E16.0 T-open E16.0

1) Cols. 55-60 left blank means that a special, dedicated input structure for a switch is assumed. In the above format, "J" is the switch number, in order of data input. The switch opening time T-open will be redefined only if columns 25-40 are keyed with a positive number. More commonly, it is the closing time T-close that will be altered, for switches that are open at the end of the preceding, discontinued 2A - 74

simulation. Columns 9-24 are always read, and T-close is always redefined (blank is interpreted as a request for zero closing time). 2) Cols. 55-60 keyed with "1111." means that the data card is a TACS source card, with its usual format (except for cols. 55-60). Any blank field of such a TACS source card will result in no change to the associated source parameter. I.e., the user need key only those parameters that he actually wants to alter. 3) Cols. 55-60 keyed with "2222." means that the data card is a switch card, with its usual format (except for cols. 55-60). Any blank field of such a switch card will result in no change to the associated parameter. I.e., the user need key only those parameters that he actually wants to alter. 4) Cols. 55-60 keyed with "-1111." ---- like 2), except that all data fields are read. Here, blanks mean zeroes. 5) Cols. 55-60 keyed with "-2222." ---- like 3), except that all data fields are read. Here, blanks mean zeroes. Following the "9999" terminator (keyed in columns 5-8) that ends such change cards, the ending time TMAX can be altered by means of a MISCELLANEOUS DATA CARDS request (see a preceding subsection). Then a TIME STEP LOOP request (see a later subsection) actually transfers control to the time-step loop, to continue the suspended simulation. A few additional points might be passed along as well. Between the MISCELLANEOUS DATA CARDS and the TIME STEP LOOP requests, the user is able to place any other special requests that might be appropriate. The most commonly used is CHANGE PRINTOUT FREQUENCY to alter the frequency of the time-step loop printout. If this is done, remember that step numbers begin where the previous halted simulation left off (e.g., for TMAX = 50 msec and DELTAT = 100 microsec, the first printed step would be for number 500). The user should be aware that, although all requests might be accepted by ATP, some of the more complex ones can not possibly be honored in practice. A good illustration is FREQUENCY SCAN (see a preceding subsection). There is no way a hibernating simulation of the time-step loop possibly could be awakened and re-directed to perform a series of phasor solutions (which is what the use of FREQUENCY SCAN would imply)! Yet this is simple and obvious. More insidious are requests that would simply make erroneous or inconsistent certain parameters or controls of the restarted simulation. An example of such a potential disaster is provided by use of the ABSOLUTE TACS DIMENSIONS request (see a preceding subsection). Use of this feature would alter the pointers to the TACS tables, without changing the tables themselves (which are already built), leading to "garbage out," and most likely an operating system interrupt of some sort. Hence the user is warned to be both intelligent and skeptical about any such usage; if there are some added hidden benefits, there also are some very real limits, and some hidden traps. Be cautious! Several different input data card interpretations can be involved with the just described data. The beginning and the ending of these are fixed, and are illustrated by the following two lines from BENCHMARK DC-40 :
C 1 2 3 4 5 6 7 C 34567890123456789012345678901234567890123456789012345678901234567890123456 C ------------------------------------------------|------------------------Continuation of partial previous simulation. |START AGAIN Terminator for modified switching times. | 9999

2A - 75

In between these two, it is possible to have several different structures, of which the most common is that for altered switch closing time (alternative 1 above). Interpretation for this case confirms the three input parameters, as the following line from the solution of BENCHMARK DC-49 illustrates :
C 1 2 3 4 5 6 7 C 34567890123456789012345678901234567890123456789012345678901234567890123456 C ------------------------------------------------|------------------------Altered switch. 1 1.1990E-02 0.0000E+00 | 1 .011990

So much for single simulations. Monte Carlo studies, too, can involve START AGAIN. In this case, there are additional alternatives. To the right of the basic declaration, there can be as many as 15 integer numbers ( K1, K2, etc.) :
8 7 6 5 4 3 1 2 12345678901 ... 0 1234 5678 9012 3456 7890 1234 5678 9012 3456 7890 1234 5678 9012 3456 7890 START AGAIN K1 I4 K2 I4 K3 I4 K4 I4 K5 I4 K6 I4 K7 I4 K8 I4 K9 I4 K10 I4 K11 I4 K12 I4 K13 I4 K14 I4 K15 I4

These are the indices of already-simulated energizations that are to be ignored as the Monte Carlo study is restarted. Most commonly there will be no such numbers, of course, meaning that all previous energizations will be used. As an illustration, see the first subcase of BENCHMARK DC-40. The second and third subcase of this same file ignore one of the 3 preceding simulations by means of nonzero K1. Nonzero integers must be in increasing order, and no fields can be skipped (the first blank or zero will terminate such declarations ) . If K15 (columns 77-80) of the preceding paragraph is keyed with the special value -888, then the seed of the random number generator RANDNZ will be reinitialized to the value that existed at the start (not at the end!) of the last preceding energization. This allows a repeat of the last (generally incomplete, for such usage) energization of the preceding execution. It is useful when something went wrong and execution was terminated abnormally by ATP with some "KILL =" message. The most common usage is for cases of non-convergence of the Newton iteration for ZnO surge arresters (see Section V-E ) . Convergence is unpredictable, and the difficulty is different for each energization due to the different switching times, which give rise to different transients. Eventually there may be an energization that is aborted with an error termination KILL = 212. Whereas the troubled energization could be ignored completely (it will not be a part of the history that is saved in MEMSAV tables), the intelligent or sophisticated user probably will want to go back with a subsequent execution and exactly repeat the switching times that caused the trouble. The troubled energization might be made to converge by better control of the Newton iteration (see ZINC OXIDE of a later subsection), in which case the continuation will be continuous, without any reinitialization of the random number generator. This may be desired or required for some reason. Another reason to repeat an abortive energization is to study it further via additional printout and/or plotting. Such post-mortem examination is possible only if switching times can be duplicated exactly, and the flag K15 = -888 allows this. Note that value "-888" is not a legal energization number, so there is no confusion with the regular meaning of K15. Monte Carlo studies can combine the history of more than one preceding simulation, too. The first uses START AGAIN as just described. Immediately after this single card can come an arbitrary number of declarations for additional parts of the history. The integers have exactly the same format and meaning, although the declaration word is changed to avoid ambiguity :

2A - 76

1 2 3 4 5 6 7 8 12345678901 ... 0 1234 5678 9012 3456 7890 1234 5678 9012 3456 7890 1234 5678 9012 3456 7890 LOAD MORE SHOTS K1 I4 K2 I4 K3 I4 K4 I4 K5 I4 K6 I4 K7 I4 K8 I4 K9 I4 K10 I4 K11 I4 K12 I4 K13 I4 K14 I4 K15 I4

The energization numbers are always local to the portion being loaded, so no mental arithmetic is required. Each such declaration will be preceded by a $OPEN card to connect the new associated file to unit LUNIT2, and each of these might be (it depends on the computer being used) preceded by a $CLOSE card to disconnect the file of the preceding portion. It is critical to note that the disk file of START AGAIN is completely different in structure and size than the disk file or files of LOAD MORE SHOTS. For START AGAIN, a complete set of tables (including LABCOM of size LTLABL words) is required, as produced on unit LUNIT2 of a preceding simulation that had MEMSAV = 1 (integer miscellaneous data parameter). On the other hand, the file of LOAD MORE SHOTS consists of only switching times and extrema of each energization, as produced on unit LUNIT2 of a preceding simulation that had MEMSAV = 2. The user must remember which is which, since otherwise execution will be impossible. For an example of such usage, see the 2nd and 3rd subcases of BENCHMARK DC40. Illustrative interpretation shall be taken from the latter of these :
C 1 2 3 4 5 6 7 C 34567890123456789012345678901234567890123456789012345678901234567890123456 C ------------------------------------------------|------------------------Connect disk file to I/O unit. |$OPEN, UNIT=LUNIT2 FILE Continuation of partial previous simulation. |START AGAIN { Completed table restoration. Reset T = 1.80000000E-03 sec. Terminator for modified switching times. | 9999 { Connect disk file to I/O unit. |$OPEN, UNIT=LUNIT2 FILE= Load more Monte Carlo extrema. 3 |LOAD MORE SHOTS 3 Toggle mode of "LOAD MORE SHOTS". L2FORM = 1. |TOGGLE EXTREMA MODE Connect disk file to I/O unit. |$OPEN, UNIT=LUNIT2 FILE= Load more Monte Carlo extrema. 1 2 |LOAD MORE SHOTS 1 Toggle mode of "LOAD MORE SHOTS". L2FORM = 0. |TOGGLE EXTREMA MODE { Re Request preceding 2 miscellaneous data cards. |MISCELLANEOUS DATA CARDS

Of the 15 possible energization numbers, only the first 3 are confirmed by the interpretation, note. A maximum of 3 are shown, and the first zero entry will terminate the input list, and will not be shown as part of the interpretation. A final detail is this : The same single START AGAIN card would have been interpreted twice if the first integer K1 had been nonzero. Then the second interpretation would have been the same as that for LOAD MORE SHOTS. But since K1 of the START AGAIN card was left zero or blank, no such 2nd interpretation confirming the value of K1 is seen.

II-A-80. Subnetwork Identification with All Switches Closed at T = 0


STEP ZERO COUPLE ( SZC ) instructs the program to perform automatic subnetwork identification with all the non-grounding switches closed at time zero. Also, there will be no further subnetwork identification (normally it is a dynamic process within the time-step loop). Without this special request, the program would determine the subnetwork identification dynamically at each time step for which switching will occurred. More information on subnetwork identification can be found in Ref. 8, Vol. XIV, pages CUMA-30 to 33. The declaration has this format :

2A - 77

1 2 3 4 5 6 7 8 1234567890123456 7890123456789012345678901234567890123456789012345678901234567890 STEP ZERO COUPLE

For an example of such use, see the second subcase of BENCHMARK DC-38. It is from the solution to this subcase that the following illustrative interpretation was drawn :
C 1 2 3 4 5 6 7 C 34567890123456789012345678901234567890123456789012345678901234567890123456 C ------------------------------------------------|------------------------No nonlinear subnetwork check in DELTAT-loop. |STEP ZERO COUPLE

II-A-81. Pocket Calculator Speeds TACS Supplemental Variables


TACS POCKET CALCULATOR ( TPC ) is a request that will speed the evaluation of TACS supplemental variables by use of the pocket calculator in place of Laurent Dube's original logic within the time-step loop. Format of the request is as follows :
1 2 3 4 5 6 7 8 1234567890123456789012 3456789012345678901234567890123456789012345678901234567890 TACS POCKET CALCULATOR

Cancellation of this request also is possible. Simply append OFF at the end. This would be at the start of some following subcase for which service of the pocket calculator is not wanted. TACS POCKET CALCULATOR OFF is illustrated in the 2nd subcase of BENCHMARK DC-20. TACS POCKET CALCULATOR ON is an alternate, longer form of the TPC declaration. Appending ON has no effect at all. Yet, sometimes it is clearer to use this parallel declaration if a following data subcase turns the service off. For an illustration, see the 1st subcase of BENCHMARK DC-20. Operation of TPC first was described in the July and October, 2001, issues of the newsletter. Remember that only TACS supplemental variables will be evaluated faster; TACS supplemental devices are not affected, and neither are function blocks. As for improved speed for simple arithmetic, see the comparisons in the January, 2002, newsletter, which has a story entitled "Pocket Calc. does TACS supplemental." Each supplemental variable name must begin with a letter of the alphabet, users are warned. This is the same as for compiled TACS : FORTRAN rules are assumed, not Dube's rules. The 3rd subcase of BENCHMARK DC-18 and the 5th subcase of DC-30 illustrate TPC use. Answers should agree within the limits of roundoff error. Differences generally are not of consequence, using 64 or more bits for floating-point precision. Interpretations of both the ON and the OFF alternatives can be found in BENCHMARK DC-20. They are as follows, from the 1st and the 2nd subcases, respectively :
C 1 2 3 4 5 6 7 C 34567890123456789012345678901234567890123456789012345678901234567890123456 C ------------------------------------------------|------------------------TACS supplemental variables compiled by POCKET. |TACS POCKET CALCULATOR ON Cancel preceding TPC use. Back to Dube supplem. |TACS POCKET CALCULATOR OFF

2A - 78

II-A-82. Request to Redefine Limit on Number of TACS Warning Messages


TACS WARN LIMIT ( TWL ) is a request that allows management of warning messages that might be issued by TACS early during a simulation. There are special cases for which certain TACS warning messages are a nuisance. An example is the frequency sensor, which might produce many warning messages before steady-state operation is reached during hvdc initialization. Such warning messages can be limited in total number, and also suppressed completely before a certain starting time, by means of the following request :
1 2 3 4 5 6 7 8 123456789012345678901234 56789012 34567890 1234567890123456789012345678901234567890 TACS WARN LIMIT LIM I8 T-beg E8.0

Here LIM is the limit on the number of TACS warning messages that will be displayed, and T-beg is the time before which all TACS warnings are ignored (and not counted toward the limit LIM). The interpretation of this request card confirms the two user-keyed integers, of course. This is illustrated by the following line from the solution to the second subcase of BENCHMARK DC-18 :
C 1 2 3 4 5 6 7 C 34567890123456789012345678901234567890123456789012345678901234567890123456 C ------------------------------------------------|------------------------Warning controls. LIM, T-beg = 5 1.00E+00 |TACS WARN LIMIT, 5, 1.0,

II-A-83. Request for Transfer to the Time-Step Loop


TIME STEP LOOP ( TSL ) is a request that is used after START AGAIN to awaken the hibernating simulation by a transfer of control to the time-step loop. I.e., TSL actually resumes the simulation. The format is :
1 2 3 4 5 6 7 8 12345678901234 567890123456789012345678901234567890123456789012345678901234567890 TIME STEP LOOP

Illustrations of the use of TSL can be found wherever START AGAIN is used: BENCHMARK DC-40 and 49. Input data interpretation is as follows :
C 1 2 3 4 5 6 7 C 34567890123456789012345678901234567890123456789012345678901234567890123456 C ------------------------------------------------|------------------------Transfer control to the time-step loop. |TIME STEP LOOP

II-A-84. FORMATTED vs. UNFORMATTED for LOAD MORE SHOTS


TOGGLE EXTREMA MODE ( TEM ) is the command to switch between the two alternative formats of extrema data. The default setting for the disk files of Monte Carlo extrema is UNFORMATTED, so if this 2A - 79

is what is wanted when using LOAD MORE SHOTS, no extra request should appear. But before loading a FORMATTED file of extrema, the following request must be used to inform the program of the mode change :
2 3 4 5 6 7 8 1 1234567890123456789 0123456789012345678901234567890123456789012345678901234567890 TOGGLE EXTREMA MODE

Should a subsequent file be UNFORMATTED, a second application of the request will be required to return to the default setting. There is no limit on the number of mode changes. For an illustration, see the 2nd and 3rd subcases of BENCHMARK DC-40. Interpretation confirms the new (just-modified) status, with associated variable L2FORM = 0 indicating UNFORMATTED and L2FORM = 1 indicating FORMATTED. Illustrative interpretation comes from the first usage within the solution to BENCHMARK DC-40 :
C 1 2 3 4 5 6 7 C 34567890123456789012345678901234567890123456789012345678901234567890123456 C ------------------------------------------------|------------------------Toggle mode of "LOAD MORE SHOTS". L2FORM = 1. |TOGGLE EXTREMA MODE

II-A-85. Seed the Random Number Generator Using Date and Time
TRULY RANDOM NUMBERS ( TRN ) is the alternative to REPEATABLE RANDOM NUMBERS ( RRN ) as described in a preceding subsection. A TRN request can be used to cancel a previous RRN request, or override the following input of NSEED from column 80 of the statistics miscellaneous data card.
1 2 3 4 5 6 7 8 12345678901234567890 123456789012345678901234567890123456789012345678901234567890 TRULY RANDOM NUMBERS

In theory, using the date and time to seed the random number generator should result in truly random numbers. A second execution using the same data should produce different results (assuming that the random number generator affects modeling ) . Illustrations of the TRULY RANDOM NUMBERS ( TRN ) request can be found in standard BENCHMARK DC-24 and 68. However, the declaration either has been commented out, or is cancelled by an RRN declaration on the following line. This is in order that answers will be repeatable, thereby making verification easier. Interpretation requires no confirmation of parameter value. The following declaration and immediate cancellation are from the solution to BENCHMARK DC-68 :
C 1 2 3 4 5 6 7 C 34567890123456789012345678901234567890123456789012345678901234567890123456 C ------------------------------------------------|------------------------Date and time seed the random number generator. |TRULY RANDOM NUMBERS Constant seed is put in random number generator. |REPEATABLE RANDOM NUMBERS

2A - 80

II-A-86. Truncate Output Lines after Formation Using Width KOL132


TRUNCATE OUTPUT LINES ( TOL ) limits the width of output to the .LIS file. Normally, the STARTUP file will supply the line width for LUNIT6 output text using variable KOL132. But the user might want to truncate to this width the output after it has been formed in order to make it even narrower. This is possible, if variable KUTOFF is defined to be less than KOL132. The request has the following format :
5 6 7 8 4 1 2 3 12345678901234567890123456789012 34567890 1234567890123456789012345678901234567890 TRUNCATE OUTPUT LINES KUTOFF I8

Sample usage can be found in the 5th subcase of BENCHMARK DC-66, which truncates the 132column output of two short error messages to 125 columns. Illustrative interpretation, taken from the solution to this data set, is as follows :
C 1 2 3 4 5 6 7 C 34567890123456789012345678901234567890123456789012345678901234567890123456 C ------------------------------------------------|------------------------Override KOL132 of STARTUP with KUTOFF=125. |TRUNCATE OUTPUT LINES, 12

II-A-87. Determine Parameters of Type - 15 Exponential Surge Function


TWO EXP SURGE FUNCTION ( TESF ) is the request to transfer to a fitting program named TWOEXP by Orlando Hevia of UTN in Santa Fe, Argentina. The January, 2001, newsletter story about Standler mentioned other alternatives, and Hermann Dommel's original, 2-exponential surge function is one of these. Orlando Hevia will optimize the selection of associated parameters.
1 2 3 4 5 6 7 8 1234567890123456789012 3456789012345678901234567890123456789012345678901234567890 TWO EXP SURGE FUNCTION

Sample usage can be found in the 12th subcase of BENCHMARK DC-13. Illustrative interpretation, taken from the solution to this data set, is as follows :
C 1 2 3 4 5 6 7 C 34567890123456789012345678901234567890123456789012345678901234567890123456 C ------------------------------------------------|------------------------Orlando Hevia fits params for Type-15 Two EXP. |TWO EXP SURGE FUNCTION

II-A-88. Pass Any U. M. Output Variables to Type - 92 TACS Sources


UM TO TACS ( UTT ) is the request that is required to interface one or more uncommon U.M. output variables with Type-92 sources of TACS. Use this variable interface if the user instructions of Chapter IX do not offer all fixed interfaces that are required.

2A - 81

It is possible to pass any U.M. output variable to TACS. But the original, simplest implementation had the following limitation: the TACS variable that is to be defined by the U.M. must be a Type-92 TACS source of the same name (the second of the two 6-character names that identify the U.M. variable). Second, the program must be alerted to the user's desire for such control by means of a declaration reading :
2 3 4 5 6 7 8 1 1234567890 1234567890123456789012345678901234567890123456789012345678901234567890 UM TO TACS

Note that the U.M. variable being passed must be a U.M. output variable. However, there is no requirement of this type within TACS, where output is optional. Since nothing was done to identify the correct U.M. in the case of two or more machines, the attentive reader might have concluded that there is a limitation to just a single machine. But limitations are not this restrictive. In fact, the connection logic will match a Type-92 source with the first U.M. output variable having the requested name. As long as the desired variable is the first, it does not matter what the machine number might be. Beginning in August of 1993, two or more U.M. variables of the same name were allowed as summarized in the October, 1993, newsletter. The TACS source card does not otherwise use columns 41-52, so this space has been reserved for the machine variable as 2A6 information. E.g., "UM-1 OMEGM " for the mechanical radian speed of the first machine. If columns 41-52 are used (i.e., are non-blank), then the TACS source name of columns 3-8 is arbitrary. Comment cards within BENCHMARK DCNEW-10 explain this, and the line that begins with "92FIELD" illustrates use. A limitation has to do with initial conditions : there will be no transfer of values on step zero (for time zero). This is because the transfer is done within the TACS code of the time-step loop, and this code is not called for step zero. If the resulting discontinuity at time zero bothers the user, he is free to supply the initial conditions for the TACS variables manually, of course. An example of the just-explained declaration is provided by BENCHMARK DCNEW-10, to which TACS modeling was added solely to receive U.M. variables. It was from this solution that the following interpretation was drawn :
C 1 2 3 4 5 6 7 C 34567890123456789012345678901234567890123456789012345678901234567890123456 C ------------------------------------------------|------------------------Send U.M. outputs to any Type-92 TACS sources. |UM TO TACS { Declaration

II-A-89. Ensure that Type - 91 or 93 TACS Sources Are Unique


UNIQUE TACS SWITCH ( UTS ) is the declaration that is required to protect against an ambiguous definition of a Type-91 or 93 TACS source. Either source depends on a switch, and the user is allowed to identify this by naming one of its two terminal nodes. Unfortunately, this might not be unique. There are two terminal nodes, and more than one switch might be connected to the same node. To protect against such ambiguity of switch identification, make the request :

2A - 82

1 2 3 4 5 6 7 8 123456789012345678 90123456789012345678901234567890123456789012345678901234567890 UNIQUE TACS SWITCH

In the absence of such a request, the first switch (in order of data input) that touches the named node will be accepted. But for any program dated 28 April 2003 or newer, a new warning message should document alternatives. For an illustration, see BENCHMARK DCNEW-15 as first explained in the July, 2003, newsletter. The 6-character switch name could be used in place of a terminal node name, and this would remove ambiguity in the specification of an associated switch. This is the safer way to specify a Type-91 or 93 TACS source. But not many users who assemble ATP data bother to name their switches. The UNIQUE TACS SWITCH ( UTS ) request, if added to data that produces the just-mentioned warning, will result in an error message of the form: "KILL = 42. ... the TACS source that is defined by a switch touching node ... is not unique ... so execution is being halted." Sample usage can be found in BENCHMARK DC-22. Illustrative interpretation, taken from the solution to this data set, is as follows :
C 1 2 3 4 5 6 7 C 34567890123456789012345678901234567890123456789012345678901234567890123456 C ------------------------------------------------|------------------------Halt if TACS Type-91 or 93 source is not unique. |UNIQUE TACS SWITCH { Halt ...

II-A-90. Use Xusheng Chen's 3 - phase Transformer Model


USE SEATTLE XFORMER ( USX ) is the declaration that is required for access to the 3-phase, saturable transformer model of Prof. Xusheng Chen of Seattle University in Seattle, Washington, USA. Background can be found in the January, 1993, newsletter. The declaration itself is :
1 2 3 4 5 6 7 8 1234567890123456789 0123456789012345678901234567890123456789012345678901234567890 USE SEATTLE XFORMER

However, there are plenty of restrictions, a user is warned. First, an input data file name must follow the preceding request word, separated by a comma (more generally, the free-format data separator symbol). I.e., free-format data input is assumed; it is not an option as with most other requests. There is no fixed-format alternative for the USX request, and that is why the preceding card image did not show the file name. Another important restriction: the number of coupled windings is fixed at 6 = 3 * 2 where 3 is the number of phases. That is, a 2-winding transformer can be represented whereas a 3-winding transformer (i.e., with tertiary windings) can not without simplification (approximation) of the data. In fact, that GPU Stolle Road transformer of BENCHMARK DC-31 involves 3 windings as shown in the 2nd subcase. Prof. Chen removed the tertiary to allow use of his model (see the 3rd subcase). Yet another important restriction is this: no more than one Chen transformer can be used in any particular data case. Data must begin with a conventional Pi-circuit (see Section IV-B) which establishes the coils of the single transformer. I.e., the first phase of the Pi-circuit is the first coil of the transformer, etc. More 2A - 83

than just connectivity, the Pi-circuit will be used to represent the transformer during any steady-state phasor solution to establish initial conditions of the network. For an illustration, see the 3rd subcase of BENCHMARK DC-31. The following interpretation has been copied from DC31.LIS :
C 1 2 3 4 5 6 7 C 34567890123456789012345678901234567890123456789012345678901234567890123456 C ------------------------------------------------|------------------------Name of disk file for Prof. Chen`s transformer. |USE SEATTLE XFORMER, dc31

Data describing Prof. Chen's transformer is too involved and too specialized to be inserted in this Rule Book at this time. Any reader who has interest is advised to obtain a copy of Prof. Chen's final report and use the instructions that are contained therein. The April, 1993, newsletter states: "The 120-page final report from Prof. Xusheng Chen of Seattle University was reprinted by BPA and made available to the general public ... BPA mailed copies by air to 14 cooperating contacts (including the 7 foreign user groups and 2 individual developers)." Simply to give a general idea of data structure, consider the 14 input data cards of the DC-31 illustration. The following is from DC31CHEN.DAT and it applies to that 115:345 kV GPU Stolle Road transformer :
C (1) C C C C C C C C C C C C C C C C SPOS, VR1, VR2 500. 115.00 345.00 (2) IEXPOS, LEXPOS, XPOS12 .0060 .0030 .12317 (3) FREQ, FREQPU, V1PU 60.000 1.000 1.000 (4) EPSPY, EPSZC, R1, R4 .000010 .000100 .001290 .001290 (5) FIEXP, RFIEXP, R7, CXMER, PAP FIVE-SLOPE REPRESENTATION: 1457.32 900.00 333.14 .00000 0. (6) Y0(I), I=1,6 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 (7) S1, S4, S6, S7 1.000 5. 4. 4. (8) LEN1, LEN4, LEN6, LEN7 1.000 1000. 1000. 1000. (9) P8, P9, P10, DT 1000. 1000. 1000. .0100 (10) KT, KP, KW 2000 10 1 (11) BB0, BB1, BB2, BB3, BB4 FIVE-SLOPE REPRESENTATION: 1.4142 1.5558 1.6404 1.8527 2.2000 (12) HH0, HH1, HH2, HH3, HH4 8.4853 39.7575 94.3742 638.19 1530.00 (13) Binary flags to request flux outputs: 1 1 1 1 1 1 (14) Binary flags to request coil current outputs: 1 1 1 1 1 1 3456789012345678901234567890123456789012345678901234567890

An alternative to the preceding Chen transformer model was provided by Prof. Donald Stuehm at North Dakota State University (NDSU). Any reader who has interest in the Chen model should be aware of this alternative. Mention is being placed here simply because there is no Rule Book section about the NDSU model. Why? Because no special new component or data is required. This is the strength of the NDSU model: it involves an interconnection of existing, old, proven components rather than new modeling. A summary can be found in the story entitled "3-phase Xformer modeling in Fargo" in the January, 1993, newsletter. This states: "A Table of Contents and Outline of the final report from NDSU was 2A - 84

disseminated on February 12th as the bulk of a 7597-byte E-mailing of the Fargo list server. Later that same day, a second server message informed the general public that the oral presentation would be held here in Portland ... Dr. Donald Stuehm, Professor at NDSU and Principal Investigator for the project, did make the presentation ... BPA expects to reprint copies of the 100-page final report and mail them to its primary EMTP contacts (including foreign user groups) when a final copy is available." This was done, and for several years BPA distributed a free copy to anyone having interest. Warning : data for any 3-phase transformer model generally is unavailable. The October, 1996, newsletter contains writing about the problem : "In its simplest form, a transformer of any number of phases can be modeled by Type-51, 52, etc. branches [Z] = [R] + j w [L] . Any number of these can be interconnected arbitrarily, and mixed with nonlinearities. A good illustration of this is the NDSU transformer model of Prof. Don Stuehm ... The challenge was not with ATP, but rather with gathering of the data. For Prof. Stuehm, graduate student Bruce Mork, and others, this required innovative measurement on actual distribution transformers in the NDSU high-voltage laboratory. But when might such measurements be made on high-power devices (i.e., hundreds of MVA rather than KVA)? This would be for sophisticated, multi-phase, saturable transformer models. If such data is not available, simpler models must be used, of course." Although only the NDSU model was mentioned, this 1996 comment is applicable to the Chen transformer model, too. Time has not ameliorated the problem, either. As this paragraph is being written during November of 2002, data is less available than ever. Whereas in 1994 BPA had hoped to pay Prof. Stuehm to collaborate on the measurement of high-power BPA devices, this project rapidly became a casualty of BPA reorganization and cost-cutting. Then a primary advocate, Robert Hasibar, died (1998). The hope at BPA has disappeared. Manufacturers might be able to provide parameters for either the Chen or the NDSU model, but such data generally is not available to customers free of charge. As a result, few ATP users ever will have practical application for either model. A decade later, this seems to be the hard reality of usage.

II-A-91. Begin TPPLOT Data for Concurrent Plotting


USE TPPLOT BEGIN ( UTB ) is the declaration that introduces TPPLOT data for concurrent plotting. I.e., screen graphics as the simulation progresses; a rolling (essentially continuous) plot. The request itself is trivial :
1 2 3 4 5 6 7 8 1234567890123456 7890123456789012345678901234567890123456789012345678901234567890 USE TPPLOT BEGIN

Unfortunately, this feature is installation-dependent because TPPLOT is the interactive plotting program that runs under the MS-DOS extender Salford DBOS. Any other ATP version should ignore any attempted use because NOTPPL in STARTUP should have value unity ("no TPPLOT"). For any program version, if NOTPPL = 1, TPPLOT data will be ignored. The following Illustrates interpretation of data using DC1.LIS :
C 1 2 3 4 5 6 7 C 34567890123456789012345678901234567890123456789012345678901234567890123456 C ------------------------------------------------|------------------------Request that precedes TPPLOT initialization. |USE TPPLOT BEGIN { The Ignore TPPLOT data since NOTPPL=1 in STARTUP. |PL4 { Access to plot < < Etc. (remove some 20 lines of interior TPPLOT commands) > >

2A - 85

Ignore TPPLOT data since NOTPPL=1 in STARTUP. Marker that follows the last TPPLOT data card.

|TIME 0 .02 { The first |USE TPPLOT END { The 2nd

That was for rejection of the TPPLOT data. The other ATP alternative is acceptance. If NOTPPL is given the value zero in STARTUP, interpretation will appear as above except that the uniform interior interpretation will be changed to :
Next input for TPPLOT (use as dT-loop begins). |

Use of TPPLOT for concurrent plotting is illustrated by BENCHMARK DC-1 (where superposition and offsetting are used to separate 9 signals) and DC-63 (where WINDOW plotting provides the separation). As summarized in the October, 1994, newsletter, operation using Salford EMTP is simple enough: "This is illustrated by DC-1, which has been enhanced to provide for the graphic monitoring of 9 signals ... The interested reader is advised to simulate in the batch mode: RUNTP DISK DC1. * -R Then sit back, and watch the graphic action. There will be 10 frames (or pages) of 20 msec each to cover the total simulation time of 200 msec. Of course, simulation is slowed by the graphics. Whereas with no plotting the total job time is about 71 seconds on your Editor's 33-MHZ AT&T 486, this rises to about 105 with the rolling plot. A <CR> is required to exit the time-step loop once the simulation is finished. Completion will be noted by a single diagnostic line at the top of the final graph."

II-A-92. End TPPLOT Data for Concurrent Plotting


USE TPPLOT END ( UTE ) is the declaration that is used to terminate TPPLOT data that is used for concurrent ATP plotting. See the preceding subsection for a description that includes interpretation of this bounding line. For completeness, the request is :
2 3 4 5 6 7 8 1 12345678901234 567890123456789012345678901234567890123456789012345678901234567890 USE TPPLOT END

II-A-93. 6 - Character User Identification Overrides USERID of STARTUP


Normally, the STARTUP file will supply the 6-character user identification USERID. But the user may want to override this for some reason. The most important case is for parallel Monte Carlo simulations, where different processes are identified in the CENTRAL STATISTICS FILE by different USERID. Rather than require different STARTUP files, the following special-request word can be used to re-define USERID :
1 2 3 4 5 6 7 8 12345678901234567890123456 789012 345678901234567890123456789012345678901234567890 USER IDENTIFICATION USERID A6

2A - 86

Remember that USERID is text, so for the common situation having STARTUP variable KINSEN = 1, lower case will be maintained only if an "!" is added. Interpretation is illustrated by the solution to BENCHMARK DC-66, from which "Paris " unfortunately has been clipped on the right :
C 1 2 3 4 5 6 7 C 34567890123456789012345678901234567890123456789012345678901234567890123456 C ------------------------------------------------|------------------------Override USERID of STARTUP with "Paris ". |USER IDENTIFICATION

II-A-94. User Supplied Switch Times for Monte Carlo ( STATISTICS ) Study
This special request allows the user to specify the random switch closing/opening times of a Monte Carlo (STATISTICS) simulation himself, rather than have the random number generator of the program determine such times. To use this feature, one prepares data the same as for regular STATISTICS simulation except for the following two items : 1) Input a special request card to notify the program of the desired usage. The format is :
3 4 5 6 7 8 1 2 12345678901234567890123456 789012345678901234567890123456789012345678901234567890 USER SUPPLIED SWITCH TIMES

This serves to forewarn the program that switching times are to be read from a disk file that is connected to I/O unit number LUNIT8 (defined in the STARTUP file). It is the user's responsibility to connect such a disk file to LUNIT8 using $OPEN before such switching times are needed. Any place before the blank card ending source cards should always be acceptable. But for clarity, it is recommended that the $OPEN precede the USER SUPPLIED SWITCH TIMES request. 2) Specify the switch closing times (T-close) and opening times (T-open) for all the switches. This is done energization by energization in a data file that is to be connected to I/O unit number LUNIT8. Values are to be keyed using 5E15.0 formats, for as many cards as may be required (more than one card per energization if there are more than 5 switches in the network). For each energization, data begins with a single comment card, which is to be followed by switch closing times, which are to be followed by switch opening times, as follows :
1 2 3 4 5 6 7 8 12345678901234567890123456789012345678901234567890123456789012345678901234567890 C Arbitrary 80-column comment line to separate the energizations visually

1 2 3 4 5 6 7 8 123456789012345 678901234567890 123456789012345 678901234567890 123456789012345 67890 1st switch T-close E15.0 2nd switch T-close E15.0 3rd switch T-close E15.0 4th switch T-close E15.0 5th switch T-close E15.0

2A - 87

1 2 3 4 5 6 7 8 123456789012345 678901234567890 123456789012345 678901234567890 123456789012345 67890 1st switch T-open E15.0 2nd switch T-open E15.0 3rd switch T-open E15.0 4th switch T-open E15.0 5th switch T-open E15.0

Note that each switch contributes such entries, whether the switch is random or deterministic. Yes, this involves redundancy, but it was simplest to program. Construct such a set of switching times (closing and opening) for each energization of the Monte Carlo study, and precede each by an arbitrary 80column comment line (upon which the energization number should be keyed for clarity). Then stack such cards in order. I.e., the first-keyed set will be used for the 1st energization, the 2nd set for the 2nd energization, etc. For an example of such usage, consider the second subcase of BENCHMARK DC-24, which connects the disk file DC24LUNIT8.DAT (for systems permitting such a long name) to I/O unit number LUNIT8. The first of the subcases of DC-24 involved the rolling of dice to determine the random switch closing times for each of the three energizations. Of course, the dice are "loaded" or "fixed" so that results are repeatable (important for test cases). The second subcase of DC-24 bypasses the dice, and instead reads desired switching times from LUNIT8. Since the file DC24LUNIT8.DAT was constructed using the same switching times as result from simulation of the first subcase, the two solutions should agree exactly. The second subcase adds a base case solution for variety, but that difference is unimportant for the subject of current interest. There is no interpretation of the card images of switching times that are read from I/O unit number LUNIT8. However, the special-request card will be interpreted as follows :
C 1 2 3 4 5 6 7 C 34567890123456789012345678901234567890123456789012345678901234567890123456 C ------------------------------------------------|------------------------Random switching times read from LUNIT8 channel. |USER SUPPLIED SWITCH TIME

Since there is no output of the LUNIT8 records themselves, the alert user will randomly verify several switching times from the values that precede each energization ("Random switching times for energization number XX :"). He also should confirm the just-shown request card, since without this, dice will be rolled and the user's data file would be totally ignored. The user should not be fooled by the standard 1/3 of a page of Monte Carlo text that precedes the energizations. There also will be the usual explanation of uniform or Gaussian distributions, of course, and none of this applies to the user's case. Only the user knows what, if any, distribution applies to his own customized switching times that are defined in the LUNIT8 file.

II-A-95. Protect U. M. Data Against Overlap with 1 - Phase Compensation


VERIFY U.M. COMPENSATION ( VUMC ) will protect the user against the presence of a conflict of compensation, should the U.M. solution involve compensation rather than prediction (see Chapter IX). Each U.M. that uses compensation is assumed by ATP to be isolated in its own disconnected subnetwork. In the same subnetwork, there must not be any single-phase element that uses compensation (e.g., Type-92 ZnO). Of course, subnetwork identification is dynamic (within the time-step loop, whenever a switch changes status), so a problem can not be known ahead of time, in general. If protection against an overlap of U.M. compensation is wanted, the user must request it as follows : 2A - 88

1 2 3 4 5 6 7 8 123456789012345678901234 56789012345678901234567890123456789012345678901234567890 VERIFY U.M. COMPENSATION

This protection first was explained in the January, 2000, newsletter, which states that it became effective on 23 May 1999. Should overlapping compensation be detected, a KILL = 9 error termination should result as demonstrated by the 6th subcase of BENCHMARK DCNEW-16. Interpretation of the VUMC declaration is taken from the solution DCN16.LIS :
C 1 2 3 4 5 6 7 C 34567890123456789012345678901234567890123456789012345678901234567890123456 C ------------------------------------------------|------------------------Check for U.M. compensation overlap with List 9. |VERIFY U.M. COMPENSATION

II-A-96. Scale Voltage Sources by Arbitrary Factor ( Typically 1K )


VOLTAGE SOURCES IN KV ( VSIK ) is the request to have all amplitudes of voltage sources of the electric network scaled by an arbitrary positive factor FACTVI. The format is :
5 6 7 8 4 1 2 3 12345678901234567890123456789012 34567890 1234567890123456789012345678901234567890 VOLTAGE SOURCES IN KV FACTVI E8.0

FACTVI of columns 33-40 can be left blank if the user wants a factor of 1000 (the default value). I.e., as illustrated in the 4th subcase of DC-37, the user makes any voltage source amplitude smaller by this factor. No question, voltages in kV are more convenient numbers than voltages in volts. With care (beware of nonlinear elements), ATP will supply the implied factor of 1000. Output variables will be in kV and kA (the latter being for currents). Compare the solution of the 4th subcase of DC-37 with the 1st. Better yet, modify the data of the 4th in two ways : 1) remove the VSIK declaration; and 2) multiply the source amplitude by 1000. Then simulate this modified data and compare the resulting .LIS file with the standard solution to the 4th subcase. FACTVI shown here is the same variable that can be found in STARTUP. So, if the user really desires it, his decision to scale can be moved from data to the environment of execution. Yet, this is largely hidden, and is dangerous, so is not recommended as a general policy. At least a VSIK declaration is visible in the data being simulated. Of course, STARTUP will be loaded before a data case is read, so any VSIK declaration in data will override any value that has been assigned in STARTUP. Value zero in STARTUP indicates that there is to be no scaling. To cancel previous scaling, a VSIK declaration should carry special value minus one (remember zero will not do the job since it is a request for the default factor of kilo). Any scaling of program variables, including VSIK of this subsection, is not recommended by program developers. Scaling is tricky, and ATP use poses enough challenges without this added danger. On the other hand, some engineers want to deal in kV and kA and MVA instead of in volts, amperes, and watts. Tools of scaling are made available to satisfy this demand. For a discussion of VSIK, look in the October, 1997, newsletter.

2A - 89

II-A-97. Calculation of [R] and [L] to Represent a 1 - Phase Transformer


The calculation of [R] and [L] matrices to represent a transformer generally requires the use of a separate, self-contained program such as XFORMER (Section XIX-A) or BCTRAN (Section XIX-C). The first of these is the older, and it is limited to single-phase transformers. The request for it is trivial :
1 2 3 4 5 6 7 8 1234567 8901234567890123456789012345678901234567890123456789012345678901234567890 XFORMER

For an example of such usage, see BENCHMARK DC-15. The interpretation extracted from the solution DC15.LIS appears as follows :
C 1 2 3 4 5 6 7 C 34567890123456789012345678901234567890123456789012345678901234567890123456 C ------------------------------------------------|------------------------Request for transformer [R] +jw[L] computation. |XFORMER

An alternative to XFORMER is the BCTRAN program. A transfer to this once was possible from inside of XFORMER using a special parameter value 44. Traces of this can be found on a comment card near the top of DCNEW-8, which explains that this service "is no longer valid beginning 10 Oct 1987." If the user wants BCTRAN, he is advised to use the request ACCESS MODULE BCTRAN as described in an earlier subsection. For an example of such usage, see BENCHMARK DCNEW-8.

II-A-98. Threshold To Determine Whether Type 96 Has Phasor Excitation


ZERO FLUX TOLERANCE ( ZFT ) serves to define the zero or near-zero tolerance EPFLUX that is used to determine whether or not a Type-96 hysteretic inductor of Section V-D is excited during the steady-state phasor solution. EPFLUX is a flux threshold. It is important because user-supplied residual flux will be used if and only if the associated device is not excited. The request to redefine EPFLUX has the following format :
5 6 7 8 4 1 2 3 12345678901234567890123456789012 34567890 1234567890123456789012345678901234567890 ZERO FLUX TOLERANCE EPFLUX

E8.0 In the absence of a ZFT declaration, EPFLUX will be given the value EPSILN, which typically is given the value 1.E-8 in STARTUP. In turn, this starting value might be overridden by a value keyed on the floating-point miscellaneous data card (Sect. II-B-1). Unless the user has a ZFT declaration, this is the value that will be used when it is time to process hysteretic inductors following the phasor solution. This was the change beginning in March of 2001. Prior to this date, an exact zero was required for use of the residual flux as explained in the October, 2001, newsletter. Use is illustrated in the 3rd subcase of BENCHMARK DC-33. In fact, the answer did not change as a result of the ZFT addition because the tolerance being defined is equal to the default value. Interpretation logically should confirm the value of EPFLUX , but it does not : 2A - 90

C 1 2 3 4 5 6 7 C 34567890123456789012345678901234567890123456789012345678901234567890123456 C ------------------------------------------------|------------------------Max phasor flux that avoids use of residual flux |ZERO FLUX TOLERANCE

II-A-99. Parameters to Control the Newton Iteration of ZnO Arresters


Zinc Oxide (ZnO) surge arresters require branch cards as described in Section V-E. Yet no controls on the Newton iteration that is used to solve the associated nonlinear equations will be seen as part of such data. Instead, such controls are first defined in the STARTUP file. They then can be redefined by a specialrequest card having this format :
7 8 6 5 4 3 2 1 1234567890123456 78901234 56789012 34567890 12345678 90123456 78901234 5678901234567890 ZINC OXIDE MAXZNO I8 EPSZNO E8.0 EPWARN E8.0 EPSTOP E8.0 ZLIM(1) ZLIM(2) E8.0 E8.0

MAXZNO

(cols. 17-24) is the maximum number of Newton iterations that will be allowed for the solution of the surge arresters in each subnetwork. The Newton iteration will go this long unless tolerance EPSZNO is attained first. (cols. 25-32) is the convergence tolerance for the Newton iteration. All voltage corrections of the coupled elements must be smaller than this in absolute value, for the equations to be judged to be solved. A blank (zero) value is taken as a request for the value EPSILN * Vref, where EPSILN is the familiar floating-point miscellaneous data parameter of Sect. II-B-1 (1.E-8 for 64-bit program versions in common use). (cols. 33-40) is the voltage convergence tolerance for the non-fatal warning message about a "sloppy solution." A blank (zero) data field is taken as a request for the value Vref / 1000. This represents one tenth of one percent of rated voltage, then, which is about the limit of graphical resolution. (cols. 41-48) is the voltage convergence tolerance for a fatal error stop complaining about a non-converged iteration. A blank (zero) data field is taken as a request for the value Vref / 10 which is 10% of rated voltage. The current error in such a case could be astronomical, remember, due to the extreme nonlinearity ( e.g., 1.1 ** 26 = 11.9 ) . (cols. 49-56) is the maximum per unit (based on the reference voltage VREF of Section V-E usage) voltage correction at each iteration. A blank or zero is given the default value of unity. (cols. 57-64) is the maximum per unit (based on the reference voltage VREF of Section V-E usage) arrester voltage that will be permitted during the iteration. A blank or zero is changed to the default value of 1.5

EPSZNO

EPWARN

EPSTOP

ZLIM(1)

ZLIM(2)

Instead of this fixed-column specification, it may be more convenient to employ free-format input, with commas separating the data fields in question. Just be careful to use the right number of them (accurate counting is a disadvantage of free-format data that involves several parameters).

2A - 91

The interpretation of this request card confirms only the first four parameters on the card. This is illustrated by the following line from the solution to BENCHMARK DC-38 :
C 1 2 3 4 5 6 7 C 34567890123456789012345678901234567890123456789012345678901234567890123456 C ------------------------------------------------|------------------------ZnO const. 20 1.000E-08 1.000E-03 1.000E-01 |ZO, 20, , , , 0.9,,

II-A-100. Request to Fit Exponentials to ZnO Data Points


The calculation of parameters to represent ZnO surge arresters involves a separate, self-contained program ARRDAT as described in Section XIX-I. To transfer to this code, the following special-request card is used :
1 2 3 4 5 6 7 8 1234567890 1234567890123456789012345678901234567890123456789012345678901234567890 ZNO FITTER

For an example of such usage, see BENCHMARK DC-39. solution appears as follows :

The interpretation extracted from this

C 1 2 3 4 5 6 7 C 34567890123456789012345678901234567890123456789012345678901234567890123456 C ------------------------------------------------|------------------------Request to generate Type-92 ZnO branch cards. |ZNO FITTER

II-B. Miscellaneous Data Cards , Floating - Point and Integer


For simulation (but not for access to a supporting program), two types of miscellaneous data cards are required : 1) floating-point; and 2) integer. Both card types will be explained in the remainder of this section. Optional extensions to these miscellaneous data cards also exist, but they will be delayed until Section II-C.

II-B-1. Floating - Point Miscellaneous Data Card


The first non-comment card that is not recognized as any of the preceding special-request cards of Section II-A will be taken to be the floating-point miscellaneous data card, which has the following format :
1 2 3 4 5 6 7 8 12345678 90123456 78901234 56789012 34567890 12345678 90123456789012345678901234567890 DELTAT E8.0 TMAX E8.0 XOPT E8.0 COPT E8.0 EPSILN E8.0 TOLMAT E8.0

DELTAT

(cols. 1-8) is the size of the time step of the numerical integration, in seconds. Signals will be calculated at discrete instants of time that have this time separation. Taking into account the 2B - 1

Nyquist criterion, the time step preferably should be ... 1/10 of the smallest time constant of the network that is to be simulated. If nonlinear elements are involved, an even smaller time step might be advisable. Where practical, the trapezoidal rule of integration is used. For brevity, DELTAT often will be abbreviated as dT. TMAX (cols. 9-16) is the ending time of the simulation, in seconds. Except for START AGAIN data cases (see Sect. II-A), time always will begin at zero. For simulation, time will be incremented in steps of size DELTAT until TMAX has been reached. However, a nonpositive TMAX means that there will be no simulation. In simplest form, this would be a request to halt execution after the phasor solution (possibly involving a load flow to satisfy power constraints). Or, there could be a loop over frequency some type of frequency scan. (cols. 17-24) indicates whether it is inductance in millihenries or inductive reactance in ohms that is to be keyed on linear branch cards. There are two distinct cases : 1) if XOPT = 0, inductances are to be keyed in millihenries ; and 2) if XOPT > 0, then values are to be in ohms at frequency XOPT (in Hertz). In either case, remember that this choice on the miscellaneous data card can be changed at any point of the data input by means of the first parameter of a $UNITS card (Sect. I-D). (cols. 25-32) indicates whether it is capacitance in microfarads or capacitive reactance in micromhos that is to be keyed on linear branch cards. There are two distinct cases : 1) if COPT = 0, capacitances are to be keyed in microfarads; and 2) if COPT > 0, then values are to be in micromhos at frequency COPT (in Hertz). In either case, remember that this choice on the miscellaneous data card can be changed at any point of the data input by means of the second parameter of a $UNITS card. (cols. 33-40) is the near-zero tolerance that is used to test singularity of the real coefficient matrix within the time-step loop. A blank or zero value means that the value of the STARTUP file will be used. For 64-bit (REAL*8) computation that is common today, a default value of 1.E-8 is typical. Historically, work began using 36-bit computation, for which a default value of 1.E-5 was typical. Since 64 bits is equivalent to about 16 decimal digits, EPSILN can be made smaller than 1.E-8 (1.E-10 or 1.E-11 usually will not confuse the intelligent user). (cols. 41-48) is the near-zero tolerance that is used to test singularity of the complex admittance matrix [Y] of the steady-state, phasor solution. A non-positive value will be taken as a request for value EPSILN (see preceding parameter). Note that unlike EPSILN, TOLMAT is not defined in the STARTUP file, however.

XOPT

COPT

EPSILN

TOLMAT

If scientific notation is used for any of the preceding parameters, the value must be right-adjusted within its data field. Otherwise, the following error message should result : "KILL = 97. An E-field number that is not right-adjusted within its data field has been detected ..."

II-B-2. Integer Miscellaneous Data Card


The just-described floating-point miscellaneous data card is to be followed by an integer miscellaneous data card bearing the following information :

2B - 2

1 2 3 4 5 6 7 8 12345678 90123456 78901234 56789012 34567890 12345678 90123456 78901234 56789012 34567890 IOUT I8 IPLOT I8 IDOUBL I8 KSSOUT I8 MAXOUT I8 IPUN I8 MEMSAV I8 ICAT I8 NENERG I8 IPRSUP I8

IOUT

(cols. 1-8) gives the frequency of LUNIT6 (printed) output within the time-step loop. E.g., a value of 3 means that every 3rd time step will be printed. A value of zero or blank is changed to unity. For a frequency scan, it is output within the loop over frequencies that is controlled, rather than the loop over time, of course. Finally, IOUT may be modified up to 5 times during the simulation using either IPUN = -1 (see explanation below) or the equivalent CHANGE PRINTOUT FREQUENCY of Section II-A. (cols. 9-16) gives the frequency for saving solution points of the time-step loop for purposes of later batch-mode plotting and the associated .PL4 disk file. E.g., a value of 3 means that every 3rd time step will be saved. A value of zero or blank is changed to unity, and any even value is increased by one to make it odd. An even plotting frequency is not allowed because of the likelihood of deception: a saw-toothed oscillation would go unnoticed. Yet, the determined user can prevent this by insisting in the form of an ALLOW EVEN PLOT FREQUENCY declaration (see Section II-A). If ATP makes the adjustment to IPLOT, it will issue the following 1-line reminder : " >>>> Even plot output frequency IPLOT is made odd by adding one ..." A final detail is this : IPLOT may be modified up to 5 times during the simulation using CHANGE PLOT FREQUENCY of Section II-A. (cols. 17-24) controls the LUNIT6 output of a table showing network connectivity. A value of zero or blank will suppress such output, whereas unity will produce it. For each node there is shown a list of other nodes to which there are physical connections. Mutual coupling between phases of multiphase elements is ignored in this output, as is the capacitance to ground of Pi-circuits and distributed-parameter lines and cables. The name "TERRA " (as read from the STARTUP file) is used for ground instead of six blank characters, to improve readability. Ordering of the rows corresponds to order of the input data except for the final row, which applies to ground ( node number one, which is labeled "TERRA " ) . (cols. 25-32) controls printout of the steady-state phasor solution, if any. There are 3 basic types of outputs: branch flows, switch flows, and nodal injections. These can be controlled by the value of KSSOUT as follows : 0 1 2 3

IPLOT

IDOUBL

KSSOUT

! No steady-state solution printout. ! Print the complete steady-state solution: branch flows, switch flows, and source ! Print switch flows and source injections, but not branch flows. ! Print branch flows requested by column 80 punches, switch flows, and source
injections. injections.

MAXOUT

(cols. 33-40) controls printout of extrema at the completion of simulation. Keying a zero or blank will suppress such computation and output, whereas the value unity will produce it. To exclude an initial time prior to the start of extrema monitoring, use BEGIN PEAK VALUE SEARCH in Section II-A.

2B - 3

IPUN

(cols. 41-48) is used to request the input of an extra, following card to vary the printout frequency. Use a value of "-1" to request such an extra card, or zero or blank if no such extra card is wanted. Refer to Section II-C-4 for details of the following card. Alternatively, use CHANGE PRINTOUT FREQUENCY of Section II-A. This has the same effect. (cols. 49-56) controls the dumping of ATP memory onto disk at the end of the simulation. This would be for subsequent use of a START AGAIN request of Section II-A. Key "1" if such preservation of memory is desired, or zero or blank if it is not. For the single, deterministic simulation, the table saving is done at time TMAX (the floating-point miscellaneous data parameter). For Monte Carlo (STATISTICS) studies, tables will be saved upon completion of energization number NENERG (the integer miscellaneous data parameter). Memory preservation is a powerful and useful tool of the production user. However, be warned that success of reuse generally depends on the ATP version being used. In general, do not attempt to awaken a hibernating simulation using a different ATP version. BENCHMARK DC-32 is the simplest illustration of MEMSAV = 1. Using parallel naming of output files (see explanation of ICAT), tables automatically will be given the name dc32.bin where the .bin comes from STARTUP. This same name then will appear on a $OPEN for LUNIT2 when the simulation is to be awakened (see DC-49). So, DC-32 and DC-49 are a matched pair. They illustrate a single deterministic simulation. For such usage with a Monte Carlo study, see BENCHMARK DC-24 and DC-40. Monte Carlo studies can be more complicated. If some study is to be simulated in two or more independent pieces that are later to be combined, then for the 2nd or later portion (each associated with a LOAD MORE SHOTS declaration of the execution that combines the results), the value "2" is to be keyed rather than "1". The difference is great. Unity results in the dumping of all tables (including LTLABL words of LABCOM), whereas "2" will produce an abbreviated file consisting of only switching times and extrema. An abbreviated file by itself can not be awakened, but it can be appended to a complete file by means of the LOAD MORE SHOTS declaration. Of course, it is important to have a different seed for the random number generator of such simulations that are later to be combined. Otherwise, the user would just be repeating the same energizations (a waste of computation). For an illustration involving Monte Carlo simulations, see BENCHMARK DC-24 and DC-40. The 3rd subcase uses MEMSAV = 2 and has more-flexible FORMATTED output of the switching times and extrema on unit LUNIT9.

MEMSAV

ICAT

(cols. 57-64) is to be left blank (or zero) if there is to be no permanent saving of raw plot data points that might be written to I/O channel number LUNIT4 during the simulation. But should such permanent saving be desired, then a positive value is required : 1 ! Save the points, but ignore any batch-mode plot cards that might be present ; 2 ! Save the points, and also honor any batch-mode plot cards that might be present. The disk file in question might be named internally using the date and time of day when the simulation began. Date and time are part of the plot file header, too. However, parallel naming of output files became the generally-preferred alternative around 1990. This is requested in STARTUP by KTRPL4 < 0. For years the value KTRPL4 = -6666 has been used to place the .PL4 file on the hard disk in parallel with the .LIS file. Of course, file type .PL4 itself comes from STARTUP. See Section I-E for more details about KTRPL4 use.

2B - 4

File names based on date and time involve structure that depends on the operating system. This is in the code of installation-dependent SUBROUTINE SYSDEP, over which the user has no control. As of year 2002, MS-DOS or MS Windows-based alternatives all use the MS-DOS structure YMDDHHMM. Here Y is the final decimal year digit (e.g., "2" indicates 2002), M is a hexadecimal month digit (so October is A, November is B, and December is C), DD is the day within the month as 2 decimal digits (01 through 31), HH is the hour within the day as 2 decimal digits (00 through 23), and MM is the minute within the hour as 2 decimal digits (00 through 59). This is the best that can be done within the DOS limit of 8 bytes. Other operating systems such as VAX/VMS use longer names that are more precise. The VMS structure is PLOTYYMMDDHHMMSS where 6 decimal digits of the date ( YY-MM-DD ) are followed by 6 decimal digits of the time ( HH:MM:SS ). Beware of KOMPAR > 1 in STARTUP, however, as this will change to the most famous date in history: the World War I armistice. WW I ended at the 11th hour of the 11th day of the 11th month of 1918. 18-11-11 is the date and 11:00:00 is the time, so MS-DOS uses 8B111100. Beware of the accumulation of such files. If already in use, the right-most digit will be incremented by 1 until a free name is found. Erasure of all 8B11*.PL4 files from time to time is advised. NENERG (cols. 65-72) is to be left blank (or zero) for single, deterministic simulations. But for STATISTICS or SYSTEMATIC data cases, this is to be the total number of energizations (exclusive of any possible, extra, base-case solution). Append a minus sign if SYSTEMATIC usage is involved --- a flag to distinguish such a case from Monte Carlo studies. Also, remember that an extra STATISTICS or SYSTEMATIC miscellaneous data card (Section IIC-1) must follow. (cols. 73-80) is normally left blank or zero. If keyed as a positive value, this is the diagnostic printout control that is to be applied to all UTPF overlays. The same result can be obtained via parameter IPRSUP in the STARTUP file. But since the user normally will want to selectively control such output overlay by overlay, he should instead use the DIAGNOSTIC specialrequest card (see section II-A).

IPRSUP

Each of the preceding integers that is not blank should be right-adjusted within its data field. ATP will check for this, and will halt with the following error message if a violation is found : "KILL = 98. An I-field number that is not right-adjusted within its data field has been detected on the last-read data card. Column ... begins a field of width 8, but column ... contains either an illegal character or a blank that is not on the left. When all decimal digits are not packed on the right, an integer will be larger than expected by 10, or 100, etc." While the unwanted scaling by a power of 10 no longer should be true (see discussion of BN in the January, 1997, newsletter), the error trap has been retained for historical reasons (compatibility with old data). Interpretation of the just-described floating-point and integer miscellaneous data cards confirms only the first three floating-point parameters, but all integer parameters. As an illustration, consider the two associated output lines of BENCHMARK DC-4 :
C 1 2 3 4 5 6 7 C 34567890123456789012345678901234567890123456789012345678901234567890123456 C ------------------------------------------------|------------------------Misc. data. 1.000E-02 6.000E+00 0.000E+00 | .010 6.0 Misc. data. 1 1 1 1 1 -1 0 0 0 0 | 1 1 1

2B - 5

II-C. Extensions to Miscellaneous Data Cards


Two of the just-described integer miscellaneous data parameters (see section II-B) can require the input of additional, supplemental extensions that are to immediately follow the integer miscellaneous data card. If none or only one is used, there is no question of ordering. But if both extensions are required, then these must be appended in the order of presentation, with the STATISTICS / SYSTEMATIC card (Section II-C-1 to II-C-3) preceding the card that controls the output frequency (Section II-C-4).

II-C-1. STATISTICS Miscellaneous Data Card for Monte Carlo Simulation


If and only if NENERG (cols. 65-72) of the integer miscellaneous data card is positive (i.e. flag for STATISTICS studies, see section VI-B.1), then the following additional card, called the STATISTICS miscellaneous data card, is required :
1 2 3 4 5 6 7 8 12345678 90123456 78901234 56789012 34567890 12345678 90123456 7890123456789012 34567890 ISW I8 ITEST I8 IDIST I8 IMAX I8 IDICE I8 KSTOUT I8 KNTRPT I8 NSEED I8

ISW

(cols. 1-8) determines whether there is to be printed output of all the variable switch closing/opening times, for each of the NENERG energizations. Zero will suppress such output, whereas unity will provide it. For the special case where "4444" is keyed in columns 58, refer to section II-C-3 which describes testing of the random number generator. (cols. 9-16) controls whether an extra random delay, calculated using the parameters DEGMIN, DEGMAX, and STATFR (see STARTUP file), is to be added to randomlygenerated switching times for each energization. A zero or blank means that there will be such an addition for all random switches; the value "1" means that there will be no such addition for any random switch; the value "2" means that such an addition will be made only to random closing (not opening) times; and a value "3" means that such an addition will be made only to random opening (not closing) times. For details of these different switch types, see Section VI-B. (cols. 17-24) chooses between the two types of dice (random distributions) that are available. A zero or blank value means that all randomly-generated switching times are to have Gaussian (normal) distribution, whereas a value of unity means that a uniform distribution is to be used instead. Note that this is not applicable to the extra random delay (see preceding parameter ITEST), which is assumed always to involve a uniform distribution. (cols. 25-32) will normally be left blank or keyed as zero. It is to be keyed with "1" if the user wants additional printout of deterministic extrema for each energization. The extrema in question are those normally seen at the end of a conventional, single simulation that has integer miscellaneous data parameter MAXOUT equal to unity. Such output has maxima, times of maxima, minima, and times of minima --- all extra output (an addition to, rather than a replacement for, the normal output for each energization). 2C - 1

ITEST

IDIST

IMAX

IDICE

(cols. 33-40) controls whether or not standard random numbers (that vary neither with time nor with manufacturer of the computer) are to be used. The value "1" will give such standard random numbers, whereas a blank or zero will result in the use of computer-dependent dice, if such separate dice have been provided. Specifics will depend upon the installation-dependent logic of ENTRY RANDNZ of RFUNL1. For reasons of repeatability and universality, standard test cases such as BENCHMARK DC-24, DC-40, DC-48, and DC-50 all use IDICE = 1. Reality of year 2002 : all surviving versions of ATP use the same 32-bit overflow to generate random numbers. The 100 standard random numbers, once stored separately, no longer exist. No program version uses a random number generator that comes with the compiler, either. All use the same universal, 32-bit FORTRAN as copied from DEC VAX. DEC stated that this was described in "The Art of Computer Programming," vol. 2, by Donald E. Knuth, Addison-Wesley, 1981.

KSTOUT

(cols. 41-48) controls whether or not each energization is to have added printout that normally is associated only with a conventional, single simulation. Included are output of the time-step loop, and variable extrema (if integer miscellaneous data parameter MAXOUT is positive). The scalar extrema of PEAK VOLTAGE MONITOR also will be honored, if it has been declared. Such extra output is in addition to the regular, minimum program output of STATISTICS / SYSTEMATIC simulations. Since any such special output is repeated for each energization, the user should be careful in its use. To obtain such extra output for each energization, key a zero explicitly. A blank or minus one ("-1") will suppress such extra output. (cols. 49-56) is normally left blank or zero. If keyed with a nonzero integer, it is taken to be the energization number KNT that is to be repeated (mnemonically, "count repeat"). This only has meaning for START AGAIN usage, where execution begins with the Monte Carlo history (including energization number KNTRPT) already stored in memory. In case two or more sets of Monte Carlo history have been loaded (the first by START AGAIN and the second or later set by LOAD MORE SHOTS), numbering of the energizations is cumulative, in the order the files were loaded. Of course, KNTRPT must be positive and not larger than the total number of loaded energizations. Following the TIME STEP LOOP request, the user will see the heading of variable names followed by time-step loop printout (assuming he requested this with KSTOUT = 0). Following such output, the memory of Monte Carlo usage is erased, so batch-mode plotting will complete the data case. For an illustration, see the 4th data subcase of BENCHMARK DC-40. (cols. 73-80) controls whether or not a Monte Carlo simulation is repeatable, should the simulation ever be repeated using the same computer. A blank or zero means that every solution will be different (i.e., no repeatability), whereas unity will result in identical answers every time the data case is simulated using the computer of interest. At issue is the seed of the random number generating algorithm. Normally (for blank or zero in cols. 73-80), this depends on the time of day as well as the process time. But for repeatability (value unity), a constant seed is used.

KNTRPT

NSEED

Monte Carlo studies are important enough, and tricky enough, so that each should be simulated separately using a separate disk file. The stacking of two or more data cases, of which at least one is a Monte Carlo study, is not recommended. But for those who believe in living dangerously by stacking two or more 2C - 2

Monte Carlo studies within a single disk file, remember to use $STARTUP at the beginning of the second or later of these. This is needed to reinitialize the critical table-dumping control TENERG. The 2nd subcase of BENCHMARK DC-24 serves as an example in this regard. Interpretation of the previously-described STATISTICS miscellaneous data card confirms only the first six parameters. As an illustration, consider the associated output of BENCHMARK DC-24 :
C 1 2 3 4 5 6 7 C 34567890123456789012345678901234567890123456789012345678901234567890123456 C ------------------------------------------------|------------------------Statistics data. 1 1 0 0 1 0 | 1 1 0

II-C-2. SYSTEMATIC Miscellaneous Data Card


If and only if NENERG (cols. 65-72) of the integer miscellaneous data card is negative (i.e. flag for SYSTEMATIC studies, see section VI-B-2), then the following additional card, called the SYSTEMATIC miscellaneous data card, is required :
5 6 7 8 4 3 2 1 12345678 90123456 78901234 56789012 34567890 12345678 90123456789012345678901234567890 ISW I8 ITEST I8 IMAX I8 KSTOUT I8

ISW ITEST

(cols. 1-8) same as for preceding STATISTICS use. (cols. 9-16) controls whether switch times, to be specified in columns 15-24 of a SYSTEMATIC switch card, are to be Tbeg or Tmid (see Section VI-B-2). Use blank or zero if Tmid is desired, or unity if Tbeg is preferred. (cols. 25-32) same as for preceding STATISTICS use. (cols. 41-48) same as for preceding STATISTICS use.

IMAX KSTOUT

Interpretation of the just-described SYSTEMATIC miscellaneous data card is in fact identical to that for STATISTICS. As an illustration, consider the associated output of BENCHMARK DC-16 :
C 1 2 3 4 5 6 7 C 34567890123456789012345678901234567890123456789012345678901234567890123456 C ------------------------------------------------|------------------------Statistics data. 1 1 0 0 0 0 | 1 1 { I

II-C-3. STATISTICS Miscellaneous Data Card for Dice Testing


It is possible to test a random number generator without actually performing the simulations that normally would depend upon the random number generator. If and only if NENERG (cols. 65-72) of the integer miscellaneous data card is positive, and if cols. 5-8 of the STATISTICS miscellaneous data card ( i.e., variable ISW) are keyed with "4444", then only a test of random numbers is desired. For such usage, the 2C - 3

extra card following the integer miscellaneous data card has the following format, as a simpler version of the usual card of Section II-C-1 :
1 2 3 4 5 6 7 8 12345678 90123456 7890123456789012 34567890 12345678901234567890123456789012 34567890 ISW 4444 ITEST I8 IDICE I8 NSEED I8

ISW ITEST

(cols. 1-8) the "4444" is a request for dice testing. (cols. 9-16) gives the number of points per standard deviation of the tabulations that are to result. A zero is given the default value of 2.0 (meaning 8 entries on either side of the mean, if SIGMAX = 4.0 in the STARTUP file ) . (cols. 33-40) the same as for Section II-C-1 above. (cols. 73-80) the same as for Section II-C-1 above.

IDICE NSEED

Concerning the rest of the data case, it should be legal through the blank card ending switch cards. Only the switch cards are actually used, so branch cards are arbitary as long as no error results before the switch cards are read. Finally, there should be a BEGIN NEW DATA CASE card at the bottom, since this will be searched for just as would be the case following an ATP error message. Switching times will be generated for each of the NENERG imaginary energizations (in fact, program control never leaves overlay 12). There then will be a tabulation for each pair of Gaussian switches. Recall that if the closing time for each of two switches has Gaussian (normal) distribution, then so does the difference of these two. The mean of the difference will be the difference of the means, whereas the variance of the difference will be the sum of the two variances. For M Gaussian switches, there will be M * (M - 1) / 2 such pairs of switches. For each pair, there will be one tabulated output showing both the experimental and the theoretical cumulative distribution functions. See BENCHMARK DC-50 for an example. The just-described tabulation only applies to two switches having Gaussian switching times. If one of the switches is deterministic, or if one is random but uniformly-distributed, then the tabulation will be skipped. There is no new interpretation for the miscellaneous data card of dice testing. Refer to the preceding Sections II-C-1 or II-C-2 for illustrations of interpretation.

II-C-4. Change of Frequency of the Time - Step Loop Printout


The frequency of LUNIT6 printout within the time-step loop is nominally controlled by integer miscellaneous data parameter IOUT of Section II-B. But this frequency can be varied as the simulation time advances. One way already has been documented in Section II-A : a CHANGE PRINTOUT FREQUENCY request. Another way is to key integer miscellaneous data parameter IPUN (cols. 41-48) as "-1", and append the following card :

2C - 4

1 2 3 4 5 6 7 8 12345678 90123456 78901234 56789012 34567890 12345678 90123456 78901234 56789012 34567890 KCHG I8 MULT I8 KCHG I8 MULT I8 KCHG I8 MULT I8 KCHG I8 MULT I8 KCHG I8 MULT I8

1st change

2nd change

3rd change

4th change

5th change

This card specifies at which time steps the printout frequency is to be changed, and to what values the frequency is to be changed. Up to five pairs of these (KCHG, MULT) controls are permitted. The meaning is as follows : KCHG(K) The time step number at which the K-th variation of printout frequency is to begin. Printout for this particular step number is always provided, as a beginning to the new frequency of output. The modified value of IOUT (see 2nd miscellaneous data card) that takes effect at time step KCHG(K).

MULT(K)

If a minus sign is appended to MULT(K), then at the corresponding step number KCHG(K), the diagnostic printout status will be changed. That is, there will be a switching of the two sets of diagnostic printout controls : 1) IPRSOV(16:19) of a DIAGNOSTIC request (see Section II-A) ; 2) IPR(1:4) of an ALTERNATE DIAGNOSTIC PRINTOUT request (see Section II-A). If there is no minus sign, there will be no change in status of the diagnostic printout at the associated time step. Any minus signs are merely extra flags. The absolute value of MULT still controls the production (non-diagnostic) printout frequency as originally described. Interpretation of the just-described printout control card confirms only the first three pairs of numbers. As an illustration, consider the associated output of BENCHMARK DC-16 :
C 1 2 3 4 5 6 7 C 34567890123456789012345678901234567890123456789012345678901234567890123456 C ------------------------------------------------|------------------------Printout : 5 5 20 20 0 0 | 5 5 20

2C - 5

You might also like