大家好,最近的课程作业要求用有限元方法解微分方程。在制作矩形网格划分程序的过程中我看见有一本书上几个例题里面都有“网格平面旋转”的字样,不是很了解其中的作用。就是标红的部分。

这里面θ=0(我可以理解成矩形网格并没有在XY坐标系上旋转吗,即长平行于X,高平行于Y)

JXY2是节点的X,Y坐标值

R=sqrt((JXY2(i,1)+1)^2+JXY2(i,2)^2);R看起来似乎就是节点到(-1,0)的距离喽?

theta1=atan(JXY2(i,2)/(JXY2(i,1)+1));Θ1节点与(-1,0)连线与X轴的夹角

JXY2(i,1)=R*cos(theta/180*pi+theta1);那么最后新生成的坐标值的意义是什么呢?

Snipaste_2018-06-05_18-04-48.png (168.28 KB, 下载次数: 0)

2018-6-5 18:03 上传

本人实在有点菜,请大家帮帮忙哈~     :)

clc

clear

%%%输入网格信息

H=0.06;%高

L=0.08;%长

Nx=4;%X向单元数

Ny=4;%Y向单元数

theta=0;%网格平面旋转角度

E=Nx*Ny;%总共节点数

N_sq=(2*Nx+1)*(2*Ny+1);%总二次节点数

N_line=(Nx+1)*(Ny+1);%总线性节点数

dx=L/Nx/2;%X向单元长

dy=H/Nx/2;%Y向单元高

%%%输入网格信息

%%%生成网格节点%%%

mesh_net=zeros(2*Nx+1,2*Ny+1);%初始化网格节点号

k=0;l=0;

for i=1:2:2*Ny+1

l=l+1;

for j=1:2:2*Nx+1

k=k+1;

mesh_net(i,j)=k;

if j+1<2*Nx+1

mesh_net(i,j+1)=k+(Nx+1)*(Ny+1)+(2*Nx)*(l-1);

end

end

end

l=0;

for i=2:2:2*Ny+1

l=l+1;

k=(Nx+1)*(Ny+1)+(l-1)*(Nx+2*Nx+1)+Nx;

for j=1:2*Nx+1

k=k+1;

mesh_net(i,j)=k;

end

end

%%%生成网格节点%%%

%%%生成网格坐标%%%

for i=1:2*Ny+1

for j=1:2*Nx+1

JXY2(mesh_net(i,j),1)=dx*(j-1);

JXY2(mesh_net(i,j),2)=dy*(i-1);

end

end

%%%生成网格坐标%%%

%%%网格平面旋转%%%

for i=1:length(JXY2(:,1))

R=sqrt((JXY2(i,1)+1)^2+JXY2(i,2)^2);

theta1=atan(JXY2(i,2)/(JXY2(i,1)+1));         %%%%%%%%%%%不懂%%%%%%%%%%%

JXY2(i,1)=R*cos(theta/180*pi+theta1);         %%%%投影之后X坐标加了1%%%%

JXY2(i,2)=R*sin(theta/180*pi+theta1);

end

%%%网格平面旋转%%%

%%%各单元二次节点序号%%%

k=0;

for i=1:Ny

for j=1:Nx

k=k+1;

JM2(k,:)=[mesh_net(2*i-1,2*j-1),mesh_net(2*i-1,2*j), ...

mesh_net(2*i-1,2*j+1),mesh_net(2*i,2*j-1),mesh_net(2*i,2*j), ...

mesh_net(2*i,2*j+1),mesh_net(2*i+1,2*j-1),mesh_net(2*i+1,2*j), ...

mesh_net(2*i+1,2*j+1)];

end

end

%%%各二次单元节点序号%%%

%%%各线性单元节点序号%%%

JM1=[JM2(:,1),JM2(:,3),JM2(:,9),JM2(:,7)];

JXY1=JXY2([1:N_line],:);

%%%各线性单元节点序号%%%

%%%边界点%%%

BPd=mesh_net(1,:);

BPu=mesh_net(2*Ny+1,:);

BPl=mesh_net(:,1);

BPl=mesh_net(:,2*Nx+1);

%%%边界点%%%

%%%连续方程BE值%%%

thetaxd=pi/2-theta/180*pi;%下边界外法线方向与x轴夹角

thetayd=pi-theta/180*pi;%下边界外法线方向与y轴夹角

thetaxu=pi/2+theta/180*pi;

thetayu=-theta/180*pi;        %%%%%%%%%%%这里这么算theta的正负%%%%%%%%%%%

thetaxr=theta/180*pi;        %%%%%%%%%%%这里这么算theta的正负%%%%%%%%%%%

thetayr=pi-thetaxr;

thetaxl=(180+theta)/180*pi;

thetayl=pi/2+theta/180*pi;

mesh_netd1=ones(Nx,1)*cos(thetaxd);%与下边界x方向余弦向量

mesh_netd2=ones(Nx,1)*cos(thetayd);%与下边界y方向余弦向量

mesh_netu1=ones(Nx,1)*cos(thetaxu);

mesh_netu2=ones(Nx,1)*cos(thetayu);

mesh_netl1=ones(Ny,1)*cos(thetaxl);

mesh_netl2=ones(Ny,1)*cos(thetayl);

mesh_netr1=ones(Ny,1)*cos(thetaxr);

mesh_netr2=ones(Ny,1)*cos(thetayr);

BEd=[[1:Nx]',ones(size([1:Nx]')),mesh_netd1,mesh_netd2];%[单元号,单元位置(1下,2右,3上,4左),与x方向余弦向量,与y方向余弦向量]

BEr=[[Nx:Nx:E]',2*ones(size([1:Ny]')),mesh_netr1,mesh_netr2];

