UDF——提取指定线上随时间变化的物理量
Fluent版本:Fluent 19.0
Visual Studio版本:Visual Studio 2013
有时候我们想要实现一些功能,比如:我们在使用Fluent进行瞬态计算的时候,想要获取某条线上的物理量随时间的变化,如果我们直接用UDF去输出当然是可以的,但是实现起来难度比较大,而CFD-Post实现这些功能相对比较容易,难道要我们保留所有的结果,最后再在CFD-Post里面慢慢处理?当然有其他的解决办法,我们可以使用Python编写一个模块,用来调用CFD-Post获取该条线段上的物理量并且导出为文件,最后删除cas和dat文件以节省存储空间。我们从UDF当中指定每个时间步调用该Python模块一次,从而实现指定功能。
Python模块的代码如下(存为名为:“Data.py”文件):

需在VS当中编译该UDF,可参考我前面的:
《在Visual Studio中直接编译Fluent的UDF的总结(串行)》
《在Visual Studio中直接编译Fluent的UDF的总结(并行)》
在VS当中需要添加python的库和包含python的头文件
首先需要安装Python,我安装的是anaconda2(可到清华大学开源软件镜像站下载,链接:https:// mirrors.tuna.tsinghua.edu.cn/anaconda/archive/)











然后我们在ansys19_3ddp_host项目当(文件:源.cpp)中编写如下代码:

在ansys19_3ddp_node项目当(文件:源.cpp)中编写如下代码:

至于CFD-Post的session文件,自己在CFD-Post当中事先录制一个即可,这里就不多讲了。
算例来源于:https://confluence.cornell.edu/display/SIMULATION/FLUENT+-+Laminar+Pipe+Flow
我们每次取管道中心轴线的速度,取10个点
时间步长:0.001,时间步:10步
注意:
需要设置自动保存,务必按照下图设置

最后结果:

至于为什么我设置的10个时间步数据却只保存了9个?是因为最后保存结果以后计算终止,没有再调用DEFINE_EXECUTE_AT_END宏了,我们可以在DEFINE_ON_DEMAND再调用一次前面的Python模块从手动完成全部的数据。
完整VS项目文件和Fluent算例文件:
链接: https://pan.baidu.com/s/1SOEk_arrI1zX2LVfsjW7mQ 提取码: kmxw
UDF——提取指定线上随时间变化的物理量的更多相关文章
- 【转载】ansys中压力随时间变化的表格加载方法
原文地址:http://wenku.baidu.com/link?url=w9k94Upqbok0SUNU3L7LOLRDLUtP7W_KyQWK68ajK_nEbO00mO6hzbuBQ01rS07 ...
- HDU 1180 诡异的楼梯【BFS/楼梯随时间变化】
诡异的楼梯 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/65536 K (Java/Others) Total Submis ...
- MFiX中DEM颗粒信息随时间变化
之前在"DEM轨迹后处理"这篇文章中的第二种方法中介绍过一种方法,但是那种方法只适用于反应器内颗粒数量一定,没有新进入的颗粒的情况.后来在MFiX论坛询问了一下,解决了这个问题.具 ...
- 如何有效的跟踪线上 MySQL 实例表和权限的变更
介绍 从系统管理员或 DBA 的角度来讲, 总期望将线上的各种变更限制在一个可控的范围内, 减少一些不确定的因素. 这样做有几点好处: . 记录线上的库表变更; . 对线上的库表变更有全局的了解; . ...
- Fluent——UDF监测指定点的物理量
Fluent版本:19.0 Fluent当中提供了监测某一点物理量随迭代次数或者随时间变化的功能,下面我们就介绍如何在UDF当中实现相同的功能,并且UDF更加灵活,通过UDF的方式我们在知道某点运动规 ...
- Springcloud及Git线上配置详解
SpringCloud 这个阶段该如何学? 三层架构 + MVC 框架: Spring IOC AOP SpringBoot,新一代的JavaEE开发标准,自动装配 模块化~ all in one,代 ...
- 转载:APP的上线和推广——线上推广渠道
本文版权归个人所有,如需转载请注明出处http://www.cnblogs.com/PengLee/p/4637080.html 目录 应用商店 互联网开放平台 软件下载中心 媒体社交平台 刷榜推广 ...
- TFS线上生成环境发布历程
继前文 TFS在项目中Devops落地进程(上) TFS在项目中DevOps落地进程(下) 自从之前将开发环境使用TFS进行了自动化之后,就享受在此成果中,其他后续进度就停顿了好一段时间. 毕竟在我们 ...
- 记一次线上事故的JVM内存学习
今天线上的hadoop集群崩溃了,现象是namenode一直在GC,长时间无法正常服务.最后运维大神各种倒腾内存,GC稳定后,服务正常.虽说全程在打酱油,但是也跟着学习不少的东西. 第一个问题:为什么 ...
随机推荐
- prometheus消耗内存问题
参考: https://stackoverflow.com/questions/56115912/why-does-prometheus-consume-so-much-memory https:// ...
- 一篇文章搞定redis
Redis 简介 Redis 是完全开源免费的,遵守 BSD 协议,是一个高性能的 key - value 数据库 Redis 与 其他 key - value 缓存产品有以下三个特点: Redis ...
- Mybatis源码解析(三) —— Mapper代理类的生成
Mybatis源码解析(三) -- Mapper代理类的生成 在本系列第一篇文章已经讲述过在Mybatis-Spring项目中,是通过 MapperFactoryBean 的 getObject( ...
- C#使用SMTP协议发送验证码到QQ邮箱
C#使用SMTP协议发送验证码到QQ邮箱 在程序设计中,发送验证码是常见的一个功能,用户在注册账号时或忘记密码后,通常需要发送验证码到手机短信或邮箱来验证身份,此篇博客介绍在C#中如何使用SMTP协议 ...
- ES6 之 Symbol
1. 基本用法 Symbol 是ES6引入的一种新的原始数据类型,表示独一无二的值. 前六种基础数据类型是 undefined null Boolean String Number Object Sy ...
- linux网桥配置brctl
思路 将虚拟出一个bridge口,将对应的LAN都绑定在这个虚拟bridge口上,并给这个bridge口分配一个地址,其他子网微机配置网关为bridge口的地址便可以了 # brctl addbr b ...
- window界面自动化
一.windows带界面的自动化1.AutoIt AutoIt3官方下载地址:https://www.autoitscript.com/files/autoit3/autoit-v3-setup.ex ...
- 消息队列的作用以及kafka和activemq的对比
背景分析 消息队列这个类型的组件一直是非常重要的组件,当经过两家企业后我就很坚信这个结论了.队列这种东西,最广泛的作用还是在于解耦,宽泛一点的说,它可以将不同部门的工作内容进行有效的整合,基于一个约定 ...
- rest framework 之渲染器
根据 用户请求URL 或 用户可接受的类型,筛选出合适的 渲染组件. 用户请求头: Accept:text/html,application/xhtml+xml,application/xml;q=0 ...
- vimplus基本操作
1. YouCompleteMe按tab键,自动补全 2. vim-commentary添加注释,以及取消注释gcc 注释当前行(普通模式)gc 可视模式下,注释当前选中的部分gcu 撤销上一次注释的 ...