2022年亚太杯APMCM数学建模大赛D题储能系统中传热翅片的结构优化求解全过程文档及程序

本文主要是介绍2022年亚太杯APMCM数学建模大赛D题储能系统中传热翅片的结构优化求解全过程文档及程序,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

2022年亚太杯APMCM数学建模大赛

D题 储能系统中传热翅片的结构优化

原题再现

  高效储能技术是解决可再生能源和余热资源波动性和间歇性的核心技术。相变蓄热以其较高的储能密度和近恒温蓄热放热而得到广泛应用。固-液相变材料具有相变前后相变潜热高、体积变化小等特点,易于储存和封装。然而,由于其导热系数普遍较低,导致蓄热和放热过程较长,成为制约其广泛应用的关键因素。为了提高蓄热系统的快速传热能力,需要对系统的结构设计和参数进行优化研究。目前,添加翅片作为一种简单、经济、有效的强化固液相变换热过程的手段得到了广泛的应用。
在这里插入图片描述
  某公司需要对相变蓄热系统中水箱内的传热翅片结构进行设计,以进一步提高蓄热产品的传热性能。蓄热系统的核心部件是管壳式蓄热罐,如图1所示。横截面如图2所示。圆环需要填充蓄热式PCM和翅片结构。当相变材料吸热时,高温工质在内管内循环,储存和利用其余热。当相变材料释放热量时,低温工作流体在内管中循环,吸收和再利用相变材料中储存的热量。
在这里插入图片描述
  公司拟开发小型相变蓄热罐,罐内径0.02 m,罐外径0.05 m,翅片导热系数214 W/(m K),相变材料密度780 kg/m3,相变材料导热系数0.15 W/(m K),相变温度333 K,管外绝热,并且内部充满温度为373 K的工作流体。现在需要您的团队回答以下问题,以提高蓄热系统的传热速率。

  问题1:假设采用图3所示的矩形翅片均匀分布蓄热水箱的横截面。矩形翅片的长度为0.018 m,宽度为0.006 m,翅片之间的间隔角为θ。固态PCM通过吸收管中工作流体的热能来加热。请模拟蓄热罐中的传热过程,优化间隔角θ,并说明在此情况下,PCS平均温度从室温(293 K)上升到相变温度所需的时间。
在这里插入图片描述
  问题2:翅片的形状和几何尺寸对蓄热器的传热速率有很大影响。以图4为例,对三角形翅片的尺寸和分布进行优化,研究其尺寸对相变材料升温速率的影响,并与问题1中矩形翅片结构的传热效果进行对比分析。
在这里插入图片描述
  问题3:进一步优化翅片形状、参数和空间分布的设计,以实现相变材料的最佳传热能力。

  问题4:请写信给公司,建议蓄热水箱的翅片设计。

整体求解过程概述(摘要)

公式部分由于md5码上传耗时,因此以特殊字符代替

  在蓄热器中引入翅片是克服相变材料导热系数低,提高蓄热效率的有效途径传输效率。采用拓扑优化和分形优化相结合的方法,对翅片的结构和分布进行了优化。

  针对问题1,建立了计算流体力学(CFD)的二维有限元模型(FEM)来研究换热过程。用焓-孔隙率法描述相变材料的相变。相变开始于矩形翅片周围,随后延伸至油箱外壁,导致PCM从固相变为液相。考虑到相变材料温度从293K上升到333K,初始相变时间(�1)在� 72°、60°、45°、36°、30°和24°的相变时间分别为47.6min、39.2min、31.4min、25.2min、20.7min、17.2min(�2)分别为158.5min、142.9min、123.4min、106.2min、92.4min、81.9min。这个�1、采用液相分数(fm)和强化比(ER)作为热行为评价指标。最优� 最小为24°�17.2min和最大值中的1个�� 12.3%。

  对于问题2�, 翅片长度(�), 和宽度(�) 系统地研究了三角形翅片的性能。结果表明:� =与对照组相比,24°提高了63.83%、56.34%、46.73%、46.73%和31.71%的升温速率�=72°、60°、45°、36°、30°。� =0.024m比0.024m分别提高42.17%、70.04%和79.52%� =0.006m、0.012m和0.018m。� =0.01m升温速率比对照分别提高7.60%、22.55%、35.91%�=0.008m、0.006m、0.004m。fin参数的优先级顺序为� > � > �. 矩形翅片的加热效率�=72°、45°、30°和24°比三角形风机分别提高11.95%、14.99%、15.43%和15.62%。

  针对问题3,提出了两种优化模型:拓扑优化模型和分形优化模型。对于拓扑优化,采用变密度法进行图像重建,获得最高平均温度。对于分形优化,最佳父子对象根据Murray定律和生长率生成分形树。结果表明,与矩形翅片和三角形翅片相比,拓扑优化分别提高了18.84%和28.17%,分形优化分别提高了14.01%和24.25%。

  对于问题4,向fin公司写了一封推荐信,提出了优化设计的建议。

