当前位置: 首页 > news >正文

如何寻找数值仿真参数最优解?CFD参数优化详解3来袭

本期文章将通过2个简单案例演示参数优化的操作步骤,一起来看看吧!

流程自动化

实现 CFD 参数优化,首先要创建流程自动化。用户可采用SimLab的Python宏命令,录制建模流程。或在HyperWorks CFD模块的Template Manager创建Tcl/Tk命令流。这两种方法都可以在后台调用AcuSolve求解器,自动划分网格,提交计算任务和获取响应值。

Automation → Scripting → Record/Play录制或回放Python脚本。

SimLab 的 DOE 工具用于多工况(例如不同的流量,阀门开度等)的一键提交计算。

HyperWorks CFD的流程自动化。用户在Template Manager中定义一系列动作,例如划分网格,定义边界,材料定义等,而无需手动编辑Tck/Tk脚本。

图片

Template Manager脚本回放

案例一:管路水温优化

管路分别有一个大直径的冷水入口,和一个小直径的热水入口。管路出口的温度受2个入口流速和温度的影响。

演示 HyperStudy 优化CFD模型:

  • DOE研究4个输入参数,流速V_cold,V_hot,温度T_hot,T_cold的敏感性和相关性

  • 拟合出口温度的响应面

  • 寻优入口流速和温度的参数组合,满足目标出口温度。

图片

参数化AcuSolve的*inp求解文件,将 inlet 的参数作为设计变量:

图片

定义设计参数的范围,数据类型(整数、小数,字符):

图片

驱动CFD模型在后台完成计算:

图片

提取响应:outlet的平均温度

Setup Definition完成表明参数化模型创建成功,就可以进入下一步DOE,拟合响应面或优化的步骤。

图片

DOE的Full Factorial会将每种参数组合计算一次,对于本例,总共有5^4=625个工况。选Fractional Factorial(Resolution III)计算代价最小,对于本例,只需要计算25个工况。但是这会混杂主效应与输入参数之间的相互作用,如果相互作用显著,预测可能不准确。如选Resolution V,代价只有Full Factorial的1/4,且主效应和相互作用没有混杂。

图片

