This commit is contained in:
xinxiao
2026-03-13 11:24:41 +08:00
commit 04e2bb29c7
238 changed files with 29102 additions and 0 deletions
+90
View File
@@ -0,0 +1,90 @@
function [coordinates, nodes, nP, nE, dxv, dyv,dzv,zm,vm,xrao,yrao,zrao] = GenerateNode_final_new(dx, dy,dz ,nx,ny,nz,NTG)
% coordinates xy cordinatex,y坐标
% nodes connection
% nP numbers of point
% nE numbers of element
nP = (nx + 1) * (ny + 1)*(nz+1);%
nE = nx * ny*nz;%
% dx=dx*ones(nx,1);%
% dy=dy*ones(nx,1);
% dz=dz*ones(nx,1);
dxv = zeros(nE, 1);%x方向上尺寸矩阵
dyv = zeros(nE, 1);%y方向上尺寸矩阵
dzv = zeros(nE, 1);
zm=zeros(nE, 1);%
%x方向和y方向赋尺寸
vm=zeros(nE, 1);%
for k=1:nz
for i = 1 : nx
for j = 1 : ny
dxv(i+(j-1)*nx+nx*ny*(k-1)) = dx(i);
dyv(i+(j-1)*nx+nx*ny*(k-1)) = dy(j);
dzv(i+(j-1)*nx+nx*ny*(k-1))=dz(k);
vm(i+(j-1)*nx+nx*ny*(k-1))=dx(i)*dy(j)*dz(k)*NTG(i+(j-1)*nx+nx*ny*(k-1));
end
end
end
coordinates = zeros(nP, 3);%x,y坐标矩阵
nodes = zeros(nE, 8);%
%
x0 = zeros(nx+1,1);
y0 = zeros(ny+1,1);
z0=zeros(nz+1,1);
sumx = 0;
sumy = 0;
sumz=0;
for i = 1 : nx
sumx = sumx+dx(i);
x0(i+1) = sumx;
end
for i = 1 : ny
sumy = sumy+dy(i);
y0(i+1) = sumy;
end
for i = 1 : nz
sumz = sumz+dz(i);
z0(i+1) = sumz;
end
for k=1:nz+1
for j = 1 : ny + 1
for i = 1 : nx + 1
coordinates(i + (j - 1) * (nx + 1)+(nx+1)*(ny+1)*(k-1), 1) = x0(i);%(i,jx坐标赋值
coordinates(i + (j - 1) * (nx + 1)+(nx+1)*(ny+1)*(k-1), 2) = y0(j);%(i,jy坐标赋值
coordinates(i + (j - 1) * (nx + 1)+(nx+1)*(ny+1)*(k-1), 3) = z0(k);
end
end
end
%(
for k=1:nz
for j = 1 : ny
for i = 1 : nx
nodes(i + (j - 1) * nx+nx*ny*(k-1), 1) = i + (j - 1) * (nx + 1)+(k-1)*(nx+1)*(ny+1);
nodes(i + (j - 1) * nx+nx*ny*(k-1), 2) = nodes(i + (j - 1) * nx+nx*ny*(k-1), 1) + 1;
nodes(i + (j - 1) * nx+nx*ny*(k-1), 3) = nodes(i + (j - 1) * nx+nx*ny*(k-1), 1) + nx + 1;
nodes(i + (j - 1) * nx+nx*ny*(k-1), 4) = nodes(i + (j - 1) * nx+nx*ny*(k-1), 1) + nx + 2;
nodes(i + (j - 1) * nx+nx*ny*(k-1), 5) = nodes(i + (j - 1) * nx+nx*ny*(k-1), 1)+(nx+1)*(ny+1);
nodes(i + (j - 1) * nx+nx*ny*(k-1), 6) = nodes(i + (j - 1) * nx+nx*ny*(k-1), 5) + 1;
nodes(i + (j - 1) * nx+nx*ny*(k-1), 7) = nodes(i + (j - 1) * nx+nx*ny*(k-1), 5) + nx + 1;
nodes(i + (j - 1) * nx+nx*ny*(k-1), 8) = nodes(i + (j - 1) * nx+nx*ny*(k-1), 5) + nx + 2;
zm(i+(j-1)*nx+nx*ny*(k-1))=sum(coordinates(nodes(i + (j - 1) * nx+nx*ny*(k-1), :),3))/8;
end
end
end
xrao=[0];
for i=1:nx
xxiang=sum(dx(1,1:i));
xrao=[xrao xxiang];
end
yrao=[0];
for i=1:ny
yxiang=sum(dy(1,1:i));
yrao=[yrao yxiang];
end
zrao=[0];
for i=1:nz
zxiang=sum(dz(1,1:i));
zrao=[zrao zxiang];
end
end