반응형

[IBRGAC] A Lumped-Parameter Interior Ballistic Computer Code Using The Ttcp Model.pdf
1.18MB

 

 

 

IBRGAC.exe
1.58MB

 

 

 

IBRGA is a simple FORTRAN code for making computer simulations of the interior ballistic performance of guns. It can be run on computers as small as an IBM PC. It is based on the lumped-parameter mathematical model of interior ballistics recently adopted by the The Technical Cooperation Program (TTCP), and therefore it permits validation of that model. While the TTCP model is limited to a Lagrange pressure gradient equation, IBRGA also permits using a gradient equation which takes into account the chambrage of the gun. Calculations with IBRGA agree with the results of gun firings, which slow higher muzzle velocities for guns with chambrage than for guns with chambers of constant diameter. IBRGA is used to slow gun optimizations performed with Lagrange gradients for guns without chambrage lead to nearly-optimal propellant grain dimensions for use in guns with chambrage.

This report documents IBRGA thoroughly. It includes comparisons with IBHVG2, a complete FORTRAN listing of the IBRGA code, and sample inputs and outputs.

 

IBRGA는 총포의 강내탄도 성능을 컴퓨터로 시뮬레이션하기 위한 간단한 FORTRAN 코드입니다. IBM PC만큼 작은 컴퓨터에서도 실행할 수 있습니다. 이 코드는 최근 The Technical Cooperation Program(TTCP)에서 채택한 강내탄도학의 집중 매개변수 수학적 모델을 기반으로 하며, 따라서 해당 모델의 검증을 가능하게 합니다. TTCP 모델은 라그랑주 압력 구배 방정식으로 제한되지만, IBRGA는 총포의 chambrage를 고려한 구배 방정식도 사용할 수 있습니다. IBRGA를 사용한 계산은 chambrage가 있는 총포의 발사 결과와 일치하며, chambrage가 있는 총포의 총구 속도가 일정한 지름의 공간이 있는 총포의 총구 속도보다 느립니다. IBRGA는 chambrage가 없는 총포의 라그랑주 구배로 수행된 느린 총구의 최적화를 위해 사용되며, chambrage가 있는 총포의 경우 거의 최적의 추진제 입자 크기를 제공합니다.

이 보고서는 IBRGA를 철저히 문서화합니다. IBHVG2와 비교, IBRGA 코드의 전체 FORTRAN 목록, 샘플 입력 및 출력을 포함합니다.

 

chambrage

Lagrange Input file

9832.2384 12.7 12.7 1.0 0.0 457.2 1
9.796 0 0.0 0.0
5 0.0 0.0 0.0 0.6 0.0 1.3 0.0 300.0 0.0 457.0
1.e20 2 3.0e+4 0.0 8.0e+5 0.2
0.001135 0.01143 0.46028 273.0 1.0 7.8612
84.5535 0.9755 294.0 0.004712 1.4
1 1135.99 3141.0 0.9755 8.7 1.6605 1.23 7 3.175 0.0508 0.0508 1.07208908 0.28072226
1 1.0 0.1105187 689.476 
0.005 0.05 30.0

 

Lagrange  Output file

 *** IBRGAC BRL-MR-3710 ***

* USING LAGRANGE PRESSURE GRADIENT *


 CHAMBER VOLUME (CM**3)  0.983224E+04
 GROOVE DIAM  (CM)       0.127000E+02
 LAND DIAM    (CM)       0.127000E+02
 GROOVE/LAND RATIO       0.100000E+01
 TWIST TURNS/CALIBER     0.000000E+00
 PROJECTILE TRAVEL (CM)  0.457200E+03


 PROJECTILE MASS (KG)    0.979600E+01
 SWITCH TO CALCULATE ENERGY LOST TO AIR RESISTANCE (J) 0
 FRACTION OF WORK AGAINST BORE USED TO HEAT THE TUBE  0.000000E+00
 GAS PRESSURE (PA)  0.000000E+00



 NUMBER BARREL RESISTANCE POINTS 5
 BORE RESISTANCE (MPA) - TRAVEL (CM)
   0.000000E+00  0.000000E+00
   0.000000E+00  0.600000E+00
   0.000000E+00  0.130000E+01
   0.000000E+00  0.300000E+03
   0.000000E+00  0.457000E+03


 MASS OF RECOILING PARTS (KG)  0.100000E+21
 NUMBER OF RECOIL POINT PAIRS 2
 RECOIL FORCE (N) RECOIL TIME (SEC)
   0.300000E+05     0.000000E+00
   0.800000E+06     0.200000E+00


 FREE CONVECTIVE HEAT TRANSFER COEFFICIENT (WCM**2 K)  0.113500E-02
 CHAMBER WALL THICKNESS (CM)  0.114300E-01
 HEAT CAPACITY OF STEEL OF CHAMBER WALL (J/G K)  0.460280E+00
 INITIAL TEMPERATURE OF CHAMBER WALL (K)  0.273000E+03
 HEAT LOSS COEFFICIENT  0.100000E+01
 DENSITY OF CHAMBER WALL STEEL (G/CM**3)  0.786120E+01


 FOR IGNITER PROPELLANT 
 IMPETUS (J/G)              0.845535E+02
 COVOLUME (CM**3/G)         0.975500E+00
 ADIABATIC FLAME TEMP. (K)  0.294000E+03
 INITIAL MASS (KG)          0.471200E-02
 RATIO OF SPECIFIC HEATS    0.140000E+01


 FOR PROPELLANT NUMBER =  1
 IMPETUS (J/G)                             0.113599E+04
 ADIABATIC TEMPERATURE (K)                 0.314100E+04
 COVOLUME (CM**3/G)                        0.975500E+00
 INITIAL MASS (KG)                         0.870000E+01
 DENSITY (G/CM**3)                         0.166050E+01
 RATIO OF SPECIFIC HEATS                   0.123000E+01
 NUMBER OF PERFORATIONS                   7
 LENGTH OF GRAIN (CM)                      0.317500E+01
 DIA. OF INNER PERFORATION IN GRAINS (CM)  0.508000E-01
 DIA. OF OUTER PERFORATION OF GRAINS (CM)  0.508000E-01
 OUTSIDE DIAMETER OF GRAIN (CM)            0.107209E+01
 DISTANCE BETWEEN PERF CENTERS (CM)        0.280722E+00



 NUMBER OF BURNING RATE POINTS 1
   EXPONENT        COEFFICIENT           PRESSURE
     -               CM/SEC-MPA**AI          MPA
   0.100000E+01       0.110519E+00       0.689476E+03




 TIME INCREMENT (MSEC)            0.500000E-02
 PRINT INCREMENT (MSEC)           0.500000E-01
 TIME TO STOP CALCULATION (MSEC)  0.300000E+02


