本文主要讲解两种方法用来显示OpenFOAM的计算残差,一种是采用OpenFOAM自带的foamMonitor来输出残差,另一种就是大家经常看见的采用pyFoam来输出残差。不管采用哪一种方法都必须安装gnuplot。

安装gnuplot的方法为:在Linux(以乌班图为例)的终端中输入

sudo apt-get install gnuplot

方 法一:采用自带的foamMonitor来输出残差我们首先需要将OpenFOAM中输出残差的文件拷贝到算例的system目录下,我们可以采用以下命 令在OpenFOAM的安装目录下查找该文件

find /opt/openfoam4/ -name residuals

然后我们使用cp命令将查找到的residuals文件拷贝到算例system文件夹下

cp “/opt/openfoam4/etc/caseDicts/postProcessing/numerical/residuals”  “/home/dell/new/system”

接着我们在算例的system/controlDict文件中添加后处理函数

functions

{

#includeFunc            residuals

}

文件为:

FoamFile

{

version     2.0;

format      ascii;

class       dictionary;

location    "system";

object      controlDict;

}

// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

application     simpleFoam;

startFrom       latestTime;

startTime       0;

stopAt          endTime;

endTime         20000;

deltaT          1;

writeControl    timeStep;

writeInterval   50;

purgeWrite      0;

writeFormat     ascii;

writePrecision  6;

writeCompression off;

timeFormat      general;

timePrecision   6;

runTimeModifiable true;

functions

{

#includeFunc residuals

}

我们运行算例

simpleFoam &

我们在该窗口输入以下命令:

cd postProcessing

cd residuals

cd 0

foamMonitor -l residuals.dat

上面那么繁琐的命令可以用用一句命令表示:

foamMonitor -l postProcessing/residuals/0/residuals.dat

接着见证奇迹的时刻到来了!残差出现了

​未尽事宜,请参考视频操作

原版视频下载地址:https://yunpan.cn/ckffDej3CXzQJ(提取码:1e27)

方法二:应用Python的pyFoam来输出残差

可参看博文:

http://blog.sina.com.cn/s/blog_5fdfa7e60100g4zw.html

http://blog.sina.com.cn/s/blog_4a0a8b5d0100s832.html

两篇博文均采用svn的方式安装pyFoam,但是不只是时间太长还是其他什么原因,本人无法通过svn的方式下载PyFoam,但我们可以下载已经编译为二进制的PyFoam包,采用以下命令安装pyFoam:

sudo pip install ./PyFoam-0.6.6-py2.py3-none-any.whl

pyFoam二进制包的下载地址为:

https://pypi.python.org/pypi/PyFoam

需要特别指出的一点是两篇博文在利用log日志文件进行残差显示时都采用的

pyFoamPlotWatch.py cavity.log,而正确的命令应该为:

pyFoamPlotWatcher.py cavity.log

未尽事宜,请参考视频操作

原版视频下载地址:https://yunpan.cn/ckff4DQRC5CiK(提取码:8e55)

