OpenFOAM实用手册
1. 如何获得帮助
2. 经验教训
2.1 哲学
2.2 通过使用学习
2.3 通过修补OpenFOAM进行学习
2.3.1 我今天学到了一些东西
2.3.2 代码有问题吗?
3. 安装OpenFOAM
3.1 先决条件
3.2 下载来源
4. 更新OpenFOAM仓库版本
4.1 版本管理
4.2 检查更新
4.3 仅检查更新
4.4 安装更新
4.4.1 工作流程
4.4.2 问题排查
4.5 更新问题
4.5.1 缺少安装包
4.5.2 库的更新
4.5.3 更新的源无法编译
4.5.4 自有代码无法运行
5. OpenFOAM-6源安装更新方法
5.1 动机
5.2 使OpenFOAM-6的源码能够被更新
5.3 重新编译源包
6. 维护OpenFOAM的安装
6.1 应对操作系统更新
6.2 应对操作系统升级
7. 第三方软件安装
7.1 安装pyFoam
7.2 安装 swak4foam
7.3 编译外部函数库
8. 搭建环境
8.1 初始化(source)OpenFOAM
8.1.1 永久初始化(source)OpenFOAM
8.1.2 按需初始化(source)OpenFOAM
9. 单位和维度
9.1 单位检查
9.1.1 关于基础单位的一条重要提示
9.1.2 单位输入语法
9.1.3 单位编程语法
9.2 维度
9.2.1 维度检查
9.3 运动黏度 vs. 动力黏度
9.4 误区:OpenFOAM中的压强
9.4.1 不可压缩
9.4.2 可压缩
9.4.3 误区:不可压缩多相流问题中的压强
10. 文件和目录
10.1 必需的文件目录
10.2 补充目录
10.2.1 处理器
10.2.2 函数
10.2.3 数据组
10.3 系统目录文件
10.3.1 主文件
10.3.2 附加文件
11. 控制OpenFOAM
11.1 施加控制的手段
11.1.1 变量
11.1.2 字典
11.1.3 命令行参数
11.2 字典的语法
11.2.1 关键词--香蕉测试
11.2.2 必须的和可选的设置
11.2.3 陷阱:分号(;)
11.2.4 开关
11.3 controlDict
11.3.1 时间控制
11.3.2 数据写入
11.3.3 加载附加库
11.3.4 函数
11.3.5 外包一个字典
11.3.6 陷阱
11.4 字典的运行时间修改
11.5 fvSolution字典
11.5.1 解算器控制
11.5.2 解算方法控制
11.6 命令行参数
11.6.1 获取帮助。-help
11.6.2 获得控制:-dict
本文档由OpenFOAM公众号整理制作
-
+
首页
11.3.5 外包一个字典
#### 11.3.5 外包一个字典 有些定义可以外包在一个单独的字典中,例如,探测功能对象的定义。 **全包** 在这种情况下,探针被完全定义在 controlDict 中。 ``` functions { probes1 { type probes ; functionObjectLibs (" libsampling . so ") ; fields ( p U ); outputControl outputTime ; outputInterval 0.01; probeLocations ( (0.5 0.5 0.05) ); } } ``` 清单44: controlDict中探针的定义 **单独的probesDict** 在这种情况下,探针的定义是在一个单独的文件中完成的-probesDict。在controlDict中,这个字典的名字被分配给关键词字典。这个字典必须位于案例的系统目录下。不需要把这个字典的路径指定给这个关键词。 ``` functions { probes1 { type probes ; functionObjectLibs (" libsampling . so ") ; dictionary probesDict ; } } ``` 清单45:探针的外部定义;ControlDict中的条目 ``` fields ( p U ); outputControl outputTime ; outputInterval 0.01; probeLocations ( (20.5 0.5 0.05) ); ``` 清单46:文件probesDict中的探针定义 **全部外部引入** 也有可能将functionObject的整个定义移到一个单独的文件中。在这种情况下,会使用#include这个宏。这个宏类似于C++中的预处理器宏。 ``` functions { # include " cuttingPlane " } ``` 清单47:完全外部定义的functionObject;controllDict中的条目 ``` cuttingPlane { type surfaces ; functionObjectLibs (" libsampling . so ") ; outputControl outputTime ; surfaceFormat raw ; fields ( alpha1 ); interpolationScheme cellPoint ; surfaces ( yNormal { type cuttingPlane ; planeType pointAndNormal ; pointAndNormalDict { basePoint (0 0.1 0) ; normalVector (0 1 0) ; } interpolate true ; } ); } ``` 清单48:在一个单独的名为cuttingPlane的文件中定义一个cuttingPlane函数对象
poplee
2024年11月4日 15:57
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
分享
链接
类型
密码
更新密码