*** THE DATA HAS BEEN READ ***




 AREA BORE (M^2)     0.126677E-01 PRESSURE FROM IGNITER (PA)    0.868339E+05
 VOLUME OF UNBURNT PROPELLANT (M^3)    0.523939E-02 INITIAL CHAMBER
 VOL-COV IGNITER (M^3)    0.982764E-02


     TIME             ACCE             VELO             DISP            P_MEAN           P_BASE           P_BRCH
 0.500000E-05     0.876122E+02     0.435600E-03     0.108695E-08     0.878190E+05     0.677511E+05     0.978529E+05
 0.500000E-04     0.969295E+02     0.458455E-02     0.112468E-06     0.971582E+05     0.749562E+05     0.108259E+06
 0.100000E-03     0.108337E+03     0.971140E-02     0.467491E-06     0.108593E+06     0.837776E+05     0.121000E+06
 0.150000E-03     0.120946E+03     0.154383E-01     0.109361E-05     0.121232E+06     0.935284E+05     0.135083E+06
 0.200000E-03     0.134855E+03     0.218277E-01     0.202236E-05     0.135173E+06     0.104284E+06     0.150618E+06
 0.250000E-03     0.150165E+03     0.289471E-01     0.328854E-05     0.150520E+06     0.116124E+06     0.167717E+06
 0.300000E-03     0.166980E+03     0.368693E-01     0.493045E-05     0.167374E+06     0.129126E+06     0.186497E+06
 0.350000E-03     0.185404E+03     0.456719E-01     0.699014E-05     0.185842E+06     0.143374E+06     0.207075E+06
 0.400000E-03     0.205546E+03     0.554383E-01     0.951370E-05     0.206031E+06     0.158950E+06     0.229571E+06
 0.450000E-03     0.227512E+03     0.662569E-01     0.125515E-04     0.228049E+06     0.175937E+06     0.254106E+06
 0.500000E-03     0.251414E+03     0.782218E-01     0.161585E-04     0.252007E+06     0.194420E+06     0.280801E+06
 0.550000E-03     0.277360E+03     0.914324E-01     0.203944E-04     0.278014E+06     0.214484E+06     0.309779E+06
 0.600000E-03     0.305462E+03     0.105994E+00     0.253242E-04     0.306183E+06     0.236216E+06     0.341166E+06
 0.650000E-03     0.335833E+03     0.122016E+00     0.310182E-04     0.336626E+06     0.259702E+06     0.375088E+06
 0.700000E-03     0.368591E+03     0.139617E+00     0.375522E-04     0.369461E+06     0.285034E+06     0.411674E+06
 0.750000E-03     0.403853E+03     0.158917E+00     0.450082E-04     0.404807E+06     0.312303E+06     0.451058E+06
 0.800000E-03     0.441747E+03     0.180046E+00     0.534744E-04     0.442789E+06     0.341606E+06     0.493381E+06
 0.850000E-03     0.482402E+03     0.203138E+00     0.630455E-04     0.483540E+06     0.373045E+06     0.538788E+06
 0.900000E-03     0.525960E+03     0.228335E+00     0.738232E-04     0.527201E+06     0.406728E+06     0.587437E+06
 0.950000E-03     0.572570E+03     0.255785E+00     0.859165E-04     0.573921E+06     0.442772E+06     0.639496E+06
 0.100000E-02     0.622396E+03     0.285645E+00     0.994419E-04     0.623865E+06     0.481303E+06     0.695145E+06
 0.105000E-02     0.675613E+03     0.318081E+00     0.114524E-03     0.677207E+06     0.522456E+06     0.754583E+06
 0.110000E-02     0.732414E+03     0.353266E+00     0.131296E-03     0.734142E+06     0.566381E+06     0.818023E+06
 0.115000E-02     0.793008E+03     0.391385E+00     0.149899E-03     0.794879E+06     0.613238E+06     0.885699E+06
 0.120000E-02     0.857623E+03     0.432634E+00     0.170486E-03     0.859647E+06     0.663205E+06     0.957867E+06
 0.125000E-02     0.926508E+03     0.477219E+00     0.193218E-03     0.928695E+06     0.716475E+06     0.103480E+07
 0.130000E-02     0.999935E+03     0.525360E+00     0.218268E-03     0.100229E+07     0.773256E+06     0.111681E+07
 0.135000E-02     0.107820E+04     0.577293E+00     0.245818E-03     0.108074E+07     0.833777E+06     0.120422E+07
 0.140000E-02     0.116161E+04     0.633266E+00     0.276064E-03     0.116436E+07     0.898285E+06     0.129739E+07
 0.145000E-02     0.125053E+04     0.693546E+00     0.309216E-03     0.125348E+07     0.967045E+06     0.139670E+07
 0.150000E-02     0.134532E+04     0.758417E+00     0.345495E-03     0.134850E+07     0.104035E+07     0.150257E+07
 0.155000E-02     0.144639E+04     0.828183E+00     0.385139E-03     0.144980E+07     0.111850E+07     0.161545E+07
 0.160000E-02     0.155417E+04     0.903168E+00     0.428401E-03     0.155783E+07     0.120185E+07     0.173583E+07
 0.165000E-02     0.166912E+04     0.983719E+00     0.475549E-03     0.167305E+07     0.129074E+07     0.186421E+07
 0.170000E-02     0.179174E+04     0.107021E+01     0.526871E-03     0.179596E+07     0.138556E+07     0.200117E+07
 0.175000E-02     0.192257E+04     0.116303E+01     0.582675E-03     0.192710E+07     0.148673E+07     0.214729E+07
 0.180000E-02     0.206217E+04     0.126261E+01     0.643287E-03     0.206704E+07     0.159469E+07     0.230321E+07
 0.185000E-02     0.221118E+04     0.136940E+01     0.709056E-03     0.221639E+07     0.170992E+07     0.246963E+07
 0.190000E-02     0.237022E+04     0.148390E+01     0.780356E-03     0.237582E+07     0.183291E+07     0.264727E+07
 0.195000E-02     0.254002E+04     0.160661E+01     0.857583E-03     0.254601E+07     0.196421E+07     0.283691E+07
 0.200000E-02     0.272131E+04     0.173809E+01     0.941162E-03     0.272773E+07     0.210441E+07     0.303939E+07
 0.205000E-02     0.291489E+04     0.187894E+01     0.103155E-02     0.292177E+07     0.225411E+07     0.325560E+07
 0.210000E-02     0.312161E+04     0.202980E+01     0.112922E-02     0.312898E+07     0.241397E+07     0.348649E+07
 0.215000E-02     0.334239E+04     0.219134E+01     0.123471E-02     0.335027E+07     0.258469E+07     0.373307E+07
 0.220000E-02     0.357817E+04     0.236429E+01     0.134855E-02     0.358662E+07     0.276703E+07     0.399641E+07
 0.225000E-02     0.383001E+04     0.254942E+01     0.147134E-02     0.383905E+07     0.296177E+07     0.427768E+07
 0.230000E-02     0.409898E+04     0.274757E+01     0.160371E-02     0.410866E+07     0.316977E+07     0.457810E+07
 0.235000E-02     0.438627E+04     0.295962E+01     0.174633E-02     0.439662E+07     0.339193E+07     0.489897E+07
 0.240000E-02     0.469311E+04     0.318653E+01     0.189992E-02     0.470419E+07     0.362921E+07     0.524167E+07
 0.245000E-02     0.502083E+04     0.342928E+01     0.206524E-02     0.503268E+07     0.388264E+07     0.560770E+07
 0.250000E-02     0.537083E+04     0.368898E+01     0.224313E-02     0.538351E+07     0.415330E+07     0.599861E+07
 0.255000E-02     0.574462E+04     0.396676E+01     0.243444E-02     0.575818E+07     0.444235E+07     0.641609E+07
 0.260000E-02     0.614378E+04     0.426386E+01     0.264013E-02     0.615828E+07     0.475103E+07     0.686190E+07
 0.265000E-02     0.657000E+04     0.458159E+01     0.286117E-02     0.658550E+07     0.508062E+07     0.733794E+07
 0.270000E-02     0.702507E+04     0.492135E+01     0.309865E-02     0.704165E+07     0.543253E+07     0.784620E+07
 0.275000E-02     0.751090E+04     0.528461E+01     0.335370E-02     0.752862E+07     0.580823E+07     0.838882E+07
 0.280000E-02     0.802950E+04     0.567298E+01     0.362753E-02     0.804845E+07     0.620927E+07     0.896804E+07
 0.285000E-02     0.858301E+04     0.608814E+01     0.392144E-02     0.860327E+07     0.663730E+07     0.958625E+07
 0.290000E-02     0.917371E+04     0.653190E+01     0.423682E-02     0.919535E+07     0.709409E+07     0.102460E+08
 0.295000E-02     0.980397E+04     0.700617E+01     0.457514E-02     0.982711E+07     0.758148E+07     0.109499E+08
 0.300000E-02     0.104763E+05     0.751300E+01     0.493798E-02     0.105011E+08     0.810143E+07     0.117009E+08
 0.305000E-02     0.111935E+05     0.805455E+01     0.532702E-02     0.112199E+08     0.865601E+07     0.125019E+08
 0.310000E-02     0.119583E+05     0.863314E+01     0.574405E-02     0.119865E+08     0.924740E+07     0.133560E+08
 0.315000E-02     0.127736E+05     0.925122E+01     0.619099E-02     0.128038E+08     0.987792E+07     0.142667E+08
 0.320000E-02     0.136427E+05     0.991140E+01     0.666988E-02     0.136749E+08     0.105500E+08     0.152373E+08
 0.325000E-02     0.145688E+05     0.106164E+02     0.718288E-02     0.146032E+08     0.112662E+08     0.162717E+08
 0.330000E-02     0.155554E+05     0.113693E+02     0.773232E-02     0.155921E+08     0.120291E+08     0.173736E+08
 0.335000E-02     0.166062E+05     0.121731E+02     0.832066E-02     0.166453E+08     0.128417E+08     0.185472E+08
 0.340000E-02     0.177249E+05     0.130310E+02     0.895053E-02     0.177667E+08     0.137067E+08     0.197966E+08
 0.345000E-02     0.189155E+05     0.139467E+02     0.962472E-02     0.189601E+08     0.146275E+08     0.211265E+08
 0.350000E-02     0.201822E+05     0.149239E+02     0.103462E-01     0.202299E+08     0.156071E+08     0.225413E+08
 0.355000E-02     0.215294E+05     0.159663E+02     0.111182E-01     0.215802E+08     0.166488E+08     0.240459E+08
 0.360000E-02     0.229615E+05     0.170782E+02     0.119440E-01     0.230157E+08     0.177563E+08     0.256454E+08
 0.365000E-02     0.244833E+05     0.182639E+02     0.128273E-01     0.245411E+08     0.189331E+08     0.273451E+08
 0.370000E-02     0.260996E+05     0.195281E+02     0.137717E-01     0.261611E+08     0.201830E+08     0.291502E+08
 0.375000E-02     0.278153E+05     0.208756E+02     0.147815E-01     0.278809E+08     0.215097E+08     0.310665E+08
 0.380000E-02     0.296356E+05     0.223114E+02     0.158607E-01     0.297056E+08     0.229174E+08     0.330996E+08
 0.385000E-02     0.315659E+05     0.238410E+02     0.170142E-01     0.316404E+08     0.244101E+08     0.352555E+08
 0.390000E-02     0.336114E+05     0.254699E+02     0.182465E-01     0.336908E+08     0.259920E+08     0.375402E+08
 0.395000E-02     0.357778E+05     0.272041E+02     0.195629E-01     0.358622E+08     0.276672E+08     0.399597E+08
 0.400000E-02     0.380704E+05     0.290498E+02     0.209688E-01     0.381602E+08     0.294401E+08     0.425203E+08
 0.405000E-02     0.404950E+05     0.310134E+02     0.224698E-01     0.405905E+08     0.313150E+08     0.452283E+08
 0.410000E-02     0.430570E+05     0.331016E+02     0.240722E-01     0.431586E+08     0.332963E+08     0.480898E+08
 0.415000E-02     0.457622E+05     0.353214E+02     0.257822E-01     0.458702E+08     0.353882E+08     0.511112E+08
 0.420000E-02     0.486159E+05     0.376803E+02     0.276066E-01     0.487307E+08     0.375950E+08     0.542985E+08
 0.425000E-02     0.516237E+05     0.401856E+02     0.295527E-01     0.517455E+08     0.399209E+08     0.576578E+08
 0.430000E-02     0.547905E+05     0.428453E+02     0.316278E-01     0.549198E+08     0.423699E+08     0.611948E+08
 0.435000E-02     0.581216E+05     0.456674E+02     0.338399E-01     0.582587E+08     0.449458E+08     0.649152E+08
 0.440000E-02     0.616214E+05     0.486603E+02     0.361974E-01     0.617668E+08     0.476522E+08     0.688241E+08
 0.445000E-02     0.652943E+05     0.518324E+02     0.387089E-01     0.654484E+08     0.504925E+08     0.729263E+08
 0.450000E-02     0.691442E+05     0.551926E+02     0.413837E-01     0.693074E+08     0.534697E+08     0.772262E+08
 0.455000E-02     0.731743E+05     0.587498E+02     0.442315E-01     0.733470E+08     0.565862E+08     0.817274E+08
 0.460000E-02     0.773875E+05     0.625131E+02     0.472622E-01     0.775701E+08     0.598443E+08     0.864330E+08
 0.465000E-02     0.817856E+05     0.664917E+02     0.504864E-01     0.819786E+08     0.632454E+08     0.913452E+08
 0.470000E-02     0.863699E+05     0.706948E+02     0.539151E-01     0.865737E+08     0.667904E+08     0.964654E+08
 0.475000E-02     0.911407E+05     0.751318E+02     0.575597E-01     0.913558E+08     0.704797E+08     0.101794E+09
 0.480000E-02     0.960974E+05     0.798120E+02     0.614323E-01     0.963242E+08     0.743128E+08     0.107330E+09
 0.485000E-02     0.101238E+06     0.847446E+02     0.655451E-01     0.101477E+09     0.782882E+08     0.113072E+09
 0.490000E-02     0.106560E+06     0.899388E+02     0.699111E-01     0.106812E+09     0.824037E+08     0.119016E+09
 0.495000E-02     0.112059E+06     0.954036E+02     0.745435E-01     0.112324E+09     0.866562E+08     0.125157E+09
 0.500000E-02     0.117730E+06     0.101148E+03     0.794561E-01     0.118008E+09     0.910413E+08     0.131491E+09
 0.505000E-02     0.123565E+06     0.107179E+03     0.846631E-01     0.123857E+09     0.955538E+08     0.138008E+09
 0.510000E-02     0.129557E+06     0.113507E+03     0.901790E-01     0.129863E+09     0.100187E+09     0.144700E+09
 0.515000E-02     0.135695E+06     0.120137E+03     0.960188E-01     0.136016E+09     0.104934E+09     0.151556E+09
 0.520000E-02     0.141969E+06     0.127078E+03     0.102198E+00     0.142304E+09     0.109786E+09     0.158563E+09
 0.525000E-02     0.148365E+06     0.134336E+03     0.108732E+00     0.148715E+09     0.114732E+09     0.165707E+09
 0.530000E-02     0.154870E+06     0.141917E+03     0.115637E+00     0.155235E+09     0.119762E+09     0.172972E+09
 0.535000E-02     0.161467E+06     0.149825E+03     0.122929E+00     0.161848E+09     0.124863E+09     0.180340E+09
 0.540000E-02     0.168140E+06     0.158065E+03     0.130625E+00     0.168536E+09     0.130023E+09     0.187793E+09
 0.545000E-02     0.174869E+06     0.166640E+03     0.138741E+00     0.175282E+09     0.135228E+09     0.195309E+09
 0.550000E-02     0.181637E+06     0.175552E+03     0.147295E+00     0.182065E+09     0.140461E+09     0.202867E+09
 0.555000E-02     0.188421E+06     0.184804E+03     0.156302E+00     0.188866E+09     0.145707E+09     0.210445E+09
 0.560000E-02     0.195201E+06     0.194394E+03     0.165781E+00     0.195662E+09     0.150950E+09     0.218017E+09
 0.565000E-02     0.201955E+06     0.204323E+03     0.175747E+00     0.202431E+09     0.156173E+09     0.225560E+09
 0.570000E-02     0.208659E+06     0.214589E+03     0.186219E+00     0.209152E+09     0.161358E+09     0.233049E+09
 0.575000E-02     0.215293E+06     0.225188E+03     0.197212E+00     0.215801E+09     0.166487E+09     0.240458E+09
 0.580000E-02     0.221832E+06     0.236117E+03     0.208743E+00     0.222355E+09     0.171544E+09     0.247761E+09
 0.585000E-02     0.228254E+06     0.247369E+03     0.220829E+00     0.228792E+09     0.176510E+09     0.254933E+09
 0.590000E-02     0.234537E+06     0.258940E+03     0.233485E+00     0.235090E+09     0.181369E+09     0.261951E+09
 0.595000E-02     0.240660E+06     0.270820E+03     0.246728E+00     0.241227E+09     0.186104E+09     0.268789E+09
 0.600000E-02     0.246602E+06     0.283003E+03     0.260572E+00     0.247184E+09     0.190699E+09     0.275426E+09
 0.605000E-02     0.252343E+06     0.295477E+03     0.275033E+00     0.252939E+09     0.195139E+09     0.281839E+09
 0.610000E-02     0.257867E+06     0.308233E+03     0.290125E+00     0.258476E+09     0.199411E+09     0.288008E+09
 0.615000E-02     0.263156E+06     0.321260E+03     0.305861E+00     0.263777E+09     0.203501E+09     0.293916E+09
 0.620000E-02     0.268196E+06     0.334545E+03     0.322255E+00     0.268829E+09     0.207398E+09     0.299545E+09
 0.625000E-02     0.272973E+06     0.348075E+03     0.339319E+00     0.273617E+09     0.211092E+09     0.304880E+09
 0.630000E-02     0.277476E+06     0.361838E+03     0.357066E+00     0.278131E+09     0.214574E+09     0.309909E+09
 0.635000E-02     0.281696E+06     0.375818E+03     0.375507E+00     0.282360E+09     0.217837E+09     0.314622E+09
 0.640000E-02     0.285624E+06     0.390002E+03     0.394651E+00     0.286298E+09     0.220875E+09     0.319010E+09
 0.645000E-02     0.289256E+06     0.404376E+03     0.414510E+00     0.289939E+09     0.223684E+09     0.323066E+09
 0.650000E-02     0.292588E+06     0.418923E+03     0.435092E+00     0.293279E+09     0.226261E+09     0.326788E+09
 0.655000E-02     0.295618E+06     0.433629E+03     0.456405E+00     0.296316E+09     0.228604E+09     0.330172E+09
 0.660000E-02     0.298346E+06     0.448480E+03     0.478457E+00     0.299050E+09     0.230713E+09     0.333219E+09
 0.665000E-02     0.300774E+06     0.463459E+03     0.501255E+00     0.301483E+09     0.232590E+09     0.335930E+09
 0.670000E-02     0.302904E+06     0.478552E+03     0.524805E+00     0.303618E+09     0.234237E+09     0.338309E+09
 0.675000E-02     0.304741E+06     0.493744E+03     0.549112E+00     0.305460E+09     0.235658E+09     0.340361E+09
 0.680000E-02     0.306291E+06     0.509021E+03     0.574181E+00     0.307014E+09     0.236857E+09     0.342093E+09
 0.685000E-02     0.307562E+06     0.524369E+03     0.600015E+00     0.308288E+09     0.237840E+09     0.343512E+09
 0.690000E-02     0.308561E+06     0.539773E+03     0.626619E+00     0.309289E+09     0.238612E+09     0.344628E+09
 0.695000E-02     0.309297E+06     0.555221E+03     0.653993E+00     0.310027E+09     0.239182E+09     0.345450E+09
 0.700000E-02     0.309780E+06     0.570699E+03     0.682141E+00     0.310511E+09     0.239555E+09     0.345989E+09
 0.705000E-02     0.310021E+06     0.586195E+03     0.711064E+00     0.310752E+09     0.239741E+09     0.346258E+09
 0.710000E-02     0.310029E+06     0.601697E+03     0.740761E+00     0.310761E+09     0.239747E+09     0.346267E+09
 0.715000E-02     0.309816E+06     0.617194E+03     0.771233E+00     0.310547E+09     0.239583E+09     0.346030E+09
 0.720000E-02     0.309394E+06     0.632675E+03     0.802480E+00     0.310124E+09     0.239257E+09     0.345558E+09
 0.725000E-02     0.308774E+06     0.648130E+03     0.834500E+00     0.309502E+09     0.238777E+09     0.344865E+09
 0.730000E-02     0.307967E+06     0.663549E+03     0.867292E+00     0.308694E+09     0.238153E+09     0.343964E+09
 0.735000E-02     0.306985E+06     0.678924E+03     0.900854E+00     0.307710E+09     0.237394E+09     0.342868E+09
 0.740000E-02     0.305840E+06     0.694245E+03     0.935184E+00     0.306561E+09     0.236508E+09     0.341588E+09
 0.745000E-02     0.304542E+06     0.709505E+03     0.970278E+00     0.305260E+09     0.235504E+09     0.340138E+09
 0.750000E-02     0.303102E+06     0.724697E+03     0.100613E+01     0.303817E+09     0.234391E+09     0.338530E+09
 0.755000E-02     0.301531E+06     0.739813E+03     0.104275E+01     0.302243E+09     0.233176E+09     0.336776E+09
 0.760000E-02     0.299840E+06     0.754848E+03     0.108011E+01     0.300547E+09     0.231868E+09     0.334887E+09
 0.765000E-02     0.298037E+06     0.769795E+03     0.111823E+01     0.298741E+09     0.230474E+09     0.332874E+09
 0.770000E-02     0.296134E+06     0.784650E+03     0.115709E+01     0.296833E+09     0.229002E+09     0.330748E+09
 0.775000E-02     0.294139E+06     0.799407E+03     0.119669E+01     0.294833E+09     0.227459E+09     0.328519E+09
 0.780000E-02     0.292060E+06     0.814062E+03     0.123703E+01     0.292749E+09     0.225852E+09     0.326198E+09
 0.785000E-02     0.289906E+06     0.828612E+03     0.127810E+01     0.290590E+09     0.224186E+09     0.323792E+09
 0.790000E-02     0.287685E+06     0.843052E+03     0.131989E+01     0.288364E+09     0.222469E+09     0.321312E+09
 0.795000E-02     0.285405E+06     0.857379E+03     0.136240E+01     0.286078E+09     0.220705E+09     0.318765E+09
 0.800000E-02     0.283072E+06     0.871591E+03     0.140563E+01     0.283740E+09     0.218901E+09     0.316159E+09
 0.805000E-02     0.280692E+06     0.885686E+03     0.144956E+01     0.281355E+09     0.217061E+09     0.313502E+09
 0.810000E-02     0.278274E+06     0.899660E+03     0.149419E+01     0.278930E+09     0.215191E+09     0.310800E+09
 0.815000E-02     0.275821E+06     0.913512E+03     0.153952E+01     0.276472E+09     0.213294E+09     0.308060E+09
 0.820000E-02     0.273340E+06     0.927242E+03     0.158554E+01     0.273985E+09     0.211375E+09     0.305289E+09
 0.825000E-02     0.270835E+06     0.940846E+03     0.163224E+01     0.271474E+09     0.209438E+09     0.302492E+09
 0.830000E-02     0.268312E+06     0.954325E+03     0.167962E+01     0.268945E+09     0.207487E+09     0.299674E+09
 0.835000E-02     0.265774E+06     0.967677E+03     0.172767E+01     0.266401E+09     0.205525E+09     0.296839E+09
 0.840000E-02     0.263226E+06     0.980902E+03     0.177639E+01     0.263848E+09     0.203555E+09     0.293994E+09
 0.845000E-02     0.260672E+06     0.993999E+03     0.182576E+01     0.261287E+09     0.201580E+09     0.291141E+09
 0.850000E-02     0.258115E+06     0.100697E+04     0.187579E+01     0.258724E+09     0.199602E+09     0.288285E+09
 0.855000E-02     0.255558E+06     0.101981E+04     0.192646E+01     0.256162E+09     0.197625E+09     0.285430E+09
 0.860000E-02     0.253005E+06     0.103253E+04     0.197777E+01     0.253602E+09     0.195650E+09     0.282578E+09
 0.865000E-02     0.250157E+06     0.104511E+04     0.202971E+01     0.250747E+09     0.193448E+09     0.279397E+09
 0.870000E-02     0.246617E+06     0.105753E+04     0.208227E+01     0.247199E+09     0.190710E+09     0.275443E+09
 0.875000E-02     0.242754E+06     0.106976E+04     0.213546E+01     0.243327E+09     0.187724E+09     0.271129E+09
 0.880000E-02     0.238691E+06     0.108180E+04     0.218925E+01     0.239254E+09     0.184581E+09     0.266591E+09
 0.885000E-02     0.234496E+06     0.109363E+04     0.224363E+01     0.235049E+09     0.181337E+09     0.261905E+09
 0.890000E-02     0.230216E+06     0.110525E+04     0.229861E+01     0.230760E+09     0.178028E+09     0.257126E+09
 0.895000E-02     0.225887E+06     0.111665E+04     0.235416E+01     0.226420E+09     0.174680E+09     0.252290E+09
 0.900000E-02     0.221535E+06     0.112784E+04     0.241027E+01     0.222058E+09     0.171315E+09     0.247430E+09
 0.905000E-02     0.217183E+06     0.113881E+04     0.246694E+01     0.217695E+09     0.167949E+09     0.242568E+09
 0.910000E-02     0.212846E+06     0.114956E+04     0.252415E+01     0.213349E+09     0.164596E+09     0.237725E+09
 0.915000E-02     0.208541E+06     0.116009E+04     0.258189E+01     0.209033E+09     0.161266E+09     0.232916E+09
 0.920000E-02     0.204277E+06     0.117041E+04     0.264015E+01     0.204759E+09     0.157969E+09     0.228154E+09
 0.925000E-02     0.200064E+06     0.118052E+04     0.269893E+01     0.200536E+09     0.154711E+09     0.223449E+09
 0.930000E-02     0.195911E+06     0.119042E+04     0.275820E+01     0.196373E+09     0.151499E+09     0.218810E+09
 0.935000E-02     0.191822E+06     0.120011E+04     0.281796E+01     0.192275E+09     0.148337E+09     0.214243E+09
 0.940000E-02     0.187803E+06     0.120960E+04     0.287821E+01     0.188246E+09     0.145230E+09     0.209755E+09
 0.945000E-02     0.183858E+06     0.121889E+04     0.293892E+01     0.184292E+09     0.142179E+09     0.205349E+09
 0.950000E-02     0.179990E+06     0.122799E+04     0.300009E+01     0.180414E+09     0.139187E+09     0.201028E+09
 0.955000E-02     0.176201E+06     0.123689E+04     0.306172E+01     0.176617E+09     0.136257E+09     0.196796E+09
 0.960000E-02     0.172504E+06     0.124561E+04     0.312378E+01     0.172911E+09     0.133399E+09     0.192668E+09
 0.965000E-02     0.168902E+06     0.125415E+04     0.318627E+01     0.169301E+09     0.130613E+09     0.188644E+09
 0.970000E-02     0.165393E+06     0.126250E+04     0.324919E+01     0.165783E+09     0.127899E+09     0.184725E+09
 0.975000E-02     0.161975E+06     0.127069E+04     0.331252E+01     0.162357E+09     0.125256E+09     0.180908E+09
 0.980000E-02     0.158647E+06     0.127870E+04     0.337626E+01     0.159021E+09     0.122683E+09     0.177191E+09
 0.985000E-02     0.155407E+06     0.128655E+04     0.344039E+01     0.155773E+09     0.120177E+09     0.173571E+09
 0.990000E-02     0.152252E+06     0.129424E+04     0.350491E+01     0.152611E+09     0.117738E+09     0.170048E+09
 0.995000E-02     0.149181E+06     0.130178E+04     0.356981E+01     0.149533E+09     0.115363E+09     0.166619E+09
 0.100000E-01     0.146192E+06     0.130916E+04     0.363509E+01     0.146537E+09     0.113052E+09     0.163280E+09
 0.100500E-01     0.143283E+06     0.131640E+04     0.370072E+01     0.143622E+09     0.110802E+09     0.160031E+09
 0.101000E-01     0.140452E+06     0.132349E+04     0.376672E+01     0.140783E+09     0.108612E+09     0.156869E+09
 0.101500E-01     0.137696E+06     0.133045E+04     0.383307E+01     0.138021E+09     0.106481E+09     0.153791E+09
 0.102000E-01     0.135014E+06     0.133726E+04     0.389977E+01     0.135332E+09     0.104407E+09     0.150795E+09
 0.102500E-01     0.132403E+06     0.134395E+04     0.396680E+01     0.132716E+09     0.102388E+09     0.147879E+09
 0.103000E-01     0.129862E+06     0.135050E+04     0.403416E+01     0.130168E+09     0.100423E+09     0.145041E+09
 0.103500E-01     0.127388E+06     0.135694E+04     0.410184E+01     0.127689E+09     0.985100E+08     0.142278E+09
 0.104000E-01     0.124980E+06     0.136324E+04     0.416985E+01     0.125275E+09     0.966476E+08     0.139588E+09
 0.104500E-01     0.122635E+06     0.136943E+04     0.423817E+01     0.122924E+09     0.948344E+08     0.136969E+09
 0.105000E-01     0.120352E+06     0.137551E+04     0.430679E+01     0.120636E+09     0.930690E+08     0.134420E+09
 0.105500E-01     0.118129E+06     0.138147E+04     0.437572E+01     0.118408E+09     0.913499E+08     0.131937E+09
 0.106000E-01     0.115964E+06     0.138732E+04     0.444494E+01     0.116238E+09     0.896757E+08     0.129519E+09
 0.106500E-01     0.113855E+06     0.139307E+04     0.451445E+01     0.114124E+09     0.880451E+08     0.127163E+09



