func real f(real x, real y) { if (x<y) return x; else return y; } |
こういう関数は普通のプログラマーにとってわかりやすいが、 例えば弱形式の中の式に (1行関数のように) f*v のように直接使えない。 その代わりに f(x,y)*v とする必要がある。
同様に、次のようにして有限要素空間の変数に代入することができる。
fespace(Th,P1) Vh; Vh ff; ff=f(x,y);あるいは fespace(Th,P2) Vh2; Vh2 ff; ff=f(x,y); |
plot(ff, wait=1); ... int1d(Th,Gamma1)(ff*v) ... ... +on(Gamma2,u=ff)... |
もっとも int1d() や +on() の中では、 境界上の値しか必要にならないので、 ff に代入して使うのはバカバカしいかもしれない。 plot(ff) は意味があるけど。