利用VC++ UDF Studio编译并单步调试Fluent UDF(解决fl process could not be started错误)

本文主要是介绍利用VC++ UDF Studio编译并单步调试Fluent UDF(解决fl process could not be started错误),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Fluent调试UDF向来是一件麻烦的事情,既看不到中间变量的值,也不能一步一步跟踪程序,尤其是编译通过但出现莫名其妙错误时候更是令人郁闷。例如下面令人胆战心惊的红字“fl process could not be started”提示基本就意味着你的UDF存在错误导致Fluent奔溃,需要单步跟踪调试排错了。

 以前调试一般只有通过Message来将关心的中间变量值打印到前台才能逐步了解UDF源程序内部的运行过程,找出错误,但这样做法相当麻烦,每次要改了重新编译来回翻找,而且容易一下子打印满屏信息,根本无法知道执行流程。有的入门初学者甚至编译环境搭建都困难重重。

这里介绍一款专业的UDF编译调试插件工具VC++ UDF Studio,可以直接在Visual Studio中一键编译后单步调试UDF源程序并查看中间变量值,无需设置环境变量,十分方便。

1. 官网下载VC++ UDF Studio插件,建议下载学术版。

2. 安装VC++ UDF Studio插件和Visual Studio,建议安装VS2010专业版或旗舰版(Express版不支持),设置安装部件时勾选C++和C#一起安装,对于64位系统还要勾选X64编译器。

 

 3. 双击桌面图标,选择需要版本后会自动启动Fluent,读入case后点击Fluent嵌入菜单中的“Start Visual Studio”子菜单.

 

 

4. 输入源代码,并点击“编译”按钮直到编译通过。

 5. 下断点(在需要断点的行按F9),点击“调试”按钮,进入调试状态。

 6. 执行需要调试的子程序(或宏),程序会自动停在下过断点的地方。

 

 7. 单步执行(F10)即可看到鼠标停留处的中间变量的值。这样一步一步往下跟踪各个变量的值就能了解程序内部到底进行了什么操作,运算结果是否如你预想一样,从而发现你写的代码中的隐藏错误。

 当然,该软件还有其它一些高级功能,比如调用C++,MFC,Win32 API函数,查看UDF宏定义,调用写好的第三方库,Matlab耦合功能等,这里不具体介绍了。

 注: 该软件未注册版可以永久使用2d和3d单精度串行版本,但最多2个宏,对于一般简单的UDF应用也足够了。

这篇关于利用VC++ UDF Studio编译并单步调试Fluent UDF(解决fl process could not be started错误)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/746306

相关文章

解决java.lang.NullPointerException问题(空指针异常)

《解决java.lang.NullPointerException问题(空指针异常)》本文详细介绍了Java中的NullPointerException异常及其常见原因,包括对象引用为null、数组元... 目录Java.lang.NullPointerException(空指针异常)NullPointer

Android开发中gradle下载缓慢的问题级解决方法

《Android开发中gradle下载缓慢的问题级解决方法》本文介绍了解决Android开发中Gradle下载缓慢问题的几种方法,本文给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧... 目录一、网络环境优化二、Gradle版本与配置优化三、其他优化措施针对android开发中Gradle下载缓慢的问

python安装whl包并解决依赖关系的实现

《python安装whl包并解决依赖关系的实现》本文主要介绍了python安装whl包并解决依赖关系的实现,文中通过图文示例介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 目录一、什么是whl文件?二、我们为什么需要使用whl文件来安装python库?三、我们应该去哪儿下

MySQL安装时initializing database失败的问题解决

《MySQL安装时initializingdatabase失败的问题解决》本文主要介绍了MySQL安装时initializingdatabase失败的问题解决,文中通过图文介绍的非常详细,对大家的学... 目录问题页面:解决方法:问题页面:解决方法:1.勾选红框中的选项:2.将下图红框中全部改为英

C++一个数组赋值给另一个数组方式

《C++一个数组赋值给另一个数组方式》文章介绍了三种在C++中将一个数组赋值给另一个数组的方法:使用循环逐个元素赋值、使用标准库函数std::copy或std::memcpy以及使用标准库容器,每种方... 目录C++一个数组赋值给另一个数组循环遍历赋值使用标准库中的函数 std::copy 或 std::

C++使用栈实现括号匹配的代码详解

《C++使用栈实现括号匹配的代码详解》在编程中,括号匹配是一个常见问题,尤其是在处理数学表达式、编译器解析等任务时,栈是一种非常适合处理此类问题的数据结构,能够精确地管理括号的匹配问题,本文将通过C+... 目录引言问题描述代码讲解代码解析栈的状态表示测试总结引言在编程中,括号匹配是一个常见问题,尤其是在

使用C++实现链表元素的反转

《使用C++实现链表元素的反转》反转链表是链表操作中一个经典的问题,也是面试中常见的考题,本文将从思路到实现一步步地讲解如何实现链表的反转,帮助初学者理解这一操作,我们将使用C++代码演示具体实现,同... 目录问题定义思路分析代码实现带头节点的链表代码讲解其他实现方式时间和空间复杂度分析总结问题定义给定

IDEA编译报错“java: 常量字符串过长”的原因及解决方法

《IDEA编译报错“java:常量字符串过长”的原因及解决方法》今天在开发过程中,由于尝试将一个文件的Base64字符串设置为常量,结果导致IDEA编译的时候出现了如下报错java:常量字符串过长,... 目录一、问题描述二、问题原因2.1 理论角度2.2 源码角度三、解决方案解决方案①:StringBui

部署Vue项目到服务器后404错误的原因及解决方案

《部署Vue项目到服务器后404错误的原因及解决方案》文章介绍了Vue项目部署步骤以及404错误的解决方案,部署步骤包括构建项目、上传文件、配置Web服务器、重启Nginx和访问域名,404错误通常是... 目录一、vue项目部署步骤二、404错误原因及解决方案错误场景原因分析解决方案一、Vue项目部署步骤

mybatis和mybatis-plus设置值为null不起作用问题及解决

《mybatis和mybatis-plus设置值为null不起作用问题及解决》Mybatis-Plus的FieldStrategy主要用于控制新增、更新和查询时对空值的处理策略,通过配置不同的策略类型... 目录MyBATis-plusFieldStrategy作用FieldStrategy类型每种策略的作