DELTAT (SEC)  0.106950E-01
INTG (SEC)    0.106950E-01

 MAX P_MEAN (PA)   0.310785E+09 AT TIME (SEC)  0.707500E-02
 MAX P_BASE (PA)   0.239766E+09 AT TIME (SEC)  0.707500E-02
 MAX P_BRCH (PA)   0.346294E+09 AT TIME (SEC)  0.707500E-02


MUZZLE VELOCITY (M/S)          0.139773E+04
TIME OF MUZZLE VELOCITY (SEC)  0.106912E-01

 TOTAL INITIAL ENERGY AVAILABLE (J)  0.429711E+08

FOR PROPELLANT  1 MASS FRACTION BURNT IS   0.996610E+00

TOTAL ENERGY REMAINING IN GAS (J)             0.289575E+08
ENERGY LOSS FROM PROJECTILETRANSLATION (J)    0.957473E+07
ENERGYLOSS FROM PROJECTILE RORATION (J)       0.000000E+00
ENERGY LOST TO GAS AND PROPELLANT MOTION (J)  0.283603E+07
ENERGY LOST TO BORE RESISTANCE (J)            0.000000E+00
ENERGY LOST TO RECOIL (J)                     0.000000E+00
ENERGY LOSS FROM HEAT TRANSFER (J)            0.145715E+07
ENERGY LOST TO AIR RESISTANCE (J)             0.000000E+00

 

Chambrage Input File

9832.2384 12.7 12.7 1.0 0.0 457.2 2
3 0.0 15.39110755 46.4820 15.39110755 54.1020 12.70
9.796 0 0.0 0.0
5 0.0 0.0 0.0 0.6 0.0 1.3 0.0 300. 0. 457.
1.e20 2 3.0e+4 0.0 8.0e+5 0.2
0.001135 0.01143 0.46028 273. 1.0 7.8612
84.5535 0.9755 294.0 0.004712 1.4
1 1135.99 3141.0 0.9755 8.85 1.6605 1.23 7 3.175 0.0508 0.0508 1.06290007 0.27842504 
1 1.0 0.1105187 689.476 
0.005 0.05 30.0

 

Chambrage Output File

 *** IBRGAC BRL-MR-3710 ***

* USING CHAMBRAGE PRESSURE GRADIENT *

  CHAMBER DISTANCE (CM) CHAMBER DIAMETER (CM)
       0.000000E+00       0.153911E+02
       0.464820E+02       0.153911E+02
       0.541020E+02       0.127000E+02

 CHAMBER VOLUME (CM**3)  0.983223E+04
 GROOVE DIAM  (CM)       0.127000E+02
 LAND DIAM    (CM)       0.127000E+02
 GROOVE/LAND RATIO       0.100000E+01
 TWIST TURNS/CALIBER     0.000000E+00
 PROJECTILE TRAVEL (CM)  0.457200E+03


 PROJECTILE MASS (KG)    0.979600E+01
 SWITCH TO CALCULATE ENERGY LOST TO AIR RESISTANCE (J) 0
 FRACTION OF WORK AGAINST BORE USED TO HEAT THE TUBE  0.000000E+00
 GAS PRESSURE (PA)  0.000000E+00



 NUMBER BARREL RESISTANCE POINTS 5
 BORE RESISTANCE (MPA) - TRAVEL (CM)
   0.000000E+00  0.000000E+00
   0.000000E+00  0.600000E+00
   0.000000E+00  0.130000E+01
   0.000000E+00  0.300000E+03
   0.000000E+00  0.457000E+03


 MASS OF RECOILING PARTS (KG)  0.100000E+21
 NUMBER OF RECOIL POINT PAIRS 2
 RECOIL FORCE (N) RECOIL TIME (SEC)
   0.300000E+05     0.000000E+00
   0.800000E+06     0.200000E+00


 FREE CONVECTIVE HEAT TRANSFER COEFFICIENT (WCM**2 K)  0.113500E-02
 CHAMBER WALL THICKNESS (CM)  0.114300E-01
 HEAT CAPACITY OF STEEL OF CHAMBER WALL (J/G K)  0.460280E+00
 INITIAL TEMPERATURE OF CHAMBER WALL (K)  0.273000E+03
 HEAT LOSS COEFFICIENT  0.100000E+01
 DENSITY OF CHAMBER WALL STEEL (G/CM**3)  0.786120E+01


 FOR IGNITER PROPELLANT 
 IMPETUS (J/G)              0.845535E+02
 COVOLUME (CM**3/G)         0.975500E+00
 ADIABATIC FLAME TEMP. (K)  0.294000E+03
 INITIAL MASS (KG)          0.471200E-02
 RATIO OF SPECIFIC HEATS    0.140000E+01


 FOR PROPELLANT NUMBER =  1
 IMPETUS (J/G)                             0.113599E+04
 ADIABATIC TEMPERATURE (K)                 0.314100E+04
 COVOLUME (CM**3/G)                        0.975500E+00
 INITIAL MASS (KG)                         0.885000E+01
 DENSITY (G/CM**3)                         0.166050E+01
 RATIO OF SPECIFIC HEATS                   0.123000E+01
 NUMBER OF PERFORATIONS                   7
 LENGTH OF GRAIN (CM)                      0.317500E+01
 DIA. OF INNER PERFORATION IN GRAINS (CM)  0.508000E-01
 DIA. OF OUTER PERFORATION OF GRAINS (CM)  0.508000E-01
 OUTSIDE DIAMETER OF GRAIN (CM)            0.106290E+01
 DISTANCE BETWEEN PERF CENTERS (CM)        0.278425E+00



 NUMBER OF BURNING RATE POINTS 1
   EXPONENT        COEFFICIENT           PRESSURE
     -               CM/SEC-MPA**AI          MPA
   0.100000E+01       0.110519E+00       0.689476E+03




 TIME INCREMENT (MSEC)            0.500000E-02
 PRINT INCREMENT (MSEC)           0.500000E-01
 TIME TO STOP CALCULATION (MSEC)  0.300000E+02


