シミュレーションの演習のコード
GS3.BGSのコードを以下に示します。このコードは BGSP用です。第1行の
BOND SYMBOL EXPR OUT DEFIN PARM INIT
はコードの一部ですから省略してはいけません。また、BGSPではカラム指定が厳格で1カラムでもずれるとエラーになります。また、許される文字は英数字、コロン(:)、スラッシュ(/)、加減乗算記号(+-*)、半角空白のみであり、制御文字が入るとエラーになります。倍角の空白はエラーを生じますが、ソースをプリントしても気づきにくいので注意が必要です。
GS3のコード
BOND SYMBOL EXPR OUT DEFIN PARM INIT SE1 1 II1 3 RE1 4 CI1 2 OJ -1 2 4 3 / BC: DP4 DP4 BC: EF2 EF2 / SE1 PA: PE1 1.0D0 E=PE1 EOD II1 PA: PIIM 1.0D0 L=Z/PIIM EOD RE1 PA: PR1D 0.2D0 R=PR1D*Z EOD CI1 PA: PC1S 1.0D0 C=PC1S*Z IF(C.GT.1) THEN C=20*C-19 ELSE IF(C.LT.(-1)) THEN C=20*C+19 ENDIF ENDIF EOD / 0.00000E+00 2.00000E+01 1.00000E-02 2000 /
20-Simによるコード
C131 parameters real c = 1 {N/m}; real lmp=1.0; real lml=-1.0; variables real F19; equations F19 = int(p.f,0) / c; p.e = if F19 > lmp then 20.0*F19 - 19.0 else if F19 < lml then 20.0*F19+19.0 else F19 end end; II3 parameters real i = 1 {kg}; equations state = int(p.e); p.f = state / i; R12 parameters real r = 0.2 {N.s/m}; equations p.e = r * p.f; Se11 parameters real effort = 1; variables real flow; equations p.e = effort; flow = p.f;
ブロックボンドグラフによるコード
Se11 parameters real effort = 1; variables real flow; equations p.e = effort; flow = p.f; R12 parameters real r = 0.2 {N.s/m}; equations p.e= p.f*r;; I parameters real i = 1 {kg}; equations state = int(p.e); p.f = state / i; C131 parameters real c = 1 {N/m}; variables real zx; equations zx= int(p.f,0.05)/c;//ZX:Effort port1=zx; p.e= port2; Table parameters string filename= 'J:\20-sim\Simtec\GS3.txt'; equations output= table (filename, input); GS3.txt -2.000 -21.000 -1.000 -1.000 1.0000 1.0000