OpenFoam——自定义求解器

这篇具有很好参考价值的文章主要介绍了OpenFoam——自定义求解器。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1、求解器

1.1 复制源码

本案例以icoFoam为例,复制【openFOAM/OpenFOAM-9/applications/solvers/incompressible/icoFoam】文件夹至run文件夹下(我的是【openFOAM/mtl-9/run/solvers/incompressible】)

1.2 修改名称

将文件夹重新命名为【myIconFoam】
修改该目录下的文件名称,为了便于分辨是自己的求解器,在源代码里输出一些内容

1.3 修改files

修改【Make/files】
注意:这里路径要改为【$(FOAM_USER_APPBIN)】,与之前【FOAM_USER_APPBIN】区别

1.4 编译

输入【wmake】

编译成功之后开始使用

2、使用

复制一份cavity案例

blockMesh划分网格

myIcoFoam求解

3、进阶

本案例修改icoFoam求解器,添加温度项。

\[\frac{\partial T}{\partial t} + \bigtriangledown \cdot (UT)-{\bigtriangledown }^2(D_{T}T)=0 \]

3.1 修改源文件

添加以下代码,及上述方程

fvScalarMatrix TEqn
(
    fvm::ddt(T) + fvm::div(phi, T) - fvm::laplacian(DT, T)
);
TEqn.solve();

3.2 修改场文件

新增以下有关温度项的代码

IOdictionary myProperties // 新增一个myProperties项
(
    IOobject
    (
        "myProperties",
        runTime.system(), // 存储在system文件夹下
        mesh,
        IOobject::MUST_READ_IF_MODIFIED,
        IOobject::NO_WRITE
    )
);

dimensionedScalar DT // 定义一个变量DT,从myProperties中获取
(
    "DT",
    myProperties.lookup("DT")
);

Info<< "Reading field T\n" << endl;
volScalarField T // 定义一个变量T
(
    IOobject
    (
        "T",
        runTime.timeName(),
        mesh,
        IOobject::MUST_READ,
        IOobject::AUTO_WRITE
    ),
    mesh
);

3.3 编译

修改完成之后,【wmake】编译

3.4 使用

3.4.1 初始条件

复制p文件至T,改变名称、单位、初始值和边界条件

3.4.2 自定义属性

复制constant里的文件【transportProperties】文件至system,修改名称myProperties

3.4.3 新增离散格式

新增div(phi,T)的离散格式

3.4.4 新增求解项

3.4.5 求解

划分网格:blockMesh

求解:myIcoFoam

完成文章来源地址https://www.toymoban.com/news/detail-481513.html

到了这里,关于OpenFoam——自定义求解器的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 优化求解器 | Gurobi的MVar类:矩阵建模利器、求解对偶问题的备选方案 (附详细案例+代码)

    作者:刘兴禄,清华大学,清华-伯克利深圳学院博士在读 修宇璇,清华大学,清华-伯克利深圳学院博士在读 欢迎关注我们的微信公众号 运小筹 本文涉及到的模型(LP, MIP)均是为了说明问题,即使是MIP,我们也将其当做LP看待。 LP: linear programming , 线性规划; MIP: mixed integer

    2023年04月08日
    浏览(56)
  • python数学建模--线性规划问题案例及求解

    本博客参考: 《python数学实验与建模》 《MATLAB数学建模经典案例实战》 m a x   z = 8 x 1 − 2 x 2 + 3 x 3 − x 4 − 2 x 5 { x 1 + x 2 + x 3 + x 4 + x 5 ≤ 400 x 1 + 2 x 2 + 2 x 3 + x 4 + 6 x 5 ≤ 800 2 x 1 + x 2 + 6 x 3 ≤ 200 x 3 + x 4 + 5 5 ≤ 200 0 ≤ x i ≤ 99 , i = 1 , 2 , 3 , 4 x 5 ≥ − 10 max z=8x_1-2x_2+3x_3-x_

    2023年04月13日
    浏览(44)
  • 【OpenFOAM】-olaFlow-算例1- baseWaveFlume

    算例路径: olaFlowtutorialsbaseWaveFlume 算例描述: 一个基础的二维波浪水槽 学习目标: olaFlow 求解器的造波、消波方法和算例设置 算例快照: 图1 波浪模拟结果 图2 算例网格 文件结构:

    2024年02月02日
    浏览(36)
  • MySQL主从复制案例实现

    使用Sharding-JDBC实现读写分离: 1、导入maven坐标 2、 在配置文件中配置读写分离规则 3、在配置文件中配置允许bean定义覆盖配置项 可以看到已经实现了读写分离了。

    2024年02月03日
    浏览(61)
  • FlinkSQL kafka完整案例 可直接复制使用

    为自己记录一下flinksql 消费kafka json数据 并写入doris的完整案例 用完发现,flinksql 是真的香。 虽然尽量追求完整,但是从kafka造数据开始写,过于累赘因此省略。正文开始。 kafka原始数据 原始数据形式 flinksql 连接 准备连接sql 以下的连接器元数据可以在表定义中通过元数据列

    2024年02月14日
    浏览(40)
  • JavaScript中对象的定义、引用和复制

    JavaScript是一种广泛使用的脚本语言,其设计理念是面向对象的范式。在JavaScript中,对象就是一系列属性的集合,每个属性包含一个名称和一个值。属性的值可以是基本数据类型、对象类型或函数类型,这些类型的值相互之间有着不同的特点。本文将探讨JavaScript中对象的定义

    2024年02月02日
    浏览(34)
  • 考研数二第十四讲 牛顿-莱布尼茨公式与用定义法求解定积分

    牛顿-莱布尼茨公式在微分与积分以及不定积分与定积分之间架起了一座桥梁,因此,这个公式又被称为微积分基本公式。 微积分基本公式的简单推导 在看微积分基本公式之前,我们先来看一个有点特殊的函数,积分上限函数 ψ ( x ) = ∫ x a f ( t ) d t psi (x) =int_{x}^{a}f

    2024年02月08日
    浏览(40)
  • 案例:CentOS8 在 MySQL8.0 实现半同步复制

    异步复制 MySQL 默认的复制即是异步的, 主库在执行完客户端提交的事务后会立即将结果返给给客户端,并不关心从库是否已经接收并处理,这样就会有一个问题, 主节点如果 crash 掉了,此时主节点上已经提交的事务可能并没有传到从库上,如果此时,强行将从提升为主,可

    2024年02月20日
    浏览(37)
  • 前端uni-app自定义精美全端复制文本插件,支持全端文本复制插件 可设置复制按钮颜色

    随着技术的发展,开发的复杂度也越来越高,传统开发方式将一个系统做成了整块应用,经常出现的情况就是一个小小的改动或者一个小功能的增加可能会引起整体逻辑的修改,造成牵一发而动全身。 通过组件化开发,可以有效实现单独开发,单独维护,而且他们之间可以随

    2024年02月16日
    浏览(47)
  • (二十一)大数据实战——Flume数据采集之复制和多路复用案例实战

    本节内容我们完成Flume数据采集的一个多路复用案例,使用三台服务器,一台服务器负责采集本地日志数据,通过使用Replicating ChannelSelector选择器,将采集到的数据分发到另外俩台服务器,一台服务器将数据存储到hdfs,另外一台服务器将数据存储在本机,使用Avro的方式完成

    2024年02月09日
    浏览(47)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包