Pasorica - パソリカ - : 設定ファイルの文法
Pasoricaにはlorenzとwaveの二種類の設定ファイルが付属しています。ぜひ試してみてください。
SimEnv から EndSimEnvの間でシミュレーション環境設定をします。
例:
SimEnv
dt 0.01
steps 10000
step0 1
camera 0 -1.5 5
EndSimEnv
dt [時間刻み幅]
デフォルト値は0.01です。
steps [総ステップ数]
デフォルト値は1000です。
step0 [開始ステップ数]
通常は1に設定してください。
デフォルト値は1です。
camera [Y方向回転角] [X方向回転角] [倍率]
デフォルト値は回転角がともに0、倍率は1です。
Declare から EndDeclareの間で変数・定数・関数などを宣言します。
例:
Declare
cst p 10
cst r 28
prm b 2.6
var x 1
var y 1
var z 1
func xm
x[step-1]
func ym
y[step-1]
func zm
z[step-1]
dev x
xm-p*(xm-ym)*dt
dev y
ym+(xm*(r-zm)-ym)*dt
dev z
zm+(xm*ym-b*zm)*dt
EndDeclare
cst [定数名] [定数の値]
あらかじめ重力加速度g、自然対数の底e、円周率piは宣言されています。
prm [パラメータ名] [初期値=0] [刻幅=0.1] [最小値=-65535] [最大値=65535]
func [関数名] (改行)
[式]
式の中で使えるのは、
・3つのシステム変数(時間刻み幅dt, 現在の時間t, 現在のステップ数step)
・既に設定されたパラメタ、定数、関数、変数
です。
配列変数にアクセスするためには、その配列変数名の後に括弧でくくってインデックスをあたえます。
例えば配列変数nの現在のひとつ前のステップでの値は
n[step-1]
で得られます。また、その初期値は
n[0]
で得られます。
式中では以下の関数を利用できます。
sin: サイン
cos: コサイン
tan: タンジェント
exp: エクスポーネンシャル
log: 自然対数
log10: 常用対数
sqrt: 平方根
sinh: ハイパボリックサイン
cosh: ハイパボリックコサイン
tanh: ハイパボリックタンジェント
int: 小数点以下切捨て
asin: アークサイン
acos: アークコサイン
atan: アークタンジェント
abs: 絶対値
mns: 符号反転
var [変数名] [初期値] [x方向のサイズ] [y方向のサイズ] (t方向のサイズは設定部でのstepsの値より自動で設定)
変数は1から3次元配列を利用できます。
時間(t)方向の配列は必ず用意されるため、最低でも1次元配列です。
[y方向のサイズ]を省略すれば2次元配列に、
[x方向のサイズ][y方向のサイズ]を省略すれば1次元配列になります。
変数には、はじめ[初期値]の値が代入されます。
変数の時間発展の宣言
dev [変数名](改行)
[式]
既に宣言した変数がシミュレーションの各ステップでどのように時間発展するかを設定します。
式の書き方はfuncとほぼ同様ですが、以下の点が異なります。
pasoricaは各(配列)変数の値を設定された時間発展より自動的に計算します。
この時、2,3次元配列の場合、各配列の何番目の要素であるかがシステム変数iとjで得られます。
例えば、2次元配列変数nのX方向の配列が大きくなるに比例して、変数の値も大きくしたい場合は
dev n
a*i
とすれば良いでしょう。
Plot から EndPlotの間でプロットの仕方を設定します。
例:
Plot
line3d x y z -100 100 0 255 0
line2d x y 100 100 0 255 0
EndPlot
line2d [X変数] [Y変数] [X座標=0] [Y座標=0] [R=0] [G=0] [B=0]
X,Y変数は時間だけの配列(1次元配列)を指定してください。
プロットする位置を変更したい場合はX,Y座標を設定し、プロットする色を変更したい場合はR,G,Bに色情報を0から255の間で設定してください。
三次元ラインプロット
line3d [X変数] [Y変数] [Z変数] [X座標=0] [Y座標=0] [R=0] [G=0] [B=0]
基本は二次元ラインプロットと同じですが、Z座標が追加されています。
grid [変数] [X座標=0] [Y座標=0] [SR=255] [SG=0] [SB=0] [ER=0] [EG=0] [EB=0]
変数には三次元配列を指定してください。
プロットする位置を変更したい場合はX,Y座標を設定し、プロットする色を変更したい場合はSR,SG,SBとER,EG,EBに色情報を0から255の間で設定してください。値が大から小になるにつれて徐々にSR,SG,SBからER,EG,EBに色が変化します。
colormap [変数] [X座標=0] [Y座標=0] [SR=255] [SG=0] [SB=0] [ER=0] [EG=0] [EB=0]
使い方はgridと同じです。
bitmap [X座標] [Y座標]
BITMAPファイル名
X,Y座標の位置に指定したビットマップファイルを表示します。
ビットマップの初期化には非常に時間がかかるので、大きなサイズのファイルは指定しないでください。
200x200ピクセル程度が実用限度かと思います。