首页 > 其他分享 >OFtutorial00_helloWorld解析

OFtutorial00_helloWorld解析

时间:2024-08-08 17:07:10浏览次数:15  
标签:fvCFD SRC EXE 头文件 包含 Foam helloWorld OFtutorial00 解析

组成

如图

OFtutorial0.C

fvCFD.H

在OpenFOAM中,所有代码都以注释段开头,使用有限体积的 CFD 类型文件都包括头文件fvCFD.H,该文件包含类或函数的定义,函数的内容会在运行时以动态形式调用。

fvCFD.H中,为了避免被多次引用,定义了如下宏变量

# ifndef fvCFD_H
# define fvCFD_H
……
#endif

当头文件已经引用过后,ifndef判断返回 0,此时文件内直到#endif命令之间内容全部不会被再次引用。
其中

#ifndef namespaceFoam
#define namespaceFoam
    using namespace Foam;
#endif

定义了命令空间 Foam,在包含的库中所有的函数声明都属于命令空间 Foam,因此在调用库函数时必须使用。

setRootCase.H

作用

  1. 检查基本的文件夹结构,确定有control dict等文件存在
  2. 处理parsing command line arguments and options
  3. 通过外部程序运行,位于$FOAM_SRC/OpenFOAM/include

Make

组成

files

OFtutorial0.C#指定源文件
EXE = $(FOAM_USER_APPBIN)/ofTutorial0#指定生成的可执行文件存放的位置

options

#EXE_INC用于指定编译器在查找头文件时该搜索的目录,包含了-I选项
EXE_INC = \
    -I$(LIB_SRC)/finiteVolume/lnInclude \#该目录包含了finiteVolume库所需的头文件
    -I$(LIB_SRC)/meshTools/lnInclude#该目录包含了meshTools库所需的头文件
#EXE_LIBS用于指定链接器在生成可执行文件或库时应该链接的库(通常会去掉前缀lib和后缀.so),包含了-l选项
EXE_LIBS = \
    -lfiniteVolume \
    -lmeshTools

Allwmake


仅含编译命令

Allwclean


仅含解构命令

testcase

标签:fvCFD,SRC,EXE,头文件,包含,Foam,helloWorld,OFtutorial00,解析
From: https://www.cnblogs.com/ouqiyo/p/18349320

相关文章

  • 【第九节】python中xml解析和json编解码
    目录一、PythonXML解析1.1什么是XML1.2Python对XML的解析方法1.3SAX解析xml1.4xml.dom解析xml1.6ElementTree解析XML二、Python编解码json2.1什么是json2.2使用json库2.3使用第三方库Demjson一、PythonXML解析1.1什么是XML        XML,......
  • 工程项目综合管理系统解析:哪一款适合你的企业?
    国内外主流的10款工程项目综合管理系统对比:PingCode、Worktile、广联达、明源云、中望软件、OraclePrimavera、Asana、Wrike、ZohoProjects、Basecamp。在处理复杂的工程项目时,选择合适的综合管理系统可能是一个令人头痛的问题。项目延误、成本超支和资源管理不当等问题常常......
  • FreeRTOS-空闲任务prvIdleTask()函数解析
    目录prvIdleTask()函数prvCheckTasksWaitingTermination()函数prvGetExpectedIdleTime()函数以下源码为FreeRTOSv9.0.0版本,不同版本源码可能会有所区别,但实现的逻辑差不多。需要空闲任务的原因:处理器总是需要代码来执行——所以至少要有一个任务处于运行态。为了保证这一点,当......
  • 中国证券市场深度解析:政策、机遇与挑战并存!
    一、行业简述(一)行业概念证券市场,作为现代金融体系的核心组成部分,是指进行证券发行和交易的场所。在中国,证券市场主要由股票市场、债券市场、基金市场等子市场构成。证券市场为投资者提供了多样化的投资选择,同时也为企业提供了筹集资金的重要渠道。(二)行业特点   多元化......
  • MySQL线上查询性能调优:深入解析与实战策略
    MySQL线上查询性能调优:深入解析与实战策略在数据库管理的日常工作中,确保MySQL线上查询的高效执行是至关重要的。随着数据量的不断增长和查询复杂度的提升,性能调优成为了数据库管理员(DBA)和开发人员必须掌握的技能。本文将从多个维度深入解析MySQL线上查询性能调优的策略和技......
  • Robot Operating System——深度解析单线程执行器(SingleThreadedExecutor)执行逻辑
    大纲创建SingleThreadedExecutor新增Nodeadd_nodetrigger_entity_recollectcollect_entities自旋等待get_next_executablewait_for_workget_next_ready_executableTimerSubscriptionServiceClientWaitableAnyExecutableexecute_any_executable参考资料在ROS2中,我......
  • 依赖注入(DI)的本质与实践解析
    本文由ChatMoney团队出品在软件开发中,依赖注入是一种常用的设计模式,它允许我们将类的依赖关系通过构造器或其他方式自动注入。这种模式在控制器架构中尤为常见,它使得类的依赖关系更加灵活和可管理。一、依赖注入的基本概念依赖注入的核心思想是将类的依赖关系从类内部转移到......
  • 解析依赖注入(DI)的本质
    本文由ChatMoney团队出品在软件开发中,依赖注入是一种常用的设计模式,它允许我们将类的依赖关系通过构造器或其他方式自动注入。这种模式在控制器架构中尤为常见,它使得类的依赖关系更加灵活和可管理。一、依赖注入的基本概念依赖注入的核心思想是将类的依赖关系从类内部转移到......
  • 第十五届蓝桥杯大赛青少组——赛前解析(算法)
    算法:进制转换、模拟算法,枚举算法,冒泡排序,插入排序,选择排序,递推算法,递归算法,贪心算法。1.进制转换二进制:只包含0和1八进制:只包含0-7十进制:只包含0-9十六进制:只包含0-9和‘A’-‘F’十进制转二进制、八进制、十六进制十进制数a=5二进制b=bin(a);八进制c=oct(a);十六进......
  • C语言菜鸟入门·数据结构·链表超详细解析
     目录1. 单链表1.1 什么是单链表1.1.1  不带头节点的单链表1.1.2 带头结点的单链表1.2 单链表的插入1.2.1 按位序插入(1)带头结点(2)不带头结点1.2.2 指定结点的后插操作1.2.3 指定结点的前插操作1.3 单链表的删除1.3.1 按位序删除1.3.2 指......