如何修改matlab工具箱代码以实现周期性边界条件?
发布于 2016-06-13 15:25:03
我在2016年实现了定期边界条件,以便在pde工具箱中使用。它花费了相当长的时间,因为许多函数和数据结构都没有文档化。请注意,我的领域是一个三维立方体,但这里的方法将工作的2D也。(我已经测试了抛物线问题和双曲问题)。似乎通过改变PDE工具箱的"H“矩阵,周期边界条件是可能的,但对于椭圆型、抛物型或双曲型问题,我还没有得到这样一种方法。
下面是对抛物型和双曲型问题执行周期边界条件的方法(使用pde工具箱的直线法):
函数bcMatrix = tdependentdiri(区域,状态)
% nan被用来“欺骗”matlab将边界条件作为时间依赖的dirichlet来处理。
if( isnan( state.time ))
bcMatrix = NaN;否则
bcMatrix = state.u;结束
结束
节点,fas,tet,Hmax,Hmin =geomOrder(self.Geometry,Hmax,Hmin,geomOrder);
注意,节点和tet由delaunay三角剖分来处理。
U= self.uN(:,pbc_indx);% self.uN保存当前时间的解决方案
我把它放在一行后面: appRegion = self.applicationRegion(xyzPts(:,i),faceNormals(:,i));
可能会有更简单的方法,但至少这一种方法最终会奏效。
https://stackoverflow.com/questions/35182582
复制相似问题