一份basic文件转化成c文件(自己收藏)
得动手自己修改:
10 REM *****************************************************************
20 REM * IEEE METHOD - TRANSIENT OR STEADY STATE CALCULATION
30 REM * OF BARE OVERHEAD CONDUCTOR TEMPERATURE OR THERMAL RATING
40 REM * LAST MODIFIED 11 / 7 / 97 BY DAD
50 REM * PROGRAM NAME IS " IEEE738SI.BAS "
60 REM * LANGUAGE IS " QUICK BASIC "
70 REM * ASSUMES SI UNITS FOR INPUT FILE
80 REM *
90 REM *
240 REM * IN COMPARISON WITH THE 1986 VERSION OF THIS PROGRAM, PROVIDED
250 REM * BY THE IEEE, THE 1993 VERSION ADDED THE FOLLLOWING FEATURES:
260 REM *
290 REM * - INITIAL CONDUCTOR TEMP OR CURRENT CAN BE USED IN
300 REM * TRANSIENT CALCULATIONS
330 REM * - VERY SHORT DURATION " FAULT " CURRENTS AS LARGE AS 1E6
340 REM * AMPERES FOR TIMES AS SHORT AS 0.01 SEC CAN BE USED
350 REM * - THE ORIGINAL NUMERICAL ITERATION METHOD HAS BEEN
360 REM * REPLACED WITH A MUCH MORE EFFICIENT METHOD
370 REM * - FOR ACSR CONDUCTOR, THE HEAT CAPACITY OF THE STEEL CORE
380 REM * AND THE OUTER ALUM STRANDS ARE ENTERED SEPARATELY.
390 REM *
392 REM * THIS VERSION IS CONSISTENT WITH IEEE STD 738 - 2006
394 REM * - THE SOLAR MODEL ALLOWS ANY HOUR AND LATITUDE
396 REM * - THE AIR PROPERTIES ARE CALCULATED WITH CLOSED FORM EQUATIONS
398 REM * - THIS PROGRAM AND EQUATIONS USE SI UNITS
400 REM **************************************************************
410 REM ***********************************
420 REM * INITIALIZE VARIABLES AND ARRAYS *
430 REM ***********************************
440 DIM ATCDR( 1000 )
450 DIM TIME( 1000 )
460 FLAG1 = 0
470 XIDUMMY = 0
480 XIPRELOAD = 0
490 XISTEP = 0
500 TCDR = 0
510 TCDRPRELOAD = 0
520 TCDRMAX = 0
530 IORTPRELOAD = 0
540 DELTIME = 0
550 FS1 = 0
560 FS2 = 0
570 FS3 = 0
580 X$ = STRING$( 56 , 45 )
590 REM *******************************
600 REM * START REPEAT CALCULATION HERE
610 REM *******************************
620 FOR KI = 1 TO 1000
630 ATCDR(KI) = 0
640 TIME(KI) = 0
650 NEXT KI
660 NFLAG = 0
670 PI = 3.141593
672 PIANG = PI / 180 !
680 IF FLAG1 = 99 GOTO 1120
690 REM ************************************************
700 REM * SPECIFY DATA INPUT ASCII FILE NAME
710 REM ************************************************
720 CLS
730 INPUT " ENTER INPUT FILE NAME " , F$: OPEN F$ FOR INPUT AS # 1
780 REM ***********************************
790 REM * SPECIFY HOW DATA IS TO BE OUTPUT
800 REM ***********************************
810 PRINT " DO YOU WANT THE OUTPUT TO GO TO SCREEN ONLY(0), FILE ONLY(1), "
820 INPUT " OR TO BOTH SCREEN AND FILE(2)? " , SORF
830 IF SORF <> 0 AND SORF <> 1 AND SORF <> 2 THEN GOTO 810
840 IF SORF <> 0 THEN INPUT " ENTER OUTPUT FILE NAME " , FOUT$: OPEN FOUT$ FOR OUTPUT AS # 2
845 INPUT " DO YOU WANT DEBUG CHECKS? YES (0), NO(1) " , DEBUG
850 REM ************************************************************
860 REM * ENTER DATA FROM INPUT FILE
870 REM ************************************************************
880 GOSUB 8000
1120 REM *****************************************
1130 REM * CALCULATE SOLAR HEAT INPUT TO CONDUCTOR
1140 REM *****************************************
1150 GOSUB 5000
1160 REM **************************************************************
1170 REM * CALCULATE THERMAL COEF OF RESISTANCE & WIND ANGLE CORRECTION
1180 REM **************************************************************
1190 GOSUB 9000
1200 REM ********************************
1210 REM * SELECT THE CALCULATION DESIRED
1220 REM ********************************
1230 ON NSELECT GOTO 1500 , 1240 , 1460 , 1460
1240 REM ********************************************************************
1250 REM * FOR NSELECT = 2
1260 REM * GO TO AMPACITY SUBROUTINE TO CALCULATE THE STEADY STATE
1270 REM * CURRENT (TR) GIVEN THE STEADY STATE CONDUCTOR TEMPERATURE (TCDR)
1280 REM * THE CONDUCTOR TEMPERATURE IS GIVEN SO ONLY ONE PASS THROUGH
1290 REM * THE SUBROUTINE IS REQUIRED.
1300 REM ********************************************************************
1310 TCDR = TCDRPRELOAD
1320 GOSUB 15000
1330 GOTO 1730
1340 REM ********************************************************************
1350 REM
1360 REM ********************************************************************
1370 REM * FOR NSELECT = 1 , 3 ,OR 4
1380 REM * GO TO AMPACITY SUBROUTINE REPEATEDLY IN ORDER TO CALCULATE
1390 REM * THE STEADY STATE CURRENT (TR) CORRESPONDING TO TRIAL VALUES OF
1400 REM * CONDUCTOR TEMPERATURE (TCDR). IF T = 1 THEN THE OUTPUT OF THE
1410 REM * SUBROUTINE, TR, IS THE STEADY STATE CURRENT FOR
1420 REM * WHICH A STEADY STATE TEMPERATURE WAS TO BE FOUND.
1430 REM * IF T = 3 OR 4 AND IORTPRELOAD = 1 , THEN TR IS THE INITIAL PRE - STEP
1440 REM * CHANGE CURRENT FOR WHICH AN INITIAL TEMPERATURE WAS TO BE CALCULATED.
1450 REM *********************************************************************
1460 ON IORTPRELOAD GOTO 1500 , 1650
1470 REM ********************************************
1480 REM * CALCULATE TCDR GIVEN XIDUMMY = XIPRELOAD *
1490 REM ********************************************
1500 XIDUMMY = XIPRELOAD
1510 NFLAG = 0
1520 GOSUB 13000
1530 TCDRPRELOAD = TCDR
1540 REM ***************************************************************
1550 REM * FOR NSELECT = 1 THE PROGRAM HAS FOUND THE STEADY STATE CONDUCTOR
1560 REM * TEMPERATURE (TCDRPRELOAD) CORRESPONDING TO THE GIVEN STEADY STATE
1570 REM * CURRENT (XIPRELOAD) AND CONTROL IS PASSED TO THE PRINTOUT SECTION
1580 REM ***************************************************************
1590 IF NSELECT = 1 THEN 1730
1600 REM *****************************************************************
1610 REM * FOR NSELECT = 3 OR 4 , THE PROGRAM HAS DETERMINED (IORTPRELOAD = 1 ) OR BEEN
1620 REM * GIVEN (IORTPRELOAD = 2 ) THE INITIAL STEADY STATE CONDUCTOR TEMPERATURE
1630 REM * AND CONTROL PASSES TO FURTHUR TRANSIENT CALCULATIONS
1640 REM *****************************************************************
1650 IF NSELECT = 4 THEN GOSUB 10000
1660 REM *************************************************************
1670 REM * BEGIN CALCULATION OF CONDUCTOR TEMP AS A FUNCTION OF TIME
1680 REM * FOR A STEP INCREASE IN ELECTRICAL CURRENT, NSELECT = 3
1690 REM *************************************************************
1700 ET = 3600 !
1710 XISTEP = XISTEP
1720 GOSUB 11000
1730 REM *************************
1740 REM * PRINT RESULTS TO SCREEN
1750 REM *************************
1760 IF SORF = 0 OR SORF = 2 THEN GOSUB 6000
1770 REM ***********************
1780 REM * WRITE RESULTS TO FILE
1790 REM ***********************
1800 IF SORF = 1 OR SORF = 2 THEN GOSUB 16000
1810 REM IF FS = 1 GOTO 1880
1820 IF NS < NSETS THEN GOTO 880 ELSE CLOSE # 1
1830 IF SORF = 1 OR SORF = 2 THEN CLOSE # 2
1840 GOTO 1930
1850 REM ********************************************
1860 REM * SETUP TO REPEAT PROGRAM CALCULATIONS WITH NEW DATA
1870 REM ********************************************
1880 REM INPUT " DO YOU WANT TO RUN THE PROGRAM AGAIN (YES = 1, NO = 2) " , YN
1890 REM IF YN <> 1 AND YN <> 2 THEN GOTO 1880
1900 REM IF YN = 2 GOTO 1920
1910 REM IF YN = 1 THEN FLAG1 = 99 : RESTORE: GOTO 620
1920 REM IF SORF = 1 OR SORF = 2 THEN CLOSE # 2
1930 END
5000 REM /**/ /
5010 REM / SUBROUTINE TO CALCULATE CONDUCTOR SOLAR HEAT GAIN (QS)
5020 REM /**/ /
5030 IF SUN.TIME >= 24 THEN 5560
5040 DEG.TO.RAD = PI / 180 !
5050 CDR.LAT.RAD = CDR.LAT.DEG * DEG.TO.RAD
5060 REM * SOLAR DECLINATION
5070 DECL.DEG = 23.4583 * SIN((( 284 + NDAY) / 365 ) * 2 * PI)
5080 DECL.RAD = DECL.DEG * DEG.TO.RAD
5090 REM * SOLAR ANGLE RELATIVE TO NOON
5100 HOUR.ANG.DEG = (SUN.TIME - 12 ) * 15
5110 HOUR.ANG.RAD = HOUR.ANG.DEG * DEG.TO.RAD
5120 REM * FIND SOLAR ALTITUDE - H3
5130 H3ARG = COS(CDR.LAT.RAD) * COS(DECL.RAD) * COS(HOUR.ANG.RAD) + SIN(CDR.LAT.RAD) * SIN(DECL.RAD)
5140 H3.RAD = ATN(H3ARG / SQR( 1 - H3ARG ^ 2 ))
5150 H3.DEG = H3.RAD / DEG.TO.RAD
5160
5170 IF A3 = 1 THEN 5290
5180 REM ***************************************************************
5190 REM * SOLAR HEATING (Q3) AT EARTH SURFACE (W / M2) IN CLEAR AIR (P6)
5200 REM ***************************************************************
5210 Q3 = - 42.2391 + 63.8044 * H3.DEG - 1.922 * H3.DEG ^ 2
5220 Q3 = Q3 + . 034692 * H3.DEG ^ 3 - 3.6112E-04 * H3.DEG ^ 4
5230 Q3 = Q3 + 1.9432E-06 * H3.DEG ^ 5 - 4.0761E-09 * H3.DEG ^ 6
5240 B$ = " CLEAR "
5250 GOTO 5330
5260 REM *****************************************************************
5270 REM * SOLAR HEAT (Q3) AT EARTH SURFACE (W / M2) IN INDUSTRIAL AIR (P6)
5280 REM *****************************************************************
5290 Q3 = 53.1821 + 14.211 * H3.DEG + . 66138 * H3.DEG ^ 2
5300 Q3 = Q3 - . 031658 * H3.DEG ^ 3 + 5.4654E-04 * H3.DEG ^ 4
5310 Q3 = Q3 - 4.3446E-06 * H3.DEG ^ 5 + 1.3236E-08 * H3.DEG ^ 6
5320 B$ = " INDUSTRIAL "
5330 REM * CALCULATE SOLAR AZIMUTH VARIABLE, CHI
5335 IF DEBUG = 0 THEN PRINT # 2 , " Q3 = " ; Q3
5340 CHI.DENOM = SIN(CDR.LAT.RAD) * COS(HOUR.ANG.RAD) - COS(CDR.LAT.RAD) * TAN(DECL.RAD)
5350 CHI = SIN(HOUR.ANG.RAD) / CHI.DENOM
5360 REM * CALCULATE SOLAR AZIMUTH CONSTANT, CAZ
5370 IF HOUR.ANG.DEG < 0 AND CHI >= 0 THEN
CAZ = 0
5380 ELSEIF HOUR.ANG.DEG >= 0 AND CHI < 0 THEN
CAZ = 360
5390 ELSE
CAZ = 180
5495 END IF
5400 REM * CALCULATE SOLAR AZIMUTH IN DEGREES, Z4.DEG
5410 Z4.DEG = CAZ + ATN(CHI) / DEG.TO.RAD
5420 Z4.RAD = Z4.DEG * DEG.TO.RAD
5510 Z1.RAD = Z1.DEG * DEG.TO.RAD
5520 E1 = COS(H3.RAD) * COS(Z4.RAD - Z1.RAD)
5530 E2.RAD = ATN(SQR( 1 / E1 ^ 2 - 1 ))
5540 QS = ABSORP * Q3 * SIN(E2.RAD) * D / 1000 * ( 1 + . 0001148 * CDR.ELEV - 1.108E-08 * CDR.ELEV ^ 2 )
5545 IF DEBUG = 0 THEN PRINT # 2 , " QS = " ; QS
5550 GOTO 5570
5560 QS = 0 !
5570 RETURN
6000 REM /**/ //
6010 REM / SUBROUTINE TO PRINT OUTPUT TO MONITOR SCREEN
6020 REM /**/ //
6030 REM *****************
6040 REM * PRINT TO SCREEN
6050 REM *****************
6060 CLS
6070 PRINT
6080 PRINT X$
6090 PRINT " IEEE STD 738-2006 METHOD OF CALCULATION "
6100 PRINT
6110 PRINT " AIR TEMPERATURE = " ; TAMB; " DEG C & " ;
6130 PRINT " WIND SPEED IS " ; VWIND; " M / SEC "
6140 PRINT USING " THE ANGLE BETWEEN WIND AND CONDUCTOR IS ### DEG " ; WINDANG.DEG
6150 PRINT USING " THE CONDUCTOR IS #####. M ABOVE SEA LEVEL; " ; CDR.ELEV
6160 PRINT USING " AND ###.# DEG FROM NORTH; AT A LATITUDE OF ###.# DEG " ; Z1.DEG; CDR.LAT
6170 PRINT " THE SUN TIME IS " ; SUN.TIME; " HOURS & " ; " THE ATMOSPHERE IS " ; B$
6180 PRINT
6240 PRINT " CONDUCTOR DIAMETER IS " ; D; " MM "
6250 PRINT USING " CONDUCTOR RESISTANCE IS ##.#### OHMS/KM AT #### DEG C " ; RLO * 1000 ; TLO
6260 PRINT USING " AND ##.#### OHMS/KM AT #### DEG C " ; RHI * 1000 ; THI
6270 PRINT " COEF OF EMISSIVITY = " ; EMISS; " & COEF OF ABSORPTIVITY = " ; ABSORP
6280 IF NSELECT = 3 OR NSELECT = 4 GOTO 6490
6290 PRINT
6350 PRINT USING " SOLAR HEAT INPUT IS ####.### WATTS PER CONDUCTOR METER " ; QS
6360 PRINT USING " RADIATION COOLING IS ####.### WATTS PER CONDUCTOR METER " ; QR
6370 PRINT USING " CONVECTIVE COOLING IS ####.### WATTS PER CONDUCTOR METER " ; QC
6380 PRINT
6390 IF NSELECT = 1 THEN GOTO 6440
6400 PRINT USING " GIVEN A MAXIMUM CONDUCTOR TEMPERATURE OF #####.# DEG C, " ; TCDRPRELOAD
6410 PRINT USING " THE STEADY STATE THERMAL RATING IS ######.# AMPERES " ; TR
6420 GOSUB 7000
6430 RETURN
6440 IF XIPRELOAD = 1.111 THEN XIPRELOAD = 0
6450 PRINT USING " GIVEN A CONSTANT CURRENT OF #####.# AMPERES, " ; XIPRELOAD
6460 PRINT USING " THE CONDUCTOR TEMPERATURE IS ####.# DEG C " ; TCDRPRELOAD
6470 GOSUB 7000
6480 RETURN
6490 REM PRINT
6500 PRINT " ******* TRANSIENT THERMAL CALCULATIONS ******* "
6510 PRINT USING " INITIAL STEADY STATE CONDUCTOR TEMP = ###.# DEG C " ; TCDRPRELOAD
6520 IF IORTPRELOAD = 1 THEN PRINT USING " FOR A PRE-STEP STEADY STATE CURRENT = #####.# AMPERES " ; XIPRELOAD
6530 IF HNH = 2 THEN GOTO 6610
6550 PRINT USING " HEAT CAPACITY = ####.# WATTS-SEC/M-C " ; HEATCAP
6560 GOTO 6630
6610 PRINT USING " CORE HEAT CAPACITY = ####.# WATTS-SEC/M-C " ; HEATCORE
6620 PRINT USING " OUTER STRAND LAYERS HEAT CAPACITY = ####.# WATTS-SEC/M-C " ; HEATOUT
6630 IF NSELECT = 4 THEN 6670
6640 PRINT " THE TOTAL TIME OF INTEREST AFTER THE CURRENT "
6650 IF SORM = 0 THEN PRINT USING " INCREASES TO #######.# AMPS = ####.#### SECONDS " ; XISTEP; TT
6660 IF SORM = 1 THEN PRINT USING " INCREASES TO #######.# AMPS = ####.#### MINUTES " ; XISTEP; TT / 60
6670 PRINT USING " CALCULATION TIME INTERVAL = ###.#### SECONDS " ; DELTIME
6680 IF ((ATCDR( 2 ) - TAMB) / (ATCDR(KTIMEMAX) - TAMB)) < . 05 THEN GOTO 6710
6690 PRINT " CALCULATION ACCURACY WOULD IMPROVE IF THIS TIME INTERVAL WERE REDUCED "
6700 REM PRINT
6710 IF FLAG = 0 OR HEATCORE = 0 THEN 6730
6720 PRINT " CORE HEAT CAPACITY IS IGNORED SINCE STEP DURATION LESS THAN 60 SEC "
6730 IF NSELECT = 4 GOTO 6870
6740 IF ATCDR(KTIMEMAX) < TCDRMAX THEN GOTO 6780
6750 PRINT USING " IT TAKES ####.#### SEC (####.#### MIN) " ; TIME(KTIMEMAX); TIME(KTIMEMAX) / 60 !
6760 PRINT " TO REACH THE MAXIMUM ALLOWABLE CONDUCTOR TEMPERATURE "
6770 PRINT USING " OF ####.# DEGREES C " ; TCDRMAX
6780 GOSUB 7000
6790 FOR K = 1 TO KTIMEMAX
6800 IF SORM = 0 THEN PRINT USING " TIME=#####.#### SEC CDRTEMP= ####.# DEG C " ; TIME(K); ATCDR(K)
6810 IF SORM = 1 THEN PRINT USING " TIME=#####.#### MIN CDRTEMP= ####.# DEG C " ; TIME(K) / 60 ; ATCDR(K)
6820 IF K <> 20 AND K <> 40 AND K <> 60 AND K <> 80 THEN GOTO 6840
6830 GOSUB 7000
6840 NEXT K
6850 IF KTIMEMAX < 20 THEN GOSUB 7000
6860 RETURN
6870 PRINT USING " THE TRANSIENT THERMAL RATING = ########.# AMPERES " ; XISTEP
6880 PRINT " THAT IS, WITH THIS CURRENT, THE CDR TEMPERATURE JUST REACHES "
6890 IF TT > 60 THEN PRINT USING " THE MAXIMUM OF ####.# DEG C IN ##.#### MINUTES " ; TCDRMAX; TT / 60 !
6900 IF TT <= 60 THEN PRINT USING " THE MAXIMUM OF ####.# DEG C IN ###.#### SECONDS " ; TCDRMAX; TT
6910 GOSUB 7000
6920 RETURN
7000 REM /**/ //
7010 REM / SUBROUTINE TO FREEZE MONITOR SCREEN
7020 REM /**/ //
7030 PRINT X$
7040 PRINT " PRESS PRTSC TO PRINT OR ANY KEY TO CONTINUE "
7050 FOR P = 1 TO 1000000 !
7060 D$ = INKEY$: IF LEN(D$) <> 0 THEN 7090
7070 NEXT P
7080 CLS
7090 RETURN
8000 REM /**/
8010 REM / SUBROUTINE TO ENTER INPUT DATA FROM ASCII FILE
8020 REM /**/
8030 IF NS = 0 THEN INPUT # 1 , FILENAM$, Z$: INPUT # 1 , NSETS, Z$
8040 NS = NS + 1
8050 INPUT # 1 , COMMENT$, Z$
8060 REM INPUT # 1 , MOREIN, Z$
8070 REM INPUT # 1 , MOREOUT, Z$
8080 INPUT # 1 , NSELECT, Z$
8090 IF NSELECT = 1 THEN 8130
8100 IF NSELECT = 3 OR NSELECT = 4 THEN 8180
8110 INPUT # 1 , TCDRPRELOAD, Z$
8120 GOTO 8300
8130 INPUT # 1 , XIPRELOAD, Z$
8140 GOTO 8300
8150 REM *****************
8160 REM * TRANSIENT DATA
8170 REM *****************
8180 INPUT # 1 , IORTPRELOAD, Z$
8190 IF IORTPRELOAD = 1 THEN INPUT # 1 , XIPRELOAD, Z$
8200 IF IORTPRELOAD = 2 THEN INPUT # 1 , TCDRPRELOAD, Z$
8210 IF NSELECT = 4 THEN INPUT # 1 , TCDRMAX, Z$ ELSE TCDRMAX = 1000
8220 IF NSELECT = 3 THEN INPUT # 1 , XISTEP, Z$
8230 INPUT # 1 , SORM, Z$
8240 INPUT # 1 , TT, Z$
8250 INPUT # 1 , DELTIME, Z$
8260 IF SORM = 1 THEN TT = TT * 60
8270 REM **************
8280 REM * WEATHER DATA
8290 REM **************
8300 INPUT # 1 , TAMB, Z$
8310 INPUT # 1 , VWIND, Z$
8320 INPUT # 1 , WINDANG.DEG, Z$
8340 REM *****************
8350 REM * CONDUCTOR DATA
8360 REM *****************
8370 INPUT # 1 , C$, Z$
8380 INPUT # 1 , D, Z$
8390 INPUT # 1 , TLO, THI, Z$
8400 INPUT # 1 , RLO, RHI, Z$
8430 RLO = RLO / 1000
8440 RHI = RHI / 1000
8450 IF NSELECT = 1 OR NSELECT = 2 THEN 8510
8460 INPUT # 1 , HNH, Z$
8470 IF HNH = 1 THEN INPUT # 1 , HEATOUT, Z$: HEATCORE = 0
8480 IF HNH = 2 THEN INPUT # 1 , HEATOUT, HEATCORE, Z$
8490 REM
8500 REM
8510 HEATCAP = HEATOUT + HEATCORE
8520 INPUT # 1 , EMISS, ABSORP, Z$
8530 INPUT # 1 , CDR.ELEV, Z$
8540 INPUT # 1 , Z1.DEG, Z$
8550 REM
8560 REM *********************
8570 REM * SOLAR HEATING DATA
8580 REM *********************
8590 INPUT # 1 , CDR.LAT, Z$
8600 INPUT # 1 , SUN.TIME, NDAY, Z$
8610 INPUT # 1 , A3, B$, Z$
8620 RETURN
9000 REM /**/ ///
9010 REM / SUBROUTINE TO CALCULATE THERM COEF OF RAC & HEATCAP & WIND CORRECTION
9020 REM /**/ ///
9030 REM **********************************************************
9040 REM * SETUP LINEAR CONDUCTOR RESISTANCE EQ AS FUNCTION OF TEMP
9042 REM * B IN OHM / M - C OR OHM / FT - C AND B1 IN OHM / M OR OHM / FT
9050 REM **********************************************************
9060 B = (RHI - RLO) / (THI - TLO)
9070 B1 = RLO - B * TLO
9080 REM *****************************************************
9090 REM * SET UP LINEAR HEAT CAPACITY EQS AS FUNCTION OF TEMP
9100 REM *****************************************************
9110 REM ***************************************************
9120 REM * CORRECTION FACTOR (YC) FOR NON - PERPENDICULAR WIND
9130 REM ***************************************************
9140 WINDANG.RAD = 1.570796 - WINDANG.DEG * PIANG
9150 YC = 1.194 - SIN(WINDANG.RAD) - . 194 * COS( 2 ! * WINDANG.RAD) + . 368 * SIN( 2 ! * WINDANG.RAD)
9160 RETURN
10000 REM /**/ ///
10010 REM / SUBROUTINE TO CALCULATE STARTING VALUE FOR CURRENT ITERATION
10020 REM / BY ASSUMING ADIABATIC HEATING DURING TIME TT
10030 REM /**/ ///
10040 TCDR = (TCDRMAX + TAMB) / 2
10050 IF TT < 60 THEN HEATCAP = HEATOUT ELSE HEATCAP = HEATOUT + HEATCORE
10060 GOSUB 15000
10070 AT = SQR(HEATCAP * (TCDRMAX - TAMB) / TT) / W4
10080 TCDR = TCDRPRELOAD
10090 NFLAG = 1
10100 GOSUB 13000
10110 RETURN
11000 REM /**/ ///
11010 REM / SUBROUTINE CALCS CDR TEMP VS TIME FOR STEP CHANGE CURRENT
11020 REM /**/ ///
11030 IF NSELECT = 4 THEN PRINT USING " TRYING A CURRENT OF #######.#### AMPS " ; XISTEP
11040 FLAG = 0
11050 ATCDR( 1 ) = TCDRPRELOAD
11060 TCDR = ATCDR( 1 )
11070 GOSUB 15000
11080 K = 1
11090 ATCDR(K + 1 ) = TCDR + (W4 ^ 2 * XISTEP ^ 2 + QS - QR - QC) * DELTIME / HEATCAP
11100 TIME(K + 1 ) = TIME(K) + DELTIME
11110 TCDR = ATCDR(K + 1 )
11115 IF NSELECT = 4 GOTO 11130
11120 PRINT " TIME = " ; TIME(K + 1 ); " SECONDS / " ; " CDR TEMP = " ; TCDR; " DEG C "
11130 IF NSELECT = 3 AND TCDR > TCDRMAX THEN 11280
11140 REM ********************************************************************
11150 REM *
11160 REM ********************************************************************
11170 GOSUB 15000
11180 K = K + 1
11190 IF K = 3000 THEN PRINT " TIME INTERVAL TOO SMALL. ARRAY OUT OF BOUNDS " : GOTO 1880
11200 IF TIME(K) < TT THEN 11090
11210 IF XISTEP = 0 AND TCDR > TCDRMAX THEN 11220 ELSE 11250
11220 PRINT " EVEN IF THE CURRENT IS REDUCED TO ZERO AMPS, THE CONDUCTOR "
11230 PRINT USING " TEMPERATURE WILL NOT DECREASE TO ####.# DEG C IN ####.# MINUTES " ; TCDRMAX; TT / 60
11240 GOTO 1880
11250 REM **********************************
11260 REM * CHECK FOR SHORT DURATION FAULTS
11270 REM **********************************
11280 IF TIME(K) >= 60 OR FLAG = 1 OR HEATCORE = 0 OR TT < 60 THEN GOTO 11320
11290 HEATCAP = HEATOUT
11300 FLAG = 1
11310 GOTO 11050
11320 KTIMEMAX = K
11330 RETURN
12000 REM /**/ ////
12010 REM / SUBROUTINE ITERATES TO FIND CONDUCTOR TEMPERATURE
12020 REM / GIVEN THE CONDUCTOR CURRENT
12030 REM /**/ ////
12040 IF NFLAG = 0 THEN TCDR = X: GOSUB 15000 : TEMP = XIDUMMY - TR: RETURN
12050 IF NFLAG = 1 THEN XISTEP = X: GOSUB 11000
12060 IF TCDRPRELOAD <= TCDRMAX THEN TEMP = TCDRMAX - TCDR: RETURN
12070 IF TCDRPRELOAD > TCDRMAX THEN TEMP = TCDR - TCDRMAX: RETURN
13000 REM /**/ ////
13010 REM / SUBROUTINE RTMI MUELLER - S ITERATION METHOD SELECTS A CURRENT
13020 REM / WHICH JUST RAISES TCDR TO TCDMAX IN THE TIME TT. THIS CURRENT
13030 REM / IS THE TRANSIENT RATING OF THE CONDUCTOR. IT DOES THIS BY
13040 REM / REPEATEDLY GUESSING A CURRENT - XISTEP - CALCULATING TCDR AT TT
13050 REM / AND COMPARING THE CALCULATED TCDR TO TCDRMAX. ROUTINE SUPPLIED
13060 REM / COURTESY OF BILL HOWINGTON.
13070 REM /**/ /////
13080 REM * START BY PREPARING TO ITERATE
13090 REM *******************************
13100 XLI = 0 : XRI = 0 : EPS = . 049 : IEND = 20 : X = 0
13110 GOSUB 14000
13120 IER = 0 : XL = XLI: XR = XRI: X = XL: TOL = X
13130 GOSUB 12000
13140 F = TEMP: IF XLI = XRI OR F = 0 THEN 13530
13150 FL = F: X = XR: TOL = X
13160 GOSUB 12000
13170 F = TEMP: IF F = 0 THEN 13530
13180 FR = F: IF (SGN(FL) + SGN(FR)) = 0 THEN 13200 ELSE 13760
13190 REM ************************************************
13200 REM BASIC ASSUMPTION FL * FR LESS THAN 0 IS SATISFIED.
13210 REM ************************************************
13220 I = 0
13230 REM ********************
13240 REM START ITERATION LOOP
13250 REM ********************
13260 I = I + 1
13270 REM ********************
13280 REM START BISECTION LOOP
13290 REM ********************
13300 FOR JK = 1 TO IEND
13310 X = . 5 * (XL + XR): TOL = X: GOSUB 12000
13320 F = TEMP: IF F = 0 THEN 13530
13330 IF (SGN(F) + SGN(FR)) = 0 THEN 13370 ELSE 13380
13340 REM ***************************************************************
13350 REM INTERCHANGE XL AND XR IN ORDER TO GET THE SAME SIGN IN F AND FR
13360 REM ***************************************************************
13370 TOL = XL: XL = XR: XR = TOL: TOL = FL: FL = FR: FR = TOL
13380 TOL = F - FL: DA = F * TOL: DA = DA + DA
13390 IF (DA - FR * (FR - FL)) >= 0 THEN 13410
13400 IF (I - IEND) <= 0 THEN 13570
13410 XR = X: FR = F
13420 REM ***********************************************
13430 REM TEST ON SATISFACTORY ACCURACY IN BISECTION LOOP
13440 REM ***********************************************
13450 TOL = EPS
13460 IF (ABS(FR - FL) - TOL) <= 0 THEN 13530
13470 NEXT JK
13480 REM *****************************************************************
13490 REM END OF BISECTION LOOP - NO CONVERGENCE AFTER IEND ITERATION STEPS
13500 REM FOLLOWED BY IEND SUCCESSIVE STEPS OF BISECTION
13510 REM *****************************************************************
13520 IER = 1 : GOTO 13780
13530 RETURN
13540 REM ******************************************************************
13550 REM COMPUTATION OF ITERATED X - VALUE BY INVERSE PARABOLIC INTERPOLATION
13560 REM ******************************************************************
13570 DA = FR - F: DX = (X - XL) * FL * ( 1 + F * (DA - TOL) / (DA * (FR - FL))) / TOL
13580 XM = X: FM = F: X = XL - DX: TOL = X
13590 GOSUB 12000
13600 F = TEMP: IF F = 0 THEN 13530
13610 REM ***********************************************
13620 REM TEST ON SATISFACTORY ACCURACY IN ITERATION LOOP
13630 REM ***********************************************
13640 TOL = EPS
13650 IF (ABS(F) - TOL) <= 0 THEN 13530
13660 REM **********************************
13670 REM PREPARATION OF NEXT BISECTION LOOP
13680 REM **********************************
13690 IF (SGN(F) + SGN(FL)) <> 0 THEN 13710
13700 XR = X: FR = F: GOTO 13260
13710 XL = X: FL = F: XR = XM: FR = FM: GOTO 13260
13720 REM ****************************************
13730 REM END OF ITERATION LOOP
13740 REM ERROR RETURN IN CASE OF WRONG INPUT DATA
13750 REM ****************************************
13760 IF XHI <> XLO THEN 13770 ELSE RETURN
13770 IER = 2 : JK = 0
13780 BEEP: PRINT " NUMBER OF ITERATIONS= " ; JK
13790 PRINT " ITERATION ROUTINE CONDITION CODE,IER= " ; IER
13800 IF IER = 2 THEN PRINT " TCDR OUT OF TEMPERATURE RANGE "
13810 IF IER = 1 THEN PRINT " NO CONVERGENCE IN SUBROUTINE TRANS "
13820 STOP
14000 REM /**/
14010 REM / SUBROUTINE GUESS TO DETERMINE INITIAL BOUNDS FOR ITERATION
14020 REM /**/
14030 IF NFLAG = 0 THEN XLO = TAMB: XHI = 1000 : DIV = 10
14040 IF NFLAG = 1 THEN XLO = 0 : XHI = 10 * AT: DIV = 10
14050 CHA = (XHI - XLO) / DIV: NUM = INT(DIV): X = XLO
14060 GOSUB 12000
14070 FO = TEMP
14080 FOR JK = 1 TO NUM
14090 X = XLO + JK * CHA: GOSUB 12000
14100 FF = TEMP: IF (SGN(FF) + SGN(FO)) = 0 THEN 14140
14110 FO = FF
14120 NEXT JK
14130 XLI = XLO: XRI = XHI: RETURN
14140 XRI = X: XLI = X - CHA: RETURN
15000 REM /**/ /////
15010 REM / SUBROUTINE T0 CALCULATE THERMAL RATING GIVEN A CDR TEMP (TCDR),
15020 REM / AND CONDUCTOR PARAMETERS AND WEATHER CONDITIONS
15030 REM /**/ /////
15040 REM PRINT USING " TRYING A TCDR OF ####.### DEG C " ; TCDR
15050 REM *********************************************************
15060 REM * CALC CONDUCTOR HEAT LOSS (QR) BY RADIATION (WATTS / M)
15070 REM *********************************************************
15080 T3 = TCDR + 273
15090 T4 = TAMB + 273
15102 QR = . 0178 * EMISS * D * ((T3 / 100 ) ^ 4 - (T4 / 100 ) ^ 4 )
15110 REM ******************************************************************
15120 REM * CALC CONDUCTOR HEAT LOSS BY CONVECTION (WATTS / M)
15130 REM ******************************************************************
15140 T5 = (TCDR + TAMB) / 2
15160 U1 = 1.458E-06 * (T5 + 273 ) ^ 1.5 / (T5 + 383.4 )
15172 P1 = ( 1.2932 - . 0001525 * CDR.ELEV + 6.379E-09 * CDR.ELEV ^ 2 ) / ( 1 + . 00367 * T5)
15180 K1 = . 02424 + 7.477E-05 * T5 - 4.407E-09 * T5 ^ 2
15181 IF DEBUG = 0 THEN PRINT # 2 , " U1,P1,K1 = " ; U1, P1, K1
15182 REM ******************************************************************
15184 REM * CALC CONDUCTOR HEAT LOSS (QC) BY NATURAL CONVECTION (WATTS / M)
15186 REM ******************************************************************
15188 IF (TCDR - TAMB) < 0 ! THEN TCDR = TAMB + . 1
15191 QC = . 0205 * P1 ^ . 5 * D ^ . 75 * (TCDR - TAMB) ^ 1.25
15192 IF VWIND = 0 THEN 15450
15194 REM *****************************************************************
15196 REM * CALC CONDUCTOR HEAT LOSS (QCF) BY FORCED CONVECTION (WATTS / M)
15198 REM *****************************************************************
15202 Z = D * P1 * VWIND / U1
15212 Q1 = . 0119 * Z ^ . 6 * K1 * (TCDR - TAMB)
15222 Q2 = ( 1.01 + . 0372 * Z ^ . 52 ) * K1 * (TCDR - TAMB)
15230 IF Q1 - Q2 <= 0 THEN 15260
15240 QCF = Q1
15250 GOTO 15270
15260 QCF = Q2
15265 IF DEBUG = 0 THEN PRINT # 2 , " QCF = " ; QCF
15270 QCF = QCF * YC
15370 REM ***********************************************************
15380 REM * SELECT LARGER OF CONVECTIVE HEAT LOSSES (QC VERSUS QCF)
15390 REM ***********************************************************
15400 IF QCF < QC THEN 15450
15410 QC = QCF
15420 REM ***************************************
15430 REM * CALC SUM OF STEADY STATE HEAT FLOWS
15440 REM ***************************************
15450 R5 = - QS + QC + QR
15460 REM ************************************************
15470 REM * CALC SQRT OF CONDUCTOR RESISTANCE IN OHMS / FT
15480 REM ************************************************
15492 W4 = SQR(B1 + B * TCDR)
15500 IF R5 <= 0 THEN TR = 0 : GOTO 15560
15510 R4 = R5 ^ . 5
15520 REM **************************************************
15530 REM * CALCULATE THERMAL RATING (AMPACITY) IN AMPERES
15540 REM **************************************************
15550 TR = R4 / W4
15560 RETURN
16000 REM /**/ /////
16010 REM / SUBROUTINE TO WRITE OUTPUT DATA TO FILE
16020 REM /**/ /////
16030 PRINT # 2 ,
16040 PRINT # 2 ,
16050 PRINT # 2 , X$
16060 PRINT # 2 , " IEEE STD 738-2006 METHOD FOR CALCULATION OF "
16070 PRINT # 2 , " BARE OVERHEAD CONDUCTOR TEMPERATURES & THERMAL RATINGS "
16080 PRINT # 2 , " INPUT DATA FILE NAME IS " ; F$
16090 PRINT # 2 , COMMENT$
16100 PRINT # 2 , C$
16110 PRINT # 2 , " AIR TEMPERATURE IS " ; TAMB; " DEG C "
16180 PRINT # 2 , " WIND SPEED IS " ; VWIND; " M/SEC "
16190 PRINT # 2 , USING " ANGLE BETWEEN WIND AND CONDUCTOR IS ### DEG " ; WINDANG.DEG
16200 PRINT # 2 , " COEFFICIENT OF EMISSIVITY IS " ; EMISS
16210 PRINT # 2 , " COEFFICIENT OF ABSORPTIVITY IS " ; ABSORP
16220 PRINT # 2 , " LINE DIRECTION IS ### DEG FROM NORTH " ; Z1.DEG; " AND THE ATMOSPHERE IS " ; B$
16230 IF NSELECT = 3 OR NSELECT = 4 THEN GOTO 16450
16240 PRINT # 2 ,
16250 PRINT # 2 ,
16260 PRINT # 2 , " STEADY STATE THERMAL CALCULATIONS "
16320 PRINT # 2 , USING " QS IS ####.### WATTS PER METER OF CONDUCTOR " ; QS
16330 PRINT # 2 , USING " QR IS ####.### WATTS PER METER OF CONDUCTOR " ; QR
16340 PRINT # 2 , USING " QC IS ####.### WATTS PER METER OF CONDUCTOR " ; QC
16350 PRINT # 2 ,
16360 IF NSELECT = 1 THEN GOTO 16400
16370 PRINT # 2 , USING " GIVEN A MAXIMUM CONDUCTOR TEMPERATURE OF ####.# DEG C, " ; TCDRPRELOAD
16380 PRINT # 2 , USING " THE STEADY STATE THERMAL RATING IS ##### AMPERES " ; TR
16390 GOTO 16430
16400 IF XIPRELOAD = 1.111 THEN XIPRELOAD = 0
16410 PRINT # 2 , USING " GIVEN A CONSTANT CURRENT OF ##### AMPERES " ; XIPRELOAD
16420 PRINT # 2 , USING " THE CONDUCTOR TEMPERATURE IS ####.# DEG C " ; TCDRPRELOAD
16430 REM
16440 GOTO 16740
16450 PRINT # 2 ,
16460 PRINT # 2 ,
16470 PRINT # 2 , " TRANSIENT THERMAL CALCULATIONS "
16480 PRINT # 2 , USING " INITIAL STEADY STATE CDR TEMP IS ###.# DEG C " ; TCDRPRELOAD
16490 IF IORTPRELOAD = 2 THEN PRINT # 2 ,
16500 IF IORTPRELOAD = 1 THEN PRINT # 2 , USING " FOR A GIVEN INITIAL CURRENT OF ##### AMPERES, " ; XIPRELOAD
16505 IF HNH = 2 THEN GOTO 16545
16515 PRINT # 2 , USING " HEAT CAPACITY = ####.#WATTS-SEC/M- C " ; HEATCAP
16520 GOTO 16570
16545 PRINT # 2 , USING " CORE HEAT CAPACITY = ####.# WATTS- SEC/M-C " ; HEATCORE
16550 PRINT # 2 , USING " OUTER STRAND LAYERS HEAT CAPACITY = ####.# WATTS- SEC/M-C " ; HEATOUT
16570 IF NSELECT = 4 THEN 16610
16580 PRINT # 2 , " THE MAXIMUM TIME OF INTEREST AFTER THE STEP CURRENT "
16590 IF SORM = 0 THEN PRINT # 2 , USING " INCREASES TO #######.# AMPS IS ####.#### SECONDS " ; XISTEP; TT
16600 IF SORM = 1 THEN PRINT # 2 , USING " INCREASES TO #######.# AMPS IS ####.#### MINUTES " ; XISTEP; TT / 60
16610 PRINT # 2 , USING " THE MAX ALLOWABLE CONDUCTOR TEMPERATURE IS ####.# DEG C " ; TCDRMAX
16620 IF NSELECT = 4 GOTO 16680
16630 FOR I = 1 TO KTIMEMAX
16640 IF SORM = 0 THEN PRINT # 2 , USING " TIME=###.#### SEC CDRTEMP= ###.# DEG C " ; TIME(I); ATCDR(I)
16650 IF SORM = 1 THEN PRINT # 2 , USING " TIME=###.### MIN CDRTEMP= ###.# DEG C " ; TIME(I) / 60 ; ATCDR(I)
16660 NEXT I
16670 GOTO 16730
16680 PRINT # 2 , USING " THE TRANSIENT THERMAL RATING IS ########.# AMPERES " ; XISTEP
16690 PRINT # 2 , " THAT IS, WITH THIS CURRENT, THE CONDUCTOR TEMPERATURE JUST REACHES "
16700 PRINT # 2 , USING " THE MAXIMUM ALLOWABLE CDR TEMP OF ####.# DEG C " ; TCDRMAX
16710 IF TT > 60 THEN PRINT # 2 , USING " IN ####.## MINUTES " ; TT / 60
16720 IF TT < 60 THEN PRINT # 2 , USING " IN ###.#### SECONDS " ; TT
16730 PRINT # 2 , X$
16740 RETURN
20000 REM /**/ /
20010 REM / COMMENTS ON PROGRAM
20020 REM /**/ /
20030 REM *
20040 REM * THE PROGRAM DOES NOT CALCULATE ANY INTERNAL RADIAL OR AXIAL
20050 REM * TEMPERATURE GRADIENTS. THIS IS NORMALLY NOT A SOURCE OF
20060 REM * SIGNIFICANT ERROR EXCEPT FOR INTERNALLY COMPLEX CONDUCTORS
20070 REM * SUCH AS FIBER - OPTIC SHIELD WIRE AND FOR NON - HOMOGENEOUS CONDUCTORS
20080 REM * FOR FAULT CURRENTS OF LESS THAN 1 MINUTE. THE PROGRAM DOES NOT
20090 REM * APPLY TO INTERNALLY COMPLEX CONDUCTORS, IT DOES CALCULATE A WORST
20100 REM * CASE ESTIMATE OF TEMPERATURE / RATING FOR ACSR OR ACSR / AW BY NEGLECTING
20110 REM * THE HEAT STORAGE CAPACITY OF THE RELATIVELY POORLY CONDUCTING CORE
20120 REM * FOR STEP CURRENTS WHICH PERSIST FOR LESS THAN ONE MINUTE.
20130 REM * THE VARIATION IN SPECIFIC HEAT WITH TEMPERATURE IS NEGLECTED.
20140 REM * ADDED COMMENTS 7 / 97 DAD
20150 REM * ADDED SI FORMULAS, SOLAR EQUATIONS, AND CHANGED AIR PARAMETERS
/**/ /****************************************************************/
/**/ /* Created with BCX -- The BASIC To C Translator */
/**/ /* BCX (c) 1999, 2000 by Kevin Diggins */
/**/ /****************************************************************/
#include < windows.h > /**/ /* Windows Specific Header File */
#include < windowsx.h > /**/ /* Windows Specific Header File */
#include < commctrl.h > /**/ /* Windows Specific Header File */
#include < mmsystem.h > /**/ /* Windows Specific Header File */
#include < shellapi.h > /**/ /* Windows Specific Header File */
#include < winsock.h > /**/ /* Windows Specific Header File */
#include < stdio.h >
#include < string .h >
#include < stddef.h >
#include < stdlib.h >
#include < ctype.h >
#include < setjmp.h >
#include < math.h >
#include < time.h >
#include < cstdlib >
/**/ /* ------------------------ */
/**/ /* System Variables */
/**/ /* ------------------------ */
static COORD cursor;
static HANDLE hConsole;
static int color_fg = 7 ;
static int color_bg = 0 ;
static jmp_buf GosubStack[ 100 ];
static int GosubNdx;
static int StrCnt;
static char StrFunction [ 64 ][ 257 ];
static char InputBuffer [ 257 ];
/**/ /* ------------------- */
/**/ /* User's Constants */
/**/ /* ------------------- */
/**/ /* ----------------------- */
/**/ /* User Global Variables */
/**/ /* ----------------------- */
static int FLAG1;
static double XIDUMMY;
static double XIPRELOAD;
static int XISTEP;
static double TCDR;
static double TCDRPRELOAD;
static int TCDRMAX;
static double IORTPRELOAD;
static int DELTIME;
static int FS1;
static int FS2;
static int FS3;
static char XXX [ 257 ] = ... {'-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-'} ;
double X;
char B [ 257 ];
double BB;
static int A3;
static int NDAY;
double H3ARG;
static int KI;
static int NFLAG;
double PI;
double PIANG;
FILE * F1;
long SORF;
char FOUT [ 257 ];
int DEBUG;
FILE * F2;
int GG;
int NSELECT;
int ET;
int NS;
int NSETS;
double Q3;
double ATCDR [ 1001 ];
int TIME [ 1001 ];
int DIV;
double DA;
double FR;
int SUNTIME;
double DEGTORAD;
double CDRLATRAD;
double CDRLATDEG;
double DECLDEG;
double DECLRAD;
double H3RAD;
double H3DEG;
double HOURANGDEG;
double HOURANGRAD;
double CHIDENOM;
double CHI;
int CAZ;
double ABSORP;
double Z4DEG;
double Z4RAD;
double E2RAD;
double CDRELEV;
double Z1RAD;
double Z1DEG;
double E1;
double QS;
double D;
char D1[ 220 ];
double TAMB;
double EMISS;
double USING;
double VWIND;
double QCF;
double CDRLAT;
double RLO;
double TLO;
double RHI;
double QR;
double QC;
double TR;
double THI;
double HEATCAP;
double HEATCORE;
int HEATOUT; // double
double TT;
double HEATOUTELSEHEATCAP;
double AT;
double W4;
double DX;
double R4;
double R5;
double TCDRTAMB;
char INKEY[ 20 ];
double T5;
double U1;
double P1;
double K1;
double Q1;
double Q2;
char C[ 220 ];
char t[ 10 ];
int I;
int JK;
int HNH;
int SORM;
int KTIMEMAX;
int FLAG;
int K = 1 ;
int P;
int tcdrmax;
char Z[ 220 ];
char FILENAM[ 220 ];
// double Z;
double WINDANGDEG;
char FT[ 220 ];
char FG[ 220 ];
char COMMENT[ 220 ];
// float F;
char F [ 257 ];
char FFF[ 257 ];
float F8;
float FL;
float FM;
double B1;
int YC;
double WINDANGRAD;
double XLI;
double XRI;
double XM;
double XHI;
double XLO;
double EPS;
double grat;
int IEND;
float TEMP;
int IER;
double XL;
double XR;
double CHA;
double TOL;
double T3;
double T4;
int NUM;
double FO;
double FF;
double value = 0.0 ;
char * p;
char temp[ 128 ] = ... {0} ;
/**/ /* ---------------------- */
/**/ /* Standard Prototypes */
/**/ /* ---------------------- */
float sgn ( float );
float Abs ( float );
char * string ( int , char * );
int len ( char * );
int fInt ( float );
void cls();
void locate ( int , int , int );
/**/ /* --------------------- */
/**/ /* Run Time Functions */
/**/ /* --------------------- */
float sgn ( float a)
... {
if(a<0)
...{
return -1;
}
if(a>0)
...{return 1;}
return 0;
}
char * string ( int count, char * a)
... {
static char t [257];
static int i;
if (++StrCnt==64) StrCnt = 0;
sprintf(t,"%s","");
for(i=1;i<=count;i++)
...{
sprintf(t,"%s%s",t,a);
}
sprintf(StrFunction[StrCnt],"%s",t);
return StrFunction[StrCnt];
}
int len ( char * d)
... {return strlen(d);}
int fInt ( float a)
... {
return a+0.5;
}
float Abs ( float a)
... {
if(a<0)
...{return a*(-1);}
else
...{return a;}
}
void cls ()
... {
DWORD ret;
int attr;
cursor.X = 0;
cursor.Y = 0;
FillConsoleOutputCharacter(hConsole,32,2000,cursor,&ret);
attr = color_fg + color_bg * 16;
FillConsoleOutputAttribute (hConsole,attr,2000,cursor,&ret);
locate(1,1,1);
}
void locate( int row, int col, int show)
... {
CONSOLE_CURSOR_INFO cci;
cursor.X = col-1;
cursor.Y = row-1;
SetConsoleCursorPosition(hConsole,cursor);
cci.bVisible = show;
SetConsoleCursorInfo(hConsole,&cci);
}
void splitstrng( char * str)
... {
for(int i=0;i<strlen(str);i++)
...{
if((str[i]==' ') && (str[i+1]==' '))
...{
str[i]='
" FILE SI_TRTMP.TXT " " FILE DESCRIPTION "
1 " NUMBER OF DATA SETS IS "
" CDR TEMP VS TIME CALC " " COMMENT ON FIRST DATA SET "
3 " SELECT CALCULATION "
1 " PRE-STEP AMP(1) OR TEMP(2) "
400 " PRE-STEP CURRENT "
1200 " POST-STEP CURRENT "
1 " UNITS OF STEP MIN(1) OR SEC(0) "
15 " STEP DURATION IN ABOVE UNITS "
60 " CALC TIME INTERVAL (SEC) "
40 " AMBIENT TEMP IN DEG C IS "
0.61 " WIND SPEED (M/SEC) "
90 " ANGLE BETWEEN WIND & CDR AXIS IN DEG "
" 400 MM2 DRAKE 26/7 ACSR " " CONDUCTOR DESCRIPTION "
28.12 " CONDUCTOR DIAMETER (MM) "
25 , 75 " MIN & MAX CDR TEMP IN DEG C "
0.07284 , 0.08689 " MIN & MAX CDR RAC (OHMS/KM) "
2 " CONDUCTOR HAS A STEEL CORE "
1066 ., 243 " HEAT CAP OF OUTER & CORE STRANDS (W-SEC/M-C) "
0.5 , 0.5 " COEF OF EMISS AND SOLAR ABSORP "
0 . " CDR ELEV ABOVE SEA LEVEL IN FEET "
45 " CDR DIR IN DEG CW FROM NORTH "
43 " CDR LATITUDE IN DEGREES "
12 , 161 " SOLAR HOUR (2PM=14) OR 99(NO SUN) & DAY OF THE YEAR "
0 , " CLEAR " " AIR CLARITY - CLEAR(0), INDUST(1) "
一份basic文件转化成c文件(自己收藏)相关推荐
- TensorFlow:将ckpt文件固化成pb文件
TensorFlow:将ckpt文件固化成pb文件 本文是将yolo3目标检测框架训练出来的ckpt文件固化成pb文件,主要利用了GitHub上的该项目. 为什么要最终生成pb文件呢?简单来说就是直接 ...
- 利用Python批量将csv文件转化成xml文件
文章目录 一.前言 二.Python代码实现 一.前言 将 csv 格式转换成xml格式有许多方法,可以用数据库的方式,也有许多软件可以将 csv 转换成xml.但是比较麻烦,本文利用 Python ...
- Pcap文件转化成Pcd文件
通过RSview将点云文件保存成了Pcap格式,但这种格式不能很好的支持PCL点云库,故不能很好的实现点云获取.滤波.分割.配准.检索.特征提取.识别.追踪.曲面重建.可视化等,因此我们需要将Pcap ...
- QT Designer 生成的ui文件转化成py文件以及简单使用
QT Designer 生成的ui文件转化成py文件以及简单使用 设计 转换 使用 方法一 方法二 设计 首先用QTdesigner 设计你的界面 然后保存成.ui文件 这一步大家应该都可以做到,就不 ...
- sarscape 将dem文件转化成stl_STL文件,一种前处理网格划分技术??
源:吴冠中作品 点击关注CAE仿真空间, 点亮"在看",优质内容不错过对于从事专业仿真技术的工程师而言,我们已经习惯而且能够熟练的利用诸如ANSA.Hypermesh等网格划分前处 ...
- 利用pandas实现json文件转化成csv文件
补充上篇博客提到的json文件数据转换成csv文件.作为数据分析最常用文件类型json与csv,出于一定情况下,我们需要将json中字典类型的数据,转换为csv存储,这又用到python强大的pand ...
- Vaa3D_批量将tiff文件转化成v3draw文件
通过这个代码可以实现输入tif.tiff文件所在的文件夹,在对应的位置生成一个文件夹然后在该文件夹中生成v3draw图像.如果不需要可以注释这部分代码. QString folder=QFileDia ...
- ipynb文件转化成py文件
在当前文件夹运行cmd, 输入 jupyter nbconvert --to script xxx.ipynb [注]xxx.ipynb是需要转换成py的文件名称. 搞定!
- 用CleverPDF在线办公工具怎么将PDF文件转化成Word?
PDF文件由于无法快捷在线进行编辑,所以在日常办公中很多人在处理文字文件时会将PDF文件转化成Word文件:目前可用于文件转换的办公工具是比较多的,为减轻大家日常办公的负担,推荐大家可使用clever ...
最新文章
- windows桌面待办事项_记录在电脑便签中的内容怎么在电脑桌面显示透明日历清单?...
- ASA 独立实现WEB URL过滤!!!
- 查看Ubuntu中的ip地址
- C语言冒泡排序三种写法,冒泡排序的三种实现方法
- python csv生成vcf
- 【知识图谱】Neo4j 删除、清空数据库的方法
- C语言实现逆波兰表示法(栈)
- 投影仪不能显示桌面图标(文字)
- 关于Java中大小写转换
- java中的画图公式_GitHub - oneSaber/Compiler-java: 函数绘图语言java实现
- python中什么叫类、什么叫对象_Python中的类和对象是什么
- Node.js到底是什么?
- 矩阵键盘逐行扫描C语言,(原创)51单片机C语言程序设计--速学教程实例(入门篇)之矩阵键盘(逐行扫描法).pdf...
- organization --form 表单中organization 数据来源
- 计算机保研备战,【计算机系】“研途有你 更为明朗”计算机系2017级考研/保研交流会...
- 学生免费领取阿里云ECS云服务器并使用全过程(部署个人博客项目)
- C语言程序设计笔记1(小甲鱼
- 统计:目前网上商店最热卖的五大类商品
- 数据库访问层中间件Zebra
- 互联网早报:字节跳动布局新消费:将推出香水品牌“Emotif”;闲鱼上线“校园圈”频道
热门文章
- csv逗号分隔符转换_CSV文件存储
- js中float运算
- Window系统触摸板防误撞 - 输入文字时再也不用担心光标找不到了
- 计算机应用函数count,计算机二级office考试中excel考点:countif函数的使用方法
- 黑马程序员——Java字符流、字节流IO流
- 调试C语言程序-使用日志的方式
- 安装U盘版Ubuntu20.04(virtual box+Ubuntu安装光盘镜像文件)
- PaperTask.cn:做在线人工翻译 打造新语言生态
- shm php,php实现共享内存进程通信函数(_shm)
- linux在tty3创建用户,我对linux理解之tty三