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

テストコードg1のコードを以下に示します。このコードは BGSP用です。第1行の

BOND SYMBOL EXPR OUT DEFIN PARM INIT

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

g1のコード

BOND SYMBOL EXPR OUT DEFIN PARM INIT
SE1    1
OJ     -1    2     3
CI1    2
RE1    3
/
BC: X     EF1
BC: Y     EF2
/
SE1
PA: PE1    100.0D00
PA: PE2    100.0D00
PA: PI     3.141592654
PA: PFRQ1  250.0D00
PA: PFRQ2  10.D00
       E=PE1*sin(2*PI*PFRQ1*T)+PE2*sin(2*PI*PFRQ2*T)
EOD
RE1
PA: PR1    2.0D3
       R=Z/PR1
EOD
CI1
PA: PC1    3.2D-6
       C=Z/PC1
EOD
/
0.00              0.25               0.001             250
/

20-Simによるコード

Sine
parameters
	real PE1 = 100.0 {V};			// amplitude of the wave
	real PE2=100.0 {V};
	real PFRQ1=250.0 {Hz};
	real PFRQ2=10.0 {Hz};
variables 
 real omega1;
real omega2;
equations
	omega1=2*pi*PFRQ1;
	omega2=2*pi*PFRQ2;
	"calculate the sine wave"
	output = PE1 * sin ( omega1 * time)+PE2*sin(omega2*time);

MSE1
variables
	real flow;
equations
	p.e = effort;
	flow = p.f;

CI1
parameters
	real c = 3.2e-06 {F};
equations
	state = int(p.f);
	p.e = state / c;

RE1
parameters
	real r = 2.0e3 {ohm};
equations
	p.e = r * p.f;