*** THE DATA HAS BEEN READ ***




 AREA BORE (M^2)     0.126677E-01 PRESSURE FROM IGNITER (PA)    0.885779E+05
 VOLUME OF UNBURNT PROPELLANT (M^3)    0.532972E-02 INITIAL CHAMBER
 VOL-COV IGNITER (M^3)    0.982764E-02


     TIME             ACCE             VELO             DISP            P_MEAN           P_BASE           P_BRCH
 0.500000E-05     0.998451E+02     0.414061E-03     0.827142E-09     0.896312E+05     0.772109E+05     0.950879E+05
 0.500000E-04     0.110997E+03     0.515394E-02     0.124226E-06     0.996420E+05     0.858344E+05     0.105708E+06
 0.100000E-03     0.124712E+03     0.110406E-01     0.526233E-06     0.111954E+06     0.964406E+05     0.118770E+06
 0.150000E-03     0.139942E+03     0.176504E-01     0.124034E-05     0.125627E+06     0.108218E+06     0.133275E+06
 0.200000E-03     0.156816E+03     0.250622E-01     0.230464E-05     0.140775E+06     0.121267E+06     0.149345E+06
 0.250000E-03     0.175467E+03     0.333616E-01     0.376135E-05     0.157518E+06     0.135690E+06     0.167107E+06
 0.300000E-03     0.196031E+03     0.426408E-01     0.565712E-05     0.175978E+06     0.151592E+06     0.186692E+06
 0.350000E-03     0.218647E+03     0.529989E-01     0.804340E-05     0.196281E+06     0.169081E+06     0.208230E+06
 0.400000E-03     0.243455E+03     0.645420E-01     0.109768E-04     0.218552E+06     0.188265E+06     0.231858E+06
 0.450000E-03     0.270599E+03     0.773833E-01     0.145192E-04     0.242920E+06     0.209256E+06     0.257709E+06
 0.500000E-03     0.300220E+03     0.916432E-01     0.187387E-04     0.269513E+06     0.232163E+06     0.285921E+06
 0.550000E-03     0.332466E+03     0.107449E+00     0.237093E-04     0.298461E+06     0.257098E+06     0.316631E+06
 0.600000E-03     0.367482E+03     0.124936E+00     0.295116E-04     0.329897E+06     0.284176E+06     0.349981E+06
 0.650000E-03     0.405419E+03     0.144246E+00     0.362333E-04     0.363956E+06     0.313513E+06     0.386114E+06
 0.700000E-03     0.446432E+03     0.165529E+00     0.439691E-04     0.400777E+06     0.345229E+06     0.425176E+06
 0.750000E-03     0.490681E+03     0.188943E+00     0.528217E-04     0.440504E+06     0.379447E+06     0.467321E+06
 0.800000E-03     0.538336E+03     0.214654E+00     0.629017E-04     0.483289E+06     0.416299E+06     0.512712E+06
 0.850000E-03     0.589577E+03     0.242836E+00     0.743283E-04     0.529296E+06     0.455924E+06     0.561519E+06
 0.900000E-03     0.644599E+03     0.273675E+00     0.872296E-04     0.578698E+06     0.498473E+06     0.613928E+06
 0.950000E-03     0.703610E+03     0.307363E+00     0.101743E-03     0.631683E+06     0.544107E+06     0.670139E+06
 0.100000E-02     0.766840E+03     0.344106E+00     0.118017E-03     0.688457E+06     0.593003E+06     0.730369E+06
 0.105000E-02     0.834537E+03     0.384121E+00     0.136208E-03     0.749245E+06     0.645353E+06     0.794857E+06
 0.110000E-02     0.906976E+03     0.427639E+00     0.156487E-03     0.814292E+06     0.701370E+06     0.863864E+06
 0.115000E-02     0.984454E+03     0.474903E+00     0.179035E-03     0.883868E+06     0.761285E+06     0.937676E+06
 0.120000E-02     0.106730E+04     0.526174E+00     0.204044E-03     0.958267E+06     0.825350E+06     0.101660E+07
 0.125000E-02     0.115587E+04     0.581728E+00     0.231723E-03     0.103781E+07     0.893842E+06     0.110099E+07
 0.130000E-02     0.125056E+04     0.641863E+00     0.262293E-03     0.112285E+07     0.967064E+06     0.119121E+07
 0.135000E-02     0.135178E+04     0.706893E+00     0.295991E-03     0.121377E+07     0.104534E+07     0.128766E+07
 0.140000E-02     0.146000E+04     0.777157E+00     0.333070E-03     0.131098E+07     0.112903E+07     0.139079E+07
 0.145000E-02     0.157573E+04     0.853018E+00     0.373800E-03     0.141493E+07     0.121852E+07     0.150107E+07
 0.150000E-02     0.169948E+04     0.934864E+00     0.418472E-03     0.152611E+07     0.131422E+07     0.161901E+07
 0.155000E-02     0.183186E+04     0.102311E+01     0.467393E-03     0.164504E+07     0.141659E+07     0.174518E+07
 0.160000E-02     0.197348E+04     0.111820E+01     0.520897E-03     0.177229E+07     0.152610E+07     0.188017E+07
 0.165000E-02     0.212501E+04     0.122062E+01     0.579336E-03     0.190845E+07     0.164328E+07     0.202463E+07
 0.170000E-02     0.228718E+04     0.133088E+01     0.643090E-03     0.205420E+07     0.176869E+07     0.217924E+07
 0.175000E-02     0.246077E+04     0.144953E+01     0.712564E-03     0.221021E+07     0.190293E+07     0.234475E+07
 0.180000E-02     0.264660E+04     0.157716E+01     0.788192E-03     0.237726E+07     0.204664E+07     0.252196E+07
 0.185000E-02     0.284557E+04     0.171441E+01     0.870440E-03     0.255613E+07     0.220050E+07     0.271172E+07
 0.190000E-02     0.305863E+04     0.186195E+01     0.959805E-03     0.274769E+07     0.236526E+07     0.291495E+07
 0.195000E-02     0.328680E+04     0.202053E+01     0.105682E-02     0.295288E+07     0.254171E+07     0.313261E+07
 0.200000E-02     0.353117E+04     0.219090E+01     0.116205E-02     0.317266E+07     0.273068E+07     0.336577E+07
 0.205000E-02     0.379291E+04     0.237393E+01     0.127612E-02     0.340810E+07     0.293308E+07     0.361554E+07
 0.210000E-02     0.407325E+04     0.257051E+01     0.139967E-02     0.366033E+07     0.314988E+07     0.388312E+07
 0.215000E-02     0.437354E+04     0.278159E+01     0.153341E-02     0.393055E+07     0.338209E+07     0.416979E+07
 0.220000E-02     0.469519E+04     0.300822E+01     0.167809E-02     0.422006E+07     0.363082E+07     0.447690E+07
 0.225000E-02     0.503970E+04     0.325149E+01     0.183451E-02     0.453021E+07     0.389723E+07     0.480593E+07
 0.230000E-02     0.540869E+04     0.351259E+01     0.200354E-02     0.486249E+07     0.418258E+07     0.515842E+07
 0.235000E-02     0.580389E+04     0.379280E+01     0.218609E-02     0.521845E+07     0.448819E+07     0.553604E+07
 0.240000E-02     0.622712E+04     0.409345E+01     0.238316E-02     0.559976E+07     0.481547E+07     0.594056E+07
 0.245000E-02     0.668032E+04     0.441601E+01     0.259580E-02     0.600821E+07     0.516594E+07     0.637385E+07
 0.250000E-02     0.716557E+04     0.476202E+01     0.282515E-02     0.644568E+07     0.554118E+07     0.683793E+07
 0.255000E-02     0.768507E+04     0.513313E+01     0.307242E-02     0.691418E+07     0.594292E+07     0.733494E+07
 0.260000E-02     0.824116E+04     0.553113E+01     0.333891E-02     0.741587E+07     0.637294E+07     0.786714E+07
 0.265000E-02     0.883631E+04     0.595790E+01     0.362601E-02     0.795301E+07     0.683318E+07     0.843696E+07
 0.270000E-02     0.947316E+04     0.641546E+01     0.393521E-02     0.852804E+07     0.732566E+07     0.904696E+07
 0.275000E-02     0.101545E+05     0.690596E+01     0.426811E-02     0.914350E+07     0.785254E+07     0.969986E+07
 0.280000E-02     0.108833E+05     0.743170E+01     0.462640E-02     0.980214E+07     0.841611E+07     0.103986E+08
 0.285000E-02     0.116626E+05     0.799513E+01     0.501191E-02     0.105068E+08     0.901876E+07     0.111461E+08
 0.290000E-02     0.124958E+05     0.859886E+01     0.542658E-02     0.112606E+08     0.966306E+07     0.119458E+08
 0.295000E-02     0.133862E+05     0.924566E+01     0.587251E-02     0.120668E+08     0.103517E+08     0.128009E+08
 0.300000E-02     0.143377E+05     0.993850E+01     0.635191E-02     0.129287E+08     0.110874E+08     0.137152E+08
 0.305000E-02     0.153540E+05     0.106805E+02     0.686718E-02     0.138499E+08     0.118733E+08     0.146925E+08
 0.310000E-02     0.164391E+05     0.114750E+02     0.742084E-02     0.148343E+08     0.127125E+08     0.157368E+08
 0.315000E-02     0.175973E+05     0.123256E+02     0.801562E-02     0.158857E+08     0.136081E+08     0.168522E+08
 0.320000E-02     0.188330E+05     0.132361E+02     0.865440E-02     0.170085E+08     0.145637E+08     0.180433E+08
 0.325000E-02     0.201508E+05     0.142103E+02     0.934029E-02     0.182070E+08     0.155827E+08     0.193147E+08
 0.330000E-02     0.215555E+05     0.152526E+02     0.100766E-01     0.194857E+08     0.166690E+08     0.206712E+08
 0.335000E-02     0.230522E+05     0.163674E+02     0.108668E-01     0.208494E+08     0.178264E+08     0.221180E+08
 0.340000E-02     0.246459E+05     0.175594E+02     0.117146E-01     0.223033E+08     0.190588E+08     0.236604E+08
 0.345000E-02     0.263420E+05     0.188337E+02     0.126241E-01     0.238523E+08     0.203705E+08     0.253037E+08
 0.350000E-02     0.281461E+05     0.201954E+02     0.135994E-01     0.255018E+08     0.217655E+08     0.270538E+08
 0.355000E-02     0.300636E+05     0.216502E+02     0.146452E-01     0.272575E+08     0.232484E+08     0.289166E+08
 0.360000E-02     0.321005E+05     0.232038E+02     0.157661E-01     0.291250E+08     0.248235E+08     0.308980E+08
 0.365000E-02     0.342624E+05     0.248623E+02     0.169673E-01     0.311102E+08     0.264954E+08     0.330044E+08
 0.370000E-02     0.365554E+05     0.266322E+02     0.182542E-01     0.332189E+08     0.282685E+08     0.352420E+08
 0.375000E-02     0.389853E+05     0.285201E+02     0.196325E-01     0.354574E+08     0.301476E+08     0.376174E+08
 0.380000E-02     0.415581E+05     0.305331E+02     0.211083E-01     0.378316E+08     0.321371E+08     0.401370E+08
 0.385000E-02     0.442796E+05     0.326784E+02     0.226880E-01     0.403478E+08     0.342417E+08     0.428076E+08
 0.390000E-02     0.471555E+05     0.349636E+02     0.243784E-01     0.430121E+08     0.364657E+08     0.456355E+08
 0.395000E-02     0.501916E+05     0.373966E+02     0.261868E-01     0.458306E+08     0.388135E+08     0.486275E+08
 0.400000E-02     0.533930E+05     0.399856E+02     0.281207E-01     0.488093E+08     0.412892E+08     0.517899E+08
 0.405000E-02     0.567650E+05     0.427388E+02     0.301881E-01     0.519539E+08     0.438968E+08     0.551291E+08
 0.410000E-02     0.603121E+05     0.456650E+02     0.323975E-01     0.552701E+08     0.466398E+08     0.586509E+08
 0.415000E-02     0.640387E+05     0.487730E+02     0.347576E-01     0.587632E+08     0.495215E+08     0.623613E+08
 0.420000E-02     0.679483E+05     0.520719E+02     0.372780E-01     0.624378E+08     0.525449E+08     0.662654E+08
 0.425000E-02     0.720442E+05     0.555709E+02     0.399682E-01     0.662985E+08     0.557123E+08     0.703682E+08
 0.430000E-02     0.763285E+05     0.592795E+02     0.428385E-01     0.703491E+08     0.590254E+08     0.746741E+08
 0.435000E-02     0.808029E+05     0.632070E+02     0.458998E-01     0.745926E+08     0.624854E+08     0.791865E+08
 0.440000E-02     0.854679E+05     0.673629E+02     0.491630E-01     0.790315E+08     0.660929E+08     0.839085E+08
 0.445000E-02     0.903231E+05     0.717569E+02     0.526400E-01     0.836672E+08     0.698475E+08     0.888419E+08
 0.450000E-02     0.953670E+05     0.763984E+02     0.563429E-01     0.885004E+08     0.737479E+08     0.939878E+08
 0.455000E-02     0.100597E+06     0.812967E+02     0.602841E-01     0.935304E+08     0.777922E+08     0.993461E+08
 0.460000E-02     0.106009E+06     0.864611E+02     0.644770E-01     0.987555E+08     0.819772E+08     0.104916E+09
 0.465000E-02     0.111597E+06     0.919005E+02     0.689348E-01     0.104173E+09     0.862989E+08     0.110694E+09
 0.470000E-02     0.117356E+06     0.976237E+02     0.736717E-01     0.109778E+09     0.907518E+08     0.116676E+09
 0.475000E-02     0.123276E+06     0.103639E+03     0.787021E-01     0.115564E+09     0.953299E+08     0.122858E+09
 0.480000E-02     0.129348E+06     0.109954E+03     0.840406E-01     0.121526E+09     0.100025E+09     0.129233E+09
 0.485000E-02     0.135561E+06     0.116576E+03     0.897026E-01     0.127653E+09     0.104830E+09     0.135791E+09
 0.490000E-02     0.141902E+06     0.123512E+03     0.957034E-01     0.133935E+09     0.109734E+09     0.142523E+09
 0.495000E-02     0.148357E+06     0.130768E+03     0.102059E+00     0.140360E+09     0.114726E+09     0.149417E+09
 0.500000E-02     0.154911E+06     0.138349E+03     0.108786E+00     0.146914E+09     0.119794E+09     0.156459E+09
 0.505000E-02     0.161548E+06     0.146261E+03     0.115900E+00     0.153583E+09     0.124926E+09     0.163635E+09
 0.510000E-02     0.168248E+06     0.154505E+03     0.123417E+00     0.160349E+09     0.130107E+09     0.170928E+09
 0.515000E-02     0.174993E+06     0.163086E+03     0.131356E+00     0.167194E+09     0.135323E+09     0.178319E+09
 0.520000E-02     0.181763E+06     0.172005E+03     0.139732E+00     0.174098E+09     0.140559E+09     0.185790E+09
 0.525000E-02     0.188538E+06     0.181262E+03     0.148562E+00     0.181042E+09     0.145798E+09     0.193318E+09
 0.530000E-02     0.195297E+06     0.190858E+03     0.157863E+00     0.188003E+09     0.151024E+09     0.200884E+09
 0.535000E-02     0.202017E+06     0.200791E+03     0.167653E+00     0.194959E+09     0.156221E+09     0.208463E+09
 0.540000E-02     0.208677E+06     0.211059E+03     0.177948E+00     0.201886E+09     0.161371E+09     0.216032E+09
 0.545000E-02     0.215256E+06     0.221658E+03     0.188765E+00     0.208763E+09     0.166459E+09     0.223566E+09
 0.550000E-02     0.221731E+06     0.232583E+03     0.200119E+00     0.215564E+09     0.171466E+09     0.231043E+09
 0.555000E-02     0.228083E+06     0.243829E+03     0.212028E+00     0.222267E+09     0.176378E+09     0.238436E+09
 0.560000E-02     0.234291E+06     0.255389E+03     0.224507E+00     0.228849E+09     0.181179E+09     0.245722E+09
 0.565000E-02     0.240336E+06     0.267255E+03     0.237572E+00     0.235287E+09     0.185853E+09     0.252876E+09
 0.570000E-02     0.246199E+06     0.279419E+03     0.251238E+00     0.241560E+09     0.190387E+09     0.259876E+09
 0.575000E-02     0.251863E+06     0.291872E+03     0.265519E+00     0.247647E+09     0.194768E+09     0.266699E+09
 0.580000E-02     0.257313E+06     0.304602E+03     0.280430E+00     0.253528E+09     0.198982E+09     0.273323E+09
 0.585000E-02     0.262535E+06     0.317599E+03     0.295984E+00     0.259187E+09     0.203020E+09     0.279728E+09
 0.590000E-02     0.267515E+06     0.330852E+03     0.312194E+00     0.264606E+09     0.206871E+09     0.285896E+09
 0.595000E-02     0.272242E+06     0.344347E+03     0.329073E+00     0.269771E+09     0.210527E+09     0.291809E+09
 0.600000E-02     0.276708E+06     0.358072E+03     0.346633E+00     0.274670E+09     0.213980E+09     0.297452E+09
 0.605000E-02     0.280904E+06     0.372013E+03     0.364884E+00     0.279291E+09     0.217225E+09     0.302812E+09
 0.610000E-02     0.284824E+06     0.386157E+03     0.383837E+00     0.283626E+09     0.220257E+09     0.307877E+09
 0.615000E-02     0.288464E+06     0.400491E+03     0.403503E+00     0.287668E+09     0.223071E+09     0.312637E+09
 0.620000E-02     0.291821E+06     0.414999E+03     0.423889E+00     0.291411E+09     0.225667E+09     0.317084E+09
 0.625000E-02     0.294894E+06     0.429668E+03     0.445005E+00     0.294853E+09     0.228043E+09     0.321213E+09
 0.630000E-02     0.297682E+06     0.444484E+03     0.466858E+00     0.297991E+09     0.230200E+09     0.325019E+09
 0.635000E-02     0.300188E+06     0.459432E+03     0.489456E+00     0.300827E+09     0.232137E+09     0.328501E+09
 0.640000E-02     0.302414E+06     0.474498E+03     0.512804E+00     0.303362E+09     0.233859E+09     0.331657E+09
 0.645000E-02     0.304364E+06     0.489668E+03     0.536907E+00     0.305600E+09     0.235367E+09     0.334491E+09
 0.650000E-02     0.306044E+06     0.504930E+03     0.561772E+00     0.307545E+09     0.236666E+09     0.337004E+09
 0.655000E-02     0.307459E+06     0.520268E+03     0.587402E+00     0.309203E+09     0.237760E+09     0.339200E+09
 0.660000E-02     0.308617E+06     0.535671E+03     0.613800E+00     0.310582E+09     0.238656E+09     0.341087E+09
 0.665000E-02     0.309525E+06     0.551126E+03     0.640970E+00     0.311690E+09     0.239358E+09     0.342670E+09
 0.670000E-02     0.310192E+06     0.566620E+03     0.668913E+00     0.312535E+09     0.239873E+09     0.343957E+09
 0.675000E-02     0.310626E+06     0.582141E+03     0.697632E+00     0.313128E+09     0.240209E+09     0.344958E+09
 0.680000E-02     0.310836E+06     0.597679E+03     0.727128E+00     0.313478E+09     0.240372E+09     0.345683E+09
 0.685000E-02     0.310834E+06     0.613221E+03     0.757400E+00     0.313595E+09     0.240370E+09     0.346141E+09
 0.690000E-02     0.310627E+06     0.628759E+03     0.788450E+00     0.313492E+09     0.240210E+09     0.346343E+09
 0.695000E-02     0.310227E+06     0.644281E+03     0.820276E+00     0.313179E+09     0.239901E+09     0.346302E+09
 0.700000E-02     0.309643E+06     0.659778E+03     0.852877E+00     0.312667E+09     0.239449E+09     0.346028E+09
 0.705000E-02     0.308887E+06     0.675242E+03     0.886253E+00     0.311967E+09     0.238864E+09     0.345534E+09
 0.710000E-02     0.307967E+06     0.690664E+03     0.920401E+00     0.311091E+09     0.238153E+09     0.344831E+09
 0.715000E-02     0.306893E+06     0.706036E+03     0.955318E+00     0.310051E+09     0.237323E+09     0.343931E+09
 0.720000E-02     0.305677E+06     0.721351E+03     0.991003E+00     0.308855E+09     0.236382E+09     0.342847E+09
 0.725000E-02     0.304326E+06     0.736602E+03     0.102745E+01     0.307517E+09     0.235338E+09     0.341589E+09
 0.730000E-02     0.302852E+06     0.751782E+03     0.106466E+01     0.306045E+09     0.234197E+09     0.340171E+09
 0.735000E-02     0.301262E+06     0.766885E+03     0.110263E+01     0.304450E+09     0.232968E+09     0.338602E+09
 0.740000E-02     0.299566E+06     0.781906E+03     0.114135E+01     0.302742E+09     0.231657E+09     0.336893E+09
 0.745000E-02     0.297773E+06     0.796840E+03     0.118082E+01     0.300930E+09     0.230270E+09     0.335057E+09
 0.750000E-02     0.295889E+06     0.811682E+03     0.122103E+01     0.299023E+09     0.228813E+09     0.333102E+09
 0.755000E-02     0.293925E+06     0.826428E+03     0.126199E+01     0.297030E+09     0.227294E+09     0.331038E+09
 0.760000E-02     0.291886E+06     0.841073E+03     0.130367E+01     0.294958E+09     0.225717E+09     0.328877E+09
 0.765000E-02     0.289780E+06     0.855615E+03     0.134609E+01     0.292817E+09     0.224089E+09     0.326625E+09
 0.770000E-02     0.287614E+06     0.870050E+03     0.138923E+01     0.290612E+09     0.222414E+09     0.324292E+09
 0.775000E-02     0.285395E+06     0.884376E+03     0.143309E+01     0.288351E+09     0.220698E+09     0.321887E+09
 0.780000E-02     0.283128E+06     0.898589E+03     0.147767E+01     0.286041E+09     0.218945E+09     0.319417E+09
 0.785000E-02     0.280820E+06     0.912688E+03     0.152295E+01     0.283688E+09     0.217160E+09     0.316890E+09
 0.790000E-02     0.278475E+06     0.926670E+03     0.156894E+01     0.281298E+09     0.215347E+09     0.314312E+09
 0.795000E-02     0.276100E+06     0.940535E+03     0.161562E+01     0.278875E+09     0.213510E+09     0.311690E+09
 0.800000E-02     0.273698E+06     0.954280E+03     0.166299E+01     0.276426E+09     0.211653E+09     0.309030E+09
 0.805000E-02     0.271275E+06     0.967904E+03     0.171104E+01     0.273955E+09     0.209779E+09     0.306339E+09
 0.810000E-02     0.268834E+06     0.981407E+03     0.175978E+01     0.271466E+09     0.207891E+09     0.303621E+09
 0.815000E-02     0.266380E+06     0.994787E+03     0.180918E+01     0.268964E+09     0.205993E+09     0.300881E+09
 0.820000E-02     0.263915E+06     0.100804E+04     0.185925E+01     0.266452E+09     0.204087E+09     0.298125E+09
 0.825000E-02     0.261444E+06     0.102118E+04     0.190998E+01     0.263934E+09     0.202177E+09     0.295356E+09
 0.830000E-02     0.258970E+06     0.103419E+04     0.196137E+01     0.261413E+09     0.200264E+09     0.292579E+09
 0.835000E-02     0.256256E+06     0.104707E+04     0.201340E+01     0.258652E+09     0.198165E+09     0.289531E+09
 0.840000E-02     0.252748E+06     0.105980E+04     0.206607E+01     0.255094E+09     0.195451E+09     0.285597E+09
 0.845000E-02     0.248858E+06     0.107234E+04     0.211938E+01     0.251153E+09     0.192444E+09     0.281235E+09
 0.850000E-02     0.244732E+06     0.108468E+04     0.217330E+01     0.246975E+09     0.189253E+09     0.276607E+09
 0.855000E-02     0.240449E+06     0.109681E+04     0.222784E+01     0.242640E+09     0.185941E+09     0.271799E+09
 0.860000E-02     0.236063E+06     0.110873E+04     0.228298E+01     0.238202E+09     0.182549E+09     0.266872E+09
 0.865000E-02     0.231613E+06     0.112042E+04     0.233871E+01     0.233700E+09     0.179108E+09     0.261871E+09
 0.870000E-02     0.227130E+06     0.113189E+04     0.239502E+01     0.229166E+09     0.175641E+09     0.256829E+09
 0.875000E-02     0.222638E+06     0.114313E+04     0.245190E+01     0.224623E+09     0.172168E+09     0.251775E+09
 0.880000E-02     0.218157E+06     0.115415E+04     0.250933E+01     0.220092E+09     0.168703E+09     0.246730E+09
 0.885000E-02     0.213703E+06     0.116495E+04     0.256731E+01     0.215588E+09     0.165258E+09     0.241713E+09
 0.890000E-02     0.209288E+06     0.117552E+04     0.262582E+01     0.211124E+09     0.161844E+09     0.236737E+09
 0.895000E-02     0.204924E+06     0.118588E+04     0.268486E+01     0.206712E+09     0.158469E+09     0.231816E+09
 0.900000E-02     0.200618E+06     0.119601E+04     0.274440E+01     0.202359E+09     0.155139E+09     0.226959E+09
 0.905000E-02     0.196378E+06     0.120594E+04     0.280445E+01     0.198073E+09     0.151860E+09     0.222174E+09
 0.910000E-02     0.192209E+06     0.121565E+04     0.286499E+01     0.193859E+09     0.148636E+09     0.217468E+09
 0.915000E-02     0.188115E+06     0.122516E+04     0.292602E+01     0.189722E+09     0.145471E+09     0.212845E+09
 0.920000E-02     0.184101E+06     0.123447E+04     0.298751E+01     0.185665E+09     0.142366E+09     0.208310E+09
 0.925000E-02     0.180177E+06     0.124357E+04     0.304946E+01     0.181700E+09     0.139332E+09     0.203876E+09
 0.930000E-02     0.176353E+06     0.125249E+04     0.311186E+01     0.177836E+09     0.136375E+09     0.199553E+09
 0.935000E-02     0.172627E+06     0.126121E+04     0.317470E+01     0.174071E+09     0.133494E+09     0.195340E+09
 0.940000E-02     0.168997E+06     0.126975E+04     0.323798E+01     0.170403E+09     0.130687E+09     0.191234E+09
 0.945000E-02     0.165463E+06     0.127811E+04     0.330168E+01     0.166832E+09     0.127953E+09     0.187235E+09
 0.950000E-02     0.162022E+06     0.128630E+04     0.336579E+01     0.163356E+09     0.125292E+09     0.183340E+09
 0.955000E-02     0.158672E+06     0.129432E+04     0.343030E+01     0.159972E+09     0.122702E+09     0.179548E+09
 0.960000E-02     0.155411E+06     0.130217E+04     0.349522E+01     0.156678E+09     0.120180E+09     0.175856E+09
 0.965000E-02     0.152238E+06     0.130986E+04     0.356052E+01     0.153473E+09     0.117726E+09     0.172263E+09
 0.970000E-02     0.149150E+06     0.131739E+04     0.362620E+01     0.150353E+09     0.115338E+09     0.168765E+09
 0.975000E-02     0.146145E+06     0.132477E+04     0.369225E+01     0.147318E+09     0.113015E+09     0.165361E+09
 0.980000E-02     0.143221E+06     0.133201E+04     0.375867E+01     0.144365E+09     0.110753E+09     0.162048E+09
 0.985000E-02     0.140375E+06     0.133910E+04     0.382545E+01     0.141492E+09     0.108553E+09     0.158823E+09
 0.990000E-02     0.137606E+06     0.134605E+04     0.389258E+01     0.138696E+09     0.106412E+09     0.155685E+09
 0.995000E-02     0.134912E+06     0.135286E+04     0.396005E+01     0.135975E+09     0.104328E+09     0.152632E+09
 0.100000E-01     0.132290E+06     0.135954E+04     0.402787E+01     0.133328E+09     0.102301E+09     0.149660E+09
 0.100500E-01     0.129738E+06     0.136609E+04     0.409601E+01     0.130752E+09     0.100328E+09     0.146767E+09
 0.101000E-01     0.127255E+06     0.137251E+04     0.416447E+01     0.128245E+09     0.984070E+08     0.143951E+09
 0.101500E-01     0.124838E+06     0.137882E+04     0.423326E+01     0.125804E+09     0.965377E+08     0.141211E+09
 0.102000E-01     0.122484E+06     0.138500E+04     0.430235E+01     0.123429E+09     0.947180E+08     0.138543E+09
 0.102500E-01     0.120194E+06     0.139107E+04     0.437175E+01     0.121117E+09     0.929466E+08     0.135945E+09
 0.103000E-01     0.117963E+06     0.139702E+04     0.444146E+01     0.118866E+09     0.912219E+08     0.133416E+09
 0.103500E-01     0.115792E+06     0.140286E+04     0.451145E+01     0.116674E+09     0.895424E+08     0.130953E+09



