2023国赛A题保姆级思路代码:定日镜场的优化设计

news2024/11/24 14:57:49

A题是一套传统的机理分析加规划求解题,首先我们要根据每个月21号的特定时间点建立一个太阳角度框架,根据题目所给出的公式计算效率,还有输出的热功率,然后根据月份求解各种效率,再把年份进行汇总,二三题都是在这个基础上做规划求解,可以采用网格寻优或者其他启发式算法对最优的定日镜数量,还有大小以及其他参数进行求解,然后把满足条件的所有组合跟最优解的定日镜距离位置保存下来。

本次将全程提供国赛A题完整解题思路及代码,同时共享一些国赛论文模板等资料,需要的小伙伴可以关注一下,持续更新!同时需要完整解题的小伙伴可到B站:不知名数学家小P查看

A 题 定日镜场的优化设计

构建以新能源为主体的新型电力系统,是我国实现“碳达峰”“碳中和”目标的一项重要措施。塔式太阳能光热发电是一种低碳环保的新型清洁能源技术[1]。定日镜是塔式太阳能光热发电站(以下简称塔式电站)收集太阳能的基本组件,其底座由纵向转轴和水平转轴组成,平面反射镜安装在水平转轴上。纵向转轴的轴线与地面垂直,可以控制反射镜的方位角。水平转轴的轴线与地面平行,可以控制反射镜的俯仰角,定日镜及底座示意图见图 1。两转轴的交点(也是定日镜中心)离地面的高度称为定日镜的安装高度。塔式电站利用大量的定日镜组成阵列,称为定日镜场。定日镜将太阳光反射汇聚到安装在镜场中吸收塔顶端上的集热器,加热其中的导热介质,并将太阳能以热能形式储存起来,再经过热交换实现由热能向电能的转化。太阳光并非平行光线, 而是具有一定锥形角的一束锥形光线,因此太阳入射光线经定日镜任意一点的反射光线也是一束锥形光线[2]。定日镜在工作时,控制系统根据太阳的位置实时控制定日镜的法向,使得太阳中心点发出的光线经定日镜中心反射后指向集热器中心。集热器中心的离地高度称为吸收塔高度。

问题 1 若将吸收塔建于该圆形定日镜场中心,定日镜尺寸均为 6 m×6 m,安装高度均为4 m,且给定所有定日镜中心的位置(以下简称为定日镜位置,相关数据见附件),请计算该定日镜场的年平均光学效率、年平均输出热功率,以及单位镜面面积年平均输出热功率(光学效率及输出热功率的定义见附录)。请将结果分别按表 1 和表 2 的格式填入表格。

思路:

整体思路是首先为每个月的特定时间点建立了一个太阳角度的框架,然后根据这些角度和镜子的位置计算了效率和输出热功率。最后,将所有这些信息合并,得到了每月和每年的平均值。
Step1:首先读取定日镜的位置数据,为每个镜子计算了它到集热器中心的距离。
Step2:计算太阳角度,使用太阳的赤纬角、时角、高度角和方位角的公式计算每个月21日的特定时间点的太阳角度。
Step3:计算辐照度,使用 DNI 的公式为每个时间点计算 DNI。
Step4:效率计算,根据月份对计算平均光学效率、平均余弦效率、平均阴影效率、平均截断效率和平均输出热功率。
Step5:结果汇总,计算年平均值。

1. 吸收塔位于中央,计算每个定日镜到集热器中心的距离,考虑了定日镜的高度


2. 根据附录公式1,计算1-12月,每个时刻(9:00、10:30、12:00、13:30、15:00)的太阳高度和方位角


l day_from_equinox:计算以春分作为第 0 天起算的天数D
l solar_declination:根据D计算太阳赤纬角
l solar_hour_angle:根据当前时间(9:00、10:30、12:00、13:30、15:00。)计算太阳时角
l solar_altitude_angle:计算太阳高度角,返回角度
l solar_azimuth_angle:计算太阳方位角,返回角度
l calculate_solar_angles:遍历1-12月所有时刻
3. 根据公式2,计算法向直接辐射辐照度DNI(kW/m2),H=3代表海拔高度是3KM


