我有问题如何在瞬态条件下使用迭代方法使用Galerkien有限元方法(FEM)求解二维流Laplace方程的PDE? 我使用高斯塞德尔方法进行迭代。但是我该如何为下一个时间步DT(时域)循环
在Wang和Anderson 1982年Fortran地下水流示例代码完成之后,该代码是适度的。我完成了刚度矩阵的组装并分配了节点坐标值
这是我的主要迭代代码
DT = 5;
KOUNT = 1;
KPRINT = 2;
TIME = DT;
for NSTEP = 1:100
for L = 1:NNODE
B(L) = 0.0;
for JJ = 1:NNODE
B(L) = B(L) + (P(L,JJ)*HOLD(JJ))/DT;
end
end
AMAX = 0.0;
for L = 1:NNODE
if (L == 1) || (L == 2) || (L == 21) || (L == 22)
continue
else
OLDVAL = HNEW(L);
SUM = 0.0;
for JJ = 1:NNODE
if (JJ == L)
continue
else
SUM = SUM + (G(L,JJ) + P(L,JJ)/DT)*HNEW(JJ);
end
end
end
HNEW(L) = (-SUM + B(L))/(G(L,L)+P(L,L)/DT);
ERR = abs(OLDVAL-HNEW(L));
if (ERR > AMAX)
AMAX = ERR;
elseif (AMAX > 0.01)
AMAX = 0.0;
HOLD(L) = HNEW(L);
end
if (KOUNT ~= KPRINT)
KOUNT = 0;
TIME = TIME + DT;
KOUNT = KOUNT + 1;
end
end
end
我应该用DT在不同的时间获取HNEW的新值的输出结果