openfoam模拟时取消报错Floating point exception (core dumped),从而看到具体错误内容

一、理论简介:

unset FOAM_SIGFPE 是用于在 OpenFOAM 环境中解除对浮点异常(Floating Point Exception, FPE)的信号处理。

FOAM_SIGFPE 环境变量的作用

在 OpenFOAM 中,FOAM_SIGFPE 环境变量用于控制程序对浮点异常(如除零、溢出、下溢等)的响应。当 FOAM_SIGFPE 被设置时,OpenFOAM 会捕捉到浮点异常并停止程序执行。这对于调试和识别数值问题非常有用。

例如:

export FOAM_SIGFPE=1

设置 FOAM_SIGFPE 为 1 时,OpenFOAM 会在遇到浮点异常时触发信号处理,通常会终止程序并生成核心转储(core dump)。

解除对 FOAM_SIGFPE 的设置

unset FOAM_SIGFPE 命令用于解除对 FOAM_SIGFPE 环境变量的设置。执行此命令后,OpenFOAM 将不会在遇到浮点异常时捕捉并处理信号,程序将按默认方式运行(可能忽略这些异常继续执行或由操作系统处理)。

unset FOAM_SIGFPE

使用场景

  1. 调试阶段:在调试阶段,设置 FOAM_SIGFPE 可以帮助开发者识别和修复浮点异常。
  2. 生产运行:在生产运行阶段,如果你不希望程序在遇到浮点异常时停止,可以使用 unset FOAM_SIGFPE,让程序继续运行或由操作系统处理异常。

二、实际应用

使用unset FOAM_SIGFPE命令后,再执行我的程序,

日志来看,仿真过程中出现了几个严重的问题:

  1. CG 求解器的最终残差为 -nan

    • 这意味着求解器计算出了无效的结果(即 Not a Number)。
  2. 计算过程中出现无限值 (inf) 和负无限值 (-inf)

    • 这是由 twoPhaseCompressibleSystem::decode() 函数中的 e 值无限大或无限小导致的。
  3. 高库朗数

    • 最大库朗数达到了 474634,这远远超出了合理范围,通常库朗数应小于 1,以保证计算稳定性。

这些问题可能是由于初始条件、边界条件或数值方法设置不当引起的。为了调试和解决这些问题,可以采取以下步骤:

检查和调整初始条件和边界条件

  1. 检查初始条件

    • 确保初始条件合理,避免过大或过小的值,特别是密度、压力和速度等物理量。
  2. 检查边界条件

    • 确保边界条件合理,避免突然变化或不连续的情况。

调整时间步长和数值方法

  1. 减少时间步长 (deltaT)

    • 尝试减小时间步长,特别是在高库朗数的情况下。
  2. 启用可调时间步长

    • controlDict 文件中启用 adjustableTimestep,以根据 CFL 数自动调整时间步长。
adjustTimeStep yes;maxCo 0.5;

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/394549.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【设计模式】设计模式之观察者模式

文章目录 观察者模式什么是观察者模式引入组成UML图代码实现1. 定义观察者接口2. 定义主题接口3. 实现具体观察者4. 实现具体被观察者5.测试 应用场景优点缺点 观察者模式 什么是观察者模式 观察者模式(Observer Pattern)是一种设计模式 它定义了一种…

BTS4140N:高侧电源开关芯片中文数据手册