模型假设:

  1) PCM的物理性质是均匀的、各向同性的、与温度无关的(液态密度除外)。

  2) 相变材料的相变过程被认为是层流的、不稳定的、不可压缩的。

  3) 液体相变材料的自然对流符合Boussinesq假设。

  4) 假定液体分数随温度线性变化。

  5) 模拟过程中忽略了粘性耗散的影响。

  6) 忽略对环境的热损失。

问题重述:

  问题背景
  双壁相变储能罐是一种常用的储能材料。热传输液体流入油箱并将能量损失给PCM。PCM通过从固体到液体的相变吸收热量,并从液体到固体释放热量。翅片嵌入油箱壁之间的PCM中,以加速传热过程。使用翅片可缩短熔化时间,显著提高储能率。为了促进传热过程,需要优化翅片分布。
  问题重述
  问题1:给出了矩形翅片均匀分布的横截面。提出了模拟储罐内传热过程的模型。研究影响计算了相变材料在293K~333K温度范围内的传热时间。
  问题2:基于三角形翅片的新截面,研究翅片尺寸对传热的影响。将结果与矩形翅片。
  问题3:提出一个数学模型,以获得最佳的鳍分布。
  问题4:写一封推荐信给当时的fin公司,以获得最佳的fin设计。

模型的建立与求解整体论文缩略图

在这里插入图片描述
在这里插入图片描述

全部论文及程序请见下方“ 只会建模 QQ名片” 点击QQ名片即可

程序代码:

部分程序如下:
import numpy
# sigmoid function:scipy.special.expit
import scipy.special
import matplotlib.pyplot
# %matplotlib inlineclass neuralNetwork:# initialise the neural networkdef __init__(self, inputnodes, hiddennodes, outputnodes, learningrate):# set nodes and learningrateself.inodes = inputnodesself.hnodes = hiddennodesself.onodes = outputnodesself.lr = learningrate# set weight,include weight_input_hidden,weight_hidden_output (random)self.wih = numpy.random.normal(0.0, pow(self.hnodes, -0.5), (self.hnodes, self.inodes))self.who = numpy.random.normal(0.0, pow(self.onodes, -0.5), (self.onodes, self.hnodes))# sigmoid functionself.activation_function = lambda x: scipy.special.expit(x)passdef train(self, inputs_list, targets_list):# convert inputs list to 2d arrayinputs = numpy.array(inputs_list, ndmin=2).Ttargets = numpy.array(targets_list, ndmin=2).T# calculate signals into hidden layerhidden_inputs = numpy.dot(self.wih, inputs)hidden_outputs = self.activation_function(hidden_inputs)# calculate signals into output layerfinal_inputs = numpy.dot(self.who, hidden_outputs)final_outputs = self.activation_function(final_inputs)output_errors = targets - final_outputs# hidden_errors = who.T * output_errorshidden_errors = numpy.dot(self.who.T, output_errors)# update the weights for the links between the hidden and output layersself.who += self.lr * numpy.dot((output_errors * final_outputs * (1.0 - final_outputs)),numpy.transpose(hidden_outputs))# updata the weights for the links between the input and hidden layersself.wih += self.lr * numpy.dot((hidden_errors * hidden_outputs * (1.0 - hidden_outputs)),numpy.transpose(inputs))passdef query(self, inputs_list):inputs = numpy.array(inputs_list, ndmin=2).Thidden_inputs = numpy.dot(self.wih, inputs)hidden_outputs = self.activation_function(hidden_inputs)final_inputs = numpy.dot(self.who, hidden_outputs)final_outputs = self.activation_function(final_inputs)return final_outputs
全部论文及程序请见下方“ 只会建模 QQ名片” 点击QQ名片即可

