シミュレーションの演習のコード

GS15.BGSのコードを以下に示します。このコードは BGSP用です。第1行の

BOND SYMBOL EXPR OUT DEFIN PARM INIT

はコードの一部ですから省略してはいけません。また、BGSPではカラム指定が厳格で1カラムでもずれるとエラーになります。また、許される文字は英数字、コロン(:)、スラッシュ(/)、加減乗算記号(+-*)、半角空白のみであり、制御文字が入るとエラーになります。倍角の空白はエラーを生じますが、ソースをプリントしても気づきにくいので注意が必要です。

GS15のコード

BOND SYMBOL EXPR OUT DEFIN PARM INIT
SF1    11
ZJ     -11   13    14    142   143   144
OJ     -142  232   242   222   148
RE6    13
CI4    14
RE3    232
CI2    242
II1    222
TF1    143   271
OJ     -271  231   241   221   149
OJ     -144  230   220   150
RE4    231
CI3    241
II2    221
RE5    230
II3    220
ZJ     -148  -149  -150  28    25    24
RE1    28
RE2    25
CI1    24
/
BC: Q25   FL25
BC: P14   EF14
BC: P24   EF24
BC: F1    FL150
BC: F2    FL149
BC: F3    FL148
/
SF1
PA: PSF1   1.600D+04
        F=PSF1
EOD
CI4
PA: PC1    1.3000D+00
PA: PC2    1.7130D+00
        C=Z/PC1+PC2
EOD
RE6
PA: PC136  1.000D+00
PA: PC000  0.000D+00
PA: PC100  1.000D+00
PA: PC200  2.000D+00
PA: PC160  1.600D+04
        R=Z/PC136
        IF(R.LE.PC100)THEN
         R=PC000
        ELSE
         R=PC160*(R-PC100)
        ENDIF
EOD
CI1
PA: PC110  1.300D+00
PA: PC111  6.9674
        C=Z/PC110+PC111
EOD
RE2
PA: PC250  0.1500D+00
PA: PC251  1.6000D+04
PA: PC000  0.0000D+00
PA: PC252  0.2000D+00
PA: PC253  0.3000D+00
PA: PC100  1.0000D+00
PA: PC254  1.0667D+05
PA: PC255  3.2000D+05
PA: PC256  6.4000D+04
        R=Z/PC100
        IF(R.LE.PC250)THEN
         R=PC254*R
        ELSEIF(R.LE.PC252)THEN
         R=-PC255*R+PC256
        ELSE
         R=PC000
        ENDIF
EOD
RE1
PA: PC000  0.0000D+00
PA: PC301  6.0000D+00
PA: PC302  8.0000D+00
PA: PC303  1.0000D+04
PA: PC100  1.0000D+00
PA: PC304  2.0000D+00
        R=Z/PC100
        IF(R.LE.PC301)THEN
         R=PC000
        ELSE
         R=PC303/PC304*(R-PC301)
        ENDIF
EOD
RE3
PA: PC401  3.6000D-06
       R=Z*PC401
EOD
RE4
PA: PC401  3.6000D-06
       R=Z*PC401
EOD
RE5
PA: PC501  7.2000D-06
       R=PC501*Z
EOD
CI2
PA: PC601  0.37000D+00
PA: PC602  -0.267019D+00
        C=Z/PC601+PC602
EOD
CI3
PA: PC701  1.5000D+00
PA: PC702  -1.3341D+01
        C=Z/PC701+PC702
EOD
II1
PA: PC801  8.3000D-07
PA: PC802  1.0110D+03
         L=Z/PC801+PC802
EOD
II2
PA: PC801  8.3000D-07
PA: PC803  -1.218D+03
         L=Z/PC801+PC803
EOD
II3
PA: PC804  1.6500D-06
PA: PC805  4.374D+03
         L=Z/PC804+PC805
EOD
TF1
PA: PT0001 -1.0000D+00
        TF=PT0001
EOD
/
0.00              5.00D-02          1.000D-08         4000
/