本文主要讲解两种方法用来显示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. 【开发笔记】- Linux命令大全

    系统信息  arch 显示机器的处理器架构(1) uname -m 显示机器的处理器架构(2) uname -r 显示正在使用的内核版本 dmidecode -q 显示硬件系统部件 - (SMBIOS ...

  2. React 中的 定义组件的 两种方式

    React 中创建 Components 的方式有两种:Function and Class 定义一个组件最简单的方法就是写一个 JavaScript 函数 function Welcome(prop ...

  3. Duplicate zip entry [com/umeng/analytics/a.class==analytics-5.5.3.jar:com/umeng/analytics/AnalyticsConfig.class

    项目中需要用到Umeng统计分析,按照官网上的步骤做混淆后,在签名时报下面的错误: Error:java.io.IOException:Can't read [/.gradle/caches/modu ...

  4. ES5_对象 与 继承

    1. 对象的定义 //定义对象 function User(){ //在构造方法中定义属性 this.name = '张三'; this.age = 12; //在构造方法中定义方法: this.ru ...

  5. Android笔记(五十二) 侧滑菜单SlidingMenu

    SlidingMenu是一个优秀的开源项目,可以实现侧滑菜单,简单介绍一下这SlidingMenu的使用: 常用属性和方法: setTouchModeAbove(int i )是否可以通过滑动手势打开 ...

  6. c# IEnumerable集合

  7. 191010 python3分数划分ABC等级

    # 题目:利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,# 60-89分之间的用B表示,60分以下的用C表示. while True: score = input(" ...

  8. js中绑定事件处理函数,使用event以及传递额外数据

    IE8中使用attachEvent绑定事件处理函数时,不能直接向event 对象添加数据属性.可以用属性复制的方法,包装新的event对象. 1. 属性复制var ObjectExtend = fun ...

  9. python算法与数据结构-选择排序算法(33)

    一.选择排序的介绍 选择排序(Selection sort)是一种简单直观的排序算法.首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素, ...

  10. Oracle数据库使用游标查询结果集所有数据

    --Oracle使用游标查询结果集所有数据 DECLARE myTabelName NVARCHAR2():=''; --表名 myTableRowComment NVARCHAR2():=''; - ...