|
|
[求助]
Comsol 6.0 桶内肥料产热产湿过程模拟求助
我用Comsol 6.0 Build 3.1.8版本做了一个三维的、关于一个桶内肥料堆发酵过程中产热产湿过程的模拟,在仿真29秒的时候总是说结果不收敛,请教高手和专家们解决办法,能让我这个程序尽快完成跑通,感激! 以下是模型简述:
1.模拟对象:
(1)有4层堆叠的肥料桶(像蒸包子一样摞起来),每层内部堆了一些肥料,肥料桶和肥料都是圆柱体。肥料里有微生物,其受热后对肥料进行分解并产热产湿。体系中心有一个贯穿整个系统的恒温中空加热管,提供热源用的。
(2)肥料堆靠近加热管一侧先受热,因此先开始产热产湿,随着热量沿径向传导,肥料堆远离加热管的部分也开始受热。同时,每层肥料桶的外表面也是一个恒温热源,即,肥料堆靠近加热管和肥料桶壁的部分(肥料堆两端)都受热。
(3)四层肥料桶之间用隔板隔开,隔板不传质,只传热,顶层肥料桶有个盖子盖着,底层肥料桶底下有个底板,盖子和底板的外表面都是散热截面。
(4)仿真需要模拟1天(86400秒)当中整个体系温度变化、湿度(含水量)变化、肥料堆域产热效率[W]随时间变化。
2.模型设置
(1)这个肥料桶以及内部肥料堆域、空气域的大概样子如图1。
(2)全局参数定义如图2,红框内的是几何尺寸,不太关键,红框外的比较关键,尤其是那个k_Q和k_moist,这两个参数是肥料堆的产热、产湿率系数,我不知道是不是它们选的不合适导致结果不收敛,就把他们先设置为0。
(3)图3,组件->定义子选项下我建了一个非局部耦合->积分算子,这是用来在计算结束后生成整个体系的产热量[J]的图表用的。
(4)图4,组件->选择子选项下我建立了3个域,这样以后指定材料和划分网格的时候比较方便,肥料堆域就是指的四个桶里的肥料、空气域是肥料堆上面的空气、不锈钢域是除了肥料和空气外的所有容器框架。
(5)图5,组件->几何子选项,就是关于这个4层肥料箱系统的建模,我觉得问题不是出在这。
(6)图6,组件->材料子选项,不锈钢域用的304不锈钢、肥料堆域我自己建的空材料、空气域我从材料库里找了个Air放进去了。我觉得问题应该也不是出在这。所以在下面简单介绍一下吧:
+不锈钢域 -> 304[solid, polished] -> 含水量、渗透率、孔隙率都设置为0,其他的默认
+Compost(肥料) -> 空材料 -> 密度546kg/m3,导热系数0.3W/(m*K),恒压热容Cp3200J/(kg*K),孔隙率0.34,渗透率1e-7m2,含水量0.2kg/m3。
+Air -> 材料库里搜出来的Air -> 密度1.2kg/m3,导热系数0.026W/(m*K),恒压热容1005J/(kg*K)。
(7)图7,组件 -> 物理场两个,一个是固体传热(ht),一个是稀物质传递(tds)。固体传热用来模拟肥料堆域、空气域、不锈钢域内部和之间的导热。稀物质传递用来模拟肥料堆域、空气域内部和之间的水蒸气扩散。这里解释一下具体的参数设置:
+固体传热 -> 不锈钢域、肥料堆域、空气域,这三个选项是初始温度(初始值子选项)
+固体传热 -> 中央空气管恒温热源、桶的侧壁恒温热源、桶盖和桶底的散热,这三个选项(温度子选项)分别代表了中央恒温加热管、桶的侧壁都是对整个体系进行加热的恒温热源,桶盖和桶底的散热(热通量,通量类型:对流热通量),传热系数和外部温度也都设置了。这两个表面是用来散热的,怕桶内温度过高
+稀物质传递 -> 传递属性_空气域、传递属性_肥料堆域两个子选项(传递属性)分别定义了两个空气和肥料堆的扩散系数(空气:2.5e-5(m^2/s),肥料堆:1e-5(m^2/s))
+稀物质传递 -> 肥料堆域初始值、空气域初始值、不锈钢域(初始值)分别定义了这三部分的初始水蒸气浓度(mol/m^3),其中,不锈钢域的初始水蒸气浓度是0
+重点!!!固体传热和稀物质传递 -> 热源、产湿速率(热源、反应)子选项,分别代表了肥料堆域的产热[J]和产湿[mol/m^3],对于产热,我定义了一个热源子节点,在里面选定了肥料堆域,然后写了一个公式:Q0 = Q_base + k_Q*(T - T0_compost),意思是产热率[W] = 基础产热率 + 产热系数 * 温度差。此外,对于产湿,我定义了一个反应子节点,在里面选定了肥料堆域,然后写了一个公式:Rc = S_moist_base + k_moist*(T - T0_compost),意思是产湿率[mol/m^3*s] = 基础产湿率 + 产湿系数 * 温度差。我不知道是不是因为这两个公式导致的我整个系统计算不收敛??
+湿度最大值子节点被我禁用了,那个是用来阻止湿度上升的太快最后结果算爆了用的。公式:(S_moist_base + k_moist*(T - T0_compost)) * (c < c_saturation),用的是截断式。
(8)图8,重点!!!网格划分选项,我是不是划分的太粗了???导致最后哪个计算结果不收敛?,怎么设置的我大概介绍一下:
+网格1 -> 序列类型:用户控制网格
+网格1 -> 大小子节点(是不是就被后面的覆盖了?),最大单元大小:100mm;最小单元大小:20mm;最大单元增长率:1.5;曲率因子:0.6;狭窄区分辨率:1。
+网格1 -> 全局网络(大小),最大、最小单元:80mm/10mm,最大单元增长率:1.5;曲率因子:0.5;狭窄区域分辨率:0.5
+网格1 -> 自由四面体网格1,定义其他没有定义网格的部分(我觉得没什么用)
+网格1 -> 一般细化_肥料堆、一般细化_中心管、一般细化_空气域(大小),这三个子选项用来定义这三个区域的细致一点的网格规划,关键参数如下:肥料/中心管/空气 最大单元大小 60/60/60mm;最小单元大小 15/15/15mm,其他的默认。
(9)图9,图10,图11,图12,重点!!!我觉得问题是不是出在这里?研究节点!这一块我真不懂该怎么设置了,胡乱设置了几个,具体介绍一下:
+图9 -> 研究1 -> 步骤1:瞬态 -> 研究设置:时间单位s,输出时步range(0,10,100)先算个100秒吧;容差:用户控制;相对容差:0.01(瞎编的)。
+图10 -> 研究1 -> 瞬态求解器1:常规 -> 由研究步骤定义:用户定义;时间单位:s;输出时步:tange(0,10,100);要储存的时步:插值输出时间;相对容差:0.01(瞎编的)。 绝对容差 -> 全局方法:已缩放;容差方法:因子;容差因子:0.01(瞎编的);导数容差方法:自动(勾选更新缩放绝对容差)。
+图11(放在附件里) -> 接研究1 -> 瞬态求解器1 -> 时间步进:方法:向后差分公式;求解器采用的步长:自由;初始步长:默认0.1;最大步长约束:常数;最大步长:100s(瞎编的);最大BDF阶次:2;最小BDF阶次:1;事件容差:10(瞎编的);奇异质量矩阵:可能;后向欧拉法初始步长分数:0.001(瞎编的)。
(10)图12(放在附件里)->研究1 -> 瞬态求解器1 -> 全耦合子节点 -> 常规 -> 线性求解器:AMG,浓度(tds);方法和终止 -> 非线性方法:自动(牛顿);初始阻尼系数:1;最小阻尼系数:1e-4;更新步长的限制:10;步长增长的限制:1;使用恢复阻尼系数:自动;恢复阻尼系数:0.75;终止技术:容差;最大迭代次数:4;容差因子:1;终止准则:解。![Comsol 6.0 桶内肥料产热产湿过程模拟求助]()
![Comsol 6.0 桶内肥料产热产湿过程模拟求助-1]()
![Comsol 6.0 桶内肥料产热产湿过程模拟求助-2]()
![Comsol 6.0 桶内肥料产热产湿过程模拟求助-3]()
![Comsol 6.0 桶内肥料产热产湿过程模拟求助-4]()
![Comsol 6.0 桶内肥料产热产湿过程模拟求助-5]()
![Comsol 6.0 桶内肥料产热产湿过程模拟求助-6]()
![Comsol 6.0 桶内肥料产热产湿过程模拟求助-7]()
![Comsol 6.0 桶内肥料产热产湿过程模拟求助-8]()
|
» 本帖附件资源列表
-
欢迎监督和反馈:小木虫仅提供交流平台,不对该内容负责。
本内容由用户自主发布,如果其内容涉及到知识产权问题,其责任在于用户本人,如对版权有异议,请联系邮箱:xiaomuchong@tal.com
- 附件 1 : 剩下的图.docx
2026-06-08 17:51:57, 448.62 K
» 猜你喜欢
售SCI一区T0P文章,我:8.O.5.5.1.O.5.4,科目齐全,可+急
已经有7人回复
售SCI一区T0P文章,我:8.O.5.5.1.O.5.4,科目齐全,可+急
已经有6人回复
售SCI一区T0P文章,我:8.O.5.5.1.O.5.4,科目齐全,可+急
已经有8人回复
婚姻里的赢家
已经有8人回复
售SCI一区T0P文章,我:8.O.5.5.1.O.5.4,科目齐全,可+急
已经有7人回复
祈祷自己至少3A2B上会啊!
已经有9人回复
售SCI一区T0P文章,我:8.O.5.5.1.O.5.4,科目齐全,可+急
已经有9人回复
售SCI一区T0P文章,我:8.O.5.5.1.O.5.4,科目齐全,可+急
已经有8人回复
售SCI一区T0P文章,我:8.O.5.5.1.O.5.4,科目齐全,可+急
已经有8人回复
售SCI一区T0P文章,我:8.O.5.5.1.O.5.4,科目齐全,可+急
已经有12人回复
|