OpenFOAM是一个开源的计算流体动力学(CFD)软件,其目录结构对于理解和操作该软件至关重要。在南京工业大学殷亮、陈丽萍课题组的风工程研究中,OpenFOAM的基础培训涉及到其核心的目录结构及其作用。 1. **OpenFOAM 主目录**:OpenFOAM的主目录下分为三个主要部分:OpenFOAM项目目录、ThirdParty项目目录以及用户项目目录。OpenFOAM项目目录包含了所有OpenFOAM基金会的源代码、文本等内容,遵循GPL协议。ThirdParty项目目录则包含了所有非OpenFOAM自身的第三方项目,如图形库支持,这些项目随着OpenFOAM功能的扩展而增加。用户项目目录是用户自建的,用于存放个人定制的代码和配置。 2. **OpenFOAM 项目目录**:这个目录包含源代码、可执行程序、编译工具等。`src`子目录下的类库代码会被编译成动态链接库`.so`,`application`子目录下的代码编译成可执行程序。`tutorials`提供示例代码帮助用户学习如何使用OpenFOAM。`bin`包含可执行脚本,`platforms`包含不同编译环境的二进制文件,`Allwmake`是整个项目的编译命令。 3. **wmake 编译工具**:wmake是OpenFOAM自带的高级编译工具,它可以识别OpenFOAM的目录结构和配置文件,提供路径、依赖库路径,集成多种编译器选项,并自动处理文件依赖关系,提高编译效率。 4. **Makefile**:每个目录作为一个独立的项目,Makefile包含了编译设置参数,如`files`指定源代码和目标文件,`options`包含路径和链接库路径。源代码文件通常为`.C`文件,头文件包含声明和定义。 5. **库和可执行文件的编译**:在Makefile中,`LIB`和`EXE`分别表示动态链接库和可执行文件。`LIB_LIBS`和`EXE_LIBS`用于指定链接库路径和库名。 6. **练习项目**:通过建立helloWorld系列项目,我们可以理解如何创建库和调用库中的函数。helloWorldA生成动态链接库,helloWorldB调用A的库,helloWorldC再调用A的库并添加新的功能,最后helloWorldD调用C库来实现更复杂的功能。 7. **etc设置**:`bashrc`文件用于设置项目环境,包括OpenFOAM相关的路径变量和编译参数。`WM_COMPILER`指定了编译器,`WM_PRECISION_OPTION`和`WM_LABEL_SIZE`控制精度和标签大小。此外,还有一些别名和第三方程序的环境变量设定。 8. **基本bash命令**:在shell脚本中,可以使用重定向、变量引用等命令,比如`>`用于重定向输出,`$?`获取命令执行的返回值,`$0`到`$n`代表命令和参数。 通过了解这些基础知识,用户能够更好地管理和使用OpenFOAM进行风工程的计算模拟,例如风资源的评估,风场的模拟等。对于风工程的研究,OpenFOAM提供的强大计算能力和灵活性使得它成为了一个重要的工具。
- 粉丝: 4
- 资源: 19
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 精选毕设项目-音乐播放器带后端.zip
- 精选项目-爱靓女带后台.zip
- 精选项目-城市地图带后端.zip
- 精选项目-巴爷商城带后端.zip
- 精选项目-简易记账带后端.zip
- 精选项目-集思笑话,含Vue.js后端,点赞.zip
- pre_ichat_release_v1.2.191.apk.1
- 基于SpringBoot+Vue的常规应急物资管理系统的设计与实现(代码+数据库+LW)
- 精选项目-看书阅读带后端.zip
- 精选项目-实时巴士带后端.zip
- 精选项目-客家旅运带后端.zip
- 精选项目-喵喵小说.zip
- 精选项目-天气预报带后端.zip
- 精选项目-图片预览带后端.zip
- 精选项目-式神猎手带后端.zip
- 精选项目-写笔记带后端.zip