Fluent使用UDF遇见Received signal SIGSEGV
Fluent版本:19.0
究其原因,一般是因为我们编写的UDF当中指针错误,导致未能正确获取Fluent一些变量的值,从而造成该错误。
下面我们通过调试手段来为了重现该错误,直观查看错误原因。
我们编写如下示例代码:

调试步骤和算例参考《GCC编译UDF和gdb调试UDF》
链接:http://blog.sina.com.cn/s/blog_14d64daa10102xxlf.html
我们直接运行算例和UDF
则会出现Received signal SIGSEGV


然后我们在gdbgui当中添加断点来调试UDF,从而从而能够更加直观的看到Received signal SIGSEGV错误的原因

打开Fluent,加载UDF,运行算例
回到浏览器的gdbgui操作界面

然后停在gdbgui的断点处

说明21行断点以前的UDF程序都是没有问题的

gdbgui的控制台中就出现了gdbgui noticed a signal was recieved (Segmentation fault, SIGSEGV).的错误,说明我们的程序执行到UDF的21行出现了错误



继续执行程序,则会在Fluent当中出现Received signal SIGSEGV的错误
从上面的调试过程我们可以看出是我们的UDF代码的21行出现了问题,可是为什么会出现这个问题呢?问题应该出现在C_P_RG这一个宏上面。这是因为我们在前面的计算当中,求解器不断移走它不需要的数据,没有保留变量无法获取到C_P_RG的值,从而导致received signal SIGSEGV的错误。对于本算例我们可以采用下面的方式修正这个错误:
修改UDF源代码为:


重新编译UDF
我们再次打开Fluent,加载UDF
使用TUI命令:
/solve/set/expert
Save cell residuals for post-processing? [no]
Keep temporary solver memory from being freed? [no] yes
Allow selection of all applicable discretization schemes? [no]
来保留变量的梯度


运行算例,可见Received signal SIGSEGV已经消除,UDF程序可以正常运行,计算顺利完成

Fluent使用UDF遇见Received signal SIGSEGV的更多相关文章
- Program received signal SIGSEGV, Segmentation fault.
GDB调试的时候出现了: Program received signal SIGSEGV, Segmentation fault.(程序收到信号SIGSEGV,分段故障) SIGSEGV:在POSIX ...
- Application received signal SIGSEGV
Application received signal SIGSEGV (null) (( 0 CoreFoundation 0x0000000181037d50 <redacted> + ...
- 在Visual Studio中直接编译Fluent的UDF
VS版本:Visual Studio 2013 Fluent版本:Fluent18.2 首先我们启动VS Studio中直接编译Fluent的UDF" title="在Visual ...
- Application received signal SIGABRT
Application received signal SIGABRT (null) (( 0 CoreFoundation 0x0000000182bbadc8 <redacted> + ...
- Program received signal SIGILL, Illegal instruction
Program received signal SIGILL, Illegal instruction 这个错误,发现是直接在printf 的%s中直接使用string类型,而没有使用c字符串格式造成 ...
- Ansys Student 2020R2中Fluent编译UDF简介
使用内建编译器 在Ansys Fluent中编译UDF一般都需要额外安装相应版本的Visual Studio编译器,VS的缺点是体量大,占空间,安装后还需要额外进行相关设置才能正常使用.而新版本的An ...
- fluent中UDF环境变量问题的三种解决方法
方法一: 这种方式最简便,首选这种,但是有时会因为不明原因而不好使,我自己电脑刚开始用这种方式是行得通的,但是后来中途装过很多乱七八糟的软件,估计环境变量改乱了,这时候只能用第二种或者第三种方法.先说 ...
- Fluent操作流程&&udf编译
Fluent 操作流程 1, 读网格模型 2, Scale修改单位 3, Check检查网格是否符合要求,最小体积不能出现负数 4, Time 选择瞬态,重力设置 5, Models-Multipha ...
- 忽略“Signal: SIGSEGV (Segmentation fault)”
1. touch ~/.gdbinit 2. 在.gdbinit文件中添加“handle SIGSEGV nostop noprint pass”
随机推荐
- Beego 学习笔记10:Easyui使用
EasyUI使用 1> 下载EasyUI.下载地址:http://www.jeasyui.com/download/index.php 根据自己使用的是jquery还是Angular进行 ...
- CSS之盒子居中的方法
一.盒子垂直居中的方法 1.先让盒子的上下边缘和父盒子的水平中心线重叠,,然后再让子盒子往回移动自身一半的距离 <div class="father"> // 结构 & ...
- Android-----WebView加载HTML界面布局并进行数据交互
注:在做例子之前要先做好准备工作,在app下新建一个名为:assets的目录(不懂怎么创建的可参考:https://blog.csdn.net/Biegral/article/details/4717 ...
- Prometheus学习笔记(4)什么是pushgateway???
目录 一.pushgateway介绍 二.pushgateway的安装运行和配置 三.自定义脚本发送pushgateway 四.使用pushgateway的优缺点 一.pushgateway介绍 pu ...
- 机器学习笔记7:矩阵分解Recommender.Matrix.Factorization
目录 1矩阵分解概述 1.1用在什么地方 1.2推荐的原理 2矩阵分解的原理 2.1目标函数 2.2 损失函数 2.3 通过梯度下降的方法求得结果 3 代码实现 参考地址: 贪心学院:https:// ...
- 自定义View(三),仿支付宝芝麻信用自定义控件
仿支付宝的芝麻信用仪表盘 实现的效果 实现的功能: 指针和数字动态改变 背景动态变化 没了... 代码如下 MyCustomView.java package com.example.testcust ...
- _IplImage
IplImage结构 由于OpenCV主要针对的是计算机视觉方面的处理,因此在函数库中,最重要的结构体是IplImage结构.从本质上讲,他是一个CvMat对象,但它还有一些其他成员变量将矩阵解释为图 ...
- 201671030123叶虹 实验十四 团队项目评审&课程学习总结
项目 内容 这个作业属于哪个课程 软件工程 这个作业的要求在哪里 实验十四 团队项目评审&课程学习总结 课程学习目标 掌握软件项目评审会流程:反思总结课程学习内容 一.实验一问题回答 1.实验 ...
- Does Swift support aspect oriented programming?
The foundation of Aspect Oriented Programming is the intercept pattern. We start with a crosscutting ...
- 我对ISO 七层模型的理解
应用层: 负责native格式的请求配置,请求发起.关闭等功能: 负责应用数据请求可直接调用的api的支持. 使用表示层和会话层包装而成的便捷工具(API):Alamofire 表示层: 将应用层配置 ...