FiPy がどのように機能するかを理解するために、端点が固定されているEuler-Bernoulli ビーム方程式を解きたいと思います。
w''''(x) = q(x,t), w(0) = w(1) = 0, w'(0) = w'(1) = 0.
簡単にするために、 としq(x,t) = sin(x)
ます。
FiPyでそれを定義して解決するにはどうすればよいですか? sin(x)
方程式内の唯一の独立変数に関してソース項を指定する方法は?
from fipy import CellVariable, Grid1D, DiffusionTerm, ExplicitDiffusionTerm
from fipy.tools import numerix
nx = 50
dx = 1/nx
mesh = Grid1D(nx=nx, dx=dx)
w = CellVariable(name="deformation",mesh=mesh,value=0.0)
valueLeft = 0.0
valueRight = 0.0
w.constrain(valueLeft, mesh.facesLeft)
w.constrain(valueRight, mesh.facesRight)
w.faceGrad.constrain(valueLeft, mesh.facesLeft)
w.faceGrad.constrain(valueRight, mesh.facesRight)
# does not work:
eqX = DiffusionTerm((1.0, 1.0)) == numerix.sin(x)
eqX.solve(var=w)