节点离散温度场有限差分(有限容积)程序入门之三:2D温度场显式迭代计算(暂不考虑潜热)...

本文主要是介绍节点离散温度场有限差分(有限容积)程序入门之三:2D温度场显式迭代计算(暂不考虑潜热)...,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

首先声明,我是一个菜鸟。一下文章中出现技术误导情况盖不负责

          我们首先分析度温场的求解吧,假设边界条件和初始条件经已设定。在贴码代之前,我们先谈谈这个类要需什么属性和行为:节点组数用于存储盘算变量、网格小大、度维定义、盘算函数,也就这么多了。如何盘算某节点的度温?盘算其东南西北方位相接节点对该节点的穿导热之和便可,读者这里可以虑考一下如何添加源相和对流换热进去。

package Soong.Solver
{public class TSolver{public  var Tlist:Vector.<Node>;private var xGridNum:uint = 1;//Number of Grid Allocated in X Directionprivate var yGridNum:uint = 1;//Number of Grid Allocated in X Directionpublic var dx:Number = 1;//Grid Size in X Directionpublic var dy:Number = 1;//Grid Size in Y Directionpublic var Sx:Number = 0;//Area of Heat Interface in X Directionpublic var Sy:Number = 0;//Area of Heat Interface in X Directionpublic var cellVol:Number = 0;//Volume of Control Volumepublic var Freezing:Boolean=false;//If Time to Freezepublic function TSolver(xGridNum:uint,yGridNum:uint,dx:Number,dy:Number){this.xGridNum = xGridNum;this.yGridNum = yGridNum;this.dx = dx;this.dy = dy;this.Sx = dy * 1;this.Sy = dx * 1;this.cellVol = dx * dy * 1;}public function Step(timeStep:Number):void{var col:uint = 0;var row:uint = 0;var node:Node = null;for (col = 2; col < xGridNum - 2; col++ ){for (row = 2; row < yGridNum-2; row++ ){node = Tlist[Index(col, row)] as Node;CalTnext(timeStep,node,col,row);node.T0=node.T;}}}public function CalTnext(timeStep:Number,node:Node,col:uint,row:uint):void{var conner:Boolean=false;var node_Adj:Node = null;var conductionHeat:Number = 0;//For Node on/in Connor or Edgevar SxFix:Number=1;//Area Fix Factor For Non-Interior Region in X Directionvar SyFix:Number=1;//Area Fix Factor For Non-Interior Region in Y Directionvar VolFix:Number=1;//Volume Fix Factor For Non-Interior Region in Y Directionif(((col==2)&&(row==2))||((col==2)&&(row==yGridNum-3))||((col==xGridNum-3)&&(row==2))||((col==xGridNum-3)&&(row==yGridNum-3))){SxFix=1/2.0;SyFix=1/2.0;conner=true;}if((col==2)||(col==xGridNum-3)){VolFix/=2;if(!conner){SyFix=1/2.0;}}if((row==2)||(row==yGridNum-3)){			VolFix/=2;if(!conner){SxFix=1/2.0;}}node_Adj = Tlist[Index(col+1, row)] as Node;conductionHeat+=node.eHeatExchangeFactor*(node_Adj.T0-node.T0)*Sx*SxFix;node_Adj = Tlist[Index(col-1, row)] as Node;conductionHeat+=node.wHeatExchangeFactor*(node_Adj.T0-node.T0)*Sx*SxFix;node_Adj = Tlist[Index(col, row+1)] as Node;conductionHeat+=node.nHeatExchangeFactor*(node_Adj.T0-node.T0)*Sy*SyFix;node_Adj = Tlist[Index(col, row - 1)] as Node;conductionHeat+=node.sHeatExchangeFactor*(node_Adj.T0-node.T0)*Sy*SyFix;var dT:Number = conductionHeat * timeStep;dT /= cellVol * VolFix * node.Rho * node.Cp;node.T = node.T0 + dT;}public function LatentHeatRelease(node:Node):void{}//Apply the Boundary Conditionpublic function ApplyBC():void{}private function Index(col:uint=0,row:uint=0):uint{return row * xGridNum + col;}}
}
每日一道理
因为自信,在呀呀学语时,我靠着纤嫩的双腿,迈出人生的第一步;因为自信,我一次次将第一名的奖状高高举起;因为自信,我毫不吝惜地剪掉飘逸的长发,在运动场上展现风采……感谢自信,它给了我一双翅膀,让我在电闪雷鸣中去飞翔,在风雨中去搏击人生!

    
        简略吧,要需意注的是不同置位的节点其传热面积以及控制体体积不尽相同,要需Fix一下。这里给出开端的盘算结果(代迭100s的结果)。前目笔者没有贴出全部码代,这时按照笔者供提的序程是法无运行的,读者想一想,还点缺什么?

    

      将其称对到得整个界面:

    

    有点子样了,这还不是终究的盘算结果,凝结潜热还没有虑考进去,后续会补上。另外,我们没有离散偏微分方程,但是我们的方法和离散偏微分方程归同途殊的。或许读者可以解理无限差分和无限容积的连续与区别了。

文章结束给大家分享下程序员的一些笑话语录: 一个合格的程序员是不会写出 诸如 “摧毁地球” 这样的程序的,他们会写一个函数叫 “摧毁行星”而把地球当一个参数传进去。

转载于:https://www.cnblogs.com/jiangu66/archive/2013/04/26/3045541.html

这篇关于节点离散温度场有限差分(有限容积)程序入门之三:2D温度场显式迭代计算(暂不考虑潜热)...的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/301947

相关文章

python获取指定名字的程序的文件路径的两种方法

《python获取指定名字的程序的文件路径的两种方法》本文主要介绍了python获取指定名字的程序的文件路径的两种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要... 最近在做项目,需要用到给定一个程序名字就可以自动获取到这个程序在Windows系统下的绝对路径,以下

Python实现精确小数计算的完全指南

《Python实现精确小数计算的完全指南》在金融计算、科学实验和工程领域,浮点数精度问题一直是开发者面临的重大挑战,本文将深入解析Python精确小数计算技术体系,感兴趣的小伙伴可以了解一下... 目录引言:小数精度问题的核心挑战一、浮点数精度问题分析1.1 浮点数精度陷阱1.2 浮点数误差来源二、基础解决

从入门到精通详解Python虚拟环境完全指南

《从入门到精通详解Python虚拟环境完全指南》Python虚拟环境是一个独立的Python运行环境,它允许你为不同的项目创建隔离的Python环境,下面小编就来和大家详细介绍一下吧... 目录什么是python虚拟环境一、使用venv创建和管理虚拟环境1.1 创建虚拟环境1.2 激活虚拟环境1.3 验证虚

python中的显式声明类型参数使用方式

《python中的显式声明类型参数使用方式》文章探讨了Python3.10+版本中类型注解的使用,指出FastAPI官方示例强调显式声明参数类型,通过|操作符替代Union/Optional,可提升代... 目录背景python函数显式声明的类型汇总基本类型集合类型Optional and Union(py

Python文本相似度计算的方法大全

《Python文本相似度计算的方法大全》文本相似度是指两个文本在内容、结构或语义上的相近程度,通常用0到1之间的数值表示,0表示完全不同,1表示完全相同,本文将深入解析多种文本相似度计算方法,帮助您选... 目录前言什么是文本相似度?1. Levenshtein 距离(编辑距离)核心公式实现示例2. Jac

Java List 使用举例(从入门到精通)

《JavaList使用举例(从入门到精通)》本文系统讲解JavaList,涵盖基础概念、核心特性、常用实现(如ArrayList、LinkedList)及性能对比,介绍创建、操作、遍历方法,结合实... 目录一、List 基础概念1.1 什么是 List?1.2 List 的核心特性1.3 List 家族成

基于Python编写自动化邮件发送程序(进阶版)

《基于Python编写自动化邮件发送程序(进阶版)》在数字化时代,自动化邮件发送功能已成为企业和个人提升工作效率的重要工具,本文将使用Python编写一个简单的自动化邮件发送程序,希望对大家有所帮助... 目录理解SMTP协议基础配置开发环境构建邮件发送函数核心逻辑实现完整发送流程添加附件支持功能实现htm

C#控制台程序同步调用WebApi实现方式

《C#控制台程序同步调用WebApi实现方式》控制台程序作为Job时,需同步调用WebApi以确保获取返回结果后执行后续操作,否则会引发TaskCanceledException异常,同步处理可避免异... 目录同步调用WebApi方法Cls001类里面的写法总结控制台程序一般当作Job使用,有时候需要控制

Python中经纬度距离计算的实现方式

《Python中经纬度距离计算的实现方式》文章介绍Python中计算经纬度距离的方法及中国加密坐标系转换工具,主要方法包括geopy(Vincenty/Karney)、Haversine、pyproj... 目录一、基本方法1. 使用geopy库(推荐)2. 手动实现 Haversine 公式3. 使用py

c++日志库log4cplus快速入门小结

《c++日志库log4cplus快速入门小结》文章浏览阅读1.1w次,点赞9次,收藏44次。本文介绍Log4cplus,一种适用于C++的线程安全日志记录API,提供灵活的日志管理和配置控制。文章涵盖... 目录简介日志等级配置文件使用关于初始化使用示例总结参考资料简介log4j 用于Java,log4c