DELTAT (SEC)  0.103950E-01
INTG (SEC)    0.103950E-01

 MAX P_MEAN (PA)   0.313595E+09 AT TIME (SEC)  0.685000E-02
 MAX P_BASE (PA)   0.240391E+09 AT TIME (SEC)  0.682500E-02
 MAX P_BRCH (PA)   0.346356E+09 AT TIME (SEC)  0.691500E-02


MUZZLE VELOCITY (M/S)          0.140781E+04
TIME OF MUZZLE VELOCITY (SEC)  0.103931E-01

 TOTAL INITIAL ENERGY AVAILABLE (J)  0.437119E+08

FOR PROPELLANT  1 MASS FRACTION BURNT IS   0.997469E+00

TOTAL ENERGY REMAINING IN GAS (J)             0.295073E+08
ENERGY LOSS FROM PROJECTILETRANSLATION (J)    0.971053E+07
ENERGYLOSS FROM PROJECTILE RORATION (J)       0.000000E+00
ENERGY LOST TO GAS AND PROPELLANT MOTION (J)  0.292166E+07
ENERGY LOST TO BORE RESISTANCE (J)            0.000000E+00
ENERGY LOST TO RECOIL (J)                     0.000000E+00
ENERGY LOSS FROM HEAT TRANSFER (J)            0.146178E+07
ENERGY LOST TO AIR RESISTANCE (J)             0.000000E+00
반응형
반응형

상수(Constant)는 프로그램이 실행되기 전에 정의되며, 프로그램 실행 중에도 값이 변경되지 않는 데이터이다. 포트란 컴파일러는 상수를 만나면 상수의 값을 메모리의 알려진 위치에 배치한 다음 프로그램에서 상수를 사용할 때마다 해당 메모리 위치를 참조한다. 변수(Variable)는 프로그램 실행 중에 값을 변경할 수 있는 데이터이다. (포트란 변수의 값은 프로그램이 실행되기 전에 초기화될 수도 있고 그렇지 않을 수도 있다.) 포트란 컴파일러는 변수를 발견하면 해당 변수에 대해 알려진 위치를 메모리에 예약한 다음, 해당 변수가 프로그램에 사용할 때마다 해당 메모리 위치를 참조한다.

 

프로그램 안의 Fortran 변수는 고유한 이름을 가져야 한다. 변수 이름은 사람이 기억하고 사용하기 쉽도록 메모리의 특정 위치를 나타내는 이름이다. Fortran 변수 이름은 최대 63자까지 가능하며, 알파벳, 숫자 및 밑줄(_) 문자를 조합하여 사용할 수 있다. 단, 이름의 첫 번째 문자는 항상 알파벳이어야 한다. 다음은 유효한 변수 이름의 예이다.

time
distance
z123456789
I_want_to_go_home

 

다음은 유효하지 않은 변수 이름이다.

this_is_a_very_very_very_very_very_very_very_very_long_variable_name (이름이 너무 길다.)
3_days (첫번째 문자가 숫자이다.)
A$ ($는 쓸 수 없는 문자이다.)

 

프로그램을 작성할 때 변수에 의미 있는 이름을 붙이는 것이 중요하다. 의미 있는 이름은 프로그램을 훨씬 쉽게 읽고 유지 관리할 수 있도록 해준다. day, month, year와 같은 이름은 프로그램을 처음 보는 사람에게도 매우 명확하다. 포트란에서 변수 이름에 공백을 사용할 수 없으므로 밑줄 문자를 사용하여 의미 있는 이름을 만들 수 있다. 예를 들어 exchange rate는 exchange_rate가 될 수 있다.

 

또한 작성하는 모든 프로그램의 헤더에 데이터 사전을 포함하는 것이 중요하다. 데이터 사전은 프로그램에서 사용되는 각 변수의 정의를 나열한다. 정의에는 항목의 내용에 대한 설명과 단위가 모두 포함되어야 한다. 데이터 사전은 프로그램을 작성하는 동안에는 불필요해 보일 수 있지만, 나중에 자신이나 다른 사람이 프로그램을 수정해야 할 때 매우 유용하다.

 

Fortran에는 다섯 가지의 내장형 상수 및 변수 유형이 있다. 이 중 세 가지는 숫자형(INTEGER, REAL, COMPLEX)이고, 하나는 논리형(LOGICAL)이며, 나머지 하나는 문자열(CHARACTER)이다.

정수 상수와 변수

정수 데이터 형식은 정수 상수와 변수로 구성된다. 이 데이터 형식은 정수 값만 저장할 수 있으며 소수 부분이 있는 숫자는 표현할 수 없다.

 

정수 상수(integer constant)는 소수점이 없는 숫자이다. 상수가 양수인 경우 + 기호를 붙이거나 붙이지 않고 작성할 수 있다. 정수 상수에는 쉼표를 사용할 수 없다. 다음은 유효한 정수 상수의 예이다.

0
-999
123456789
+17

 

다음은 유효한 정수 상수가 아니다.

1,000,000 (쉼표가 포함된 숫자는 허용되지 않는다.)
-100. (소수점이 있으면 정수 상수가 아니다!)

 

정수 변수는 정수 데이터 형식의 값을 저장하는 변수이다.


정수 데이터 형식의 상수와 변수는 일반적으로 컴퓨터의 단일 워드에 저장한다. 워드의 길이는 컴퓨터마다 32비트에서 64비트까지 다양하므로 컴퓨터에 저장할 수 있는 가장 큰 정수도 다르다. 거의 모든 Fortran 컴파일러는 여러 길이의 정수를 지원합니다. 예를 들어, 대부분의 PC 컴파일러는 16비트, 32비트 및 64비트 정수를 지원한다. 

실수 상수와 변수

실수 데이터 형식은 실수 또는 부동 소수점 형식으로 저장된 숫자로 구성된다. 정수와 달리 실수 데이터 형식은 소수 부분을 포함하는 숫자를 표현할 수 있다.

실수 상수는 소수점이 있는 상수이다. 지수를 사용하거나 사용하지 않고 작성할 수 있다. 상수가 양수인 경우, + 기호를 사용하거나 사용하지 않고 작성할 수 있다. 실수 상수에는 쉼표를 포함할 수 없다.

실수 상수는 지수를 사용하거나 사용하지 않고 작성할 수 있습니다. 지수를 사용하는 경우, 지수는 문자 'E' 뒤에 양수 또는 음의 정수가 오는데, 이는 과학적 표기법으로 숫자를 나타낼 때 사용하는 10의 거듭제곱에 해당한다. 지수가 양수인 경우 + 기호를 생략할 수 있다. 숫자의 가수(지수 앞의 부분)에는 소수점이 있어야 한다. 다음은 유효한 실수 상수의 예이다.

10.
-999.9
+1.0E-3 (= 1.0 × 10**−3, or 0.001)
123.45E20 (= 123.45 × 10**20, or 1.2345 × 10**22)
0.12E+1 (= 0.12 × 10**1, or 1.2)

 

다음은 유효한 실수 상수가 아니다.

1,000,000. (,를 사용할 수 없다.)
111E3 (가수에는 소수점이 필요하다.)
-12.0E1.5 (지수에는 소수점을 사용할 수 없다.)

 

실수 변수는 실수 데이터 형식의 값을 저장하는 변수이다.

실수 값은 가수와 지수, 두 부분으로 구성된다. 가수에 할당된 비트 수는 상수의 정밀도(즉, 상수를 나타내는 유효 자릿수)를 결정하고, 지수에 할당된 비트 수는 상수의 범위(즉, 표현할 수 있는 가장 큰 값과 가장 작은 값)를 결정한다. 주어진 워드 크기에서 실수의 정밀도가 높을수록 범위는 작아지고, 반대로 정밀도가 낮을수록 범위는 커진다. 

지난 25년 동안 거의 모든 컴퓨터는 IEEE 표준 754를 준수하는 부동 소수점 방식을 사용해 왔다. 다음 표는 IEEE 표준 754를 준수하는 컴퓨터에서 일반적인 실수 상수 및 변수의 정밀도와 범위를 보여준다.

컴퓨터 표준 비트의 전체 수 가수의 비트 수 소수 자릿수 정밀도 지수의 비트 수 지수 범위
IEEE 754 32 24 7 8 10**-38 ~ 10**38
64 53 15 11 10**-308 ~ 10**308
128 112 34 16 10**-4932 ~ 10**4932



모든 Fortran 컴파일러는 여러 길이의 실수를 지원한다. 예를 들어, PC 컴파일러는 32비트 실수와 64비트 실수를 모두 지원한다. 실수는 서로 다른 종류의 실수가 있다. 적절한 종류를 선택함으로써 실수 상수 또는 변수의 정밀도와 범위를 확장할 수 있다. Fortran은 주어진 값에 어떤 종류의 실수를 사용할지 명시적으로 선택하는 메커니즘을 제공한다. 