这篇关于2022年亚太杯APMCM数学建模大赛D题储能系统中传热翅片的结构优化求解全过程文档及程序的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

MySQL深分页进行性能优化的常见方法

《MySQL深分页进行性能优化的常见方法》在Web应用中,分页查询是数据库操作中的常见需求,然而,在面对大型数据集时,深分页(deeppagination)却成为了性能优化的一个挑战,在本文中,我们将... 目录引言:深分页,真的只是“翻页慢”那么简单吗?一、背景介绍二、深分页的性能问题三、业务场景分析四、

Linux进程CPU绑定优化与实践过程

《Linux进程CPU绑定优化与实践过程》Linux支持进程绑定至特定CPU核心,通过sched_setaffinity系统调用和taskset工具实现,优化缓存效率与上下文切换,提升多核计算性能,适... 目录1. 多核处理器及并行计算概念1.1 多核处理器架构概述1.2 并行计算的含义及重要性1.3 并

golang程序打包成脚本部署到Linux系统方式

《golang程序打包成脚本部署到Linux系统方式》Golang程序通过本地编译(设置GOOS为linux生成无后缀二进制文件),上传至Linux服务器后赋权执行,使用nohup命令实现后台运行,完... 目录本地编译golang程序上传Golang二进制文件到linux服务器总结本地编译Golang程序

Linux系统性能检测命令详解

《Linux系统性能检测命令详解》本文介绍了Linux系统常用的监控命令(如top、vmstat、iostat、htop等)及其参数功能,涵盖进程状态、内存使用、磁盘I/O、系统负载等多维度资源监控,... 目录toppsuptimevmstatIOStatiotopslabtophtopdstatnmon

使用Docker构建Python Flask程序的详细教程

《使用Docker构建PythonFlask程序的详细教程》在当今的软件开发领域,容器化技术正变得越来越流行,而Docker无疑是其中的佼佼者,本文我们就来聊聊如何使用Docker构建一个简单的Py... 目录引言一、准备工作二、创建 Flask 应用程序三、创建 dockerfile四、构建 Docker

Java操作Word文档的全面指南

《Java操作Word文档的全面指南》在Java开发中,操作Word文档是常见的业务需求,广泛应用于合同生成、报表输出、通知发布、法律文书生成、病历模板填写等场景,本文将全面介绍Java操作Word文... 目录简介段落页头与页脚页码表格图片批注文本框目录图表简介Word编程最重要的类是org.apach

linux hostname设置全过程

《linuxhostname设置全过程》:本文主要介绍linuxhostname设置全过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录查询hostname设置步骤其它相关点hostid/etc/hostsEDChina编程A工具license破解注意事项总结以RHE

Visual Studio 2022 编译C++20代码的图文步骤

《VisualStudio2022编译C++20代码的图文步骤》在VisualStudio中启用C++20import功能,需设置语言标准为ISOC++20,开启扫描源查找模块依赖及实验性标... 默认创建Visual Studio桌面控制台项目代码包含C++20的import方法。右键项目的属性:

MyBatisPlus如何优化千万级数据的CRUD

《MyBatisPlus如何优化千万级数据的CRUD》最近负责的一个项目,数据库表量级破千万,每次执行CRUD都像走钢丝,稍有不慎就引起数据库报警,本文就结合这个项目的实战经验,聊聊MyBatisPl... 目录背景一、MyBATis Plus 简介二、千万级数据的挑战三、优化 CRUD 的关键策略1. 查

springboot整合TDengine全过程

《springboot整合TDengine全过程》:本文主要介绍springboot整合TDengine全过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录环境准备JDBC-JNI方式准备依赖实体类Mapper配置类测试类RESTful方式实体类配置类测试类总结