首页/文章/ 详情

PFC中fish语言编程差分求解一维温度扩散

2年前浏览3133

       大家好,最近感兴趣研究了温度扩散问题,本人未使用软件自带的功能,而是通过差分离散的方法使用fish语言进行一维扩散编程模拟。本文扩散参数取值不合理,仅做示意,示意图和模拟效果图如下:

image.png

杆长度为1,初始温度为0。边界条件为:左边边界温度为50,右边边界温度为0

image.png

t = 0.1时刻温度分布

一    扩散方程差分方法使用

1、方程

image.png

2、差分离散格式

image.png

图片5.png

 从图中可以看出,蓝色点的值可由相邻三个黄点的值求出。语言如下:

u(i) =u(k) D*(u(k 1) u(k-1)-2*u(k))*dt/(dx^2)

3、边界条件

在第一列和最后一列无法按照上述方法求出,因此使用边界条件求出。

  即:U(左边界)=50,U(右边界)=0。语言如下:

if i-N*math.floor(i/N) = 1 ;左边界

   u(i) = 50

else if  i-N*math.floor(i/N) = 0;;右边界

   u(i) = 0

二   图像显示实现

为了体现杆不同位置温度变化,本文使用使用ball代替划分的网格,求出的U值用ball.extra()命令记录不同位置的温度。语言如下:

ball.extra(ball.find(id_p),1) = u(j id_p)

三  完整代码(详见附件)

下面的内容为付费内容,购买后解锁。

内容简介:算例代码

通用试验PFC
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2022-03-14
最近编辑:2年前
路上时光
硕士 路上时光
获赞 3粉丝 6文章 1课程 0
点赞
收藏
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习 福利任务 兑换礼品
下载APP
联系我们
帮助与反馈