C++ 温度场模拟编程(悬赏200 在线等)

C++ 温度场模拟编程(悬赏200 在线等),第1张

这个问题其实很简单啊,齐次方程,边界条件还在节点上

以下算法应该没有问题,只是对于你的问题专门写的,其中,L+1是结点数,采用x,y方向结点数相同的划分,不过没有对精度进行判断,主要是我刚看到你的问题,就先把程序贴出来了,这里直接利用了边界条件是方形区域的w最佳理论值

#include <stdio.h>

#include <math.h>

#define PI 3.1415926

#define L 10 // L+1 是结点个数

#define Hx (1.0/L)

#define Hy (0.5/L)

int main(int argc, char* argv[])

{// T[i][j], i:x, j:y

int i, j, k

double w = 2/(1+sin(PI/L))

double T[L+1][L+1]

for(i=0i<=Li++)

T[0][i] = T[i][0] = 100

for(i=1i<=Li++)

T[i][L] = 100 + 400*Hx*i

for(j=1j<=L-1j++)

T[L][j] = 100 + 800*Hy*j

for(j=1j<=L-1j++)

for(i=1i<=L-1i++)

T[i][j] = 100

for(k=0k<=1000k++)

{

for(i=1i<=L-1i++)

for(j=1j<=L-1j++)

{

T[i][j] = T[i][j] + (w/4)*(T[i+1][j] + T[i][j+1] + T[i-1][j] + T[i][j-1] - 4*T[i][j])

}

}

printf("超松弛迭代法, w = %lf\n", w)

printf("T[x][y] = ...\n")

for(i=0i<=Li++)

for(j=0j<=Lj++)

{

printf("%.1lf\t", T[i][j])

if(j == L)

putchar(10)

}

return 0

}

分方法:延伸划分、映像划分、自由划分和自适应划分。 延伸网格划分可将一个二维网格延伸成一个三维网格。映像网格划分允许用户将几何模型分解成简单的几部分,然后选择合适的单元属性和网格控制,生成映像网格。ANSYS程序的自由网格划分器功能是十分强大的,可对复杂模型直接划分,避免了用户对各个部分分别划分然后进行组装时各部分网格不匹配带来的麻烦。自适应网格划分是在生成了具有边界条件的实体模型以后,用户指示程序自动地生成有限元网格,分析、估计网格的离散误差,然后重新定义网格大小,再次分析计算、估计网格的离散误差,直至误差低于用户定义的值或达到用户定义的求解次数。板左右两侧,肋板同一侧的两个螺栓孔的中心距为38mm,螺栓孔中心距离底座外缘和肋板均为19mm,轴承孔中心距离底座上表面为44.5mm,肋板厚度为3mm,轴承孔内外孔半径分别为22mm、25mm。

砂型的在整个铸造过程中的作用不言而喻,因此在设计过程中需要参照实际的情况进行,当前依靠经验进行设计的厂家较多,按照实际情况,结合之前的铸造由于温度发生变化,会出现对应的膨胀压缩的情况,这就是线膨胀现象。其变化是在一定的压力值下,温度的改变引起的体积的改变,也就是用热膨胀系数表示,上述中,热膨胀系数随着温度的增加而呈现增大的趋势,温度在0-200的时候线膨胀系数增大速度最快,200-1000的时候速度稍缓,1000之后,线膨胀系数增大速度呈现最慢的情况。

砂型铸造是传统的铸造方法,它适用于各种形状、大小、批量及各种常用合金铸件的生产。砂型参数之间的关系均由下列各图表示出来。d性模量可视为衡量材料产生d性变形难易程度的指标,其值越大,使材料发生一定d性变形的应力也越大,即材料刚度越大,亦即在一定应力作用下,发生d性变形越小

说明:又称杨氏模量。d性材料的一种最重要、最具特征的力学性质。是物体d性变形难易程度的表征。上述得出的图形中,杨氏模量随着温度的变化呈现出类似线性的递减曲线。一个物体或者一个系统内部之间有温度的差别就会形成热传导,物体内部温度场的分布情况决定了热传导的速度,在实际中存在着很多种类的热传导,其热传导的规律有一定的研究价值,是进行热应力分析的基础。由图可见,所研究的铸件密度是相同的,不会有什么变化,对于实际情况来说,铸件从金属高温液体一直到凝固冷却成型,整个过程特别复杂,其属于一个高温、动态并且是瞬时变化的过程,但是在研究中,为了研究的便利性,必须将其理想化,可以将其设定为密度不变,能够在理想情况下进行此项研究来获取理论的结果,针对其受热、受力情况,再进行实际的调整。

软件很多:

ANSYS优点在于前后处理简单,运算速度快。而传统的ANSYS个人感觉图示总不是很漂亮。而ANSYS的Workbench的界面做report也很漂亮。资料较多,上手难度中等。

MATLAB的话可以尝试由其工具箱变化而来的COMSOL,优点在于直观,结果图示漂亮。缺点在于建模和网格划分能力偏弱。可参照附带的帮助文件,上手难度较容易。

而C++的话就等于说你要自己写有限元求解器了,或者差分格式求解程序了。除非你想尝试一种新的单元或者新的算法或者新的差分格式等,而这些都没有现成的程序。否则这么做是没有意义的。

基本上所有的有限元计算软件对于这样的问题都能胜任。ABAQUS,ADINA,MSC.NASTRAN。都可以做到。

推荐ANSYS,因为对于线性问题来说ANSYS性价比最高,而且在中国市场占有最大上手后可以对以后的工作有帮助(如果从事这方面的话)。另:以上的优缺点仅考虑对于二维非稳态温度场数值模拟的需要。实际上ANASYS,ABAQUS,ADINA等各有各的优劣。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11888591.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存