问题描述
我正在 COMSOL Multiphysics 中求解类似扩散的问题,发现在使用绝缘/对称条件定义的边界上,其通量法向分量的积分值与零相差较大。我还注意到,在施加通量的边界上,通量值似乎与施加的值不同。为什么会有这样的差异?
解决方法
您可能看到的是基于空间梯度计算的通量变量。空间梯度的计算是使用离散值完成的,其精度与网格相关。您设置的通量边界条件与求解后看到的情况之间存在差异,这主要归因于对空间梯度计算的后处理。换句话说,您使用所施加通量的精确值来计算解,由于通量值基于空间梯度计算,因此会产生后处理误差。最后的计算具有网格敏感性。通过细化网格可以提高匹配度,但在某些情况下,仍然存在很大的不确定性。对于大多数物理场,您应该查看预定义的精确边界通量变量。请注意,您只能在后处理工具中使用这些变量,在计算过程中,您无法在模型中访问或使用它们。
要使用精确的边界通量变量,请确保在物理场头节点的离散化栏中选中计算边界通量复选框。然后,COMSOL 会计算预定义的精确边界通量变量(将在后处理工具中提供),并存储这些变量和计算结果。您可以查看物理场接口文档,了解要使用的变量。请注意,对边界通量应用平滑处理选项(通常也会默认选择)可以提供接近奇点的更合适的通量值。注:要显示此选项,首先需要单击模型开发器顶部的显示按钮,然后选择离散化。
如果您要对总通量(由边界上的表达式定义)进行积分,建议对与通量条件中指定的表达式相同的表达式进行积分。例如,在传热对流边界条件下,可以是 h*(To-T)
,其中 h
为传热系数。
为了使用另一种方法得到精确的通量,或在计算过程中在模型中使用此通量,可以使用弱边界约束。不过,这仅适用于因变量(例如 T 或 V)设为固定值(狄利克雷边界条件)的情况。该约束允许您访问边界上的附加变量,从而对通量进行精确积分。为了使用弱约束,您可以单击相关的边界条件,然后选中“约束设置”下的使用弱约束复选框。这同样仅适用于因变量(例如 T 或 V)设为固定值的边界。注:要查看弱约束选项和其他高级设置,首先需要单击模型开发器顶部的显示按钮,然后选择高级物理场选项。 此方法也适用于力学中的力计算。有关更多信息,请参阅 COMSOL Multiphysics Reference Manual 中的 Weak Constraints 一节。
另请参见
有关更多信息,您可以在“帮助”(在 COMSOL Multiphysics 中按 F1)中搜索 Computing Accurate Fluxes,也可以打开电子文档(在 COMSOL Multiphysics 中按 Ctrl+F1),然后转到 COMSOL Multiphysics Reference Manual> Building a COMSOL Model > Computing Accurate Fluxes 一节。
此外,您也可以在 Heat Transfer Module User's Guide 的 Heat Transfer Theory > Theory for the Heat Transfer Interfaces > A Note on Heat Flux and Balance 章节中找到相关信息。
COMSOL 尽一切合理的努力验证您在此页面上查看的信息。本页面提供的资源和文档仅供参考,COMSOL 对其有效性不作任何明示或暗示的声明。COMSOL 对所披露数据的准确性不承担任何法律责任。本文档中引用的任何商标均为其各自所有者的财产。有关完整的商标详细信息,请参阅产品手册。