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 ...
随机推荐
- php 数组去空
1.preg_grep("/\S+/i", $data); 2.array_filter($data); 3.for($data $k = > $v) { if(!$v) u ...
- dexlib2的源码框架
这个是dexlib2的目录,明显看出来比baksmali和smali代码量要多很多,这里先将核心目录给大家做一下介绍 analysis 这个暂时不知道具体作用 base 这个文件夹下面全部都是 ...
- 如何使用GUID硬盘分区格式安装新windows系统
全局唯一标识分区表(GUID Partition Table,缩写:GPT)是一个实体硬盘的分区结构.目前硬盘格式有两种,一种MBR,另一个就是GUID.一般电脑买过来是windows7以上,比如wi ...
- php和mysql交互 面向对象
不返回结果集 <?php //使用对象属性和方法来插入数据 header('Content-type:text/html;carset=utf8'); $con=new mysqli('loca ...
- uboot中的mmc命令(转)
转载地址:https://blog.csdn.net/a624731186/article/details/37700205 一:mmc的命令如下: 1:对mmc读操作 mmc read addr b ...
- 数据库开发-Django ORM的一对多查询
数据库开发-Django ORM的一对多查询 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.联合主键问题 CREATE TABLE `employees` ( `emp_no` ...
- jquery 子元素筛选选择器
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-type" content ...
- moviepy改进的想码
这个要比前一个厚实点. 更改视频亮度,增加字幕,去除音轨,淡入特效,转换,截取时间,控制位置,组合图框,合成多段, 嗯,很多都有了. from django.test import TestCase ...
- 使用Visual studio查看exe或DLL文件的依赖项
事先准备:只要 Visual Studio 任何版本即可. 点击开始 -> 程序 -> Visual Studio对应的版本,打开Visual Studio Tools -> 选择 ...
- 初学Django基础02 ORM操作
django的ORM操作 之前我们知道了models.py这个文件,这个文件是用来读取数据结构的文件,每次操作数据时都走这个模块 常用字段 AutoField int自增列,必须填入参数 primar ...