Matlab:PDE工具箱,获取边界上每个元素的长度

时间:2015-12-16 20:29:59

标签: matlab mesh pde

我使用Matlab的PDE工具箱设置并网格化了一个域。沿着边界,是否有某种程度来获得网格的每个元素的长度?和正常方向的通量? (bc是Dirichlet)

Example mesh

编辑:

参见示例代码

RMax = 20;
RL = 1;
RU = 0.5;
HN = 5;
HL = 2;
HTT = 3;
HU = 1.5;
VL = -150;
p = [RL,0;RL,HN;0,HN+HL;0,HN+HL+HTT;RU,HN+HL+HTT+HU;RMax,HN+HL+HTT+HU;RMax,0];

t = [1;1;0;1;1;0;0];
v = [VL;VL;0;0;0;0;0];

dx = 0.5;
dy = 0.5;

bc = cell(size(t));

for i = 1:length(t)
    if t(i) == 0
        bc{i} = {'u', v(i)};
    elseif t(i) == 1
        bc{i} = {'g', v(i), 'q', 1};
    else
        error('Unrecognized boundary condition type.')
    end
end

model = createpde;

gd = [2; size(p,1); p(:,1) ; p(:,2)];
ns = char('domain')';
sf = 'domain';

g = decsg(gd,sf,ns);
geometryFromEdges(model,g);

generateMesh(model, 'Hmax', min([dx,dy])/3, 'MesherVersion','R2013a');

for i = 1:size(bc,1)
    applyBoundaryCondition(model, 'Edge', i, bc{i}{:});
end

u = assempde( model , 'x' , 0 , 0 );

pdemesh(model)

编辑:2015-12-17 18:54 GMT

下图e1显示的2中有2个点。我想知道3的坐标,所以我知道哪个方向进入了域。

Example with points

0 个答案:

没有答案