OpenFOAM显示残差的更多相关文章

  1. 数据分析与R语言

    数据结构 创建向量和矩阵 函数c(), length(), mode(), rbind(), cbind() 求平均值,和,连乘,最值,方差,标准差 函数mean(), sum(), min(), m ...

  2. Matlab小波工具箱的使用2

    Matlab小波工具箱的使用2 (2011-11-11 09:32:57) 转载▼ http://blog.sina.com.cn/s/blog_6163bdeb0102dw7a.html#cmt_5 ...

  3. 数据分析,R语言

    数据结构 创建向量和矩阵 1 函数c(), length(), mode(), rbind(), cbind() 求平均值,和,连乘,最值,方差,标准差 1 函数mean(), sum(), min( ...

  4. OpenFOAM——在钝板上分离的层流

    本算例来自<ANSYS Fluid Dynamics Verification Manual>中的VMFL063: Separated Laminar Flow Over a Blunt ...

  5. OpenFOAM——90度T型管

    本算例来自<ANSYS Fluid Dynamics Verification Manual>中的VMFL010: Laminar Flow in a 90° Tee-Junction. ...

  6. 【一起学OpenFOAM】03 OpenFOAM基本使用流程

    OpenFOAM初学者常常对于软件的使用流程感到很迷惑,与其他的具有GUI的CFD软件不同,OpenFOAM的所有操作均为基于文本操作,譬如说里面各种计算模型.计算参数.流程控制参数等,均为通过修改对 ...

  7. openfoam 的安装【转载】

    原文地址: http://blog.sina.com.cn/s/blog_14bf001d10102wifw.html OpenFOAM安装 OpenFOAM基于Linux系统下运行,由于对Linux ...

  8. Deep Residual Learning for Image Recognition(MSRA-深度残差学习)

    转自:http://blog.csdn.net/solomonlangrui/article/details/52455638   ABSTRACT:           神经网络的训练因其层次加深而 ...

  9. ubuntu12.10下OpenFoam的编译

    最近在ubuntu12.10下编译OpenFoam,遇到一些问题,小记一下. 首先到官网下载源码包(我这里下载的是OpenFOAM-2.3.0.tgz,ThirdParty-2.3.0.tgz). 1 ...

随机推荐

  1. SQL 基本概念、通用语法与分类

    一.SQL 概念  1.什么是 SQL Structured  Query Language 结构化查询语句 2.SQL 作用 (1)是一种所有关系型数据库的查询规范,不同的数据库都支持. (2)通用 ...

  2. Matlab相关函数使用

    1.cat:拼接两个数组.

  3. 实战OpenGLES--iOS平台使用OpenGLES渲染YUV图片

    上一篇文章 实战FFmpeg--iOS平台使用FFmpeg将视频文件转换为YUV文件 演示了如何将视频文件转换为yuv文件保存,现在要做的是如何将yuv文件利用OpenGLES渲染展示出图像画面.要将 ...

  4. flask_mail使用

    python3里发送邮件使用smtplib模块,内置得,不用下载安装,直接导入即可 smtplib使用实例 import smtplib from email.mime.text import MIM ...

  5. Python学习日记(十八) 序列化模块

    什么是序列? 就是每一个元素被有序的排成一列 什么是序列化? 就是将原本的列表.字典等内容转化成字符串的过程 什么时候会用到序列化? 数据存储(把数据放在文件.数据库),网络传输等 序列化的目的 1. ...

  6. oracle密码修改保持和以前相同

    需求:密码要求3个月变更一次,不管是不是业务密码,均需修改.对于非业务账号,直接修改即可,没有什么影响,SQL语句为: ALTER USER {user_name} IDENTIFIED BY {ne ...

  7. Redis一主二从Sentinel监控配置

    本文基于Redis单实例安装安装.https://gper.club/articles/7e7e7f7ff7g5egc4g6b 开启哨兵模式,至少需要3个Sentinel实例(奇数个,否则无法选举Le ...

  8. jqGrid行编辑配置,方法,事件

    行编辑可以在行修改后更新数据,如下图所示 用户用鼠标点击选择一行,jqGrid将可编辑的字段转换为数据输入单元,如上面图所示.不可编辑的列,如id,不会转为可输入单元,而是保持不变.可以通过配置col ...

  9. DFS遍历拷贝所有子文件夹及目录列表 (Java版)

    如题 注意,文件夹是不能拷贝的, 需要mkdir的 文件选择合适的流进行拷贝 main测试方法 /** * 主测试类,默认将D:\\base01 下的复制到D:\\base02 * @param ar ...

  10. 《The One!团队》:BETA Scrum metting1

    项目 内容 作业所属课程 所属课程 作业要求 作业要求 团队名称 < The One !> 作业学习目标 (1)掌握软件黑盒测试技术:(2)学会编制软件项目总结PPT.项目验收报告:(3) ...