レベル セット 1D の問題に対して以下のコードを実行しようとしています (fipy Web ページの例)。このエラーが発生しています:
トレースバック (最後の最後の呼び出し): ファイル "C:/Users/sgowda/Documents/pde solver code/level set 1D.py"、20 行目、var.calcDistanceFunction() ファイル "C:\Users\sgowda\AppData\ Local\Continuum\Anaconda\lib\site-packages\fipy\variables\distanceVariable.py", line 335, in calcDistanceFunction raise Exception, "Neither not found on the $PATH" 例外: どちらlsmlib
も$に見つからない道skfmm
lsmlib
skfmm
これを修正する方法を教えてください。distancefucntion() を調べてみましたが、このエラーの意味がわかりませんか?
from fipy import Grid1D, CellVariable, TransientTerm, DiffusionTerm, Viewer, DistanceVariable
import matplotlib.pyplot as plt
velocity = 1.
dx = 1.
nx = 10
timeStepDuration = 1.
steps = 2
L = nx * dx
interfacePosition = L / 5.
from fipy.tools import serialComm
mesh = Grid1D(dx=dx, nx=nx, communicator=serialComm)
var = DistanceVariable(name='level set variable',
mesh=mesh,
value=-1.,
hasOld=1)
var.setValue(1., where=mesh.cellCenters[0] > interfacePosition)
var.calcDistanceFunction()
advEqn = TransientTerm() + FirstOrderAdvectionTerm(velocity)
viewer = Viewer(vars=var, datamin=-10., datamax=10.)
viewer.plot()
for step in range(steps):
var.updateOld()
advEqn.solve(var, dt=timeStepDuration)
viewer.plot()
plt.show()