matlab有限元编程实例梁,#MATLAB有限元编程思路

>总体上分为三部分:1.前处理 2.计算 3.后处理

##1.前处理

前处理中,网格化后,单元的个数,以及每个单元有哪些节点组成,以及各个节点的坐标,必须提取出。

单元的个数和节点个数,节点坐标密切相关,而对单元的个数来说,模型的整体尺寸是确定的,那么单元的尺寸的大小,决定了单元的个数。

最大的问题是,就是用什么样的矩阵去存储他们,调用的效率最高。当单元的个数m和n确定下来后,那么单元的尺寸就可以确定,那么面对的第一个问题就是编号!!节点编号、单元编号。

>实际上,利用矩阵的行号就可以确定出单元的顺序,没有必要利用单独的矩阵去表示。因为关键的信息是单元有哪些节点组成!

* **单元信息**

这里定义**单元矩阵**,它所存储的信息是每个单元有哪些节点所组成,自然的矩阵的行号就可以代表单元的号,每一行的元素,二维CST就只有3个节点,这个矩阵是一个(m*n)行,3列的矩阵。**此外,为了存储单元矩阵时,高效地利用内存,应该使每个单元内的节点的编号(这里指的是全局的标号)的差值越小越好,为了达到这样的目的可以采用先沿着边长较短的一边进行节点编号,然后再进行长边的编号。(这里其实已经涉及到了节点编号的问题)**

* **节点信息**

在前处理中,节点的信息提取,就是指节点坐标的获取,如1号节点的x和y坐标,2号的坐标。利用节点矩阵来存储这些信息。这里会遇到两个需要思考的问题,第一个是,节点如何编号;第二个是,对应的给定节点的坐标值

**问题1:**

>节点的编号,当m和n确定下来后,对于每一条线来说,该线上的节点个数要比单元格数多1,也就是说,节点的总个数为(m+1)*(n+1)个。按照最小差值的原则,从短方向开始。编号其实利用矩阵的行号就可以表示出来。索引矩阵的行号是个需要注意的问题。

**问题2:**

>节点坐标,利用几何上的特性,依据确定的单元的尺寸,依次循环得出每个节点的坐标值,按照短方向优先的原则进行,定义**节点矩阵**,这个矩阵中的元素为坐标值x和y,利用行号来表示节点号,对二维的问题来说,是一个2列的矩阵。

* **两中矩阵的相互关系**

单元由节点组成,而节点又有着坐标信息,假设CST单元来说,为了获得某个单元的组成信息和位置,那么可以对element矩阵进行索引,它的每一行都存储着组成该单元的三个节点的号,用element(k,:)这个切片来表达。node矩阵为节点矩阵,包含着位置信息,node的第一列为x值,第二列为y值,这样就可以获得单元、节点的信息,为下一步的单元分析作准备。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Matlab中进行有限元编程实例的过程中,可以使用圆筒热力耦合冲击下热应力场的有限元分析及MATLAB编程的方法\[1\]。在编程过程中,可以参考Matlab-杆单元整体刚度矩阵组装的方法\[2\]。在定义单元矩阵时,需要确定每个单元由哪些节点组成,可以使用一个(m*n)行,3列的矩阵来存储这些信息\[3\]。此外,在存储单元矩阵时,为了高效地利用内存,可以使每个单元内的节点的编号的差值越小越好,可以先沿着边长较短的一边进行节点编号,然后再进行长边的编号\[3\]。这样可以更好地实现有限元编程实例。 #### 引用[.reference_title] - *1* [【物理应用】Matlab实现两端固支热力耦合的有限元分析](https://blog.csdn.net/qq_59747472/article/details/124975782)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [Matlab-单元有限元分析(有限元基础-曾攀)](https://blog.csdn.net/qq_39642029/article/details/124501436)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [#MATLAB有限元编程思路](https://blog.csdn.net/weixin_35638218/article/details/115810448)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值