Pareto Plot显示出口温度的主要影响参数:T_hot最大,且是正影响(阴影线条是”///”)。V_cold影响最小,且是负影响(阴影线条是”\\\”) 。

图片

Linear Effects显示有3个输入参数都是正效应,T_hot影响最大(正斜率最大)。

说明:增大T_hot,对提高出口水温效果最好,增大T_cold效果次之,增大V_hot再次之,增大V_cold在一定范围内影响不大。

图片

Interactions显示T_cold和T_hot对出口温度的影响相对独立。(越接近平行线表明相关性越小)。

图片

Interactions显示T_cold和V_cold对出口温度的影响是相关的(2条线越偏离平行,相关性越强)。对于这个简单模型,这是显而易见的:当V_cold高的时候,T_cold稍微变动就会显著影响出口温度。

图片

响应面拟合:将上一步DOE的Fractional Factorial结果作为响应面的输入, DOE的Hammersley方法作为验证。默认的拟合选项FAST会从LSR/MLSM/RBF中自动找出一个最佳的算法。R-Square是确定性系数,>0.92表示拟合质量较好。

图片

Trade-off可以进行预测分析,用鼠标滑块调整输出参数,进行what-if分析。

图片

用Report工具将响应面输出成多种格式,包括*fmu,*htm等。如输出*xls格式,则可以在excel中进行what-if分析而无须打开HyperStudy。

图片

GRSM全局响应面优化算法找出最接近目标值的参数组合:

图片

图片

案例二:散热片优化

HyperStudy 驱动NX参数对散热片模型进行参数研究, 分析最高温度和风道压差的变化。 

  • 2个输入参数:散热片的翅片数和厚度。2个输出参数:散热片最高温度和风道压力损失 

  • 优化目标:散热片温度最低,同时满足风道的压力损失约束条件 

  • 散热片原设计:24个翅片,厚度1mm。入口边界:300K,  7m/s。发热功率密度:5 W。

图片

风冷散热片模型

在SimLab中启动宏录制功能,导入NX散热片模型。(首次运行,需要双击SimLab安装目录下的configure.exe文件配置CAD环境变量)

图片

在SimLab的参数管理器中修改NX尺寸参数, 划分网格,设置边界条件、材料属性、求解器参数等,提交CFD计算,保存脚本*py文件

图片

图片

图片

散热片表面温度

切面风速

HyperStudy 参数化SimLab的*py文件,定义散热片的厚度和个数为设计变量:

图片

定义风道压差和散热片最高温度为响应参数:

图片

Setup Definition完成表明参数化模型创建成功,下一步选择拉丁超立方DOE:

图片

Multi-Execution设置同时执行多个计算任务。比如CPU有32线程,可以设置为4Jobs,每个Job用8线程:

图片

Pareto Plots显示散热片温度影响因素:翅片厚度影响大于翅片个数,

翅片厚度和个数对温度都是负影响(阴影线条是”\\\”)。

图片

Pareto Plots显示风道压力损失影响因素:翅片厚度影响大于个数,

翅片厚度和个数对温度都是正影响。(阴影线条是”///”)

图片

Interactions显示:当翅片较厚的时候,翅片越多,风压损失越大(斜率大)。当翅片较薄的时候,翅片个数对风压影响不显著(斜率小)

图片

Interactions显示:无论翅片薄厚, 翅片个数越多,温度越低(两条线几乎平行,且是负斜率)

图片

定义优化目标:散热片温度最低,同时满足风道的压力损失约束条件。采用GRSM全局响应面法寻优50次,找到最优解

图片

优化结论:散热片25个翅片,厚度3mm,  温度最低,但是风压损失超过约束值。因此最终方案是16个翅片,厚度2.8mm。

图片


 Altair 技术大会(2024 ATC)重磅来袭,将于今年9月分别在杭州和深圳举办,大会以“The Science of Possibility”为主题,邀请国内外知名企业高管和行业专家共聚一堂,探讨企业如何利用仿真革新技术助力工业制造业研发和智能制造领域焕发新生命力。

详细信息请点击:

2024 Altair技术大会 深圳站——9月10日

2024 Altair技术大会 杭州站——9月12日

诚挚邀请您参加本次大会(活动免费,名单需审核),共同探索“The Science of Possibility”!

相关文章:

如何寻找数值仿真参数最优解?CFD参数优化详解3来袭

本期文章将通过2个简单案例演示参数优化的操作步骤,一起来看看吧! 流程自动化 实现 CFD 参数优化,首先要创建流程自动化。用户可采用SimLab的Python宏命令,录制建模流程。或在HyperWorks CFD模块的Template Manager创建Tcl/Tk命令…...

虚拟机macos中构建llvm、clang并配置Xcode

安装虚拟机macos,并安装brew: 安装vmware:https://www.bilibili.com/video/BV1Wo4y1E7fc/安装最新版的macos:极限苹果-Mac论坛-提供Mac软件和macOS苹果系统镜像下载下载并安装brew:版本要低,我装的是4.3.5…...

Java 中的 @SneakyThrows 注解详解:简化异常处理的利与弊

在 Java 开发中,异常处理是一个不可避免的重要部分。我们经常需要处理各种检查型异常(checked exceptions),这有时会导致代码变得冗长且难以维护。为了简化异常处理,Lombok 提供了一个强大的注解——SneakyThrows。本文…...

系统编程 day11 进程(线程)3

fork函数的总结: 总结对进程学习之中的回收函数wait wait函数: 1.获取子进程的退出状态 2.回收资源------会让僵尸态的子进程销毁 注:1.wait函数本身是一个阻塞操作,会使调用者阻塞 2.父进程要获得子进程的退出状态 子进程&…...

[ Python 原理分析 ]如何实现用户实现博客文章点赞-物联网Python

目录 一、前言 二、Python爬虫 三、详细操作 3.1 建立基本工程 3.2 获取文章列表 3.2.1 找到获取文章请求 3.2.2 分析获取请求 3.2.3 构建获取请求 3.2.4 调试打印 3.3 实现点赞操作 3.3.1 判断点赞状态 3.3.2 找到点赞请求 3.2.3 分析点赞请求 3.2.4 构建点赞请…...

【47 Pandas+Pyecharts | 杭州二手房数据分析可视化】

文章目录 🏳️‍🌈 1. 导入模块🏳️‍🌈 2. Pandas数据处理2.1 读取数据2.2 过滤数据2.3 行政区处理2.4 地址处理2.5 房屋信息处理2.6 面积处理2.7 楼层处理2.8 年份处理2.9 房价处理2.10 删除不用的列2.11 数据类型转换2.12 查看…...

C++入门基础知识13

C 的关键字(接上一篇博文)!! 10. const_cast用法: 该运算符用来修改类型的 const 或 volatile 属性。除了 const 或 volatile 修饰之外, type_id 和 expression 的类型是一样的。常量指针被转化成非常量指针…...

IP地址证如何实现HTTPS访问?(内网IP、公网IP)

IP地址证书(全称为IP地址的SSL/TLS证书)是实现通过IP地址进行HTTPS访问的关键。以下是实现这一目标的详细步骤: 一、选择证书颁发机构(CA) 1.选择支持IP证书的CA:并非所有证书颁发机构都提供为IP地址颁…...

东土科技车规级网络芯片获批量应用

东土科技孵化的我国第一颗国产汽车芯片名录的车规级TSN交换网络芯片,于近期获得国家新能源汽车技术创新中心10万片芯片订单,将规模化应用于车载网关,赋能新一代自主可控汽车网络通信架构。 车规级TSN交换网络芯片于2021年流片成功&#xff0…...

nvidia系列教程-AGX-Orin pcie扩展M.2磁盘调试笔记

目录 前言 一、AGX-Orin pcie接口介绍 二、原理图连接 三、SDK配置 四、M.2磁盘调试 总结 前言 NVIDIA Jetson AGX Orin 是一款强大的嵌入式平台,广泛应用于 AI 推理、机器人和自动驾驶等领域。在扩展存储方面,PCIe 接口的 M.2 SSD 是一个常见的选择。本篇博客将记录如何…...

haproxy七层代理知识点以及各种配置

1.为什么用haproxy 当后端主机有一个出现问题了的时候,我们需要访问的流量全部打到正常工作的后端主机,所以我们需要后端检测,lvs没有后端检测,所以就需要用到haproxy 2.负载均衡 2.1 什么是负载均衡 负载均衡,Loa…...

uniapp自定义浮动图标、列表布局

uniapp自定义浮动图标 <button class="fab" @click="goPage"><image src="../../../static/yiyuan.png" mode="" style="width: 60rpx;height:60rpx;"></image></button>.fab {z-index: 100;positi…...

学习嵌入式入门(十)高级定时器简介及实验(下)

一、高级定时器互补输出带死区控制实验 上图中&#xff0c;CH1 输出黄色的 PWM&#xff0c;它的互补通道 CH1N 输出绿色的 PWM。通过对比&#xff0c;可以 知道这两个 PWM 刚好是反过来的&#xff0c;CH1 的 PWM 为高电平期间&#xff0c;CH1N 的 PWM 则是低电平&#xff0c; 反…...

使用python在不改变原有excel的格式下,修改指定单元格格式

需求 有一个账单&#xff0c;需要生成一个副本&#xff0c;但是需要将交易员列隐藏&#xff0c;不能改变原有的格式 xlsx的文件容易实现&#xff0c;使用openpyxl实现 xls的文件使用xlrdxlutil实现 参考了https://segmentfault.com/q/1010000008270267 class GenCopyReport(o…...

MySQL数据库:详细安装与配置指南

目录 背景: 一.下载过程(MySQL数据库): 二.安装过程(MySQL数据库)&#xff1a; 三.验证MySQL是否安装成功 背景: MySQL 是一个流行的开源关系数据库管理(RDBMS)&#xff0c;由瑞典MySQL AB公司开发&#xff0c;后俩该公司被Sun Microsystems收购&#xff0c;Sun Microsyste…...

python爬虫代理IP实战

Python爬虫代理IP实战指南 在进行网络爬虫时&#xff0c;使用代理IP可以有效隐藏真实IP地址&#xff0c;避免被目标网站封禁。本文将通过实际示例&#xff0c;展示如何在Python中使用代理IP进行网络爬虫。 1. 环境准备 首先&#xff0c;确保您已安装Python和所需的库。在本示…...

样式,常用组件

3、代码实现登录的思路 设置属性的成员方法都有统一的命名规范&#xff1a; set&#xff08;&#xff09;//就是某种属性的名字 父窗口&#xff1a;组件嵌套到那个主窗口中&#xff0c;这个主窗口就是父窗口 第一步&#xff1a;创建一个标签对象用来显示登录界面的标题 QLabe…...

Django Project | 云笔记练习项目

文章目录 功能整体架构流程搭建平台环境子功能先创建用户表 并同步到数据库1.用户注册密码存储 -- 哈希算法唯一索引引发的重复问题 try登陆状态保持 -- 详细看用户登录状态 2. 用户登录会话状态时间 cookie用户登录状态校验 3. 网站首页4.退出登录5.笔记模块 列表页添加笔记 …...

Zookeeper的监听机制

Zookeeper的监听机制是Zookeeper框架中一个至关重要的功能&#xff0c;它实现了分布式系统中数据状态变化的实时通知&#xff0c;使得客户端能够及时响应并处理这些变化。下面将详细解析Zookeeper的监听机制及其原理&#xff0c;包括监听器的注册、事件通知的处理、监听器的特点…...

Swift withAnimation 动画完成监听

在ios17中withAnimation有completion方法可以监听动画完成&#xff0c;但是低于ios17没有&#xff0c;需要自定义一个监听器&#xff0c;原理就是通过AnimatableModifier可以监听到值的didSet修改&#xff0c;我们就可以调用回调函数。 代码 // 动画完成监听 struct Animatabl…...

如何将联系人从 iPhone 转移到 Android

从 iPhone 换到 Android 手机时&#xff0c;你可能需要保留重要的数据&#xff0c;例如通讯录。好在&#xff0c;将通讯录从 iPhone 转移到 Android 手机非常简单&#xff0c;你可以从本文中学习 6 种可靠的方法&#xff0c;确保随时保持连接&#xff0c;不错过任何信息。 第 1…...

微信小程序云开发平台MySQL的连接方式

注&#xff1a;微信小程序云开发平台指的是腾讯云开发 先给结论&#xff1a;微信小程序云开发平台的MySQL&#xff0c;无法通过获取数据库连接信息的方式进行连接&#xff0c;连接只能通过云开发的SDK连接&#xff0c;具体要参考官方文档&#xff1a; 为什么&#xff1f; 因为…...

Unity | AmplifyShaderEditor插件基础(第七集:平面波动shader)

目录 一、&#x1f44b;&#x1f3fb;前言 二、&#x1f608;sinx波动的基本原理 三、&#x1f608;波动起来 1.sinx节点介绍 2.vertexPosition 3.集成Vector3 a.节点Append b.连起来 4.波动起来 a.波动的原理 b.时间节点 c.sinx的处理 四、&#x1f30a;波动优化…...

python执行测试用例,allure报乱码且未成功生成报告

allure执行测试用例时显示乱码&#xff1a;‘allure’ &#xfffd;&#xfffd;&#xfffd;&#xfffd;&#xfffd;ڲ&#xfffd;&#xfffd;&#xfffd;&#xfffd;ⲿ&#xfffd;&#xfffd;&#xfffd;Ҳ&#xfffd;&#xfffd;&#xfffd;ǿ&#xfffd;&am…...

HashMap中的put方法执行流程(流程图)

1 put操作整体流程 HashMap 的 put 操作是其最核心的功能之一。在 JDK 1.8 及以后版本中&#xff0c;其主要逻辑封装在 putVal 这个内部方法中。整个过程大致如下&#xff1a; 初始判断与哈希计算&#xff1a; 首先&#xff0c;putVal 方法会检查当前的 table&#xff08;也就…...

安全突围:重塑内生安全体系:齐向东在2025年BCS大会的演讲

文章目录 前言第一部分&#xff1a;体系力量是突围之钥第一重困境是体系思想落地不畅。第二重困境是大小体系融合瓶颈。第三重困境是“小体系”运营梗阻。 第二部分&#xff1a;体系矛盾是突围之障一是数据孤岛的障碍。二是投入不足的障碍。三是新旧兼容难的障碍。 第三部分&am…...

区块链技术概述

区块链技术是一种去中心化、分布式账本技术&#xff0c;通过密码学、共识机制和智能合约等核心组件&#xff0c;实现数据不可篡改、透明可追溯的系统。 一、核心技术 1. 去中心化 特点&#xff1a;数据存储在网络中的多个节点&#xff08;计算机&#xff09;&#xff0c;而非…...

相关类相关的可视化图像总结

目录 一、散点图 二、气泡图 三、相关图 四、热力图 五、二维密度图 六、多模态二维密度图 七、雷达图 八、桑基图 九、总结 一、散点图 特点 通过点的位置展示两个连续变量之间的关系&#xff0c;可直观判断线性相关、非线性相关或无相关关系&#xff0c;点的分布密…...

【iOS】 Block再学习

iOS Block再学习 文章目录 iOS Block再学习前言Block的三种类型__ NSGlobalBlock____ NSMallocBlock____ NSStackBlock__小结 Block底层分析Block的结构捕获自由变量捕获全局(静态)变量捕获静态变量__block修饰符forwarding指针 Block的copy时机block作为函数返回值将block赋给…...

归并排序:分治思想的高效排序

目录 基本原理 流程图解 实现方法 递归实现 非递归实现 演示过程 时间复杂度 基本原理 归并排序(Merge Sort)是一种基于分治思想的排序算法&#xff0c;由约翰冯诺伊曼在1945年提出。其核心思想包括&#xff1a; 分割(Divide)&#xff1a;将待排序数组递归地分成两个子…...