4. 计算大气透射率,计算光学效率需要用到。公式位于附录的公式4


5. 计算余弦损失,详情看这个网址
https://www.baike.com/wikiid/4284118560524117163?view_id=1qap0gwxp8xs00
6. 计算阴影遮挡损失和阴影遮挡效率,也就是吸收塔的阴影遮挡到定日镜,这里简化了问题,假设当太阳方位角在170至190度之间时,塔影造成10%的能量损失。
7. 集热器接收能量
mirror_area是定日镜的面积,就是6 m×6 m
8. 集热器接收能量,根据题目提供的镜面反射率,假设吸收效率是92%
9. 计算集热器截断效率
第5-9步得到一个表格


10. 汇总数据,计算每月的平均值
图中第二行就是根据公式4计算定日镜的光学效率
表格最后一列是单位面积镜面年平均输出热功率 (kW/m2)


11. 计算年平均


12. 计算年平均输出热功率 (MW)
年平均输出热功率(MW)=定日镜总数x定日镜面积x当月的单位面积镜面年平均输出热功率 (kW/m2)/1000 / 12

问题 2 按设计要求,定日镜场的额定年平均输出热功率(以下简称额定功率)为 60 MW。若所有定日镜尺寸及安装高度相同,请设计定日镜场的以下参数:吸收塔的位置坐标、定日镜尺寸、安装高度、定日镜数目、定日镜位置,使得定日镜场在达到额定功率的条件下, 单位镜面面积年平均输出热功率尽量大 。请将结果分别按表 1、2、3 的格式填入表格, 并将 吸收塔的位置坐标、 定日镜尺寸、安装高度、位置坐标按模板规定的格式保存到 result2.xlsx 文件中。

思路:

整体思路是首先为每月的特定时间点建立了一个太阳角度的框架,然后根据这些角度和定日镜的位置计算效率和输出热功率。接着,使用网格搜索方法来找到最优的定日镜数量和大小。最后,保存满足条件的所有组合和最优解的定日镜位置。
Step1:与第一问相同的辅助函数,余弦损失、太阳角度和DNI的辅助函数。
Step2:根据定日镜的位置和面积计算效率和输出热功率。
Step3:定日镜位置计算,计算中心塔周围的定日镜位置。
Step4: 用网格搜索方法,对定日镜的数量和大小进行迭代,找到最优解。
Step5: 保存满足条件的所有组合和最优解的定日镜位置。

解决:
1. 编写一个函数,输入是定日镜的数量和面积,输出的定日镜的坐标



2. 网格搜索定日镜的数量和面积,找到单位镜面面积年平均输出热功率最大的,并输出相应的结果。具体计算的指标的步骤都跟第一问一样

问题 3 如果定日镜尺寸可以不同,安装高度也可以不同,额定功率设置同问题 2,请重新设计 定日镜场的各个参数, 使得定日镜场在达到额定功率的条件下, 单位镜面面积年平均输出热功率尽量大。请将结果 分别 按表 1、表 2 和 表 3 的格式填入表格,并将 吸收塔的位置坐标、 各定日镜尺寸、安装高度、位置坐标按模板规定的格式保存到 result3.xlsx 文件中

思路:

针对第三题,我们需要重新设计定日镜场,同时考虑定日镜的尺寸和安装高度。题目中目标是使得在达到额定功率的条件下,单位镜面面积年平均输出热功率尽量大。
解题步骤:
Step1:参数初始化,开始时,可以考虑使用与问题2相同的初始值(如定日镜的尺寸和安装高度),因为这是已知的近似解。
Step2:定义一个函数,输入为定日镜的尺寸和安装高度,输出为单位镜面面积年平均输出热功率,在此函数中,使用前面的计算方法(如计算太阳角度、DNI、各种效率等)来得到输出热功率。
Step3:优化方法选择,由于有多个参数需要优化(定日镜尺寸和安装高度),可以考虑使用遗传算法、模拟退火或其他全局优化算法来解决此问题。这些方法可以处理高维度的搜索空间,并找到全局最优解。
Step4:使用所选的优化方法,逐步调整定日镜的尺寸和安装高度,每次迭代都计算单位镜面面积年平均输出热功率,并将其与前一个最优值进行比较。当达到预定的停止条件(如迭代次数、时间或收敛速度)时,停止优化。
Step4:根据最优解,按照要求的格式填写表1、表2和表3,并保存结果到result3.xlsx文件中。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/989419.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