芯片概述 : BTS4140N是一款智能高压侧电源开关N沟道垂直功率MOSFET,带电荷泵和电流控制输入、采用智能SIPMOS技术单片集成,提供嵌入式保护和诊断功能。 芯片特征描述 电流控制输入短路保护电流限制欠电压时关断过压保护(包括负载突…

【mars3d】GraphicLayer遍历添加数据,正确拿到数据

import * as mars3d from "mars3d"export let map // mars3d.Map三维地图对象 export let graphicLayer // 矢量数据图层 export const mapOptions {scene: {center:{"lat":30.577085,"lng":116.885511,"alt":45203.5,"heading&…

Jenkins参数化构建

目录 一. 准备ansible 二. Gitlab新建子项目 三. Jenkins建立任务,进行初步配置 四. 导入nginx主机的公钥 五. 配置ansible执行脚本 六. 构建测试 一. 准备ansible 在jenkins主机中安装ansible [rootjenkins ~]# yum install -y epel-release [rootjenkins…

【学习笔记】Day 6

一、进度概述 1、《地震勘探原理》第二章 2、“DenseNet” 周报分享 二、详情 1、《地震勘探原理》第二章 注:本来的打算是逐章整理,但是在听老师指导后,明晰了学习目的。故学习方法更改为侧重 “刷” 。不求一遍全弄懂&#xff0c…

AI在商品计划领域的应用

在现代商业环境中,AI驱动的商品计划优化已经成为企业有效管理资源和提高利润的关键因素。 市场预测与库存管理 精准市场预测:以某著名零售品牌为例,该品牌引入了一种基于AI的智能分析工具,帮助实现了精准的市场预测与库存管理。根…

【Linux基础】Linux基本指令(一)

目录 前言一, ls指令二,pwd指令三,cd指令3.1 当前目录与上级目录3.2 绝对路径和相对路径3.3 tree指令 四,创建一个普通文件或目录4.1 touch指令4.2 mkdir指令 五,删除目录或文件5.1 rmdir指令5.2 rm 指令 六&#xff0…

细节持续跟新

1.input的自带光标如何去除 2.阻止事件冒泡 3.获取父亲兄弟的innertext 4.画表格 参考博主链接 前端-HTML表格制作_哔哩哔哩_bilibili 美化

不同环境下RabbitMQ的安装-3 操作RabbitMQ

前面两篇从不同环境下RabbitMQ的安装-1 为什么要使用消息服务 到同环境下RabbitMQ的安装-2 ARM架构、X86架构、Window系统环境下安装RabbitMQ介绍了关于如何在ARM架构、X86架构和Window系统下如何安装,各位小伙伴可以根据自己的实际开发场景参考安装。 到本篇是一些…

【ARM】CMSIS 软件标准接口

目录 CMSIS:Cortex Microcontroller Software Interface Standard1. 概述2. CMSIS-Core2.1 概述2.2 关键组件2.3 示例代码2.4 详细解释 3. CMSIS-DSP3.1 概述3.2 关键组件3.3 示例代码3.4 详细解释 4. CMSIS-RTOS4.1 概述4.2 关键组件4.3 示例代码4.4 详细解释 5. C…

【案例40】Apache中mod_proxy模块的使用

NC中间件 应用场景:配置了apache的情况,包括uap集群,配置https等场景下均适用;如果是单机(NC单结点情况不存在问题,则不用配置这项; was环境也不用配置此项。) 解决方案:按如下两…

Spring Boot 3.x Rest API最佳实践之API设计

本系列教程将会以企业中API基础功能封装为目标,用最新的Spring Boot 3.x版本来逐步搭建和完善Rest API项目基础架构,并结合实际电商项目中API的实现需求来进行最佳实践。如果觉得对你有帮助,记得点赞收藏,关注小卷,后续…

React性能之--如何避免组件重复渲染?

在react中,我们会发现存在组件会重复渲染,虽然说如果项目不大的话,这点影响不大,但是我们还是尽量避免组件渲染比较好,养成好习惯,尽可能让不管是大小项目,都让性能尽可能优化 。那我们如何避免…

Linux/C 高级——Linux命令

从这里开始,我们展开对Linux/c 高级的学习,首先介绍的是在Linux/c高级中,Linux的部分 目录 1.Linux简介 1.1Linux起源 1.2查看系统版本命令 1.3分层结构 1.4系统关机重启命令 2.Linux安装工具 2.1软件包安装 2.1.1软件包的管理机制 …

计算机基础(Windows 10+Office 2016)教程 —— 第6章 电子表格软件Excel 2016(上)

第6章 电子表格软件Excel 2016 6.1 Excel 2016入门6.1.1 Excel 2016 简介6.1.2 Excel 2016 的操作界面组成6.1.3 Excel 2016 的视图方式6.1.4 Excel 2016 的工作簿及其操作6.1.5 Excel 2016 的工作表及其操作6.1.5 Excel 2016 的工作表及其操作6.1.6 Excel 2016 的单元格及其操…

Typora+PicGo-Core(command line)+Gitee 实现上传图片到图床(看这一文就够)

前言 ​ 对于喜欢写Markdown文档的人来说,Typora无疑是一个写作利器,它有别于其他的Markdown软件,不是一边编辑一边渲染,而是即写即渲染,这样对于浏览md文件也非常友好。此外Typora还支持更换主题,在其官网…

【QT】Qt中Websocket的使用

一、WebSocket的定义 WebSocket是一种在单个TCP连接上进行全双工通信的协议。WebSocket通信协议于2011年被IETF定为标准RFC 6455,并由RFC7936补充规范。WebSocket API也被W3C定为标准。 WebSocket使得客户端和服务器之间的数据交换变得更加简单,…

arcgis(shp)注记转CAD(dwg)文字

arcgis(shp)注记转CAD(dwg)文字方法如下: 1、添加shp文件,标注要素,然后选标注转注记 2、 点击文件夹图标打开文件夹,选择保存路径。(提前需新建好文件地理数据库、数据…

#java学习笔记(面向对象)----(未完结)

一基础相关知识点: 1. 一个对象的调用 首先我们创建一个Phone类 public class Phone {//成员变量String name;int age;String favourite;//成员方法public void myName(){System.out.println(name);}public void myAge(){System.out.println(age);}public void m…

Flink实时数仓(六)【DWD 层搭建(四)交易域、互动域、用户域实现】

前言 今天的任务是完成 DWD 层剩余的事实表;今年的秋招开得比往年早,所以要抓紧时间了,据了解,今年的 hc 还是不多,要是晚点投铁定寄中寄了; 今天还是个周末,不过记忆里我好像整个大学都没有好好…