先にレイヤ境界は平面に限らないと述べました。しかしFlexPDEはレイヤ境界に対しある種の仮定を置いているため、設定できる形状には多少制約が付きます。 
  
| • | 3次元オブジェクトは側面とレイヤ境界を持ち、extrudeされた形状を維持したものでなくてはならない(側面はのばしたり縮めたりすることはできない)。 
  |  
 | • | レイヤ境界面はリージョン境界をまたがって連続でなくてはならない。垂直なジャンプを伴う境界面の場合、それは複数のレイヤに分ける必要がある。その際、ジャンプはリージョン境界で発生するものとし、個々のレイヤはジャンプの両側にまたがる形で設定する( ではなく )。 
  |  
 | • | 境界面同士はマージしても良いが、逆転することがあってはならない。(上下の)逆転を防ぐためには面の定義においてMAX, MIN関数を使用すると良い。 
  |  
 これらのルールに従ってキャニスターを球(上下の半球からなる)に変更してみましょう。 
  
半球面を与える数式としては次のいずれかが使用できます。 
  
Z = Zcenter + sqrt( R^2 – x^2 – y^2) 
  
または 
  
Z = Ztop – R + sqrt(R^2 – x^2 – y^2) 
  
| • | 全体をカバーする直方体の上面、下面にこれら半球が接触することを回避するために、extrusionの範囲を-1から1まで拡張します。 
  |  
 | • | 計算時のエラーを防ぐため、sqrt中の引数は負にならないように工夫をします。 |  
   
新たなスクリプトは次のようになります。 
  
TITLE 'Heat flow around an Insulating Sphere' 
COORDINATES 
Cartesian3 
VARIABLES 
Phi                { the temperature } 
DEFINITIONS 
K = 1              { default conductivity } 
R = 0.5            { sphere radius } 
{ shape of hemispherical cap: } 
Zsphere = sqrt(max(R^2-x^2-y^2,0))         
  
EQUATIONS 
Div(-k*grad(phi)) = 0         
  
EXTRUSION 
SURFACE 'Bottom'  z=-1 
LAYER 'underneath' 
SURFACE 'Sphere Bottom'  z = -max(Zsphere,0) 
LAYER 'Can' 
SURFACE 'Sphere Top'  z = max(Zsphere,0) 
LAYER 'above' 
SURFACE 'Top'         z=1 
  
BOUNDARIES 
REGION 1 'box' 
START(-1,-1) 
VALUE(Phi)=0          LINE TO (1,-1) 
NATURAL(Phi)=0        LINE TO (1,1) 
VALUE(Phi)=1          LINE TO (-1,1) 
NATURAL(Phi)=0        LINE TO CLOSE 
LIMITED REGION 2        'blob'        { the embedded blob } 
LAYER 2 K = 0.001 
START 'ring' (RSphere,0) ARC(CENTER=0,0) ANGLE=360 
TO CLOSE 
PLOTS 
GRID(y,z) on x=0 
CONTOUR(Phi) on x=0 
VECTOR(-k*grad(Phi)) on x=0 
ELEVATION(Phi) FROM (0,-1,0) to (0,1,0) 
END 
  
左側の図は上半分から外周部を取り去ったもの、右側の図は平面x=0による切断面です。 
  
        
  
  
等温線図は次のようになります。 
  
  
  
  
対象とした3次元オブジェクトの対称性から、このプロットは2次元の等温線図を回転させたものと類似の形状となっています。 
  
  
 |