summaryrefslogtreecommitdiffstats
path: root/benchmarks/dc14.dat
blob: 4719d9c95922d063e6877aa728e4b16773531932 (plain)
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
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
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
BEGIN NEW DATA CASE
C     BENCHMARK DC-14
C         1st of 4 subcases will calculate constant-parameter equivalent network
C AGNOSTIC           0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 { Ov 26
C   Add re-dimensioning request  1 April 2007  in order to regain those sparsity
C   diagrams showing non-zero structure.  Until this past year,  these were
C   missing for 3 * default dimensioning of Salford EMTP and also other versions
C   I suppose.  Then,  working to support Orlando Hevia and GNU F95 testing, a
C   change to  NETEQV  was made in January.  Storage in KSPARS was changed from
C   INTEGER  (1 character per 4/byte word) to  CHARACTER*1.  But, as Tsu-huei
C   discovered only toward the end of March (apparently testing was delayed),
C   Watcom died at the first attempted storage in  KSPARS(1,1).  Suspecting that
C   Watcom did not like the  INTEGER  vs.  CHARACTER*1  mismatch of the final
C   argument,  WSM retains the  NETEQV  code and simply replaces  KARRAY  within
C   SUBR26  by List 15  CSTO  of  MODELS.  But,  using 3 * default dimensioning,
C   LSPARS = 225  and this requires  225 ** 2 = 50625  cells  which is more than
C   3 * default will provide.  So,  as first tested,  the two sparsity diagrams
C   were correctly missing from the output.  But they were nice, and there is no
C   need to lose them.  The dimensioned size of List 15 is substantially bigger,
C   so why not simply expand List 15 to 51K at the same time much more storage
C   is saved by reducing other list sizes (possible since they are not used,
C   anyway, for supporting programs only).  "LABCOM tables =  234090  INTEGER
C   words"  of the heading will shrink from  234090  to  84270.  This is a novel
C   use of NLS for non-simulation,  so has educational value in its own right.
NEW LIST SIZES
       0       0       0       0       0       0       0       0       0       0
       0       0       0       0   51000       0       0       0       0       0
       0       0       0     { Note only List 15 = 51K differs from default size
  240000  
NETWORK EQUIVALENT       { Request transfer to supporting program "NETEQV"
C NITMAX  IPRSUP  EPSILN  PERCEN  IPNCOM    NAME   ----  Begin next sub-sub-case
      10       0   1.E-9     0.5       0    ABC?
C      K       M   X-OHMS
       1       2     0.5          { Branch node K,  node M,  reactance of branch
BLANK card terminates branch cards (all branches to be excluded from equivalent)
C BUS1  BUS2         X/R    X-THEV  NEGATE
 1DUMMY DUMMY        10.       0.1     0
 2DUMMY DUMMY        20.       .05     0
C $PUNCH             { Flush punched cards pertaining to just-completed 2-bus case
BLANK card ending data cases within  "NETWORK EQUIVALENT".      Exit to  "OVER1"
BEGIN NEW DATA CASE
C         2nd of 4 subcases will calculate constant-parameter equivalent network
NETWORK EQUIVALENT       { Request transfer to supporting program "NETEQV"
C NITMAX  IPRSUP  EPSILN  PERCEN  IPNCOM    NAME   ----  Begin next sub-sub-case
      10       0   1.E-9     1.0
C      K       M   X-OHMS
       1       2    278.          { Branch node K,  node M,  reactance of branch
       1       3     87.          { Branch node K,  node M,  reactance of branch
       1       4    145.          { Branch node K,  node M,  reactance of branch
       1       5    145.          { Branch node K,  node M,  reactance of branch
       1       6    5.16          { Branch node K,  node M,  reactance of branch
       1       7    467.          { Branch node K,  node M,  reactance of branch
       1       8    316.          { Branch node K,  node M,  reactance of branch
BLANK card terminates branch cards (all branches to be excluded from equivalent)
C BUS1  BUS2         X/R    X-THEV  NEGATE
 1DUMMY DUMMY        50.       .09
 2DUMMY DUMMY        33.       .15
 3DUMMY DUMMY        50.       .09
 4DUMMY DUMMY        33.       .15
 5DUMMY DUMMY        50.       .09
 6DUMMY DUMMY        33.       .15
 7DUMMY DUMMY        50.       .09
 8DUMMY DUMMY        33.       .15
C $PUNCH        { Flush the punched-card output of just-created equivalent network
BLANK card ending data cases within  "NETWORK EQUIVALENT".      Exit to  "OVER1"
BEGIN NEW DATA CASE
C   3rd  of  4  data subcases was appended to illustrate realistic usage at BPA.
C   Data for BPA's EMTP  was converted for solution using ATP by Eugene Davis of
C   of BPA during August of 1992.  ATP advice from WSM.  See Oct, 92, newsletter
C  **  HOT SPRINGS - TAFT - DWORSHAK  EQUIVALENTS
NETWORK EQUIVALENT, 9,    { Max number of generators is reduced to yield diagram
C NITMAX  IPRSUP  EPSILN  PERCEN  IPNCOM    NAME  ---  1st of 2 halves: zero seq
      10       0   1.E-9     1.0       0    ABC?
C      K       M  X-OHMS
       1       2   113.2           (K, M, REACTANCE OF BRANCH)
       2       3   194.0           (K, M, REACTANCE OF BRANCH)
BLANK card ends branches that are to be excluded from the equivalent
C BUS1  BUS2         X/R    X-THEV  NEGATE  ----  Short circuit impedance at bus
 1DUMMY HOTS          9.     70.84     0          (zero-sequence values)
 2DUMMY TAFT          6.     48.51     0
 3DUMMY DWOR          9.     39.41     0
C   -- Done with Newton iteration # 1.   Largest correction  D4 = 3.84916323E-01
C   -- Done with Newton iteration # 1.   Largest correction  D4 = 1.33373074E-01
C   -- Done with Newton iteration # 1.   Largest correction  D4 = 5.54850941E-03
C   -- Done with Newton iteration # 1.   Largest correction  D4 = 1.96795976E-05
C   -- Done with Newton iteration # 1.   Largest correction  D4 = 1.14179987E-10
C reactance computed after removal of user-flagged generators.  ....   LOOP = 2.
C Gen             X-new             R-new      X-fault       X-thev     X/R-thev
C   1 1.19249599709E+02 1.32499555232E+01  7.08400E+01  7.08400E+01     9.000000
C   2 8.22611517150E+01 1.37101919525E+01  4.85100E+01  4.85100E+01     6.000000
C   3 4.66222308277E+01 5.18024786975E+00  3.94100E+01  3.94100E+01     9.000000
C NITMAX  IPRSUP  EPSILN  PERCEN  IPNCOM    NAME  -----  End 0-sequence, begin +
      10       0   1.E-9     1.0       0    ABC?
C      K       M  X-OHMS         K = "from" node number;   M = "to" node number;
       1       2   30.33         X is reactance of branch not included in equiv.
       2       3   55.73         (branches represented explicitely in EMTP data)
BLANK card ends branches that are to be excluded from the equivalent
C BUS1  BUS2         X/R    X-THEV  NEGATE  ----  Short circuit impedance at bus
 1DUMMY HOTS         16.     52.37     0          (positive-sequence values)
 2DUMMY TAFT         17.     38.59     0
 3DUMMY DWOR         19.     30.59     0
C   -- Done with Newton iteration # 1.   Largest correction  D4 = 6.33252721E-01
C   -- Done with Newton iteration # 2.   Largest correction  D4 = 3.90146597E-01
C   -- Done with Newton iteration # 3.   Largest correction  D4 = 1.39754125E-01
C   -- Done with Newton iteration # 4.   Largest correction  D4 = 5.79939902E-03
C   -- Done with Newton iteration # 5.   Largest correction  D4 = 2.06058080E-06
C   -- Done with Newton iteration # 6.   Largest correction  D4 = 1.96349525E-12
C Final generator equivalent impedances, plus confirmation of original generator
C    parameters.  Resistance is ignored during the internal computation,  and is
C    added as a fixed percentage only at the end.   X-fault is the short circuit
C reactance computed after removal of user-flagged generators.  ....   LOOP = 1.
C Gen             X-new             R-new      X-fault       X-thev     X/R-thev
C   1 1.55130207469E+02 9.69563796684E+00  5.23700E+01  5.23700E+01    16.000000
C   2 9.81300314308E+01 5.77235479005E+00  3.85900E+01  3.85900E+01    17.000000
C   3 4.10670198789E+01 2.16142209889E+00  3.05900E+01  3.05900E+01    19.000000
C       Note about order.  Preceding data has two halves, with the zero sequence
C       sequence preceding the positive.   This order is needed only for punched
C       cards  that follow to be correct (zero sequence first).  Otherwise,  the
C       order is immaterial.  In fact, the same solution is performed twice.  It
C       is only data values that distinguish the two solutions.
$PUNCH, dc14b.pch !
C  <++++++>  Cards punched by support routine on  24-Aug-92  09.27.44  <++++++>
C 51,DUMMYA,HOTS A,      ,,,  1.324995552323771E+01, 1.192495997091393E+02,,,,,,
C 52,DUMMYB,HOTS B,      ,,,  9.695637966841947E+00, 1.551302074694711E+02,,,,,,
C 53,DUMMYC,HOTS C,      ,,,,,,,,,,
C 51,DUMMYA,TAFT A,      ,,,  1.371019195249209E+01, 8.226115171495253E+01,,,,,,
C 52,DUMMYB,TAFT B,      ,,,  5.772354790047830E+00, 9.813003143081311E+01,,,,,,
C 53,DUMMYC,TAFT C,      ,,,,,,,,,,
C 51,DUMMYA,DWOR A,      ,,,  5.180247869745662E+00, 4.662223082771096E+01,,,,,,
C 52,DUMMYB,DWOR B,      ,,,  2.161422098891424E+00, 4.106701987893705E+01,,,,,,
C 53,DUMMYC,DWOR C,      ,,,,,,,,,,
BLANK card ending data subcases within  NETWORK EQUIVALENT. 
BEGIN NEW DATA CASE
C         4th of 4 subcases has nothing to do with the preceding 3.  Instead,
C         it converts old Type-91, 92, or 93 switched elements to newer
C         pseudo-nonlinear branches.
CHANGE SWITCH
C       Cards preceding  the blank card ending branch cards  are  all  discarded
C       except  for  the  Type-91 time-dependent resistance.   So,  following  a
C       dummy series R-L-C branch,  let's  insert one of these Type-91 branches:
  NODE1 NODE2                1.0     { Series R-L-C will be discarded, of course
91LEFT  RIGHT              0.3E6   { From p. 20 example of 1980 Rule Book }    1
             0.0            300.
             0.3            200.
             0.6            150.
           1000.            150.
            9999
91 NODE1 NODE2 COPYL COPYR .25E6       { Final card from p. 20 of 1980 Rule Book
BLANK card ending program branch cards.       This is flag that switches follow.
C                          Type-92 switched-R element follows (to be converted):
C 3456789012345678901234567890123456789012345678901234567890
92JDAYA LMONA        8.5                3.E5     3.5E5                         3
C                          Type-93 switched-L element follows (to be converted):
93SENDA NEUTRL       4.2       2.5       0.7       3.3                         1
BLANK card terminating program switch cards
C        Since all cards between the blank card ending switch cards (immediately
C        above) and the start of a new case ("BNDC" in unabbreviated, long form)
C        are to be discarded,  we  will not show anything here.  No intelligence
C        is involved in the  "CHANGE SWITCH"  logic,   so nothing can be tested.
BEGIN NEW DATA CASE
$PUNCH   { Flush the punched-card output of equivalent pseudo-nonlinear elements
C 91LEFT  RIGHT                          3333.
C                     0.3E6
C                       0.0                     300.
C                       0.3                     200.
C                       0.6                     150.
C                     1000.                     150.
C                      9999
C 91 NODE1 NODE2 COPYL COPYR             3333.
C 99JDAYA LMONA                0 3           2   035
C        0.0000001            3.E5
C              1.0 0.300008500E+06
C             9999
C 98SENDA NEUTRL               1.0   3.3
C    0.1320000E+04             3.3
C    0.2640000E+04   0.4224000E+01
C             9999
C           Because this was not the first subcase of the disk file that punched
C           cards ($PUNCH usage),  note that the usual  $ERASE  was not required
C           at the start.  The  $PUNCH  at the end of the preceding subcase left
C           the punch buffer empty.   But the final  $PUNCH  (immediately before
C           these comment cards) requires special attention.  Were  there not at
C           least five data cards remaining  at  the end of the final meaningful
C           data case,  the  blank terminating case would not even be read  (the
C           program would instead discard remaining cards and jump out to  issue
C           the initial prompt once again.   The present set of comment cards do
C           number more than 5,  so they should protect against this possibility
C           provided comment cards were not being destroyed by  NOCOMM = 1  as
C           set in  STARTUP.  But we can not be sure of this,  so it is safer to
C           have 5 or more non-blank data cards.  By adding 2 unused blank cards
C           below,  BNDC + $PUNCH + original blank  + these 2 new ones  total 5.
C           The  blank bounding case, including the imbedded  $PUNCH  (which  we
C           need to flush the final punched cards) will be read.
BLANK
BLANK  { 1st of 2 unused lines can have any content.  This is line 4 of 5.
BLANK  { 2nd of 2 unused lines can have any content   This is line 5 of 5.