반응형
반응형

GNU Exterior Ballistics Computer v1.00
Created by:   Derek R. Yates
Released on:  February, 2008
Built using:  Mingw32 / GCC compiler

Note from the Creator:
GNU Exterior Ballistics Computer was created as an open-sourced alternative to the multitude of commercial ballistics computers. As an avid shooter, I have purchased several commercial packages over the years, but never found exactly what I wanted in any of them. I have created this program, and released it under the GNU GPL License in order to create what I am looking for in a program, and to give you a base on which to build and improve what I've started.  The unique features I have included are a multitude of data export features, making it easy to load your data into a variety of analysis software, from OpenOffice to Microsoft Excel, and also in Adobe PDF format.  Never before has so much ballistics information been available so freely.

This program was written in C++, and uses the excellent GNU Exterior ballistics library (which I wrote previously for personal use).  The solutions are based on the three degrees of freedom differential equations and solved numerically to get a very accurate solution. In general the range data is accurate to within 0.1 yards, and the drop data is accurate to within a fraction of an inch. Standard drag models from G1-G8 are supported making this program very flexible for advanced ballistics use.

The GUI was created using FLTK, to allow both Windows and Linux users to build the source.  PDF creation is done using the LibHaru library, which is highly recommended should you ever need a C++ library for PDF creation.

I hope you have as much fun using this program as I have had creating it, and wish you the best shooting.

 

GNU 외장 탄도 컴퓨터 v1.00
작성자: 데릭 R. 예이츠
출시일: 2008년 2월
다음을 사용하여 빌드됨: Mingw32 / GCC 컴파일러

개발자의 메모:
GNU 외탄도 컴퓨터는 다양한 상업용 탄도 컴퓨터에 대한 오픈 소스 대안으로 만들어졌습니다. 열렬한 슈팅 게임 애호가로서 저는 수년 동안 여러 상업용 패키지를 구매했지만, 그 중 어느 것도 제가 원하는 것을 정확히 찾지 못했습니다. 이 프로그램을 만들고 GNU GPL 라이선스 하에 출시하여 제가 원하는 프로그램을 만들고, 제가 시작한 프로그램을 구축하고 개선할 수 있는 기반을 제공하고자 합니다. 제가 포함한 독특한 기능은 다양한 데이터 내보내기 기능으로, OpenOffice부터 Microsoft Excel, Adobe PDF 형식에 이르기까지 다양한 분석 소프트웨어에 데이터를 쉽게 로드할 수 있게 해줍니다. 이렇게 많은 탄도 정보를 이렇게 자유롭게 이용할 수 있었던 적은 없었습니다.

이 프로그램은 C++로 작성되었으며, 개인 용도로 이전에 작성한 우수한 GNU 외탄도 라이브러리를 사용합니다. 이 솔루션들은 세 가지 자유도 미분 방정식을 기반으로 하며, 매우 정확한 솔루션을 얻기 위해 수치적으로 계산합니다. 일반적으로 범위 데이터는 0.1야드 이내로 정확하며, 드롭 데이터는 1인치 이내로 정확합니다. G1-G8의 표준 드래그 모델이 지원되므로 이 프로그램은 고급 탄도학 사용에 매우 유연합니다.

GUI는 Windows와 Linux 사용자 모두 소스를 빌드할 수 있도록 FLTK를 사용하여 만들어졌습니다. PDF 생성은 LibHaru 라이브러리를 사용하여 이루어지며, PDF 생성을 위해 C++ 라이브러리가 필요할 경우 강력히 권장됩니다.

이 프로그램을 제가 만든 것만큼 재미있게 사용하시길 바라며, 최고의 슈팅을 기원합니다.

 

GEBC Interface
Range Table
Quick Plot
Optimize PBR
gebc-1.07-i386-win32.zip
0.51MB

 

 

 

!
! BALLISTIC GNU BALLISTICS LIBRARY
!
! ORIGINALLY CREATED BY DEREK YATES
!
MODULE GLOBAL
    IMPLICIT NONE
    REAL,PARAMETER :: PI = 2.0*ASIN(1.0)
    REAL,PARAMETER :: RERTH = 0.000072921159        ! RAD/S
    REAL,PARAMETER :: GRAV = -32.17405              ! FT/S/S
    REAL :: PROCALI,PROWEIT,PROLENG,DRAGCOEF,VI
    REAL :: STAB,SHOTANGL,ZEROANGL
    REAL :: TEMP,ALT,PRES,RH,WINDANGL,WINDSPED,LAT,AZIM
    REAL :: SIGTHEGT,TWIST,MUZLVEL,ZERORANG
    INTEGER :: DRAGFUNC
    REAL,DIMENSION(10000) :: RANGVALU,DROPVALU,DROPMOA,ENGYVALU
    REAL,DIMENSION(10000) :: VEL,VELX,VELY
    REAL,DIMENSION(10000) :: WINDVALU,WINDMOA,TIME
END MODULE GLOBAL

