OpenFOAM学习笔记 案例1之Cavity(1)
OpenFOAM照比商业软件如Fluent Star-CCM 较难,是因为其操作需要较高的编程能力。而我不具备这种能力,只能通过一个一个的案例来学习,也希望对其他OpenFOAM新手提供一些帮助。
在OpenFOAM 的用户手册中,第一个案例就是Cavity,翻译过来就是腔。
对于像我一样的初学者来说,可以下载 一份openfoam用户指南中文翻译版(由各位大神翻译的),这可以帮助英文水平并不高的我们节约很多时间。
那么让我们开始第一个算例吧。
首先需要将你的案例文件拷贝到你的本地文件夹上,你可以在终端这样执行
mkdir -p $FOAM_RUN
cp -r $FOAM_TUTORIALS $FOAM-RUN
之后的操作都在你自己的用户目录下。
你可以通过 ls 命令来查看cavity文件夹下的目录
huiyuqiao@huiyuqiao-VirtualBox:~/OpenFOAM/huiyuqiao-9/run/cavity$ ls
0 constant system
有三个文件夹, 0 , constant , system .
简单介绍这三个文件夹
0文件是这个算例的初始场信息,也是0时刻的状态。
0文件下有 P文件 U文件 两个文件
使用cat命令打开P文件
uiyuqiao@huiyuqiao-VirtualBox:~/OpenFOAM/huiyuqiao-9/run/cavity/0$ cat p
/*--------------------------------*- C++ -*----------------------------------*\========= |\\ / F ield | OpenFOAM: The Open Source CFD Toolbox\\ / O peration | Website: https://openfoam.org\\ / A nd | Version: 9\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{format ascii;class volScalarField;object p;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //dimensions [0 2 -2 0 0 0 0];internalField uniform 0;boundaryField
{movingWall{type zeroGradient;}fixedWalls{type zeroGradient;}frontAndBack{type empty;}
}// ************************************************************************* //
P场文件中有3个主要信息
dimensions 是场的单位
internalField 是内部场
boundaryField 是边界场信息
再使用cat打开U场文件
huiyuqiao@huiyuqiao-VirtualBox:~/OpenFOAM/huiyuqiao-9/run/cavity/0$ cat U
/*--------------------------------*- C++ -*----------------------------------*\========= |\\ / F ield | OpenFOAM: The Open Source CFD Toolbox\\ / O peration | Website: https://openfoam.org\\ / A nd | Version: 9\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{format ascii;class volVectorField;object U;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //dimensions [0 1 -1 0 0 0 0];internalField uniform (0 0 0);boundaryField
{movingWall{type fixedValue;value uniform (1 0 0);}fixedWalls{type noSlip;}frontAndBack{type empty;}
}// ************************************************************************* //
其中表达的信息如上
huiyuqiao@huiyuqiao-VirtualBox:~/OpenFOAM/huiyuqiao-9/run/cavity/constant$ ls
polyMesh transportProperties
constant文件下有两个文件,使用cat打开transportProperties
huiyuqiao@huiyuqiao-VirtualBox:~/OpenFOAM/huiyuqiao-9/run/cavity/constant$ cat transportProperties
/*--------------------------------*- C++ -*----------------------------------*\========= |\\ / F ield | OpenFOAM: The Open Source CFD Toolbox\\ / O peration | Website: https://openfoam.org\\ / A nd | Version: 9\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{format ascii;class dictionary;location "constant";object transportProperties;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //nu [0 2 -1 0 0 0 0] 0.01;// ************************************************************************* //
这是运动粘度场的信息。
system 文件下有四个文件夹
uiyuqiao@huiyuqiao-VirtualBox:~/OpenFOAM/huiyuqiao-9/run/cavity/system$ ls
blockMeshDict controlDict fvSchemes fvSolution
使用cat命令打开blockMeshDict
huiyuqiao@huiyuqiao-VirtualBox:~/OpenFOAM/huiyuqiao-9/run/cavity/system$ cat blockMeshDict
/*--------------------------------*- C++ -*----------------------------------*\========= |\\ / F ield | OpenFOAM: The Open Source CFD Toolbox\\ / O peration | Website: https://openfoam.org\\ / A nd | Version: 9\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{format ascii;class dictionary;object blockMeshDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //convertToMeters 0.1;vertices
((0 0 0)(1 0 0)(1 1 0)(0 1 0)(0 0 0.1)(1 0 0.1)(1 1 0.1)(0 1 0.1)
);blocks
(hex (0 1 2 3 4 5 6 7) (20 20 1) simpleGrading (1 1 1)
);edges
(
);boundary
(movingWall{type wall;faces((3 7 6 2));}fixedWalls{type wall;faces((0 4 7 3)(2 6 5 1)(1 5 4 0));}frontAndBack{type empty;faces((0 3 2 1)(4 5 6 7));}
);mergePatchPairs
(
);// ************************************************************************* //
可以看到其几何信息、分块信息和划分网格信息。
使用cat命令打开controlDict
huiyuqiao@huiyuqiao-VirtualBox:~/OpenFOAM/huiyuqiao-9/run/cavity/system$ cat controlDict
/*--------------------------------*- C++ -*----------------------------------*\========= |\\ / F ield | OpenFOAM: The Open Source CFD Toolbox\\ / O peration | Website: https://openfoam.org\\ / A nd | Version: 9\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{format ascii;class dictionary;location "system";object controlDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //application icoFoam;startFrom startTime;startTime 0;stopAt endTime;endTime 0.5;deltaT 0.005;writeControl timeStep;writeInterval 20;purgeWrite 0;writeFormat ascii;writePrecision 6;writeCompression off;timeFormat general;timePrecision 6;runTimeModifiable true;// ************************************************************************* //
这是控制文件,控制文件储存了起始时间、终止时间、步长等控制信息。
其他两个文件fvScheme和fvSolution分别是离散格式和矩阵求解器,我也不懂,反正不动它就对啦。
当了解完这些基本的信息之后,我们可以开始进行算例的计算了。
如何进行计算,在帮助文件中有完整的步骤,在此不一一赘述,我将在下面列举我用到的命令,既是为自己积累,也是希望帮助到他人。
ls $显示目录下的文件$
cd $目录切换$
cat $阅读文件$
cd ../ $切换到上级目录$
mkdir $新建文件$
cp $复制文件$
blockMesh $绘制网格$
nano $编写文本$
sudo nano $输用户密码编写文本$
icoFoam $利用icoFoam计算$
paraFoam $使用paraview看Foam$
mapFields../cavity -consistent $投影结果$
icoFoam>log& $以后台方式来运行icoFoam 查看结果$
cat log
OpenFOAM学习笔记 案例1之Cavity(1)相关推荐
- 献给入门小白的MySQL学习笔记+案例
MySQL学习笔记 目录 MySQL学习笔记 1.SQL概述 1.1:数据库的好处 1.2:数据库管理系统 1.3:SQL语言概述 1.4:SQL语言的分类 2.安装与使用 2.1:MySql数据库产 ...
- CSS入门学习笔记+案例(1)
CSS入门学习 一.CSS简介 1.什么是CSS CSS:Cascading Style Sheet 层叠样式表 是一组样式设置的规则,用于控制页面的外观样式 2.为什么使用CSS 实现内容与样式的分 ...
- openFOAM学习笔记(一)—— C++基础
一.C++基础 很久不用C++,学习openFOAM之前复习一下C和C++相关的基础知识 1.1常用操作符 ++,– 整型变量的自加自减,用法很多.最简单的有i++,i–.运算速度会比i=i+1更快. ...
- openFOAM学习笔记(二)—— openFOAM的安装和网络资料汇总
openFOAM的安装 安装参考了这三篇帖子: http://dyfluid.com/docs/install.html https://blog.csdn.net/u011786352/articl ...
- OpenFOAM 学习笔记
目录 目录 OpenFOAM在Centos7系统集群上OpenMPI并行的配置 1)环境说明 2)建立节点间SSH无密码连接 3)NFS的配置(已安装NFS) (1)管理节点配置 (2)计算节点配置 ...
- OpenFOAM学习笔记_01_icoFoam理解
参考资料: 东岳博文:http://dyfluid.com/icoFoam.html 牛奕博文:http://wap.sciencenet.cn/blog-3410930-1175782.html?m ...
- openFOAM学习笔记(三)—— char和string相关的类
openFOAM中的char和string并不是直接使用C++提供的string,而是进行了一系列的封装,并添加了更多的功能.这里进行一个总结. char类型的更多功能 openFOAM中并没有对ch ...
- openFOAM学习笔记(五)——chemFoam的运行过程
在前面的帖子中已经大概给出了chemFoam主程序的结构,这里给出一个比较全面的总结 首先程序结构如下: 添加头文件//*****************************// int main ...
- python空气质量指数计算_Python的学习笔记案例8--空气质量指数计算5.0
之前都是使用提前准备好的文件来获取数据,时效性很差. 为了更有效.更快地获取并利用网络信息并工作提高效率,出现了网络爬虫. 利用网络爬虫实时获取城市的空气质量指数. 什么是网络爬虫? 自动抓取互联网信 ...
最新文章
- objdump查看目标文件构成
- cwntos新建目录挂载磁盘_centos挂载磁盘及扩展根目录
- sql update 日期减6个月_【干货】SQL基础快速入门
- 数字化营销关键点:如何做好深度内容策略
- access开发精要(9)-排序
- Android中列表动态删除item,如何删除Android ExpandableListView中某个group item的child item?...
- 816固件a2可以升a1吗_你好,我是A2的证我在15年出的交通事故为什么不能学B2呢-免费法律咨询...
- java sort方法_Java排序方法sort用法详解
- 如何使用UDP进行跨网段广播
- git 本地代码到远程库
- 3D打印机DIY之六------G代码命令
- 计算机教学管理,计算机教育教学管理论文
- 明年英特尔将推出最新Skylake Xeon芯片
- H3C 物联网路由器4G配置
- 数学建模——统计回归模型
- 从博士生论文选题看威客理论研究最新进展
- 云队友丨钱只能分给,努力能改变结果的人
- 浅谈游戏业务遭遇攻击的防护措施
- Qt android 打印调试
- JAVA集合详解(附完整代码)
热门文章
- vue组件中prop属性
- odroid-xu4(ubuntu mate 16.04)源码编译opencv 3.2
- 为Linux内核text段计算SHA1摘要以检测篡改
- Room 使用及初步分析
- 蚂蚁金服首席架构师:区块链技术如何促进数字普惠金融
- 线程和进程总结(无坑版)
- 自主招生计算机专业自我介绍,自主招生自我介绍范文【自主招生个人论述范文】...
- 这个Excel函数,推荐所有人学习!HR都说必须会
- 谷歌浏览器chrome 语言设置为英文
- linux6 下dns配置,RHEL6中DNS配置