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 ...
随机推荐
- 【开发笔记】- Linux命令大全
系统信息 arch 显示机器的处理器架构(1) uname -m 显示机器的处理器架构(2) uname -r 显示正在使用的内核版本 dmidecode -q 显示硬件系统部件 - (SMBIOS ...
- React 中的 定义组件的 两种方式
React 中创建 Components 的方式有两种:Function and Class 定义一个组件最简单的方法就是写一个 JavaScript 函数 function Welcome(prop ...
- 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 ...
- ES5_对象 与 继承
1. 对象的定义 //定义对象 function User(){ //在构造方法中定义属性 this.name = '张三'; this.age = 12; //在构造方法中定义方法: this.ru ...
- Android笔记(五十二) 侧滑菜单SlidingMenu
SlidingMenu是一个优秀的开源项目,可以实现侧滑菜单,简单介绍一下这SlidingMenu的使用: 常用属性和方法: setTouchModeAbove(int i )是否可以通过滑动手势打开 ...
- c# IEnumerable集合
- 191010 python3分数划分ABC等级
# 题目:利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,# 60-89分之间的用B表示,60分以下的用C表示. while True: score = input(" ...
- js中绑定事件处理函数,使用event以及传递额外数据
IE8中使用attachEvent绑定事件处理函数时,不能直接向event 对象添加数据属性.可以用属性复制的方法,包装新的event对象. 1. 属性复制var ObjectExtend = fun ...
- python算法与数据结构-选择排序算法(33)
一.选择排序的介绍 选择排序(Selection sort)是一种简单直观的排序算法.首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素, ...
- Oracle数据库使用游标查询结果集所有数据
--Oracle使用游标查询结果集所有数据 DECLARE myTabelName NVARCHAR2():=''; --表名 myTableRowComment NVARCHAR2():=''; - ...