一个简单的有限体积为Matlab求解程序

版本2.1.1.0(1010 KB)
一个简单而通用的有限体积法求解瞬态对流扩散PDE

11.5 k下载

更新2023年3月1

从GitHub

查看许可GitHub

FVTool:有限体积为Matlab工具箱

查看一个简单的有限体积为Matlab求解文件交换

小文件

FVTool:

Python:PyFVTool
茱莉亚:JFVM.jl

FVTool

这是一个有限体积(玩具)工具箱化工/石油工程师。现在,它可以解决瞬态速度场对俩散方程变量/扩散系数。离散化方案包括:

  • 中心差分扩散项
  • 中心差分对流项
  • 逆风对流项
  • TVD对流项各种通量限制器
  • 瞬态项
  • 狄利克雷,诺伊曼,罗宾和周期性边界条件

扩散pde

你解决这些方程?

可以解决以下PDE(或它的一个子集):
平流扩散

用下面的边界条件:
边界条件

不管你相不相信,上面的方程描述的大多数运输在化学和石油工程及类似领域的现象。

如何开始

下载包,开始matlab,跑了FVToolStartUp

灵感

玩后,我开始写这个工具FiPy,一个了不起的面向有限体积的能手。这个matlab解决不是克隆,事实上FiPy相比非常有限。我写的一个非常方便的工具,测试新想法(新的数学模型)通过求解一维均匀的笛卡尔网格。然后我扩展的代码

  • 一维轴对称(径向)
  • 二维径向(r,θ)
  • 二维笛卡尔
  • 三维笛卡尔
  • 二维轴对称(圆柱,r, z)
  • 三维圆柱(r,θ,z)

我有超载的一些matlab运营商简化开关1 d条码2 d和3 d。

一个简单的例子

你可以解决一个扩散方程,即,$ \微分算符。(- d \微分算符\φ)= 0美元在Matlab运行下面的代码:

clcl=50;%域的长度Nx=20.;%细胞的数量=createMesh1D(Nx,l);公元前=createBC();%所有诺伊曼边界条件的结构公元前一个(:)=0;公元前b(:)=1;公元前c(:)=1;%狄利克雷的左边界公元前正确的一个(:)=0;公元前正确的b(:)=1;公元前正确的c(:)=0;%右边界D_val=1;%扩散系数的值D=createCellVariable(,D_val);%分配细胞的扩散系数D_face=harmonicMean(D);%计算谐波平均扩散系数在细胞的面孔Mdiff=diffusionTerm(D_face);%扩散项的系数矩阵(Mbc,RHSbc]=boundaryCondition(公元前);%公元前的系数矩阵和RHS向量=Mdiff+Mbc;%PDE的系数矩阵c=solvePDE(,,RHSbc);%发送M和RHS解算器visualizeCells(c);%可视化的结果

改变第三行m = createMesh2D (Nx、Nx L, L);m = createMesh3D (Nx Nx、Nx L, L, L);为自己,看看结果。
diff 3 d

例子

有几个简单的例子教程文件夹中。你也可以找到一些更高级的例子(异构油田注入水,两个非线性pd,全隐式耦合解决方案)先进的文件夹中。

文档

找到一些初步的文档在这里

但是不是免费软件Matlab ?

您可以使用的代码倍频程。新版本的代码(面向对象)在八度4.0(与新工作classdef功能)。
我重写的代码茱莉亚。它工作很好,但是Windows操作系统的可视化仍有些问题。

问题和错误报告

你可以问你的问题通过创建一个新的问题,或者写一篇评论我的博客。你也可以问你的问题Matlab文件交换页面这段代码。我很欣赏你的反馈和/或贡献。

如何引用:

如果你有使用包在你的工作,你会发现它有用,请列举:

@misc {ali_akbar_eftekhari_2015_32745作者= {Ali Akbar Eftekhari Kai舒乐问和弗兰Brosa Planella和中国对外温特和Hosseinzadeh签署},title = {FVTool:有限体积为Matlab工具箱},月= 10月,年= 2015,doi = {10.5281 / zenodo。32745},url = {https://doi.org/10.5281/zenodo.32745}}

我也会很感激如果你给我写几行代码,如何使用它在你的研究。它鼓励我维护的代码。

引用作为

Eftekhari A.A. et al。(2015)。FVTool:有限体积为Matlab工具箱。Zenodo。http://doi.org/10.5281/zenodo.32745

MATLAB版本兼容性
创建R2014a
兼容任何释放
平台的兼容性
窗户 macOS Linux
确认

启发:IAPWS_IF97

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!

边界

微积分

类/ @BoundaryCondition

类/ @CellVariable

类/ @CellVector

类/ @FaceVariable

类/ @MeshStructure

离散化

例子/高级

例子/外部/ Diffusion1DSpherical_Analytic-vs-FVTool-vs-Fipy

例子/外部/ InjectionHClCoreFloodProblem

例子/外部/ PhaseChangeEnthalpyMethod

例子/外部/ PhaseChangeEnthalpyMethod /功能

例子/外部/ SteadyLidDrivenCavityProblem

例子/外部/ SteadyLidDrivenCavityProblem /功能

例子/外部/ SteadyLidDrivenCavityProblem /测试点

例子/教程

FieldGeology

MeshGeneration

PhysicalProperties

物理

解决者

测试

公用事业公司

可视化

版本使用GitHub缺省分支不能下载

版本 发表 发布说明
2.1.1.0

切换到github库readme

2.1.0.0

引用信息和一些清理

2.0.0.0之间

showdemo功能不可用。稍后我将更新它。

1.4.0.0

添加支持二维金宝app径向(r,θ)和三维圆柱(r, thetta, z)

1.3.0.0

更新描述

1.2.0.0

更新我的博客地址

1.1.0.0

添加youtube频道链接描述

1.0.0.0

问题在这个视图或报告GitHub插件,参观GitHub库
问题在这个视图或报告GitHub插件,参观GitHub库