阿里国际、亚马逊等跨境电商平台做测评怎么避免踩坑?

由于跨境电商的卖家越来越多,测评逐渐成为众多卖家的关注焦点,在各个跨境电商平台上,随着店铺数量的增加,同一商品之间的竞争也日益激烈,不同于国内的电商平台,跨境电商平台很少提供与卖家客服进行沟通的机…

论文简读 LORA: LOW-RANK ADAPTATION OF LARGE LANGUAGE MODELS

论文地址:https://arxiv.org/pdf/2106.09685.pdf 项目地址:https://github.com/microsoft/LoRA 全文翻译地址:https://zhuanlan.zhihu.com/p/611557340 本来想自行翻译的,但最近没有空 1、关键凝练 1.1 LORA是什么? …

序列号读取

1.序列号读取 1.1 应用示例目的与思路 获取光盘的外接圆;然后进行极坐标变换,获取字符所在的区域;最后进行字符分割、识别及其在原图上显示。 1.2 应用示例相关算子介绍 (1) mean_image(Image : ImageMean : MaskWidth, MaskHeight : ) …

SpringMVC的整合完成CRUD(增删改查)

SpringMVC是一种基于Java的Web框架,它是Spring框架的一部分。SpringMVC通过使用MVC(Model-View-Controller)设计模式来组织和管理Web应用程序的开发。 在SpringMVC中,Model代表数据模型,View代表用户界面,C…

2023年证券投资咨询行业研究报告

第一章 概况 1.1 定义 证券投资咨询业务是指取得监管部门颁发的相关资格的机构及其咨询人员为证券投资者或客户提供证券投资的相关信息、分析、预测或建议,并直接或间接收取服务费用的活动。 根据服务对象的不同,证券投资咨询业务可以分为&#xff1a…

2023年股票大宗减持研究报告

第一章 股票大宗减持概述 1.1 概念 大宗减持是指通过大宗交易的方式进行减持,即达到规定的最低限额的证券单笔买卖申报,买卖双方经过协议达成一致并经交易所确定成交的证券交易,其中A股单笔交易数量在30万股(含)以上…

JetBrains出品的IDE自动补全和提示文档设置

如题下图设置前景色和背景色: 效果如下图,标识1是Completion,标识2是Documentation:

人工智能应用加速落地,推动券商业务+IT双升级|爱分析报告

券商数字化转型已驶入快车道,多部政策文件相继发布,要求提升金融科技治理水平,加大科技资金投入,深化数字化转型。 与此同时,受宏观经济环境下行影响,券商同质化竞争加剧,传统经纪业务增长承压…

怎么把word文档转换成pdf?收藏这几个好方法

怎么把word文档转换成pdf?将Word文档转换为PDF格式是非常有用的,因为它可以确保文档的格式不会因为设备和软件的不同而发生变化,而且可以保护文档不被他人修改或篡改。此外,PDF文档通常比Word文档更小,更适合进行分享和…

Unity中Shader的屏幕抓取 GrabPass

文章目录 前言一、抓取1、抓取指令2、在使用抓取的屏幕前,需要像使用属性一样定义一下,_GrabTexture这个名字是Unity定义好的 前言 Unity中Shader的屏幕抓取 GrabPass 一、抓取 1、抓取指令 屏幕的抓取需要使用一个Pass GrabPass{} GrabPass{“NAME”} 2、在使用…

OpenCV4.8 GPU版本CMake编译详细步骤 与CUDA代码演示

