OpenFOAM显示残差
本文主要讲解两种方法用来显示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显示残差的更多相关文章
- 数据分析与R语言
数据结构 创建向量和矩阵 函数c(), length(), mode(), rbind(), cbind() 求平均值,和,连乘,最值,方差,标准差 函数mean(), sum(), min(), m ...
- Matlab小波工具箱的使用2
Matlab小波工具箱的使用2 (2011-11-11 09:32:57) 转载▼ http://blog.sina.com.cn/s/blog_6163bdeb0102dw7a.html#cmt_5 ...
- 数据分析,R语言
数据结构 创建向量和矩阵 1 函数c(), length(), mode(), rbind(), cbind() 求平均值,和,连乘,最值,方差,标准差 1 函数mean(), sum(), min( ...
- OpenFOAM——在钝板上分离的层流
本算例来自<ANSYS Fluid Dynamics Verification Manual>中的VMFL063: Separated Laminar Flow Over a Blunt ...
- OpenFOAM——90度T型管
本算例来自<ANSYS Fluid Dynamics Verification Manual>中的VMFL010: Laminar Flow in a 90° Tee-Junction. ...
- 【一起学OpenFOAM】03 OpenFOAM基本使用流程
OpenFOAM初学者常常对于软件的使用流程感到很迷惑,与其他的具有GUI的CFD软件不同,OpenFOAM的所有操作均为基于文本操作,譬如说里面各种计算模型.计算参数.流程控制参数等,均为通过修改对 ...
- openfoam 的安装【转载】
原文地址: http://blog.sina.com.cn/s/blog_14bf001d10102wifw.html OpenFOAM安装 OpenFOAM基于Linux系统下运行,由于对Linux ...
- Deep Residual Learning for Image Recognition(MSRA-深度残差学习)
转自:http://blog.csdn.net/solomonlangrui/article/details/52455638 ABSTRACT: 神经网络的训练因其层次加深而 ...
- ubuntu12.10下OpenFoam的编译
最近在ubuntu12.10下编译OpenFoam,遇到一些问题,小记一下. 首先到官网下载源码包(我这里下载的是OpenFOAM-2.3.0.tgz,ThirdParty-2.3.0.tgz). 1 ...
随机推荐
- js --策略模式
策略模式的定义: 将算法一个个的单独进行封装,并且使他们可以相互替换.此模式让算法的变化不会影响到使用算法的客户. 先回顾一下,我们在做项目的过程中,是不是经常会遇见因为业务逻辑的关系,我们会写好多的 ...
- JavaScript 继承 封装 多态实现及原理详解
面向对象的三大特性 封装 所谓封装,也就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏.封装是面向对象的特征之一,是对象和类概念的主要特性. ...
- UCOSIII软件定时器
API函数 //创建 void OSTmrCreate (OS_TMR *p_tmr, CPU_CHAR *p_name, OS_TICK dly, OS_TICK period, OS_OPT op ...
- Linux下系统调用的组成与实现
主要包括三个部分:(1)唯一的系统调用号(System Call Number):(2)系统调用表中相应的表项,即具体的函数地址:(3)对应的具体函数,即系统调用函数体. 以getpid()POSIX ...
- 代替for-in 遍历对象
object.keys() object.getOwnPropertyName()
- hash文件-对文件进行数字签名
(一)windows自带hash命令: certutil -hashfile D:\1.exe MD5 # md5的hash值为32位certutil -hashfile ...
- 用PL/SQL工具连接Oracle数据库的时报错:ORA-12638: 身份证明检索失败的解决方法
本地客户端用PLSQL Developer连接远程数据库时提示: ORA-12638: 身份证明检索失败!!! 解决方法一: 此目录下F:\myorcl\product\11.2.0\client_1 ...
- c# Stack 类
- tengine编译安装及nginx高并发内核参数优化
Tengine Tengine介绍 Tengine是由淘宝网发起的Web服务器项目.它在Nginx的基础上,针对大访问量网站的需求,添加了很多高级功能和特性. Tengine的性能和稳定性已经在大型的 ...
- [daily] ssh通过私钥导出公钥
在使用key方式登录ssh服务的时候,我们知道ssh key是使用公钥ssh-keygen工具生成的. 有时候,我们只保存了私钥,但是并没有保存公钥.这个时候,可以使用如下方法, 从私钥中将公钥导 ...