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的更多相关文章

  1. Program received signal SIGSEGV, Segmentation fault.

    GDB调试的时候出现了: Program received signal SIGSEGV, Segmentation fault.(程序收到信号SIGSEGV,分段故障) SIGSEGV:在POSIX ...

  2. Application received signal SIGSEGV

    Application received signal SIGSEGV (null) (( 0 CoreFoundation 0x0000000181037d50 <redacted> + ...

  3. 在Visual Studio中直接编译Fluent的UDF

    VS版本:Visual Studio 2013 Fluent版本:Fluent18.2 首先我们启动VS Studio中直接编译Fluent的UDF" title="在Visual ...

  4. Application received signal SIGABRT

    Application received signal SIGABRT (null) (( 0 CoreFoundation 0x0000000182bbadc8 <redacted> + ...

  5. Program received signal SIGILL, Illegal instruction

    Program received signal SIGILL, Illegal instruction 这个错误,发现是直接在printf 的%s中直接使用string类型,而没有使用c字符串格式造成 ...

  6. Ansys Student 2020R2中Fluent编译UDF简介

    使用内建编译器 在Ansys Fluent中编译UDF一般都需要额外安装相应版本的Visual Studio编译器,VS的缺点是体量大,占空间,安装后还需要额外进行相关设置才能正常使用.而新版本的An ...

  7. fluent中UDF环境变量问题的三种解决方法

    方法一: 这种方式最简便,首选这种,但是有时会因为不明原因而不好使,我自己电脑刚开始用这种方式是行得通的,但是后来中途装过很多乱七八糟的软件,估计环境变量改乱了,这时候只能用第二种或者第三种方法.先说 ...

  8. Fluent操作流程&&udf编译

    Fluent 操作流程 1, 读网格模型 2, Scale修改单位 3, Check检查网格是否符合要求,最小体积不能出现负数 4, Time 选择瞬态,重力设置 5, Models-Multipha ...

  9. 忽略“Signal: SIGSEGV (Segmentation fault)”

    1. touch ~/.gdbinit 2. 在.gdbinit文件中添加“handle SIGSEGV nostop noprint pass”

随机推荐

  1. python基础04--list,cou,dict

    1.1 列表list 1.列表可以完成大多数集合类的数据结构实现.列表中元素的类型可以不相同,它支持数字,字符串,列表,元组,集合,字典 2.列表是有序的, 可以索引,切片 3.List中的元素是可以 ...

  2. Spring Cloud的常规组件和简单实战(一)

    最近一段时间在学习Spring Cloud,从Eureka到Hystrix,常用的配置和方法都有涉及一些,以此笔记来记录一下学习到的东西,也分享一下.内容以实战为起点,主要以介绍常规用法为主,最后也会 ...

  3. 【转载】如何查看本机电脑的公网IP

    在实际使用电脑的过程中,很多时候我们需要知道本地电脑的当前公网IP地址,我们都知道个人电脑的公网IP是不固定的,可能每天的对外公网IP都不一样,如果要查看当前本机电脑的对外公网IP,方法也很简单,直接 ...

  4. CSS3 2D 变换

    CSS2D transform 表示2D变换,目前获得了各主流浏览器的支持,是CSS3中具有颠覆性的特征之一,可以实现元素的位移.旋转.倾斜.缩放,甚至支持矩阵方式,可以取代大量之前只能靠Flash才 ...

  5. windows 2003 域控服务器导出全部hash的方法

    天下文章一大抄,我也是醉了... 一份“错误”的文章一遍又一遍的被转载,盲目转载,根本不细看.只会误导新手. 谈下windows2003域控下如何导出全部的hash信息. 1. 使用备份还原向导 2. ...

  6. python 之 sys.stdout输出不换行

    在处理程序打进度条时,希望不换行显示进度,可以使用sys.stdout相关函数来进行处理. 1.print 输出不换行 首先可以使用print函数来整体输入,利用,结尾就可以在同一行内显示: # py ...

  7. android Camera 之 ZSL

    ZSL的概念 ZSL (zero shutter lag) 中文名称为零延时拍照,是为了减少拍照延时,让拍照&回显瞬间完成的一种技术. Single Shot 当开始预览后,sensor 和  ...

  8. linux-Windows文件上传Linux

    使用Xshell5工具: 1.使用cmd在Windows上压缩文件 2.在Xshell5上使用SSH协议与Linux服务器建立连接 3.新建文件传输 4.切换到Linux文件目录 5.使用put命令进 ...

  9. 分页查询——Hibernate Criteria实现一次查询取得总记录数和分页后结果集

    使用Hibernate criteria进行分页查询时,如何实现一次查询取得总记录数和分页后结果集 - bto310 - ITeye博客 https://bto310.iteye.com/blog/1 ...

  10. 基于TCP协议的大文件传输(粘包问题处理)

    基于TCP的大文件上传服务端实现 # 服务端 # -*- coding: utf-8 -*- from socket import * import json, struct server = soc ...