udf也能用Python
具体步骤见《fluent加载第三方(C++,Fortran等)动态链接库》
我们对导入的动态链接库进行改动
打开VS2013
完成了上述过程以后,还需要配置Python
首先需要安装Python,我安装的是anaconda2(可到清华大学开源软件镜像站下载,链接:https://
mirrors.tuna.tsinghua.edu.cn/anaconda/archive/
)
源代码
#include /
*输入输出流头文件*/
#include /
*Python头文件*/
#include /
*字符串头文件*/
#include
using namespace std;
#ifdef __cplusplus
#define EXPORT extern
"C" __declspec(dllexport) /
*如果是c++则以c函数的调用约定导出函数*/
#else
#define EXPORT
__declspec(dllexport)
#endif
EXPORT
void PythonPrint()
{
Py_Initialize(); /
*初始化Python*/
PyObject* osModule =
PyImport_ImportModule("os"); /
*加载Python的os模块*/
PyObject* listDirFunc =
PyObject_GetAttrString(osModule,
"listdir"); /
*加载python中os模块的listdir函数*/
PyObject* fileList =
PyObject_CallFunction(listDirFunc, "s", "."); /
*调用os中的listdir函数,向其中传入算例目录*/
int listLen =
static_cast(PyObject_Size(fileList));
/
*获取返回列表的大小*/
PyObject *listItem =
NULL; /
*用来存放返回Python列表的每一个元素*/
string strItem;
/
*用来存放将Python字符串转换为c++字符串*/
for (int i = 0; i <
listLen; i++)
{
listItem = PyList_GetItem(fileList, i); /
*获取返回列表的元素*/
strItem = PyString_AsString(listItem);
/
*将返回的元素转换为c++类型的字符串*/
cout <<
setiosflags(ios::right);
cout << setw(40) <<
strItem; /
*输出文件和目录*/
if ((i + 1) % 4 == 0)
cout << endl;
}
cout <<
endl;
Py_Finalize();
/
*结束python解释器,释放资源*/
}
———————————————————————————————————————————————————————————————————————————
UDF源代码如下:
#include "udf.h"
/
*链接我们刚才动态链接库的函数*/
extern void PythonPrint();
/
****************************************************
*我们在每次迭代完成以后,
*用动态链接库中的函数输出算例目录下的所有文件和文件夹
****************************************************/
DEFINE_ADJUST(my_adjust,d)
{
PythonPrint();
/
*调用动态链接库中的函数*/
}
我们打开Fluent
导入网格,设置好各种求解参数
加载编译好的UDF

求解运行算例
udf也能用Python的更多相关文章
- Spark(Hive) SQL中UDF的使用(Python)
相对于使用MapReduce或者Spark Application的方式进行数据分析,使用Hive SQL或Spark SQL能为我们省去不少的代码工作量,而Hive SQL或Spark SQL本身内 ...
- Spark(Hive) SQL中UDF的使用(Python)【转】
相对于使用MapReduce或者Spark Application的方式进行数据分析,使用Hive SQL或Spark SQL能为我们省去不少的代码工作量,而Hive SQL或Spark SQL本身内 ...
- 猪和python(pig and python)
Python 真是无处不在国内. pig 0.9后python作为嵌入式语音,采用Jython解释器使用python2.5特征,此接口是最上层org.apache.pig.scripting.Pig首 ...
- spark UDF函数
Spark(Hive) SQL中UDF的使用(Python):http://www.tuicool.com/articles/3yMBNb7
- 2015/10/9 Python基础(21):可调用和可执行对象
在Python中有多种运行外部程序的方法,比如,运行操作系统命令或另外的Python脚本,或执行一个磁盘上的文件,或通过网络来运行文件.这完全取决于想要干什么.特定的环境包括: 在当前脚本继续运行 创 ...
- Apache Spark 2.2.0 中文文档 - Spark SQL, DataFrames and Datasets Guide | ApacheCN
Spark SQL, DataFrames and Datasets Guide Overview SQL Datasets and DataFrames 开始入门 起始点: SparkSession ...
- Apache Spark 2.2.0 中文文档
Apache Spark 2.2.0 中文文档 - 快速入门 | ApacheCN Geekhoo 关注 2017.09.20 13:55* 字数 2062 阅读 13评论 0喜欢 1 快速入门 使用 ...
- 渗透测试环境搭建以及使用sqlmap获取mysql用户数据库密码
通过sqlmap检测sql注入漏洞 安装SQLmap漏洞查看工具 安装渗透测试演练系统DVWA 使用SQLmap进行sql注入并获得后台管理员adnim帐号和密码 环境介绍 安装SQLmap:Rich ...
- Apache Spark 2.2.0 中文文档 - Spark SQL, DataFrames and Datasets
Spark SQL, DataFrames and Datasets Guide Overview SQL Datasets and DataFrames 开始入门 起始点: SparkSession ...
随机推荐
- Idea创建一个SpringBoot工程
1.打开Idea,点击新建工程 File—New—Project 2.点击下一步后可能会很一直在请求,或者直接报如下错误, 解决办法:直接点OK后再点Previous返回上一步,继续重新Next 3. ...
- 自学Python编程的第一天----------来自苦逼的转行人
学习Python的第一天,也是我第一次写博客的一天,不怎么会写博客,也不怎么会Python,也不怎么会写总结.在学Python的第一天发现自己脑子不是很好用,在学习过程中出现很多错误,错误锦集如下,哈 ...
- python基础知识(二)
python基础知识(二) 字符串格式化 格式: % 类型 ---- > ' %类型 ' %(数据) %s 字符串 print(' %s is boy'%('tom')) ----> ...
- js文本对象模型[DOM]【续】(Node节点类型)
一.Document类型 document实例1.常用的一些属性documentElement 始终指向HTML页面中的<html>元素.body 直接指向<body>元 ...
- 数据仓库模型ETL架构(DWI/DWR/DM)
1.DWI DWI:数据湖.数据砥柱,一般存放在HDFS 数据仓库的基础数据来源,各种杂七杂八的数据 关键点:数据清洗.数据整合.异常处理.增量获取 ETL:E-数据抽取.数据清洁.格式转换,T-生成 ...
- 82.使用vue后怎么针对搜索引擎做SEO优化?
什么是SEO 搜索引擎优化(Search engine optimization,简称SEO),指为了提升网页在搜索引擎自然搜索结果中(非商业性推广结果)的收录数量以及排序位置而做的优化行为,是为了从 ...
- react native错误排查-TypeError: window.deltaUrlToBlobUrl is not a function
错误现象:window.deltaUrlToBlobUrl is not a function 最近在调试react-native时,打开浏览器调试时发现报错window.deltaUrlToBlob ...
- Linux命令——jobs、bg、fg、nohup
参考:Bash基础——工作管理(Job control) jobs -l :除了列出 job number 与命令串之外,同时列出 PID 的号码: -r :仅列出正在背景 run 的工作:-s :仅 ...
- Beta之前-凡事预则立(校园帮-追光的人)
所属课程 软件工程1916 作业要求 Beta之前-凡事预则立 团队名称 追光的人 作业目标 在Beta冲刺之前,提前做好准备和规划 议题 1.讨论组长是否重选的议题和结论. 2.下一阶段需要改进完善 ...
- web自动化测试-模块驱动测试实例和数据驱动测试实例
一.模块驱动测试实例 把登录和退出统一封装在login类中,若把login类单独放在一个文件中,就可以给任一测试脚本调用,这里就跟测试脚本放一起 from selenium import webdri ...