PyFluent入门之旅(4)算例求解

在网格划分完成或已有网格的情况下,可以进行算例的求解。

1. 切换/打开求解器

一般启动求解器前有两种情况:

  • 已启动FluentMeshing并生成了网格,需要在不退出FluentMeshing的情况下直接切换至Fluent求解器。
  • 已经有现成的网格文件,只需要启动Fluent求解器线程并直接读取。

针对需要直接切换的情况,在“PyFluent入门之旅(3)网格划分”的代码基础上继续编写即可,使用下述代码直接切换至求解器,并默认读取之前生成的网格

solver = meshing.switch_to_solver()

对于需要重新编写代码直接启动求解器并读取现有网格的情况。需要重新导入pyfluent库,启动求解器并使用tui读取网格文件。

import ansys.fluent.core as pyfluent
solver = pyfluent.launch_fluent(precision="double", processor_count=4, mode="solver")
solver.tui.file.read_case(case_file_name = 'mixing_elbow.msh.h5')

读取网格后可以顺便检查一下网格参数,其结果会直接输出至python界面

solver.tui.mesh.check()

在这里插入图片描述

2. 基本求解设置

进行求解前需要进行一些必要的设置。

首先是单位的修改,可以根据自身需求决定是否修改。例如将长度单位修改为‘in’

solver.tui.define.units("length", "in")

接着根据问题需要开启所需功能,例如该案例需要开启能量方程

solver.tui.define.models.energy("yes", ", ", ", ", ", ", ", ")

创建材料功能也十分常用,该案例我们需要创建液态水

solver.tui.define.materials.copy("fluid", "water-liquid")

将流体域材料改为液态水

solver.tui.define.boundary_conditions.fluid("elbow-fluid","yes","water-liquid","no","no","no","no","0","no","0","no","0","no","0","no","0","no","1","no","no","no","no","no",
)

修改完成后会输出以下结果

在这里插入图片描述

边界条件设置。

solver.tui.define.boundary_conditions.set.velocity_inlet("cold-inlet", [], "vmag", "no", 0.4, "quit"
)
solver.tui.define.boundary_conditions.set.velocity_inlet("cold-inlet", [], "ke-spec", "no", "no", "no", "yes", "quit"
)
solver.tui.define.boundary_conditions.set.velocity_inlet("cold-inlet", [], "turb-intensity", 5, "quit"
)
solver.tui.define.boundary_conditions.set.velocity_inlet("cold-inlet", [], "turb-hydraulic-diam", 4, "quit"
)
solver.tui.define.boundary_conditions.set.velocity_inlet("cold-inlet", [], "temperature", "no", 293.15, "quit"
)# hot inlet (hot-inlet), Setting: Value:
# Velocity Specification Method: Magnitude, Normal to Boundarysolver.tui.define.boundary_conditions.set.velocity_inlet("hot-inlet", [], "vmag", "no", 1.2, "quit"
)
solver.tui.define.boundary_conditions.set.velocity_inlet("hot-inlet", [], "ke-spec", "no", "no", "no", "yes", "quit"
)
solver.tui.define.boundary_conditions.set.velocity_inlet("hot-inlet", [], "turb-intensity", 5, "quit"
)
solver.tui.define.boundary_conditions.set.velocity_inlet("hot-inlet", [], "turb-hydraulic-diam", 1, "quit"
)
solver.tui.define.boundary_conditions.set.velocity_inlet("hot-inlet", [], "temperature", "no", 313.15, "quit"
)# pressure outlet (outlet), Setting: Value:
# Backflow Turbulent Intensity: 5 [%]
# Backflow Turbulent Viscosity Ratio: 4solver.tui.define.boundary_conditions.set.pressure_outlet("outlet", [], "turb-intensity", 5, "quit"
)
solver.tui.define.boundary_conditions.set.pressure_outlet("outlet", [], "turb-viscosity-ratio", 4, "quit"
)

可以设置是否在计算中启用残差图显示,这里选择显示

solver.tui.solve.monitors.residual.plot("yes")

为方便后处理获取数据可以在所需边界创建参数报告

solver.tui.solve.report_definitions.add("outlet-temp-avg","surface-massavg","field","temperature","surface-names","outlet","()","quit",
)

3. 进行求解

完成必要的设置后,我们可以进行求解了。

首先进行初始化,使用默认的混合初始化。

solver.tui.solve.initialize.hyb_initialization()

接着保存以下算例文件

solver.tui.file.write_case("mixing_elbow1.cas.h5")

先求解100步试试看

solver.tui.solve.iterate(100)

求解完成后保存数据文件,方便后续的查看。

solver.tui.file.write_data("mixing_elbow1.dat.h5")

可以看到计算至93步时已经收敛。

在这里插入图片描述

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

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

相关文章

检测到弱密码:并非所有密码套件均支持完全前向保密解决方案

