Comsol冻土多场耦合模型案例:瞬态求解THM问题与稳态应力分析
Comsol冻土水热力本案例物采用两个PDE模块分别表示水分场和温度场一个固体力学模块表示应力场求解器在求解THM问题中采用瞬态求解器。 在求解应力问题中采用稳态求解器。 通过本案例可以学习掌握冻土THM三场耦合模型。冻土三场耦合这事说起来挺有意思的。做工程的朋友都知道冻土地区搞施工就跟拆盲盒似的——你永远不知道解冻后地基会出什么幺蛾子。COMSOL里搞THM耦合说白了就是把水搬家、温度作妖、土体膨胀这三件事拧在一起算。先看水分场方程。在PDE模块里定义达西定律的变种毕竟冰水相变会改变渗透系数。代码里有个关键参数是未冻水含量函数这个得用分段函数表达if T 0 theta_u theta_total; else theta_u theta_total * exp(-lambda*(T)); end这里lambda是经验系数搞冻土模拟的老司机都懂这参数调不好模拟结果能跑偏到姥姥家。温度场那边更刺激得考虑相变潜热。能量方程里藏着个时间导数项用瞬态求解器处理最合适rho*Cp*d(T,t) L*rho_ice*d(theta_i,t) div(k*grad(T))这L是潜热项不注意的话温度场算出来就像心电图似的上下乱跳。见过有人把相变区间设得太窄结果迭代十几次都不收敛直接卡在计算节点上哭。应力场反而是最佛系的。固体力学模块用稳态求解毕竟冻胀变形相对于热传导来说就是个慢性子。关键在定义热应变项epsilon_th alpha*(T - T_ref) beta*theta_i这里alpha是热膨胀系数beta是冻胀系数。有个坑是这两个参数量纲不一样新手经常搞混导致应力结果差几个数量级。见过最离谱的案例算出来的应力值能把青藏高原顶起来——当然是数值计算意义上的。Comsol冻土水热力本案例物采用两个PDE模块分别表示水分场和温度场一个固体力学模块表示应力场求解器在求解THM问题中采用瞬态求解器。 在求解应力问题中采用稳态求解器。 通过本案例可以学习掌握冻土THM三场耦合模型。求解器设置讲究个快慢结合。瞬态求解用BDF方法时间步长自动调整但记得把最大步长限制在1天以内不然相变过程直接跳过去了。应力场单独用稳态求解时要确保在每次瞬态步结束后更新位移边界条件。有个骚操作是把力学模块的计算频率设为每5个时间步算一次既能省计算资源又不影响精度。调参阶段最考验耐心。冰水相变曲线斜率、潜热释放速率、冻胀系数这三个参数得反复校准。有个野路子是用现场监测数据反演参数先拿钻孔温度数据调热参数再用路基变形数据校核力学参数。最近帮某铁路项目调试时发现把冻胀系数从0.05调到0.03后模拟的裂缝位置和现场勘察结果完美匹配。最后说个真事曾经有研究生把温度单位搞成开尔文结果应力场算出来全是压应力。后来改成摄氏度才发现冻胀拉应力才是王道。所以做多场耦合啊量纲检查这事比拜菩萨还重要。