メッシュを描く |
Th = buildmesh(..); ... plot(Th); |
有限要素空間の元 (メッシュ上の数値ベクトル) の等高線を描く |
Vh f; ... plot(f); |
等高線の高さを指定したい場合は、viso= オプションを用いる (等高線の高さを収めた配列の名前を指定する)。
コメントを書きたい場合は cmm= オプションを用いる。
Vh f; real [int]level = [0.0]; // 高さ 0 の等高線のみ real [int]levels = -1.0:0.1:1.0; // -1 から 0.1 刻みで 1 まで ... plot(f, viso=level, wait=true, cmm="nodal line"); plot(f, viso=levels, value=true, wait=true, cmm="contour lines"); |
上の関数 を描く |
mesh Th=square(20,20); plot(Th,wait=1); fespace Vh(Th,P1); Vh u=x*x-y*y; plot (u,wait=1); |
wait= で一時停止するかどうかをコントロール |
debug=true; // debug=1; でも可 ... plot(f,wait=debug) |
ps=ファイル名 で描画と同時に PostScript ファイルも出力 |
plot(f,ps="graph.eps"); |
,dim=3 で3次元の鳥瞰図表示 |
plot(f,dim=3); |
,fill=true で色を塗る |
plot(f,fill=true); |
関数のレベル0の等高線を描きたいのに、 なぜか等高線が見えなくなるケースに遭遇した。 0の近くのレベルの範囲 を塗りつぶすことで安直に回避した。
real haba=0.0001; real [int] viso=(-haba:haba:haba); plot(u,viso=viso,fill=true,grey=true); |