图像缩略图

一种简单的Matlab有限体积求解器

版本2.1.0.0(951 kB) ehsan.
瞬态对流扩散偏微分方程的一种简单而通用的FVM求解器

10.4k下载

更新2021年6月8日

来自GitHub.

在github上查看许可证

一种简单的有限体积工具
本规范是化学/石油工程师努力开发一种简单工具以解决对流扩散方程的一般形式的结果:
α∂ϕ/∂t+∇.(uñ)+∇.(−D∇ϕ)+βϕ=γ
在一维、一维轴对称(径向)、二维、二维轴对称(圆柱形)和三维域上的简单均匀/非均匀网格上。
代码接受Dirichlet,NeuMann和Robin边界条件(可以通过在边界的整个或部分通过以下等式中改变A,B和C)来实现:
A.∇ν.n+bа=c。
它也接受周期性边界条件。
本代码的主要目的是为那些尝试使用数学模型、在1D中数值求解模型、将其与解析解进行比较、并将其数值代码扩展到2D和3D(在1D代码中修改次数最少)的人提供方便的工具。金宝搏官方网站
离散化方案包括
*中心差异
*对流项的迎风格式
*多通量限制器对流项的TVD格式
要开始,请转到“Test”文件夹并运行测试脚本。
一些微积分函数(散度、梯度等)和平均技术(算术平均、调和平均等)是可用的,它们特别有助于求解非线性或耦合方程或实现显式格式。
我已经使用该代码来解决耦合非线性系统的偏微分方程。您可以在Examples/advanced文件夹中找到其中一些。

“PhysicalProperties”文件夹中有几个函数用于计算流体的物理特性。其中一些不是我的,这是在文件中指定的。

我将尝试定期更新github存储库中的文档。请在我的博客中发表评论,给出您的反馈/问题:<http://fvt.simulkade.com/>
特别感谢:我非常受益于Fipy背后的想法<http://www.clcms.nist.gov/fipy/>,一个基于python的有限体积求解器。

要启动求解器,请下载并提取zip存档,打开和运行'fvtoolstartup'功能。
要在Matlab命令窗口中查看操作中的代码,请复制和粘贴以下内容:

clc;清楚的
L=50;%域长度
Nx=20;%细胞数
m=createMesh3D(Nx,Nx,Nx,L,L);
bc = createbc(m);%所有Neumann边界条件结构
bc.left.a(:) = 0;bc.left.b(:)= 1;bc.left.c(:)= 1;左边界的%dirichlet
BC.right.a(:)=0;BC.right.b(:)=1;BC.right.c(:)=0;%右边界的Dirichlet
D_val=1;%扩散系数的值
D=createCellVariable(m,D_val);%将扩散系数指定给单元
D_面=和声平均值(D);%计算单元表面扩散系数的调和平均值
Mdiff=扩散项(D_面);%扩散项的系数矩阵
[Mbc,RHSbc]=边界条件(BC);%BC的系数矩阵和RHS向量
M=Mdiff+Mbc;%偏微分方程的系数矩阵
c=解算PDE(m,m,RHSbc);%将M和RHS发送到解算器
(c);%将结果可视化

您可以在my youtube频道中找到此代码的一些动画结果:
https://www.youtube.com/user/processsimulation/videos

引用为

Eftekhari,A.A.等人(2015年)。FVTool:用于Matlab的有限体积工具箱。泽诺多。http://doi.org/10.5281/zenodo.32745

MATLAB版本兼容性
使用R2014a创建
兼容任何释放
平台兼容性
窗户 马科斯 Linux
致谢

灵感来自:IAPWS_IF97

社区寻宝

在MATLAB Central中查找宝藏,了解社区如何帮助您!

开始狩猎!

边界

微积分

类/@边界条件

课程/ @ CellVariable

类/ @ CellVector

class/@FaceVariable

类/网格结构

离散化

示例/高级

示例/外部/扩散1D球形\u分析-vs-FVTool-vs-Fipy

示例/外部/注入问题

示例/外部/相位变化焓法

示例/外部/相位变化焓法/功能

示例/外部/稳定解决问题

示例/外部/稳定解决方案安全问题/函数

示例/外部/稳定解决VityProblem/Testcases

示例/教程

野外地质学

啮合

物化性质

物理学

解算器

测验

公用事业

形象化

在此GitHub附加组件中查看或报告问题,访问GitHub存储库.
在此GitHub附加组件中查看或报告问题,访问GitHub存储库.