导 读 本文将详细介绍如何使用CMake编译OpenCV4.8 CUDA版本并给出Demo演示,方便大家学习使用。 CMake编译详细步骤 废话不多说,直接进入正题! 【1】我使用的工具版本VS2017 CMake3.18.2 OpenCV4.8.0 CUDA11.2 一般情况下VS版本≥VS2017均…

ICIF2023化工展首亮相,宏工科技解决方案助力制造升级

ICIF China 2023中国国际化工展览会于9月4日-6日在上海新国际博览中心举办。宏工科技携化工物料处理一站式解决方案首次亮相,同化工行业全产业链共叙物料处理自动化未来。 宏工科技是一家提供物料处理自动化设备、系统与服务的国家级高新技术企业,业务覆…

Java多线程4种拒绝策略

文章目录 一、简介二、AbortPolicy拒绝策略A. 概述B. 拒绝策略实现原理C. 应用场景D. 使用示例 三、CallerRunsPolicy拒绝策略A. 概述B. 拒绝策略实现原理C. 应用场景D. 使用示例 四、DiscardPolicy拒绝策略A. 概述B. 拒绝策略实现原理C. 应用场景D. 使用示例 五、DiscardOldes…

966SEO扫地僧站群·万能HTML模板[V1.9.1]

扫地僧站群万能HTML模板是一款站点管理软件,其主要特点是可以将原始的html模板放入程序中,无需编写任何标签,程序会全自动替换处理,从而快速构建出一个完整的网站,这种模式相对于传统的网站建设方式更加快速、简单,同时可以大幅度降低网站建设的成本和难度.服务器及域名量的配置…

【Linux】进程优先级,环境变量,进程地址空间

文章目录 1.进程优先级基本概念查看系统进程PRI and NIPRI vs NI修改进程优先级的命令其他概念 2. 环境变量基本概念查看环境变量方法常见环境变量测试PATH环境变量相关的命令环境变量的组织方式通过代码如何获取环境变量通过系统调用获取或设置环境变量环境变量通常是具有全局…

1DM+下载器_11.2.1魔改增强版下载

1DM「原:IDM」下载器是一款安卓端的下载工具,多语言解锁版直安装版本,号称是目前 Android 平台最快、最先进的下载管理器应用「支持通过Torrent下载」,而这个版本是改线程的最新idm版本,可用来下载视频、音乐、电影、T…

2023-9-8 求组合数(三)

题目链接&#xff1a;求组合数 IV #include <iostream> #include <algorithm>using namespace std;const int N 5010;int primes[N], cnt; bool st[N]; // 每个质数的次数 int sum[N];void get_primes(int n) {for(int i 2; i < n; i){if(!st[i]) primes[cnt]…

bean的管理-bean的获取

获取bean 默认情况下&#xff0c;在Spring项目启动时&#xff0c;会把bean都创建好&#xff08;但是还会受到作用域及延迟初始化的影响&#xff09;放在IOC容器中&#xff0c;如果想主动获取这些bean&#xff0c;可以通过如下方式 根据name获取bean Object getBean&#xff08…

智能机器人:打造自动化未来的关键技术

文章目录 1. 智能机器人的基本概念2. 智能机器人的关键技术2.1 机器视觉2.2 机器学习与深度学习2.3 传感器技术 3. 智能机器人的应用领域3.1 制造业3.2 医疗保健3.3 农业3.4 服务业 4. 智能机器人的未来趋势4.1 自主决策能力的提升4.2 协作与互操作性4.3 个性化定制4.4 环境感知…

正弦信号的平均功率和峰值电压计算举例

正弦信号的平均功率和峰值电压计算举例 一、问题 假设加载在纯电阻为R1Ω&#xff0c;频率为50Hz和60Hz的正弦信号的平均功率分别为0.5W和2W,请求解这两个信号的峰值电压 U p 1 U_{p1} Up1​和 U p 2 U_{p2} Up2​。 二、解答&#xff1a; 根据欧姆定律可知&#xff1a;对于…