我目前正在尝试对一个具有半圆形形状的合金进行2D热传递分析(然后在这个形状上引入一个热源)。我发现自己无法生成特定形状的网格,下面的代码显示了我到目前为止所做的事情,如果有人能给我指出正确的方向,我将不胜感激!
最初,我将网格参数设置如下:
%-------------------GRID SETTINGS----------------------%
Sx = 10; %physical width
Sy = 10; %physical height
Nx = 100; %number of points x-axis
Ny = round(Nx*Sy/Sx); %number of points y-axis
Nt = 500;
%-------------------GRID RESOLUTION---------------------%
dx = Sx/(Nx);
dy = Sy/(Ny);并创建了一个封闭的半圆形的形状,如下所示:
%---------------------SHAPE CREATION--------------------%
r1 = 0.07; %radius 1, m
r2 = 5; %radius 2, m
phi = 0:0.01:pi;
x = r2*cos(phi); x = [x,x(1)]; %x coordinates
y = r1*sin(phi); y = [y,y(1)]; %y coordinates
[X, Y] = meshgrid(x,y);发布于 2021-08-04 16:19:43
我会为你的网格使用极坐标,然后在笛卡尔坐标中可视化结果。看看下面的例子,希望这能给你一个起点(不太确定为什么你应用了两个不同的半径(r1,r2)到你的x,y坐标-所以我假设你有一个最小和最大半径)。
Nx = 100;
r1 = 1; %radius 1, m
r2 = 5; %radius 2, m
phi = 0:0.01:pi;
% generate mesh grid in polar coordinates
radius = linspace(r1, r2, Nx/2);
[Radius, Phi] = meshgrid(radius, phi);
heat = Radius.^2; % some "fake" heat data
% plot results (in cartesian coordinates)
mesh(Radius.*cos(Phi), Radius.*sin(Phi), heat)
axis equal
% top view
view([-0.2 90.0])

https://stackoverflow.com/questions/68649859
复制相似问题