BEu=[[Nx*(Ny-1)+1:Nx*Ny]',3*ones(size([1:Nx]')),mesh_netu1,mesh_netu2];

BEl=[[1:Nx:(Ny-1)*Nx+1]',4*ones(size([1:Ny]')),mesh_netl1,mesh_netl2];

%%%连续方程BE值%%%

%%%调用网格绘制程序

matlab 平面旋转,请问划分网格时所谓“网格平面旋转”是什么意思?相关推荐

  1. matlab surf 画3维图时去掉网格以及使图像光滑

    urf(X,Y,Z) % grid off % 去掉坐标网格 shading interp % 去掉图像上的网格,即使之光滑 shading interp后效果如上图所示

  2. 泰山OFFICE技术讲座:网格对齐时,网格高度是多少,怎么来的

    在博文: 泰山OFFICE技术讲座:行距,五号.小四时还正常,四号时大幅增加,这是为什么?_柳鲲鹏的博客-CSDN博客 吾从布局角度,解释了为什么四号时,行间距扩大明显的问题.文中提到,网格时一个网格 ...

  3. 【MATLAB】三维图形绘制 ( 三维平面图 | 二维网格 | meshgrid 函数 | 绘制网格 | mesh 函授 | 绘制平面 | surf 函数 | 绘制等高线 | contour 函数 )

    文章目录 一.二维网格 1.线图 与 平面图 2.meshgrid 函数生成二维网格 二.绘制网格 1.mesh 函数绘制网格 2.代码示例 三.绘制平面 1.surf 函数绘制平面 2.代码示例 四 ...

  4. MATLAB判断三角形成立的编程,Triangulation 划分三角形网络时用到的大量算法和测试例程 matlab 259万源代码下载- www.pudn.com...

    文件名称: Triangulation下载  收藏√  [ 5  4  3  2  1 ] 开发工具: matlab 文件大小: 213 KB 上传时间: 2016-05-24 下载次数: 0 详细说 ...

  5. quantrader和matlab不匹配,【Matlab量化投资】支持向量机择时策略

    原标题:[Matlab量化投资]支持向量机择时策略 感谢国泰安与本公众号合作 推出[Matlab量化投资系列] 机器学习 所谓机器学习,其实就是根据样本数据寻找规律,然后再利用这些规律来预测未来的数据 ...

  6. python网格划分_五、网格划分篇-SnappyHexMesh(之二)

    5.2背景网格(blockMesh) 背景网格(blockMesh)功能简介 blockMesh是结构化的六面体网格生成器.一般用于生成简单几何模型的结构网格,随着几何图形复杂性的增加,需要设置参数的 ...

  7. python划分有限元网格_有限元网格划分的基本原则及通用方法(有限元科技内参)...

    的划分一方面要考虑对各物体几何形状的准确描述,另一方面也要考虑变形梯度的准确描述.为正确.合理地建立有限元模型,这里介绍划分网格时应考虑的一些基本原则. (1)网格数量 网格数量直接影响计算精度和计算 ...

  8. python划分有限元网格_有限元网格划分方法(转载)

    发信人: CadKey (Cadkey), 信区: CAD 标 题: 有限元网格划分方法--再灌一篇 发信站: 交通大学思源BBS (Tue Dec 5 19:07:44 2000), 转信 发信人: ...

  9. python划分有限元网格_有限元网格划分应该考虑些什么

    我们知道有限元算法的精髓是划分网格,网格对结果有非常大的影响.目前市面上软件对复杂几何模型进行网格划分非常简单,但是用户却不得不问自己:我如何知道网格是否真的好?我需要多少单元呢?网格密度对结果会产生 ...

最新文章

  1. java boolean io流_java基础入门-day22-IO流
  2. python爬虫有什么用处-python为什么叫爬虫 python有什么优势
  3. 计算机论文指导书,计算机毕业论文指导书.doc
  4. 使用PagedDataSource给Repeater、DataList增加分页
  5. 人工智能(12)---中国智能语音业务与应用发展白皮书
  6. C语言求一个数的倒数的平方根近似值
  7. Java使用JNDI调用配置在服务器(Weblogic、Tomcat)的数据源配置
  8. dr. unarchiver_1F 新店开业男士一生仅能定制一枚的钻戒,DR 教你用一生爱一人
  9. 【图像处理】基于matlab GUI图像形态学处理【含Matlab源码 1287期】
  10. wer 流程图编程_WER机器人搭建学习实操练习
  11. 图解设计模式:行为型模式之观察者模式
  12. ArduinoUNO实战-第七章-PWM调光
  13. 网站备案 应该找域名商还是空间商备案
  14. STM32F1读取MLX90614ESF非接触式温度传感器
  15. Python标准库(各种模块介绍)
  16. 罗素说理想与历程—幸福心灵的获取
  17. 电脑录音效果不佳的问题解决
  18. python爬取某壁纸网站壁纸
  19. 将html连接到外部样式表文件,外部样式表文件通过( )标记链接到HTML文件中
  20. VR场景切换-微信小程序

热门文章

  1. 服务器提示位置不可用 拒绝访问,主编修复win10系统打开Local settings文件夹提示“位置不可用,拒绝访问的问题...
  2. 在Centos/Linux系统下使用Phalcon开发PHP项目
  3. avro-java,proto-java
  4. 如何快速成为谷歌web Store开发者(不用办visa/信用卡)
  5. 阿里云centos7安装图形界面
  6. JavaScript代码优化 --- 长期更新
  7. OKRs, How Google sets goals, Startup Lab workshop | Chatopera
  8. OpenJudge 2986 拼点游戏
  9. 联想开机启动项按哪个_联想笔记本按哪个按键进入U盘启动|详解联想进入U盘启动的教程...
  10. 4298. 【NOIP2015模拟11.2晚】我的天