PDE工具箱:解算器产生错误根据参数和初始条件

13个视图(30天)
你好,
我试图解决PDE系统描述对流-扩散问题(即化学反应器)。
我创建了一个最低工作示例来演示我的问题。PDE描述1 d反应堆与物质流入反应器进料浓度和transportet通过对流和扩散。
PDE系统需要的系数来计算材料特性取决于系统的当前状态,例如除以“state.u”。根据对流项的设置参数,扩散项和初始条件以下警告和错误消息:
警告:失败e-08 t = 1.515228。无法满足集成公差没有减少步长
下面允许的最小值在时间t (5.293956 e-23)。
在ode15s >(第655行)
pde。EquationModel / solveTimeDependent(第101行)
pde。PDEModel / solvepde(57)行
execute_minEx_error_value_too_small(第65行)
错误使用pde。EquationModel / solveTimeDependent(第103行)
解决方案未能达到要求结束时间。
错误在pde。PDEModel / solvepde(57)行
[u, dudt] =自我。情况,solveTimeDependent (coefstruct ut0 tlist,
错误在execute_minEx_error_value_too_small(第65行)
结果= solvepde(模型、tspan);
给定的值v和D代码工作正常的条件下去
C0 = cfe * 2 e 1
及以上,但不是
C0 = cfe * 1 e 1
和下面。如此看来,通过减少沛克莱数(降低v,增加D)初始条件可以设置为一个较低的值。删除的分裂状态。u在f系数使程序能够运行与任何C0值。
你能帮我理解错误产生,如何让我的模型运行为更大范围的参数?不幸的是我不能模拟系统如果我不能更自由地选择参数。
clearvars,关闭所有
clc
%创建PDE模型方程1
模型= createpde (1);
L = 1;%的长度
H = 1 e 1;%任意高度
D = 1飞行;%扩散系数m ^ 2 / s
v = 4 e-6;% m / s的速度
nfe = 0.1;%进料摩尔流摩尔/ s
n0 = nfe * 1 e 1;%初始条件摩尔/ s;
kinParam = 5依照;%动力学参数
hmax = H;%有限元元素的大小
%计算沛克莱数,比对流和扩散
Pe = v * hmax / (2 * D);
%的时间向量
tspan = linspace (0100100);
%为流体定义几何
F_Rct = [3 H 4 0 L L 0 0 0 H) ';%的描述矩阵
gd = F_Rct;
科幻小说=“F1”;
ns = (“F1”)”;
geo = decsg (gd、科幻、ns);
%分配几何模型
geometryFromEdges(模型、地理);
%绘制几何
图(1)
pdegplot(模型,“EdgeLabels”,“上”,“FaceLabels”,“上”)
%生成网格
generateMesh(模型,“Hmax”,hmax);
pdemesh(模型)
% PDE的分配系数
%为非固定系数d分配1的问题
% v系数f通过额外的参数对流体速度
specifyCoefficients(模型,“米”0,
' d ',1
“c”D
“一个”0,
“f”@(位置、状态)f_coeff(位置、状态、v, kinParam));
%定义边界条件,边缘4是入口
applyBoundaryCondition(模型,“边界条件”,“边缘”4“u”,nfe);
applyBoundaryCondition(模型,“纽曼”,“边缘”(1 2 3));
%定义初始条件
setInitialConditions(模型,n0);
%解决PDE
结果= solvepde(模型、tspan);
%策划解决方案
图(2)
i = 1:长度(tspan)
pdeplot(模型,“XYData”results.NodalSolution(:我)
caxis (0.1 [0])
标题([“物质的量n (”num2str(我)' / 'num2str(长度(tspan))“)”])
暂停(0.001)
结束
% %函数定义系数f
函数f = f_coeff (v ~、州,kinParam)
%对流项的状态。用户体验被state.u任意因素
%后跟源项(反应)
f = - v *状态。ux。/状态。u - kinParam * state.u;
结束
1评论
安瑟伦德雷尔
安瑟伦德雷尔 2021年10月19日
编辑:安瑟伦德雷尔 2021年10月19日
一个可能的解决方案是修改一个静止的问题使得脚本正常工作。只是设置参数d 0和删除从solvepde tspan。与不同的参数(与不稳定的代码不工作)甚至得到一个有意义的浓度剖面
参数:
L = 1;%的长度
H = 1 e 1;%任意高度
D = 5 e-8;%扩散系数m ^ 2 / s
v = 3 e-6;% m / s的速度
《= 0.1;%进料摩尔浓度/ m ^ 3
C0 = cfe * 1 e 1;%初始条件摩尔/ m ^ 3;
kinParam = 5的军医;
剧情:
图(2)
pdeplot(模型,“XYData”results.NodalSolution (: 1))
caxis (0.1 [0])
遗憾的是它不是一个解决问题的办法……

登录置评。

答案(0)

社区寻宝

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

开始狩猎!