getq1mesh.m

来自「五点差分型多重网格方法:各种插值算子的比较)」· M 代码 · 共 29 行

M
29
字号
%===================================================================
% Generate Q1 mesh on rectangle [0, 1]x[0, 1]
% nx,ny: number of elements in each direction
% x,y: 1-D array for nodal coordinates
% conn(1:ne,1:4): connectivity matrix
% ne, np: total numbers of elements, nodes generated
%====================================================================
%=================zhiyong2008 finish=============================
function[x,y,conn,ne,np] = getQ1mesh(nx,ny)
ne = nx*ny;
np = (nx+1)*(ny+1);
% create nodal coordinates
dx=1/nx; dy=1/ny;
for i = 1:(nx+1)
    for j=1:(ny+1)
        x((ny+1)*(i-1)+j) = dx*(i-1);
        y((ny+1)*(i-1)+j) = dy*(j-1);
    end
end
% connectivity matrix: countclockwise start at low-left corner
for j=1:nx
    for i=1:ny
        ele = (j-1)*ny + i;
        conn(ele,1) = ele + (j-1);
        conn(ele,2) = conn(ele,1) + ny + 1;
        conn(ele,3) = conn(ele,2) + 1;
        conn(ele,4) = conn(ele,1) + 1;
    end
end

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?