问题 检测到弱密码:并非所有密码套件均支持完全前向保密(弱密码套件 - ROBOT 攻击:服务器支持易受攻击的密码套件) 背景介绍 HTTP 协议自身没有加密机制,但可以通过与 TLS (Transport Layer Security) / SSL (Secur…

【AI资讯】快手 可灵web端上线

可灵 AI – 新一代 AI 创意生产力平台 快手 可灵web端上线了,目前登录即可用,感兴趣可以试试。

90元搭建渗透/攻防利器盒子!【硬件篇】

前言 以下内容请自行思考后进行实践。 使用场景 在某些情况下开软件进行IP代理很麻烦,并不能实现真正全局,而且还老容易忘记,那么为了在实景工作中,防止蓝队猴子封IP,此文正现。 正文 先说一下实验效果&#xff1…

53-1 内网代理3 - Netsh端口转发(推荐)

靶场还是用上一篇文章搭建的靶场 :52-5 内网代理2 - LCX端口转发(不推荐使用LCX)-CSDN博客 一、Netsh 实现端口转发 Netsh是Windows自带的命令行脚本工具,可用于配置端口转发。在一个典型的场景中,如果我们位于公网无法直接访问内网的Web服务器,可以利用中间的跳板机通过…

【LeetCode】十三、分治法:多数元素 + 最大子序列和

文章目录 1、分治法2、leetcode169:多数元素3、leetcode53:最大子序和 1、分治法 分治一般都搭配递归使用: 用分治法的一个应用——归并排序:将一组数不停的一分为二,直到分到每组只有一个数的时候 分到每组只有一个数…

Python28-7.5 降维算法之t-分布邻域嵌入t-SNE

t-分布邻域嵌入(t-distributed Stochastic Neighbor Embedding,t-SNE)是一种用于数据降维和可视化的机器学习算法,尤其适用于高维数据的降维。t-SNE通过将高维数据嵌入到低维空间(通常是二维或三维)中&…

Edge浏览器油猴插件的安装与使用

油猴 (又称篡改猴或Tampermonkey) 是最流行的浏览器扩展之一。它允许用户自定义并增强网页的功能。用户脚本是小型 JavaScript 程序,可用于向网页添加新功能或修改现有功能。使用油猴,您可以轻松在任何网站上创建、管理和运行这些用户脚本。 1.插件的安…

【数据结构与算法】希尔排序

💓 博客主页:倔强的石头的CSDN主页 📝Gitee主页:倔强的石头的gitee主页 ⏩ 文章专栏:《数据结构与算法》 期待您的关注 ​

关于新装Centos7无法使用yum下载的解决办法

起因 之前也写了一篇类似的文章,但感觉有漏洞,这次想直接把漏洞补齐。 问题描述 在我们新装的Centos7中,如果想要用C编程,那就必须要用到yum下载,但是,很多新手,包括我使用yum下载就会遇到一…

mupdf加载PDF显示中文乱码

现象 加载PDF显示乱码,提示非嵌入字体 non-embedded font using identity encoding调式 在pdf-font.c中加载字体 调试源码发现pdf文档的字体名字居然是GBK,估计又是哪个windows下写的pdf生成工具生成pdf 字体方法: static pdf_font_desc * load_cid…

用QFramework重构飞机大战(Siki Andy的)(下01)(06-0? 游戏界面及之后的所有面板)

GitHub // 官网的 全民飞机大战(第一季)-----框架设计篇(Unity 2017.3) 全民飞机大战(第二季)-----游戏逻辑篇(Unity 2017.3) 全民飞机大战(第三季)-----完善…

Nginx七层(应用层)反向代理:HTTP反向代理proxy_pass篇

Nginx七层(应用层)反向代理 HTTP反向代理proxy_pass篇 - 文章信息 - Author: 李俊才 (jcLee95) Visit me at CSDN: https://jclee95.blog.csdn.netMy WebSite:http://thispage.tech/Email: 291148484163.com. Shenzhen ChinaAddress of thi…

Python3极简教程(一小时学完)中

异常 在这个实验我们学习 Python 的异常以及如何在你的代码中处理它们。 知识点 NameErrorTypeError异常处理(try..except)异常抛出(raise)finally 子句 异常 在程序执行过程中发生的任何错误都是异常。每个异常显示一些相关…

fasttext工具介绍

fastText是由Facebook Research团队于2016年开源的一个词向量计算和文本分类工具。尽管在学术上并未带来巨大创新,但其在实际应用中的表现却非常出色,特别是在文本分类任务中,fastText往往能以浅层网络结构取得与深度网络相媲美的精度&#x…

Maven一键配置阿里云远程仓库,让你的项目依赖飞起来!

文章目录 引言一、为什么选择阿里云Maven仓库?二、如何设置Maven阿里云远程仓库?三、使用阿里云Maven仓库的注意事项总结 引言 在软件开发的世界里,Maven无疑是一个强大的项目管理工具,它能够帮助我们自动化构建、依赖管理和项目…

QT5.14.2与Mysql8.0.16配置笔记

1、前言 我的QT版本为 qt-opensource-windows-x86-5.14.2。这是QT官方能提供的自带安装包的最近版本,更新的版本需要自己编译源代码,可点击此链接进行下载:Index of /archive/qt/5.14/5.14.2,选择下载 qt-opensource-windows-x86…

为什么固定尺寸 AdSense 广告依旧会出现并非指定的尺寸广告?

经常在网站上投放谷歌 AdSense广告的站长应该都碰到过,明明投放的是固定尺寸的广告位里旧会出现并非指定尺寸的AdSense 广告,很诡异的感觉。其实这都是因为你的 AdSense 账号广告优化造成的,其中里面就包含了广告尺寸优化,只需要在…

Spring源码十七:Bean实例化入口探索

上一篇Spring源码十六:Bean名称转化我们讨论doGetBean的第一个方法transformedBeanName方法,了解Spring是如何处理特殊的beanName(带&符号前缀)与Spring的别名机制。今天我们继续往方法下面看: doGetBean 这个方法…

Vue笔记11-Composition API的优势

Options API存在的问题 使用传统Options API中,新增或者修改一个需求,就需要分别在data,methods,computed里修改,而这些选项分布在代码的各个地方,中间还穿插着其他Optional API,如果代码量上来…

JAVA之(方法的重载与重写、this关键字、super关键字)

方法的重载与重写 一、方法的重载与重写1、回顾方法的定义2、重载的概念3、重写 二、this关键字1、何为this方法2、使用方法(1)在构造方法中指构造器所创建的新对象(2) 方法中指调用该方法的对象(3) 在类本…