JUMP(V) という表現は、変数Vに関し CONTACT 境界条件が設定されている境界上であれば、任意の境界条件ステートメント中で使用できます。
例えば電気抵抗の場合、電位が接触抵抗の両端でジャンプすることになるので、そこを流れる電流が熱流方程式に対する熱源となります。次の例は厳密に言うと物理的に実現できるわけではありませんが、テクニックの紹介には役に立ちます。Tempに対する Natural 境界条件中に熱源を表す項として JUMP(Phi) という記述が出てくる点に注意してください。Phiは CONTACT 境界条件中に規定されているので、2重に値を持つ量として記録されています。従ってその JUMP がTempに対する境界条件でも使えるようになるわけです。Tempは CONTACT 境界条件中に出てこないので、接合の境界上で一つの値しか取りません。
TITLE 'Contact Resistance as a heat source'
VARIABLES
Phi { the voltage }
Temp { the temperature }
DEFINITIONS
Kd = 1 { dielectric constant }
Kt = 1 { thermal conductivity }
R = 0.5 { blob radius }
Q = 0 { space charge density }
Res = 0.5 { contact resistance }
EQUATIONS
Phi: Div(-kd*grad(phi)) = Q
Temp: Div(-kt*grad(temp) = 0
BOUNDARIES
REGION 1 'box'
START(-1,-1)
VALUE(Phi)=0 { grounded outer walls }
VALUE(Temp)=0 { cold outer walls }
LINE TO (1,-1) TO (1,1) TO (-1,1) TO CLOSE
REGION 2 'blob' { the embedded blob }
Q = 1 { space charge in the blob }
START 'ring' (R,0)
CONTACT(phi) = -JUMP(phi)/Res
{ the heat source is the voltage difference times the current }
NATURAL(temp) = -JUMP(Phi)^2/Res
ARC(CENTER=0,0) ANGLE=360 TO CLOSE
PLOTS
CONTOUR(Phi) SURFACE(Phi)
CONTOUR(temp) SURFACE(temp)
END
等温線図には境界上の熱源の効果が示されています。

|