FVTool:有限体积为Matlab工具箱
小文件。
FVTool:
FVTool
这是一个有限体积(玩具)工具箱化工/石油工程师。现在,它可以解决瞬态速度场对俩散方程变量/扩散系数。离散化方案包括:
- 中心差分扩散项
- 中心差分对流项
- 逆风对流项
- TVD对流项各种通量限制器
- 瞬态项
- 狄利克雷,诺伊曼,罗宾和周期性边界条件
你解决这些方程?
不管你相不相信,上面的方程描述的大多数运输在化学和石油工程及类似领域的现象。
如何开始
下载包,开始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);
为自己,看看结果。
例子
有几个简单的例子教程文件夹中。你也可以找到一些更高级的例子(异构油田注入水,两个非线性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
边界
微积分
类/ @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 |
|