シミュレーションの演習のコード
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
