summaryrefslogtreecommitdiffstats
path: root/benchmarks/dc36.dat
diff options
context:
space:
mode:
authorAngelo Rossi <angelo.rossi.homelab@gmail.com>2023-06-21 12:04:16 +0000
committerAngelo Rossi <angelo.rossi.homelab@gmail.com>2023-06-21 12:04:16 +0000
commitb18347ffc9db9641e215995edea1c04c363b2bdf (patch)
treef3908dc911399f1a21e17d950355ee56dc0919ee /benchmarks/dc36.dat
Initial commit.
Diffstat (limited to 'benchmarks/dc36.dat')
-rw-r--r--benchmarks/dc36.dat295
1 files changed, 295 insertions, 0 deletions
diff --git a/benchmarks/dc36.dat b/benchmarks/dc36.dat
new file mode 100644
index 0000000..ff85f42
--- /dev/null
+++ b/benchmarks/dc36.dat
@@ -0,0 +1,295 @@
+BEGIN NEW DATA CASE -- NOSORT ---
+C BENCHMARK DC-36 (DC-74 of "M39." vintage)
+C Example drawn from the dynamite EMTP Newsletter article by W. Scott Meyer,
+C "EMTP Data Modularization and Sorting ...," Volume 4, No. 2, Sec. V,
+C November, 1983. This case produces branch cards for companion problem
+C DC-8, which illustrates $INCLUDE usage with arguments. Since that
+C NEWSLETTER use, the feature has been changed to conventional batch-mode.
+C Note required addition of "NOSORT" somewhere on the very 1st input card.
+C This is checked in "OVER1" at the beginning of execution, so that data
+C card sorting by class ("/" cards) is bypassed, as required for use here.
+C The punched card output (produced by the $PUNCH request) should agree
+C with Figure 2, except for the addition of $EOF and ARG cards at the
+C end, and the fact that question marks (?????) have not replaced the real
+C character strings that have meaning to the user. The file DC8INCL1.DAT
+C for use by DC-8 should agree exactly with Fig. 2 (except for the switch
+C to lower case lettering for comment cards), and it was derived by editing
+C the punch file. 6 subcases exist, with the 2nd the same as the first
+C except that it is more general because it uses a "DUM" declaration. The
+C 4th applies to an entire data case rather than just a $INCLUDE file.
+C The 3rd and the 5th illustrate math within a $INCLUDE file --- dependent
+C variables that involve new DEP, declaration. The 6th subcase shows that
+C $INCLUDE can be used within DBM along with "/" cards and NOSORT.
+DATA BASE MODULE
+C $ERASE
+C $DEBUG, 9,
+ARG, _NODE, _MINUS, __PLUS, { Before 1994, this 1st ARG card had all 5 arguments
+ARG, _FIRE, __MID { This 2nd ARG card illustrates procedure for continuation
+/BRANCH
+C3 Begin with anode reactors and parallel resistors (6 pairs):
+ _NODEA__MID1 3000.
+ _NODEA__MID1 1.0
+ _NODEB__MID3 3000.
+ _NODEB__MID3 1.0
+ _NODEC__MID5 3000.
+ _NODEC__MID5 1.0
+ __PLUS__MID4 3000.
+ __PLUS__MID4 1.0
+ __PLUS__MID6 3000.
+ __PLUS__MID6 1.0
+ __PLUS__MID2 3000.
+ __PLUS__MID2 1.0
+C3 Next come the snubber circuits, across valves and anode reactors:
+ _NODEA_MINUS 1200. 0.1
+ _NODEB_MINUS 1200. 0.1
+ _NODEC_MINUS 1200. 0.1
+ _NODEA__PLUS 1200. 0.1
+ _NODEB__PLUS 1200. 0.1
+ _NODEC__PLUS 1200. 0.1
+C3 Next come the valves:
+/SWITCH
+11__MID1_MINUS _FIRE2
+11__MID3_MINUS _FIRE4
+11__MID5_MINUS _FIRE6
+11__MID4_NODEA _FIRE5
+11__MID6_NODEB _FIRE1
+11__MID2_NODEC _FIRE3
+BEGIN NEW DATA CASE ---- NOSORT ----
+C Note: Preceding case marker is required where it now is positioned, so
+C that data card input for the modularization be terminated here (
+C since this is what is checked for). If the following $PUNCH
+C were to precede BNDC, it would be read before any card images
+C would have been created, & the result would be an empty listing.
+C The same goes for the following comment cards that document the
+C answer: if these cards preceded BNDC, they would not be read
+C by "CIMAGE" as intended (the data base logic reads directly
+C from the input card buffer of LUNIT10). So, do not tamper with
+C the present positioning that documents the results of the first
+C subcase at the beginning of the second (where we now are).
+C KARD 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 10 10 11 11 12 12 13 13 14
+C 14 15 15 16 16 17 17 18 18 19 19 21 21 21 22 22 22 23 23 23 24 24 24 25 25
+C 25 26 26 26
+C KARG 1 5 1 5 1 5 1 5 1 5 1 5 3 5 3 5 3 5 3 5 3 5 3 5 1
+C 2 1 2 1 2 1 3 1 3 1 3 2 4 5 2 4 5 2 4 5 1 4 5 1 4
+C 5 1 4 5
+C KBEG 3 9 3 9 3 9 3 9 3 9 3 9 3 9 3 9 3 9 3 9 3 9 3 9 3
+C 9 3 9 3 9 3 9 3 9 3 9 9 65 3 9 65 3 9 65 3 9 65 3 9 65
+C 3 9 65 3
+C KEND 7 13 7 13 7 13 7 13 7 13 7 13 8 13 8 13 8 13 8 13 8 13 8 13 7
+C 14 7 14 7 14 7 14 7 14 7 14 14 69 7 14 69 7 14 69 7 13 69 7 13 69
+C 7 13 69 7
+C KTEX 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+C 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+C 1 1 1 1
+$PUNCH { Flush critical portion of answers from preceding first subcase
+C 2nd of 6 subcases will illustrate the use of the "DUM" declaration for
+C internal nodes about which the names might not matter. To illustate it,
+C remove "MID?" from the "ARG" declaration, and list in all of their
+C variations (there are six) in a "DUM" declaration. Remember that the
+C "DUM" declarations must come last (a restriction on present logic).
+DATA BASE MODULE
+ARG, _NODE, _MINUS, __PLUS, _FIRE { Must precede any "DUM" card
+DUM, __MID1, __MID2, __MID3, __MID4, __MID5, __MID6 { Must follow last "ARG"
+/BRANCH
+C3 Begin with anode reactors and parallel resistors (6 pairs):
+ _NODEA__MID1 3000.
+ _NODEA__MID1 1.0
+ _NODEB__MID3 3000.
+ _NODEB__MID3 1.0
+ _NODEC__MID5 3000.
+ _NODEC__MID5 1.0
+ __PLUS__MID4 3000.
+ __PLUS__MID4 1.0
+ __PLUS__MID6 3000.
+ __PLUS__MID6 1.0
+ __PLUS__MID2 3000.
+ __PLUS__MID2 1.0
+C3 Next come the snubber circuits, across valves and anode reactors:
+ _NODEA_MINUS 1200. 0.1
+ _NODEB_MINUS 1200. 0.1
+ _NODEC_MINUS 1200. 0.1
+ _NODEA__PLUS 1200. 0.1
+ _NODEB__PLUS 1200. 0.1
+ _NODEC__PLUS 1200. 0.1
+C3 Next come the valves:
+/SWITCH
+11__MID1_MINUS _FIRE2
+11__MID3_MINUS _FIRE4
+11__MID5_MINUS _FIRE6
+11__MID4_NODEA _FIRE5
+11__MID6_NODEB _FIRE1
+11__MID2_NODEC _FIRE3
+BEGIN NEW DATA CASE -- NOSORT ---
+C Note: Preceding case marker is required where it now is positioned, so
+C that data card input for the modularization be terminated here (
+C since this is what is checked for). If the following $PUNCH
+C were to precede BNDC, it would be read before any card images
+C would have been created, & the result would be an empty listing.
+C The same goes for the following comment cards that document the
+C answer: if these cards preceded BNDC, they would not be read
+C by "CIMAGE" as intended (the data base logic reads directly
+C from the input card buffer of LUNIT10). So, do not tamper with
+C the present positioning that documents the results of the first
+C subcase at the beginning of the second (where we now are).
+C KARD 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 10 10 11 11 12 12 13 13 14
+C 14 15 15 16 16 17 17 18 18 19 19 21 21 21 22 22 22 23 23 23 24 24 24 25 25
+C 25 26 26 26
+C KARG 1 -1 1 -1 1 -3 1 -3 1 -5 1 -5 3 -4 3 -4 3 -6 3 -6 3 -2 3 -2 1
+C 2 1 2 1 2 1 3 1 3 1 3 2 4 -1 2 4 -3 2 4 -5 1 4 -4 1 4
+C -6 1 4 -2
+C KBEG 3 9 3 9 3 9 3 9 3 9 3 9 3 9 3 9 3 9 3 9 3 9 3 9 3
+C 9 3 9 3 9 3 9 3 9 3 9 9 65 3 9 65 3 9 65 3 9 65 3 9 65
+C 3 9 65 3
+C KEND 7 14 7 14 7 14 7 14 7 14 7 14 8 14 8 14 8 14 8 14 8 14 8 14 7
+C 14 7 14 7 14 7 14 7 14 7 14 14 69 8 14 69 8 14 69 8 13 69 8 13 69
+C 8 13 69 8
+C KTEX 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+C 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+C 1 1 1 1
+$PUNCH { Flush critical portion of answers from preceding data case
+C 3rd of 6 subcases will illustrate the use of the "DEP" declaration for
+C dependent variables of $INCLUDE usage as provided for Jeff Peggs of
+C Virginia Power in Richmond. For details, see stories in the April
+C and July, 1997, newsletters. Whereas the 2nd subcase had constant
+C capacitance C = 0.1 in columns 39-44, here a dependent variable CAP_44
+C is used. For simplicity, trivial math (1000 * 1.E-4) is used in order
+C that the answer remain unchanged. More generally, one or more variable
+C would be involved in the right hand side of the CAP_44 definition below.
+C Here, there is a single dependent variable, but in general there can be
+C any number. For each, the name must be declared first on a DEP line,
+C where the first DEP follows the last of all other (ARG, NUM, or TEX)
+C declarations. The associated dependence is to follow as a line of low-
+C level FORTRAN, which must be compatible with the pocket calculator code
+C of Walter Powell. Before any real lines of data for $INCLUDE use should
+C come all such DEP lines, followed by all FORTRAN lines associated with
+C these new variables. In this illustration, there is just one (CAP_44).
+DATA BASE MODULE
+ARG, _NODE, _MINUS, __PLUS, { Before 1994, this 1st ARG card had all 5 arguments
+ARG, _FIRE, __MID { This 2nd ARG card illustrates procedure for continuation
+DEP, CAP_44 { This "DEP" declaration is new. Each dependent variable needs 1
+ CAP_44 = 1000. * 1.E-4 { Associated formula for evaluation during $INCLUDE
+/BRANCH
+C3 Begin with anode reactors and parallel resistors (6 pairs):
+ _NODEA__MID1 3000.
+ _NODEA__MID1 1.0
+ _NODEB__MID3 3000.
+ _NODEB__MID3 1.0
+ _NODEC__MID5 3000.
+ _NODEC__MID5 1.0
+ __PLUS__MID4 3000.
+ __PLUS__MID4 1.0
+ __PLUS__MID6 3000.
+ __PLUS__MID6 1.0
+ __PLUS__MID2 3000.
+ __PLUS__MID2 1.0
+C3 Next come the snubber circuits, across valves and anode reactors:
+ _NODEA_MINUS 1200. CAP_44 { 1st of 6 replaces 0.1 in 39-44
+ _NODEB_MINUS 1200. CAP_44 { 2nd of 6 ....
+ _NODEC_MINUS 1200. CAP_44
+ _NODEA__PLUS 1200. CAP_44
+ _NODEB__PLUS 1200. CAP_44
+ _NODEC__PLUS 1200. CAP_44
+C3 Next come the valves:
+/SWITCH
+11__MID1_MINUS _FIRE2
+11__MID3_MINUS _FIRE4
+11__MID5_MINUS _FIRE6
+11__MID4_NODEA _FIRE5
+11__MID6_NODEB _FIRE1
+11__MID2_NODEC _FIRE3
+BEGIN NEW DATA CASE
+$PUNCH { Flush cards of $INCLUDE created by 1st subcase. Rename DCN22INC.DAT
+C 4th of 6 subcases will illustrate the use of data modularization for a
+C complete data case (not a $INCLUDE file). The output becomes DC-65
+C after the addition of a few cards at the top and the bottom. A single
+C argument, for the end-time TMAX of the study, is desired.
+DATA BASE MODULE
+ARG, TMAX { The end time of the study, misc. data parameter T-max, is argument
+NUM, TMAX { The end time of the study, misc. data parameter T-max, is numerical
+C The following data is from DC-4, with the only changes being less output.
+C Suppress the connectivity display and the phasor solution. End time=TMAX.
+PRINTED NUMBER WIDTH, 13, 2, { Request maximum precision (for 8 output columns)
+ .010 TMAX
+ 1 1 0 0 1 -1
+ 5 5 20 20
+ BRANCH NAME:First { Even though name could go on next card, use this instead
+ GEN TRAN 5.0 5.E4 3
+ TRAN NAME R-mag 1.E4
+93TRAN NAME Magnet .005 30. 3
+ 0.0 0.0 { 1st point being origin is request to reflect
+ .005 30.
+ .01 40.
+ .02 45.
+ .10 50.
+ 5.0 100.
+ 9999
+ TRAN LOADG 255. 5.E4 3
+C Note: original fixed-format card (next comment) converted to free-format:
+C LOADG 1.E-6
+0,LOADG, , , , 1.E-6, 0.0, 0.0, , , , , ,
+BLANK card ending program branch cards.
+BLANK card terminating program switch cards (none, for this case)
+14GEN 70. .1591549 -1.
+BLANK card terminating program source cards.
+C Total network loss P-loss by summing injections = 8.286714400785E+00
+C Inject: GEN 70. 70. .23676326859385 .25769284993889 8.2867144007848
+C Inject: 0.0 0.0 -.1017288531066 -23.2514964 3.5605098587304
+C ---- Initial flux of coil "TRAN " to " " = -1.13295190E+01
+C Step Time GEN TRAN TRAN GEN TRAN
+C TRAN TERRA LOADG
+C 0 0.0 6.270257621 63.72974238 63.72974215 70. 63.72974238
+C 1 .01 6.156651781 63.83984825 63.83984802 69.99650003 63.83984825
+ GEN TRAN
+BLANK card ending program output-variable requests.
+ PRINTER PLOT
+BLANK card ending all plot cards
+BEGIN NEW DATA CASE
+$PUNCH { Flush cards of $INCLUDE created by 1st subcase. Rename DCN22INC.DAT
+C 5th of 6 subcases will illustrate dependent variables as explained to
+C others in the January, 1997, newsletter (see mention of Jeff Peggs of
+C Virginia Power in Richmond). The 3rd subcase provided an illustration,
+C but was artificial in that only constants (no variables) were involved.
+C Here, a balanced 3-phase sinusoidal source is modularized, with the
+C angles of phases "b" and "c" dependent on the user-specified angle of
+C phase "a". Also, the user specifies line-to-line RMS voltage, which
+C is converted to peak phase-to-ground voltage as required by ATP.
+DATA BASE MODULE
+ARG, NAME, _RATEDRMSV, _____HERTZ, ____ANGLEA, ____TSTART
+NUM, _RATEDRMSV, _____HERTZ, ____ANGLEA, ____TSTART
+DEP, _PEAKVALUE, ____ANGLEB, ____ANGLEC
+ _PEAKVALUE = _RATEDRMSV * SQRT ( 2.0 / 3.0 ) { Convert L-L RMS to peak L-N
+ ____ANGLEB = ____ANGLEA - 120. { Angle of phase "b" lags "a" by 120 degrees
+ ____ANGLEC = ____ANGLEA - 240. { Angle of phase "b" lags "a" by 240 degrees
+C3 Type-14 source cards follow:
+14NAMEA _PEAKVALUE_____HERTZ____ANGLEA ____TSTART
+14NAMEB _PEAKVALUE_____HERTZ____ANGLEB ____TSTART
+14NAMEC _PEAKVALUE_____HERTZ____ANGLEC ____TSTART
+BEGIN NEW DATA CASE -- NOSORT --
+$PUNCH, dc36e.pch ! { Disk file name assumed by ??
+C 6th of 6 subcases will illustrate use of both $INCLUDE and /-cards
+C within DATA BASE MODULE. Prior to correction on 16 July 2001, this
+C was not possible as first complained about by Prof. Mustafa Kizilcay.
+C The following is his illustrative data.
+$PREFIX, [] { $INCLUDE files are located in same place as this main data file
+DATA BASE MODULE
+ARG, BEG1__, END1__, LENGTH______
+NUM, LENGTH______
+/BRANCH
+$INCLUDE, dc36incl.dat ! { 1-phase, constant-parameter distributed line
+C The 3 important non-comment cards of the preceding $INCLUDE file are:
+C $VINTAGE, 1
+C -1BEG1__END1__ 1.63917E-01 5.77155E+02 2.49305E+05LENGTH______ 1
+C $VINTAGE, 0
+BEGIN NEW DATA CASE
+$PUNCH
+C Comment cards in this location serve another purpose, too.
+C Without them, STARTUP variable KASEND = 5 (as commonly
+C used for workstations) means that fewer than the minimum
+C cards would remain, so the $PUNCH would be skipped, and
+C output would not be produced.
+BLANK { 15 Dec 94, we add more, to make 5 even when comments are destroyed
+BLANK { 15 Dec 94, we add more, to make 5 even when comments are destroyed
+BLANK { 15 Dec 94, we add more, to make 5 even when comments are destroyed
+BLANK { 15 Dec 94, we add more, to make 5 even when comments are destroyed
+BLANK { 15 Dec 94, we add more, to make 5 even when comments are destroyed
+BLANK