问题描述
要解决的问题
我已经试过了。
我创建了几个函数。我对剩下的感到困惑。
我已经创建了第一个函数并将上、下和主矩阵的值存储在我的电子表格中。
Function createFEMatrixDirichlet(a,C,Nx,h,dt)
Dim k As Integer
'Main
For k = 0 To Nx - 1
Cells(k + 2,2).Value = 1 - dt * (((2 * a) / (h * h)) + x)
Next k
'Lower
For k = 0 To Nx - 2
Cells(k + 2,1).Value = dt * (a / (h * h))
Next k
'Upper
For k = 0 To Nx - 3
Cells(k + 2,3).Value = dt * (a / (h * h))
Next k
End Function
节点的生成方式类似。
Function nodeGeneration(xa,xb,column)
Dim k As Integer
'Find h
h = (xb - xa) / Nx
'Generate Node
For k = 0 To Nx
Cells(k + 2,column).Value = xa + k * h
Next k
End Function
应用初始条件:
Function applyInitialCondition(Nx,column)
Dim k As Integer
For k = 0 To Nx
Cells(k + 2,column).Value = ((Cells(k + 2,4)) + 2) / 2
Next k
End Function
现在乘以我有点困惑。我的实现是我试图制作整个矩阵然后相乘。然而,没有运气。一些或其他错误弹出。
另外,我不知道如何实现 FEtimestep 然后创建一个新的子程序来运行整个代码。
有线索吗?
样本输入
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)