PROGRAM BALLISTICS
    USE GLOBAL
    CHARACTER(LEN=100) :: BULLET
    REAL :: V, VX, VY, VX1, VY1, DV, DVX, DVY, X, Y
    REAL :: WIND, HEADWIND, CROSWIND, GX, GY, T, DT
    INTEGER :: N,STEP,IATMOS,ISPIN,ITWST,ICORIOLI
    OPEN (UNIT=6,FILE='RESULTS.OUT')
    !
    BULLET='308 WIN MATCH, 168GR SIERRA MATCH KING'
    !
    DRAGCOEF=0.465      ! DRAG COEFFICIENT OF PROJECTILE
    PROWEIT=168         ! PROJECTILE WEIGHT (GRAIN)
    PROCALI=0.308       ! PROJECTILE DIAMETER (IN)    
    MUZLVEL=2650.0      ! MUZZLE INITIAL VELOCITY (FT/S)
    SIGTHEGT=1.6        ! SIGHT HEIGHT (IN)
    SHOTANGL=0.0        ! SHOOTING ANGLE (DEG)
    ZERORANG=200        ! ZERO RANGE (YDS)
    WINDSPED=0.0        ! WIND VELOCITY (MI/HR)
    WINDANGL=0.0        ! WIND ANGLE (0~360 DEG)
    !
    ALT=0.0             ! ALTITUDE (FT)
    TEMP=59.0           ! TEMPERATURE (F)
    PRES=29.53          ! PRESSURE (IN HG)
    REHU=78             ! RELATIVE HUMIDITY (%)
    !
    LAT=24.5            ! SHOOT LATITUDE (DEG)
    AZIM=0.0            ! SHOOT DIRECTION (DEG) (N=0,E=90,S=180,W=270)
    PROLENG=1.236       ! BULLET LENGTH (IN)
    TWIST=7*25.4        ! BARREL TWIST (IN)
    !
    RMIN=0              ! RANGE (YARD)
    RMAX=1000           ! RANGE (YARD)
    STEP=10             ! STEP (YARD)
    !
    DRAGFUNC=1          ! DRAG FUNCTION
    IATMOS=0            ! ATMOSPHERIC CORRECTION
    ISPIN=0             ! SPIN DRIFT(0:EXCLUDE,1:INCLUDE)
    ITWST=0             ! SPIN DIRECTION(0:RIGHT,1:LEFT)
    ICORIOLI=0          ! CORIOLI CORRECTION
    ! ******************************************************************
    WRITE(6,*) BULLET
    WRITE(6,"(/'DRAG COEFFICIENT:    ',F10.3)") DRAGCOEF
    WRITE(6,"('PROJECTILE WEIGHT:   ',F10.3,' GRAINS')") PROWEIT
    WRITE(6,"('INITIAL VELOCITY:    ',F10.3,' (FT/S)')") MUZLVEL
    WRITE(6,"('ZERO RANGE:          ',F10.3,' (YARDS)')") ZERORANG
    WRITE(6,"('SHOOTING ANGLE:      ',F10.3,' (DEGREES)')") SHOTANGL
    WRITE(6,"('WIND VELOCITY:       ',F10.3,' (MPH)')") WINDSPED
    WRITE(6,"('WIND DIRECTION:      ',F10.3,' (DEGREES)')") WINDANGL
    WRITE(6,"('ALTITUDE:            ',F10.3,' (FEET)')") ALT
    WRITE(6,"('PRESSURE:            ',F10.3,' (IN-HG)')") PRES
    WRITE(6,"('TEMPERATURE:         ',F10.3,' (F)')") TEMP
    WRITE(6,"('RELATIVE HUMIDITY:   ',F10.3,' (%)'/)") REHU
    ! ******************************************************************
    ! 
    ! SOLVE
    !
    ! ******************************************************************
    !
    ! ATMOSPHERIC CORRECTION
    !
    ! ******************************************************************
    ! THE COEFFICIENT OF DRAG FOR THE PROJECTILE.
    ! DRAGCOEF AT VACCUM = 0.0
    ! ABSOLUTE ZERO : 0 K = -273.15 C = -459.67 F
    ! ALTITUDE TEMPERATURE(F DEG.) FACTOR 0.0036 F DEG./FT
    ! STANDARD TEMPERATURE +15.0 C DEG. = +59.0 F DEG.
    ! RELATIVE HUMIDITY RISES WHEN THE TEMPERATURE DROPS.
    ! STANDARD HUMIDITY : 0 %
    ! THE PRESSURE IN INCHES OF MERCURY (IN HG).
    ! THIS IS NOT "ABSOLUTE" PRESSURE, IT IS THE 'STANDARDIZED' PRESSURE 
    ! REPORTED IN THE PAPERS AND NEWS.
    ! STANDARD PRESSURE 29.921 IN-HG
    ! ******************************************************************
    IF (IATMOS==1) THEN
        FA=1.0/(-4E-15*(ALT**3)+4E-10*(ALT**2)-3E-5*ALT+1)
        TSTD=-0.0036*ALT+59.0
        FT=(TEMP-TSTD)/(459.67+TSTD)
        VPW=4E-6*TEMP**3-0.0004*TEMP**2+0.0234*TEMP-0.2517
        FR=0.995*(PRES/(PRES-(0.3783)*(RH)*VPW))
        PSTD=29.921
        FP=(PRES-PSTD)/(PSTD)
        CF=(FA*(1+FT-FP)*FR)
        DRAGCOEF=DRAGCOEF*CF
    END IF
    WRITE(6,"('DRAG COEFFICIENT AT THE ALTITUDE:    ',F10.3/)") DRAGCOEF
    ! ******************************************************************
    ! ZERO ANGLE
    ! ******************************************************************
    VI=MUZLVEL
    DT=1/VI         ! S/FT
    ANGLE=0.0
    DA=14.0*PI/180  ! RAD
    T=0.0
    DO
        VY=VI*SIN(ANGLE)
        VX=VI*COS(ANGLE)
        GX=GRAV*SIN(ANGLE)
        GY=GRAV*COS(ANGLE)
        X=0.0
        Y=-SIGTHEGT/12
        DO 
            T=T+DT
            VY1=VY
            VX1=VX
            V=SQRT((VX**2)+(VY**2))
            DT=1/V
            DV=RETARD(DRAGFUNC,DRAGCOEF,V)
            DVY=-DV*VY/V*DT
            DVX=-DV*VX/V*DT
            VX=VX+DVX
            VY=VY+DVY
            VY=VY+DT*GY
            VX=VX+DT*GX
            X=X+DT*(VX+VX1)/2
            Y=Y+DT*(VY+VY1)/2
            IF (VY < 0 .AND. Y < 0) EXIT           
            IF (VY > 3*VX) EXIT
            IF (X > ZERORANG*3) EXIT
        END DO
        IF (Y > 0 .AND. DA > 0) DA=-DA/2
        IF (Y < 0 .AND. DA < 0) DA =-DA/2
        ANGLE=ANGLE+DA
        IF (ABS(DA) < (0.01/60*PI/180.0)) EXIT
        IF (ANGLE > (45*PI/180.0)) EXIT
    END DO
    ZEROANGL=ANGLE*180/PI
    ! ******************************************************************
    !
    ! OUTPUT
    !
    ! ******************************************************************
    WRITE(6,"('     RANGE      DROP        DROP    VELOCITY   &
    & ENERGY    WIND DRIFT    WINDAGE     TIME')") 
    WRITE(6,"('     (YARD)     (INCHES)    (MOA)   (FT/S)     &
    & (FT-LB)   (INCHES)      (MOA)       (S)')") 
    T=0.0
    DT=0.0
    V=0.0;VX=0.0;VY=0.0
    VX1=0.0;VY1=0.0
    DV=0.0;DVX=0.0;DVY=0.0
    X=0.0;Y=0.0
    ! HEAD WIND IS POSITIVE AT WIND ANGLE = 0
    WINDA=WINDA*(PI/180.0)
    HEADWIND = COS(WINDA) * WINDSPEED
    ! POSITIVE IS FROM SHOOTER'S RIGHT TO LEFT (WIND FROM 90 DEGREE)
    CROSWIND = SIN(WINDA) * WINDSPEED
    ! GRAVITATIONAL ACCELERATION
    GY=GRAV*COS((SHOTANGL+ZEROANGL)*PI/180.0)
    GX=GRAV*SIN((SHOTANGL+ZEROANGL)*PI/180.0)
    VX=VI*COS(ZEROANGL*PI/180.0)
    VY=VI*SIN(ZEROANGL*PI/180.0)
    ! THE HEIGHT OF THE SIGHTING SYSTEM (IN)
    Y=-SIGTHEGT/12
    !
    N=0
    I=1
    DO
        VX1=VX 
        VY1=VY
        V=SQRT(VX**2+VY**2)
        DT=0.5/V 
        DV=RETARD(DRAGFUNC,DRAGCOEF,V+HEADWIND)
        DVX=-(VX/V)*DV
        DVY=-(VY/V)*DV
        VX=VX+DT*DVX+DT*GX
        VY=VY+DT*DVY+DT*GY
        WIND=CROSWIND*17.6*((T+DT)-X/VI)
        DROP=Y*12                           ! IN
        ! SPIN DRIFT AND ADD TO WINDAGE
        STAB=(30.0*PROWEIT)/((TWIST/PROCALI)**2.0)*(PROCALI**3.0)*&
            & (PROLENG/PROCALI)*(1.0+(PROLENG/PROCALI)**2.0)  
        IF (MUZLVEL > 2800) THEN
            STAB=STAB*(MUZLVEL/2800)**(1.0/3.0)
        END IF
        STAB=STAB*(((TEMP+460)/519.0)*(29.92/PRES))
        IF (ISPIN==1) THEN
            SD=1.25*(STAB+1.2)*((T+DT)**1.83)
            IF (TWIST==0) THEN 
                WIND=WIND+SD
            ELSE
                WIND=WIND-SD
            END IF
        END IF
        ! CORIOLIS FORCE
        IF (ICORIOLI==1) THEN
            WIND=WIND+(RERTH*(X/3)*SIN(LAT*PI/180)*(T+DT)*12)
            DROP=DROP*(1-((2*RERTH*MUZLVEL)/GRAV)*COS(LAT*PI/180)*SIN(AZIM*PI/180))
        END IF
        ! 
        ! EXTERIOR BALLISTICS RESULTS
        !
        IF (X/3 >= N) THEN 
            RANGVALU(I)=X/3     ! YARD
            DROPVALU(I)=DROP    ! IN
            DROPMOA(I)=-ATAN(Y/X)*60*180/PI
            TIME(I)=T+DT
            WINDVALU(I)=WIND
            IF (X.NE.0) THEN 
                WINDMOA(I)=ATAN((WIND/12)/X)*60*180/PI
            END IF
            ENGYVALU(I)=(PROWEIT*V*V)/(2*225218.34)
            !
            VEL(I)=V 
            VELX(I)=VX 
            VELY(I)=VY
            WRITE(6,"(8(1X,1F10.3))") RANGVALU(I),DROPVALU(I), &
                DROPMOA(I),VEL(I),ENGYVALU(I),WINDVALU(I),WINDMOA(I), &
                TIME(I)
            IF (RANGVALU(I)>RMAX) THEN
                EXIT
            END IF
            N=N+STEP
            I=I+1
        END IF
        ! COMPUTE POSITION BASED ON AVERAGE VELOCITY.
        X=X+DT*(VX+VX1)/2
        Y=Y+DT*(VY+VY1)/2
        T=T+DT
        IF (ABS(VY) > ABS(3*VX)) THEN 
            EXIT
        END IF
    END DO
    CLOSE(UNIT=6)
END PROGRAM BALLISTICS

FUNCTION RETARD(DRAGFUNC,DRAGCOEF,VELOCITY)
    ! RETARD CORRECTS THE VELOCITY FOR BALLISTIC DRAG.
    INTEGER :: DRAGFUNC
    REAL :: RETARD,VP,A,M
    VP=VELOCITY
    A=-1.0          ! ACCELERATION
    M=-1.0          ! MASS
    SELECT CASE (DRAGFUNC)
        CASE (1)
        IF (VP > 4230) THEN
            A = 0.0001477404177730177;
            M = 1.9565
        ELSEIF (VP > 3680) THEN
            A = 0.00019203392687556139 
            M = 1.925
        ELSEIF (VP > 3450) THEN
            A = 0.00028947510268197461 
            M = 1.875
        ELSEIF (VP > 3295) THEN
            A = 0.00043499051111156362 
            M = 1.825
        ELSEIF (VP > 3130) THEN
            A = 0.00065204218718926618 
            M = 1.775
        ELSEIF (VP > 2960) THEN
            A = 0.00097480736940786959 
            M = 1.725
        ELSEIF (VP > 2830) THEN
            A = 0.0014537215601872859 
            M = 1.675
        ELSEIF (VP > 2680) THEN
            A = 0.0021628872029303761 
            M = 1.625
        ELSEIF (VP > 2460) THEN
            A = 0.0032095597831298811 
            M = 1.575
        ELSEIF (VP > 2225) THEN
            A = 0.0039043682186912492 
            M = 1.55
        ELSEIF (VP > 2015) THEN
            A = 0.0032229422712623359 
            M = 1.575
        ELSEIF (VP > 1890) THEN
            A = 0.0022033295422978091 
            M = 1.625
        ELSEIF (VP > 1810) THEN
            A = 0.0015110010288919039
            M = 1.675
        ELSEIF (VP > 1730) THEN
            A = 0.00086099575924682592 
            M = 1.75
        ELSEIF (VP > 1595) THEN
            A = 0.00040861467973051169 
            M = 1.85
        ELSEIF (VP > 1520) THEN
            A = 0.0001954473210037398 
            M = 1.95
        ELSEIF (VP > 1420) THEN
            A = 0.00005431896266462351 
            M = 2.125
        ELSEIF (VP > 1360) THEN
            A = 0.0000088477425816744163
            M = 2.375
        ELSEIF (VP > 1315) THEN
            A = 0.0000014569223287202981 
            M = 2.625
        ELSEIF (VP > 1280) THEN
            A = 0.00000024194851918955649 
            M = 2.875
        ELSEIF (VP > 1220) THEN
            A = 0.000000016579563210676119 
            M = 3.25
        ELSEIF (VP > 1185) THEN
            A = 0.00000000047454695371573713 
            M = 3.75
        ELSEIF (VP > 1150) THEN
            A = 0.000000000013797465900250881
            M = 4.25
        ELSEIF (VP > 1100) THEN
            A = 0.00000000000040701579611478821 
            M = 4.75
        ELSEIF (VP > 1060) THEN
            A = 0.000000000000029382369548473309 
            M = 5.125
        ELSEIF (VP > 1025) THEN
            A = 0.000000000000012285973707747459 
            M = 5.25
        ELSEIF (VP > 980) THEN
            A = 0.000000000000029169382641004953 
            M = 5.125
        ELSEIF (VP > 945) THEN
            A = 0.00000000000038550994248074508 
            M = 4.75
        ELSEIF (VP > 905) THEN
            A = 0.00000000001185097045689854 
            M = 4.25
        ELSEIF (VP > 860) THEN
            A = 0.00000000035661294709749512 
            M = 3.75
        ELSEIF (VP > 810) THEN
            A = 0.000000010455132639662721 
            M = 3.25
        ELSEIF (VP > 780) THEN
            A = 0.00000012911592008462161 
            M = 2.875
        ELSEIF (VP > 750) THEN
            A = 0.0000006824429329105383
            M = 2.625
        ELSEIF (VP > 700) THEN
            A = 0.000003569169672385163 
            M = 2.375
        ELSEIF (VP > 640) THEN
            A = 0.00001839015095899579 
            M = 2.125
        ELSEIF (VP > 600) THEN
            A = 0.0000571117468873424 
            M = 1.95
        ELSEIF (VP > 550) THEN
            A = 0.000092265570919734271 
            M = 1.875
        ELSEIF (VP > 250) THEN
            A = 0.000093379919571313886 
            M = 1.875
        ELSEIF (VP > 100) THEN
            A = 0.000072252473275904129 
            M = 1.925
        ELSEIF (VP > 65) THEN
            A = 0.00005792684957074546 
            M = 1.975
        ELSEIF (VP > 0) THEN
            A = 0.000052062141073205883 
            M = 2.0
        END IF
    CASE (2)
    IF (VP > 1674) THEN
        A = 0.0079470052136733 
        M = 1.36999902851493
    ELSEIF (VP > 1172) THEN
        A = 0.00100419763721974 
        M = 1.65392237010294
    ELSEIF (VP > 1060) THEN
        A = 7.15571228255369E-23 
        M = 7.91913562392361
    ELSEIF (VP > 949) THEN
        A = 0.000000000139589807205091 
        M = 3.81439537623717
    ELSEIF (VP > 670) THEN
        A = 0.000234364342818625 
        M = 1.71869536324748
    ELSEIF (VP > 335) THEN
        A = 0.000177962438921838 
        M = 1.76877550388679
    ELSEIF (VP > 0) THEN
        A = 0.0000518033561289704 
        M = 1.98160270524632
    END IF
    CASE (5)
    IF (VP > 1730) THEN
        A = 0.00724854775171929 
        M = 1.41538574492812
    ELSEIF (VP > 1228) THEN
        A = 0.0000350563361516117 
        M = 2.13077307854948
    ELSEIF (VP > 1116) THEN
        A = 0.000000000000184029481181151 
        M = 4.81927320350395
    ELSEIF (VP > 1004) THEN
        A = 1.34713064017409E-22 
        M = 7.8100555281422
    ELSEIF (VP > 837) THEN
        A = 0.000000103965974081168 
        M = 2.84204791809926
    ELSEIF (VP > 335) THEN
        A = 0.000109301593869823 
        M = 1.81096361579504
    ELSEIF (VP > 0) THEN
        A = 0.0000351963178524273 
        M = 2.00477856801111
    END IF
    CASE (6)
    IF (VP > 3236) THEN
        A = 0.0455384883480781 
        M = 1.15997674041274
    ELSEIF (VP > 2065) THEN
        A = 0.0716726184965377 
        M = 1.10704436538885
    ELSEIF (VP > 1311) THEN
        A = 0.00166676386084348 
        M = 1.60085100195952
    ELSEIF (VP > 1144) THEN
        A = 0.000000101482730119215 
        M = 2.9569674731838
    ELSEIF (VP > 1004) THEN
        A = 4.31542773103552E-18 
        M = 6.34106317069757
    ELSEIF (VP > 670) THEN
        A = 0.0000204835650496866 
        M = 2.11688446325998
    ELSEIF (VP > 0) THEN
        A = 0.0000750912466084823 
        M = 1.92031057847052
    END IF
    CASE (7)
    IF (VP > 4200) THEN
        A = 0.00000000129081656775919 
        M = 3.24121295355962
    ELSEIF (VP > 3000) THEN
        A = 0.0171422231434847 
        M = 1.27907168025204
    ELSEIF (VP > 1470) THEN
        A = 0.00233355948302505 
        M = 1.52693913274526
    ELSEIF (VP > 1260) THEN
        A = 0.000797592111627665 
        M = 1.67688974440324
    ELSEIF (VP > 1110) THEN
        A = 0.00000000000571086414289273 
        M = 4.3212826264889
    ELSEIF (VP > 960) THEN
        A = 3.02865108244904E-17 
        M = 5.99074203776707
    ELSEIF (VP > 670) THEN
        A = 0.00000752285155782535 
        M = 2.1738019851075
    ELSEIF (VP > 540) THEN
        A = 0.0000131766281225189 
        M = 2.08774690257991
    ELSEIF (VP > 0) THEN
        A = 0.0000134504843776525 
        M = 2.08702306738884
    END IF
    CASE (8)
    IF (VP > 3571) THEN
        A = 0.0112263766252305 
        M = 1.33207346655961
    ELSEIF (VP > 1841) THEN
        A = 0.0167252613732636 
        M = 1.28662041261785
    ELSEIF (VP > 1120) THEN
        A = 0.00220172456619625 
        M = 1.55636358091189
    ELSEIF (VP > 1088) THEN
        A = 0.00000000000000020538037167098 
        M = 5.80410776994789
    ELSEIF (VP > 976) THEN
        A = 0.00000000000592182174254121 
        M = 4.29275576134191
    ELSEIF (VP > 0) THEN
        A = 0.000043917343795117 
        M = 1.99978116283334
    END IF
    CASE (9)
        A = 0.0 
        M = 0.0
    END SELECT
    IF ((A.NE.-1).AND.(M.NE.-1).AND.(VP>0).AND.(VP<10000)) THEN
        RETARD=A*(VP**M)/DRAGCOEF
    END IF
END FUNCTION
반응형
반응형

FORTRAN 프로그램은 프로그램 변수에 소문자를 사용하면서 PROGRAM, READ, WRITE와 같은 키워드를 대문자로 사용하는 일반적인 Fortran 코딩 방법을 따른다. 이름은 위의 my_first_program과 같이 단어 사이에 밑줄을 긋고 작성한다. 또한 PI(π)와 같은 명명된 상수에 대문자를 사용한다. 이건 포트란의 요구 사항은 아니지만, 모두 대문자 또는 모두 소문자를 사용해도 프로그램은 똑같이 작동했을 것이다. 포트란에서는 대문자와 소문자가 같아서 프로그램은 두 경우 모두 동일하게 작동한다.

우리는 포트란 키워드와 상수를 대문자로 사용하고 변수, 절차 이름 등에 소문자를 사용하는 이 관례를 따르면 구분이 편리하다. 일부 프로그래머들은 포트란 프로그램을 작성할 때 다른 스타일을 사용한다. 예를 들어, 포트란과 함께 작업하는 Java 프로그래머는 키워드와 이름이 소문자로 되어 있고 각 단어가 대문자로 시작되는 Java와 유사한 관례를 채택할 수도 있다. 이런 프로그래머는 이 프로그램에 myFirstProgram이라는 이름을 붙일 수도 있다.  이건 포트란 프로그램을 작성하는 데 똑같이 가능한 방법이다.

포트란 프로그램을 작성할 때 특정 스타일을 따를 필요는 없지만, 항상 프로그래밍 스타일을 일관되게 유지해야 한다. 표준 관행을 확립하거나 근무하는 조직의 표준 관행을 채택한 다음 모든 프로그램에서 일관되게 하는 게 중요하다.

 

 

샘플 프로그램을 실행하려면 먼저 Fortran 컴파일러를 사용하여 객체 코드로 컴파일한 다음 컴퓨터의 시스템 라이브러리와 연결하여 실행 가능한 프로그램을 생성해야 한다. 이 두 단계는 보통 하나의 프로그래머 명령에 따라 함께 수행된다. 컴파일 및 링크에 대한 세부 사항은 컴파일러와 운영 체제마다 다르다.

 

포트란 프로그램은 배치 모드와 대화형 모드 중 하나로 컴파일, 연결, 실행할 수 있다. 배치 모드에서는 사용자의 입력이나 상호작용 없이 프로그램이 실행된다. 이것이 대부분의 포트란 프로그램이 작동하는 방식이다

 

초창기에는 프로그램이 펀치 카드 덱이나 파일로 제출되었으며, 사용자 사이의 상호작용 없이 컴파일, 연결 및 실행되었다. 작업이 시작되기 전에 프로그램의 모든 입력 데이터를 카드에 넣거나 파일을 입력해야 했고, 모든 출력은 출력 파일이나 라인 프린터로 전달되었다.

 

반면 대화형 모드로 실행되는 프로그램은 사용자가 컴퓨터 키보드나 단말기와 같은 입력 장치에서 대기하는 동안 컴파일, 연결, 실행된다. 프로그램은 사람이 있어야 하므로 실행 중인 사용자에게 입력 데이터를 요청할 수 있으며, 계산되는 즉시 중간 및 최종 결과를 표시할 수 있다. 오늘날 대부분의 포트란 프로그램은 대화형 모드로 실행된다. 그러나 한 번에 며칠씩 실행되는 일부 매우 큰 포트란 프로그램은 여전히 배치 모드로 실행된다.

반응형
반응형

포트란 프로그램은 실행하는 문장과 실행하지 않는 문장의 혼합으로 구성되며, 이건 특정 순서대로 작동한다. 예시적인 포트란 프로그램은 다음과 같다. 이 프로그램은 두 숫자로 읽고 곱한 다음 결과를 출력한다. 

PROGRAM my_first_program
! Purpose:
! To illustrate some of the basic features of a Fortran program.
!
! Declare the variables used in this program.
INTEGER :: i, j, k ! All variables are integers
! Get two values to store in variables i and j
WRITE (*,*) 'Enter the numbers to multiply: '
READ (*,*) i, j
! Multiply the numbers together
k = i * j
! Write out the result.
WRITE (*,*) 'Result = ', k
! Finish up.
STOP
END PROGRAM my_first_program

 

이 포트란 프로그램은 다른 포트란 프로그램과 마찬가지로 세 개의 부분으로 나누어진다:

1. 선언

이부분은 프로그램 이름과 프로그램에서 참조하는 변수의 수 및 유형을 정의하는 프로그램 시작 부분의 실행하지 않는 문장 으로 구성된다.

 

이 부분의 첫 번째 문장은 PROGRAM 문이다. 이 문장은 Fortran 컴파일러에 프로그램 이름을 지정하는 실행하지 않는 문장이다. 포트란 프로그램 이름은 최대 63자까지 가능하며 알파벳 문자, 숫자, 밑줄(_) 문자를 조합할 수 있다. 하지만 프로그램 이름의 첫 번째 문자는 항상 알파벳이어야 한다. PROGRAM 문은 프로그램의 첫 번째 줄에 있어야 한다. 이 예제에서 프로그램의 이름은 my_first_program입니다.

 

프로그램의 다음 몇 줄은 프로그램의 목적을 설명하는 주석이다. 다음은 INTEGER 유형 선언문이다. 여기서 i, j, k라는 세 가지 정수 변수가 이 프로그램에 사용될 것임을 선언한다.

2. 실행

이 부분은 프로그램이 수행할 작업을 작성하는 하나 이상의 문장으로 구성된다.

 

이 프로그램의 첫 번째 실행문은 WRITE 문으로, 사용자가 두 숫자를 곱하도록 입력하라는 메시지를 작성한다. 다음 실행문은 사용자가 제공한 두 정수를 읽는 READ 문이다. 세 번째 실행문은 컴퓨터가 두 숫자 ij를 함께 곱하고 결과를 변수 k에 저장하도록 지시한다. 마지막 WRITE 문은 사용자가 볼 수 있도록 결과를 출력한다. 주석은 실행 부분의 어디에나 작성할 수 있다.

 

3. 종료 

이 부분은 프로그램 실행을 중지하고 컴파일러에게 프로그램이 완료되었다는 걸 알리는 문장으로 구성된다.

 

종료는 STOPEND PROGRAM 문으로 구성된다. STOP 문은 컴퓨터에게 프로그램 실행을 중지하라고 지시하는 명령어이다. END PROGRAM 문은 컴파일러에게 프로그램에서 더 이상 컴파일할 문장이 없음을 알려주는 명령어이다.

 

STOP 문은 다음과 같은 형태 중 하나를 선택한다.

STOP
STOP 3
STOP 'Error stop'

 

STOP 문만 사용되면 실행을 중지한다. STOP 문이 숫자와 함께 사용하면 프로그램이 중지될 때 해당 숫자가 출력되고 보통 오류 코드로 운영 체제에 반환한다. STOP 문이 문자열과 함께 사용하면 프로그램이 중지될 때 해당 문자열을 출력한다.

 

이 예제와 같이 STOP 문이 END PROGRAM 바로 앞에 있을 때는 선택 사항이다. 컴파일러는 END PROGRAM 문에 도달하면 자동으로 STOP 명령을 생성한다. 따라서 STOP 문은 거의 사용되지 않는다.

 

STOP 문의 다른 버전인 ERROR STOP이 있다. 이 버전은 프로그램을 중지하지만 프로그램이 제대로 실행되지 않았음을 운영 체제에 알린다. 예를 들어 다음과 같다.

ERROR STOP 'Cannot access database'


STOP 문은 포트란 2008에 추가되었으며, 프로그램이 비정상적으로 실패했다는 걸 운영 체제에 알려야 할 때 유용하다.

반응형
반응형

포트란 프로그램은 프로그래머의 목표를 달성하도록 설계한 여러 개의 줄로 연결된 문장으로 구성한다. 기본 문장에는 실행하는 문장과 실행하지 않는 문장이 있다. 실행하는 문장은 덧셈, 뺄셈, 곱셈, 나눗셈 등과 같이 프로그램을 실행할 때 작동하는 행동을 작성하지만, 실행하지 않는 문장은 프로그램의 올바른 작성에 필요한 정보를 기록한다. 

 

포트란 문은 한 줄의 어디에나 입력할 수 있으며, 각 줄은 최대 132자까지 길어질 수 있다. 문장이 너무 길어서 한 줄에 들어갈 수 없을 때엔, 현재 줄을 앰퍼샌드(&) 문자로 마무리하고 다음 줄에 이어서 계속 작성할 수 있다. 예를 들어, 다음 세 개의 포트란 문은 모두 같다.

	output = input1 + input2 ! Sum the inputs
	output = input1 &
		+ input2 ! Sum the inputs
999 output = input1 & ! Sum the inputs
	& + input2

 

각 문장은 컴퓨터가 input 1과 input 2에 저장된 두 값을 더하고 결과를 출력에 저장하라고 지시한다. 포트란 문장은 필요하면 최대 256줄까지 작성할 수 있다.

 

위에 표시된 마지막 문장은 문장 번호로 알려진 숫자로 시작한다. 문장 번호은 1에서 99,999 사이의 어떤 숫자일 수 있다. 이건 포트란 문장의 "이름"이며 프로그램의 다른 부분에서 이 문장을 지칭하는 데 사용할 수 있다. 문장 번호는 문장의 "이름" 외에는 의미가 없다. 문장 번호는 줄 번호가 아니며 문장이 실행되는 순서에 대해 아무것도 알려주지 않는다. 현대 포트란에서는 문장 번호를 거의 사용하지 않는다. 문장 번호를 사용할 때엔 주어진 프로그램 단위 안에서 고유해야 한다. 예를 들어, 한 줄에서 100을 문장 번호로 사용하면 동일한 프로그램 단위의 다른 줄에서는 다시 문장 번호로 사용할 수 없다.

 

느낌표(!) 뒤에 오는 모든 문자는 주석이며, 포트란 컴파일러는 무시한다. 느낌표부터 줄 끝까지 모든 글자를 무시하므로, 주석은 실행 가능한 문장과 같은 줄에 사용할 수 있다. 주석은 프로그램의 올바르게 작동하도록 만드는 데 도움이 되므로 매우 중요하다. 위의 세 번째 예제에서 주석이 무시되므로 컴파일러는 앰퍼샌드(&)를 줄의 마지막 문자로 취급한다.

반응형
반응형

FORTRAN 77

 

포트란 언어는 프로그래밍 실습과 컴퓨팅 기술의 발전에 발맞추려고 끊임없이 발전하는 역동적인 언어이다. 10년에 한 번 정도 새로운 버전이 등장했다.

 

포트란 언어의 새로운 버전을 개발하는 책임은 국제표준화기구(ISO)의 포트란 작업 그룹인 WG5에 있다. 이 조직은 실제로 새로운 버전의 언어를 준비할 권한을 국제정보기술표준위원회(INCITS)J3 위원회에 위임했다. 각 새로운 버전의 준비는 언어에 포함될 제안을 먼저 요청하고, 어떤 제안을 구현할 수 있는지 결정하고, 전 세계 모든 이해 당사자에게 초안을 작성 및 배포하며, 초안을 수정하고 일반적인 합의에 도달할 때까지 다시 시도하는 확장된 과정이다. 결국 전 세계적인 투표가 벌어져 표준이 채택된다.

 

새로운 버전의 포트란 언어 설계자들은 기존의 포트란 프로그램과 바람직한 새로운 기능의 도입 사이에서 섬세한 균형을 맞춰야 한다. 현대적으로 구조화된 프로그래밍 기능과 접근 방식이 언어에 도입되었지만, 이전 버전의 포트란에서 나온 많은 바람직하지 않은 기능들은 하위 호환성을 위해 유지되었다.

 

설계자들은 더 이상 사용할 필요없는 포트란 언어의 바람직하지 않고 쓸모없는 특징을 식별하고, 결국 이 기능을 언어에서 제거하는 메커니즘을 개발했다. 새로운 더 나은 방법으로 대체된 언어의 일부는 구식 특징으로 선언되었다.


구식으로 선언된 기능은 새로운 프로그램에서 절대 사용해서는 안 됩니다. 기존 포트란 코드 베이스에서 이러한 기능의 사용이 감소함에 따라 해당 언어에서 삭제되는 것으로 간주된다. 이전 버전에서 최소한 하나 이상의 구식 목록에 포함되지 않고, 해당 기능의 사용이 무시할 수 있을 정도로 감소하지 않는 한, 어떤 기능도 버전에서 삭제되지 않는다. 이러한 방식으로 언어는 기존 포트란 코드 베이스를 위협하지 않고 발전할 수 있다.

 

다음 코드를 살펴봄으로써 포트란 언어가 수년에 걸쳐 얼마나 발전했는지 알 수 있다. 이 세 가지 코드는 원래의 포트란 I, 포트란 77, 포트란 2008의 스타일에서 2차 방정식 ax2 + bx + c = 0의 해를 계산하는 프로그램을 보여준다. 이 언어가 수년에 걸쳐 더 읽기 쉽고 구조화되었다는 것은 분명하다. 하지만 놀랍게도 포트란 2008 컴파일러는 여전히 몇 가지 사소한 변경 사항만으로 포트란 I 프로그램을 컴파일할 것이다!

 

FORTRAN I 코드

C SOLVE QUADRATIC EQUATION IN FORTRAN I
    READ 100,A,B,C
100 FORMAT(3F12.4)
    DISCR = B**2-4*A*C
    IF (DISCR) 10,20,30
 10 X1=(-B)/(2.*A)
    X2=SQRTF(ABSF(DISCR))/(2.*A)
    PRINT 110,X1,X2
110 FORMAT(5H X = ,F12.3,4H +i ,F12.3)
    PRINT 120,X1,X2
120 FORMAT(5H X = ,F12.3,4H -i ,F12.3)
    GOTO 40
 20 X1=(-B)/(2.*A)
    PRINT 130,X1
130 FORMAT(11H X1 = X2 = ,F12.3)
    GOTO 40
 30 X1=((-B)+SQRTF(ABSF(DISCR)))/(2.*A)
    X2=((-B)-SQRTF(ABSF(DISCR)))/(2.*A)
    PRINT 140,X1
140 FORMAT(6H X1 = ,F12.3)
    PRINT 150,X2
150 FORMAT(6H X2 = ,F12.3)
 40 CONTINUE
    STOP 25252

 

FORTRAN 77 코드

 

PROGRAM QUAD4
C
C This program reads the coefficients of a quadratic equation of
C the form
C A * X**2 + B * X + C = 0,
C and solves for the roots of the equation (FORTRAN 77 style).
C
C Get the coefficients of the quadratic equation.
C
    WRITE (*,*) 'Enter the coefficients A, B and C: '
    READ (*,*) A, B, C
C
C Echo the coefficients to make sure they are entered correctly.
C
    WRITE (*,100) 'The coefficients are : ', A, B, C
100 FORMAT (1X,A,3F10.4)
C
C Check the discriminant and calculate its roots.
C
    DISCR = B**2 - 4.*A*C
    IF ( DISCR .LT. 0) THEN
    WRITE (*,*) ' This equation has complex roots:'
    WRITE (*,*) ' X = ', -B/(2.*A), ' +i ', SQRT(ABS(DISCR))/(2.*A)
    WRITE (*,*) ' X = ', -B/(2.*A), ' -i ', SQRT(ABS(DISCR))/(2.*A)
    ELSE IF ( (B**2 - 4.*A*C) .EQ. 0) THEN
    WRITE (*,*) ' This equation has a single repeated real root:'
    WRITE (*,*) ' X = ', -B/(2.*A)
    ELSE
    WRITE (*,*) ' This equation has two distinct real roots:'
    WRITE (*,*) ' X = ', (-B + SQRT(ABS(DISCR)))/(2.*A)
    WRITE (*,*) ' X = ', (-B - SQRT(ABS(DISCR)))/(2.*A)
    END IF
C
	END

 

FORTRAN 2008 코드

 

PROGRAM roots
! Purpose:
! This program solves for the roots of a quadratic equation of the form
! A * X**2 + B * X + C = 0. It calculates the answers regardless of the
! type of roots that the equation possesses (Fortran 95/2003 style).
!
IMPLICIT NONE
! Declare the variables used in this program
REAL :: a ! Coefficient of X**2 term of equation
REAL :: b ! Coefficient of X term of equation
REAL :: c ! Constant term of equation
REAL :: discriminant ! Discriminant of the equation
REAL :: imag_part ! Imaginary part of equation (for complex roots)
REAL :: real_part ! Real part of equation (for complex roots)
REAL :: x1 ! First solution of equation (for real roots)
REAL :: x2 ! Second solution of equation (for real roots)
! Prompt the user for the coefficients of the equation
WRITE (*,*) 'This program solves for the roots of a quadratic '
WRITE (*,*) 'equation of the form A * X**2 + B * X + C = 0. '
WRITE (*,*) 'Enter the coefficients A, B, and C:'
READ (*,*) a, b, c
! Echo back coefficients
WRITE (*,*) 'The coefficients A, B, and C are: ', a, b, c
! Calculate discriminant
discriminant = b**2 - 4. * a * c
! Solve for the roots, depending upon the value of the discriminant
IF ( discriminant > 0. ) THEN ! there are two real roots, so...
X1 = ( -b + sqrt(discriminant) ) / ( 2. * a )
X2 = ( -b - sqrt(discriminant) ) / ( 2. * a )
WRITE (*,*) 'This equation has two real roots:'
WRITE (*,*) 'X1 = ', x1
WRITE (*,*) 'X2 = ', x2
ELSE IF ( discriminant == 0. ) THEN ! there is one repeated root, so...
x1 = ( -b ) / ( 2. * a )
WRITE (*,*) 'This equation has two identical real roots:'
WRITE (*,*) 'X1 = X2 = ', x1
ELSE ! there are complex roots, so ...
real_part = ( -b ) / ( 2. * a )
imag_part = sqrt ( abs ( discriminant ) ) / ( 2. * a )
WRITE (*,*) 'This equation has complex roots:'
WRITE (*,*) 'X1 = ', real_part, ' +i ', imag_part
WRITE (*,*) 'X2 = ', real_part, ' -i ', imag_part
END IF
END PROGRAM roots
반응형
반응형

포트란은 모든 과학 컴퓨터 언어의 조상이다. 포트란( FORTRAN)이라는 이름은 FORmula TRANslation에서 유래했으며, 이건 이 언어가 처음부터 과학 방정식을 컴퓨터 코드로 구현하려고 만들었다는 걸 의미한다. FORTRAN 언어의 첫 번째 버전은 1954년부터 1957년까지 IBMType 704 컴퓨터와 함께 사용하기 위해 개발했다. 그 이전에는 모든 컴퓨터 프로그램이 느리고 지루하며 오류가 발생하기 쉬운 기계어로 만들었다. FORTRAN은 정말 혁신적인 제품이었다. 처음으로 프로그래머는 원하는 알고리즘을 표준 대수 방정식으로 작성할 수 있었고, FORTRAN 컴파일러는 이 문장을 컴퓨터가 인식하고 실행할 수 있는 기계어로 변환했다.

IBM Type 704

포트란은 정말 멋진 아이디어였다! 사람들은 다른 컴퓨터 언어보다 프로그래밍을 훨씬 더 쉽게 만들었기 때문에 출시되자마자 이 언어를 사용하기 시작했다. 19574월에 공식적으로 출시되었고, 1958년 가을까지 전체 IBM 704 컴퓨터 프로그램의 절반 이상이 포트란에서 작성되었다.

 

원래의 포트란 언어는 현대 버전의 포트란보다 매우 작았다. 이 언어는 제한된 수의 문 유형만 포함되었고, 정수 및 실수 데이터 유형만 지원했다. 첫 번째 포트란에는 서브루틴도 없었다. 이 언어는 고급 컴퓨터 언어를 작성하려는 첫 번째 노력이었으며, 사람들이 이 언어를 자주 사용하기 시작하면서 자연스럽게 많은 결함이 발견되었다. IBM은 이러한 문제를 해결하여 1958년 봄에 포트란 II를 출시했다.

 

1962년까지 추가 개발이 계속되어 포트란 IV가 출시되었다. 포트란 IV는 큰 발전을 이루었고, 이후 15년 동안 포트란의 표준 버전이 되었다. 1966년에 포트란 IV는 ANSI 표준으로 채택되었고, 이는 포트란 66으로 알려지게 되었다.

 

포트란 언어는 1977년에 또 다른 주요 기능을 업데이트했다. 포트란 77은 구조화된 프로그램을 더 쉽게 작성하고 유지 관리할 수 있도록 설계된 많은 새로운 기능을 포함했으며, 빠르게 대표적인 포트란이 되었다. 포트란 77은 블록 IF와 같은 구조를 도입했으며, 문자 변수를 조작하기 쉬운 포트란의 첫 번째 버전이었다.

 

포트란 90의 다음 주요 업데이트는 포트란 90이었다. 포트란 90은 모든 포트란 77을 하위 집합으로 포함하였으며, 여러 중요한 새로운 방향으로 언어를 확장했다. 포트란 90의 언어에 도입된 주요 개선 사항 중에는 새로운 자유 소스 형식, 배열 섹션, 전체 배열 작업, 매개변수화된 데이터 유형, 파생된 데이터 유형 및 명시적 인터페이스가 포함되었다. 포트란 90은 이전 버전의 언어보다 극적인 개선을 이루었다.

 

포트란 90은 1996년에 포트란 95라는 약간의 업데이트를 출시했다. 포트란 95는 FORALL 구성, 순수 함수, 그리고 몇 가지 새로운 고유 절차와 같은 새로운 기능을 언어에 추가했다. 또한 포트란 90 표준의 많은 모호성을 명확히 만들었다.

 

Fortran 2003은 다음 업데이트였다. 이는 향상된 파생형, 객체 지향 프로그래밍 지원, 유니코드 문자 집합 지원, 데이터 조작 향상, 절차 포인터, C 언어와 상호 운용성과 같은 새로운 기능을 포함하여 Fortran 95에서 더욱 중요한 변화이다. 이후 Fortran 2008이라는 더 작은 업데이트가 추가되었다.

 

다음은 Fortran 2008이다. Fortran 2008의 디자이너들은 이 언어가 FORTRAN 77 및 이전 버전과 역호환되도록 만들었다. 이러한 역호환성 때문에 FORTRAN 77에 작성된 수백만 개의 프로그램 대부분도 Fortran 2008과 호환된다. 안타깝게도 이전 버전의 Fortran과 역호환성이 있기 때문에 Fortran 2008은 현대 프로그램에서 절대 사용해서는 안 되는 몇 가지 구식 기능을 유지해야 했다. 

반응형

+ Recent posts