openfoam讲座高级篇殷亮.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
具有基本的矩阵代数 M+M S*M 低松弛因子 矩阵矢量乘 矩阵结构的识别和求解器的选择 只有对角线 对称性矩阵 非对称性矩阵 2、线性方程求解器 继承于lduMatrix::solver 实施了迭代求解器 ICCG Bi-CG AMG 通过C指针优化 并行化通过lduCoupledInterface类,升级矩阵矢量乘 3、有限体积矩阵 对矢量和张量采用分离求解 储存b 处理边界条件 实施FV相关的操作 H() 4、偏微分方程表达 高层机制 网格代表空间 时间代表进展和迭代 带有单位和边界条件的几何场 微积分类 矩阵支持、储存及吸收处理 线性方程求解器 方法类,转化算子为矩阵 处理方程 方程离散现在能通过算子的复合操作 最终体现为对矩阵的贡献 单位检查,单元离散,网格支持,并行化都在底层完成,与方程看似无关 离散受表控制 如此,其能解决一大类计算力学问题。 5、物理模型 当前的机理足够写出复杂的物理模型 但不方便,如湍流模型等使流动求解器复杂化 模型可实时选择 不是写大通用的湍流问题可执行程序 而是要分装这些模型 1、方程表达 2、物理模型相互作用 数值模拟软件的复杂性多数在于模型与模型的相互作用 如:动量方程和湍流模型 动量方程需要雷诺应力和湍流粘度 湍流方程需要速度场合应力信息 湍流不同,结果不同 还有如非牛顿粘性模型,矩阵的相互作用等 1、OpenFOAM介绍 OpenFOAM:面向对象的计算力学数值模拟库 对偏微分方程算子实施有限体积离散(积分形式) 故最多处理二阶方程(传递方程适用) 使用非结构化网格(但精度与网格相关性较大) 以类封装的形式提供离散和数值算法(最大优点) 有效的进行大规模并行化计算,并且在很多平台可以移植和调试(底层并行化实施) 同时提供: 自动网格运动 网格拓扑改变:体单元的层化,滑动界面(ggi)及其它 拉格朗日粒子追踪及喷射 有限元离散及有限面积离散(ext版本) 工具类库:ODE求解器、热物理属性、CHEMKIN界面 OpenFOAM是什么 1.1、OpenFOAM历史 上世纪90年代掀起的C++及面向对象编程(主要解决软件危机) OpenFOAM与英国帝国大学Gosman?的小组和热流体分部相关联(Spalding、帕坦卡S.V.Patankar的研究相关,PHOENICS与STAR-CD-非结构网格) 初始类来自于Charlie Hill (1993)的博士论文 数值工作来自于1993年Henry Weller和Hrvoje Jasak(两个版本) 1、 OpenFOAM背景 2.开发与应用 OpenFOAM 的PhD项目包括:数值分析、误差估计、网格自适应、RANS、LES湍流模型、自由液面、多相流等等 材料力学:非线性结构分析(如何分量解耦)、接触弹塑性、流固耦合 在Chalmers大学的Diesel喷射模型 瑞士军方应用(水动力) 多所大学贡献:Imperial College: Poly Milano, Chalmers University, University of Zagreb, Croatia, University College Dublin, Kings College London等 在cfd-online上其活跃程度与FLUENT相当 3、版本发展 在2000年,FOAM作为Nabla公司的商业版本 与Fluent公司进行策略合作:为下一代CFD软件进行软件设计( Hrvoje Jasak) 自2002年提供了大学免费版本 满足复杂要求的高端客户 在2004年10月提供公共域版本支持 4、 OpenFOAM和C++ OpenFOAM基于坚实而彻底的C++开发 OpenFOAM实施要早于C++的稳定版本的推出,故其并未用标准库,但其类库也随语言而进化 其核心代码不断的重写或提炼:清除冗余代码、使用新的语言知识和程序理念 其代表了在面向对象、模块化、代码重用方面的经典案例,值得研读。 5、 OpenFOAM完成了以下的创新 多面体网格支持 新的自由液面算法 Halo-free并行化(无ghost) 自动多面体(任意)网格求解器 新方法进行拓扑网格变化 通过实时选择表进行用户定制 1.2设计理念 用户修改要预先定义 模型与模型作用的矩阵过于复杂 难于开发、维护及支持 缺少支持层:不同相关性的代码混合在一起难以区分 开发与维护需要大的团队 即使小的改变也需要专业的知识 化很长时间才能变得专业 封闭的框架,对用户而言存在代码重用性问题 单一的开发使得需要单一的测试 1.曾经主流的设计特点 有利于新模型的实现 无介入的分层开发 便利的代码重用及模块化 能应用于超出流体流动的更多应用 在不改变已有组件的条件下实现代码

文档评论(0)

kfcel5889 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档