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)相关推荐

  1. 献给入门小白的MySQL学习笔记+案例

    MySQL学习笔记 目录 MySQL学习笔记 1.SQL概述 1.1:数据库的好处 1.2:数据库管理系统 1.3:SQL语言概述 1.4:SQL语言的分类 2.安装与使用 2.1:MySql数据库产 ...

  2. CSS入门学习笔记+案例(1)

    CSS入门学习 一.CSS简介 1.什么是CSS CSS:Cascading Style Sheet 层叠样式表 是一组样式设置的规则,用于控制页面的外观样式 2.为什么使用CSS 实现内容与样式的分 ...

  3. openFOAM学习笔记(一)—— C++基础

    一.C++基础 很久不用C++,学习openFOAM之前复习一下C和C++相关的基础知识 1.1常用操作符 ++,– 整型变量的自加自减,用法很多.最简单的有i++,i–.运算速度会比i=i+1更快. ...

  4. openFOAM学习笔记(二)—— openFOAM的安装和网络资料汇总

    openFOAM的安装 安装参考了这三篇帖子: http://dyfluid.com/docs/install.html https://blog.csdn.net/u011786352/articl ...

  5. OpenFOAM 学习笔记

    目录 目录 OpenFOAM在Centos7系统集群上OpenMPI并行的配置 1)环境说明 2)建立节点间SSH无密码连接 3)NFS的配置(已安装NFS) (1)管理节点配置 (2)计算节点配置 ...

  6. OpenFOAM学习笔记_01_icoFoam理解

    参考资料: 东岳博文:http://dyfluid.com/icoFoam.html 牛奕博文:http://wap.sciencenet.cn/blog-3410930-1175782.html?m ...

  7. openFOAM学习笔记(三)—— char和string相关的类

    openFOAM中的char和string并不是直接使用C++提供的string,而是进行了一系列的封装,并添加了更多的功能.这里进行一个总结. char类型的更多功能 openFOAM中并没有对ch ...

  8. openFOAM学习笔记(五)——chemFoam的运行过程

    在前面的帖子中已经大概给出了chemFoam主程序的结构,这里给出一个比较全面的总结 首先程序结构如下: 添加头文件//*****************************// int main ...

  9. python空气质量指数计算_Python的学习笔记案例8--空气质量指数计算5.0

    之前都是使用提前准备好的文件来获取数据,时效性很差. 为了更有效.更快地获取并利用网络信息并工作提高效率,出现了网络爬虫. 利用网络爬虫实时获取城市的空气质量指数. 什么是网络爬虫? 自动抓取互联网信 ...

最新文章

  1. objdump查看目标文件构成
  2. cwntos新建目录挂载磁盘_centos挂载磁盘及扩展根目录
  3. sql update 日期减6个月_【干货】SQL基础快速入门
  4. 数字化营销关键点:如何做好深度内容策略
  5. access开发精要(9)-排序
  6. Android中列表动态删除item,如何删除Android ExpandableListView中某个group item的child item?...
  7. 816固件a2可以升a1吗_你好,我是A2的证我在15年出的交通事故为什么不能学B2呢-免费法律咨询...
  8. java sort方法_Java排序方法sort用法详解
  9. 如何使用UDP进行跨网段广播
  10. git 本地代码到远程库
  11. 3D打印机DIY之六------G代码命令
  12. 计算机教学管理,计算机教育教学管理论文
  13. 明年英特尔将推出最新Skylake Xeon芯片
  14. H3C 物联网路由器4G配置
  15. 数学建模——统计回归模型
  16. 从博士生论文选题看威客理论研究最新进展
  17. 云队友丨钱只能分给,努力能改变结果的人
  18. 浅谈游戏业务遭遇攻击的防护措施
  19. Qt android 打印调试
  20. JAVA集合详解(附完整代码)

热门文章

  1. vue组件中prop属性
  2. odroid-xu4(ubuntu mate 16.04)源码编译opencv 3.2
  3. 为Linux内核text段计算SHA1摘要以检测篡改
  4. Room 使用及初步分析
  5. 蚂蚁金服首席架构师:区块链技术如何促进数字普惠金融
  6. 线程和进程总结(无坑版)
  7. 自主招生计算机专业自我介绍,自主招生自我介绍范文【自主招生个人论述范文】...
  8. 这个Excel函数,推荐所有人学习!HR都说必须会
  9. 谷歌浏览器chrome 语言设置为英文
  10. linux6 下dns配置,RHEL6中DNS配置