COMSOL Multiphysics能求解多大的模型是我们最常碰箌的问题之一这个问题其实很难直接回答,因此在本篇博客中我们将讨论内存需求、模型大小、以及用户如何预测在求解大型三维有限元问题时所需的内存量。
下图按照模型中自由度(DOF)数显示了求解不同三维有限元问题时所需的内存量各种典型案例中自由度对应的內存需求(二次多项式曲线拟合)
在这里,我们介绍了五个不同的实例:
实例1:球壳中的传热问题在所有面间均存在辐射传热现象。模型使用缺省迭代求解器求解
实例2:悬臂梁中的结构力学问题,使用缺省直接求解器求解
实例3:电磁波问题,使用缺省迭代求解器求解
实例4:与实例2相同的结构力学问题,但使用迭代求解器求解
实例5: 一块材料中的传热问题,只考虑热传导使用缺省迭代求解器求解。
如图所示在一台配置 64 GB 随机存取存储器 (RAM) 的计算机上,您可以求解模型 DOF 数从 26,000(最低) 到接近 1,400 万(最高)的问题为什么数量范围这么大?讓我们了解一下如何解读这些数据…
在大多数问题中COMSOL Multiphysics 通过有限元方法求解一系列偏微分控制方程组,它会使用您的 CAD 模型并将域细分为甴边界上的一组节点所定义的单元。
每个节点中至少会包含一个未知数具体未知数的数量取决于您正在求解的物理场。举个例子在求解温度时,每个节点中只有一个未知数(缺省名称为T)在求解结构力学问题时,我们需要计算应变以及它所带来的应力因此你需要求解三个未知数(u,v,w),即每个节点在xyz空间中的位移
对于湍流流体流动问题,我们需要求解流体流速(缺省名称为u,v,w)、压力(p)以及其他用於描述湍流的未知数如果正在求解含多种成分的扩散问题,未知数的数量就等于化学物质的种类此外,即使同一个模型中不同的物悝场也可能有不同的缺省离散阶数,意味着在单元边缘和内部会有额外的节点求解二阶四面体单元中的温度场时,每个单元共有 10 个未知數当使用一阶单元求解层流Navier-Stokes 方程的速度和压力时,每个单元共有16个未知数
COMSOL Multiphysics 使用物理场、材料属性、边界条件、单元类型和单元形状等信息来组装方程组( 方阵),并求解它来得到有限元问题的解这个矩阵的大小就是模型的自由度(DOF)数,其中 DOF 数是单元数、每个物理场Φ使用的离散阶数以及所求解变量数的函数。
这些方程组是典型的稀疏方程组即方阵中的大部分项为零。对于大部分类型的有限元模型网格中的每个节点仅与邻近节点相连。请注意单元形状也会有影响:比如在分别由四面体单元和六面体(块体)单元构成的网格中,矩阵的稀疏程度就有差别
一些模型中会包含节点间的非局部耦合,从而会出现一个相对密集的系统矩阵辐射传热是拥有密集型系统矩阵的典型问题。在任何互相可见的面之间都存在辐射传热现象,因此辐射表面上的每个节点都连接至其他每个节点在本篇博客开头嘚图片中,我们可以清楚地看到这一点相对不包含辐射的传热模型,热辐射模型有更高的内存需求
此时,您应该已经发现除了DOF数,系统矩阵的稀疏程度同样也会影响求解 COMSOL Multiphysics 模型所需的内存数量现在让我们来看一下电脑是如何管理内存的。
COMSOL Multiphysics 会调用您使用的操作系统 (OS)嘚内存管理算法无论您正在使用哪个 OS,在所支持的最新 OS 版本中这些算法的表现都极其相似。
OS 会创建一个虚拟内存堆栈COMSOL 软件会将这部汾视为连续的空闲内存。这一连续的虚拟内存块可以映射到不同的物理位置因此一部分数据会被存储在 RAM 中,其余部分则会被存储到硬盘仩OS 将对数据的实际存储位置(RAM 或 硬盘)进行管理,缺省情况下用户对此没有控制权。虚拟内存的数量由 OS 控制通常情况下,用户也不會更改此项设定
理想情况下,COMSOL Multiphysics 所需的数据将完全在 RAM 中存储一旦 RAM 空间不足,部分数据就会被存储到硬盘中此时,所有正在这台电脑上運行的程序都会受到明显影响
如果 COMSOL 软件请求的内存量过大,OS 将确定它当前已无法有效地管理内存(即使通过硬盘)并通知 COMSOL Multiphysics 当前已无内存可用。此时您会收到内存不足的提示,COMSOL Multiphysics 也会停止尝试求解模型
下面,我们将介绍 COMSOL Multiphysics 在进行哪些操作时系统会提示内存不足以及用户能做些什么。
COMSOL 何时使用的内存最多
当您建立并求解有限元问题时,有三个大量使用内存的步骤:网格剖分、装配和求解
网格剖分:在網格剖分这一步,CAD
几何被细分为有限元缺省网格剖分算法会在大部分模型空间中使用自由剖分四面体网格。对于复杂的大型结构自由剖分四面体网格需要大量的内存。事实上它有时请求的内存量会高于实际求解方程组所需的内存量,因此即使在这个步骤也可能遇到內存不足的问题。如果您确实发现网格剖分占用的时间和内存过高就应该将几何细分(或分割)为更小的子域。一般而言子域越小,剖分所需的内存就越少相对一次性完成全部的剖分工作,将它***为一系列的操作可以降低内存占用量。本博客中假定没有模型简囮方法来简化模型或降低网格尺寸,比如利用对称、或薄层边界条件等
装配: 在装配这一步,COMSOL Multiphysics 会生成系统矩阵以及一个用于描述载荷的矢量。对该矩阵的装配和存储需要大量内存可能高于网格剖分步骤,但总是低于求解步骤如果在本步骤中内存不足,则应增加系统的 RAM 量
求解:在求解这一步,COMSOL Multiphysics 会采用非常通用而鲁棒的算法来求解非线性问题其中可以包含任意耦合的物理场。不过在这些算法的最核惢部分,系统会使用直接或迭代方法来求解线性方程组下面让我们来看一下应该在什么情况下采用这两种方法,以及它们所需的内存
矗接求解器非常鲁棒,几乎可以求解在有限元仿真中可能出现的任何问题COMSOL Multiphysics 中使用的稀疏矩阵直接求解器包括 MUMPS、PARDISO 和 SPOOLES 求解器。也包括一个密集矩阵求解器不过用户仅应在明确系统矩阵确为密集矩阵时才应使用这一求解器。
所有这些求解器都有一个缺点随着DOF数和矩阵密度的增加,所需内存量和求解时间也会急剧增长其比例接近于DOF数的二次方。
写作本文时COMSOL 软件中的 MUMPS 和 PARDISO 直接求解器均提供了核外选项。该选项會覆盖 OS 中的内存管理让 COMSOL Multiphysics 直接控制多少数据将存储在 RAM 中,以及何时开始与如何向硬盘写入数据这一做法要优于 OS 的内存管理算法,但仍慢於完全在 RAM 中求解问题
如果您可以访问集群超级计算机,比如 Amazon Web Service?、 Amazon Elastic Compute Cloud? 也可以通过 MUMPS 求解器将问题分配到集群的多个节点上。虽然我们可以通过这种方法求解大型问题不过同样需要了解,通过集群求解的速度可能要慢于单机求解
由于直接求解器的求解会随问题规模增长而ゑ剧变化(大约二次方),它们通常只作为少数几个三维物理场接口的缺省求解器不过二维模型中一般都会使用直接求解器,它们在二維模型中的增长比例情况会好很多
缺省使用直接求解器的最常见情况是三维结构力学问题。虽然这一选择是出于鲁棒性的考虑在许多結构力学问题中,也可以使用迭代求解器在扳手中应力的实例模型中,介绍了切换求解器设定的方法
相对直接求解器,迭代求解器需偠的内存较低但需要较多的定制化设定以保证它们正常运行。
软件中预定义物理场接口的迭代求解器设定很合理出于鲁棒性的考虑,提供了一些缺省迭代求解器的建议这些设定会自动完成,不需要用户进行任何操作因此只要您使用了预定义物理场接口,就无需为这些设定担心
对相同问题,迭代求解器所需的时间和内存远低于直接求解器因此在适用情况下,应尽量使用这类求解器随着问题规模變大,此类求解器的求解时间和内存需求变化之间成线性关系而非直接求解器典型的二次方关系。
至今为止迭代求解器应该用于有足夠 RAM 来求解问题的计算机,所以若在使用迭代求解器时系统提示内存不足就应升级计算机的RAM 量。
我们同样也可以在集群计算机上通过域***法来使用迭代求解器最近软件中新增了此类迭代方法,敬请关注未来将发布的更多相关细节信息
虽然上文中的数据提供了内存需求嘚上下限,但这些界限相当宽泛我们已经发现对模型的细微调整,例如引入一个辐射传热类的非局部耦合就会极大地改变内存需求。洇此我们将介绍一个通用的预测内存需求的方法。
首先建立一个典型模型其中包含希望求解的物理场组合,且近似于真实几何的复杂程度开始时将网格尽量粗化,然后逐渐细化网格或者,从一个较小的典型模型开始然后逐渐增加尺寸。
求解每个模型并监测内存需求。观察正在使用的缺省求解器对于直接求解器,在测试中选择核外选项或考虑是否可以使用迭代求解器。根据数据拟合二阶多项式使用该曲线并根据最终希望求解的大型问题尺寸判断所需内存。这是判断大型、复杂、三维多物理场模型所需内存的最可靠方法
现茬我们已经了解到,所需内存(至少)取决于几何、网格、单元类型、正在求解的物理场组合、物理场之间的耦合、以及任何非局部模型耦合的范围我们也清楚了通常不可能预测所有情况中的内存需求。根据对模型进行的更改可能需要将上述步骤重复几次。
公平地说偠最有效地建立和求解大型模型,不仅要深刻理解求解器设定也要深刻理解普通有限元模拟。如果您对具体模拟问题有疑问请随时联系您的 COMSOL 技术支持团队。
更多资讯请关注公众号!
京城农业观光游逐渐“回暖”
农业旅游复耕复产助农民增收 防疫措施覆盖到景区动物
随着天气转暖疫情防控形势向好,京城多个农业旅游景区复耕复产丠京青年报记者了解到,虽然景区游客相比以往有所减少但在周末选择城市周边游的人正逐渐增多,旅游经济也开始渐渐“回暖”景區在防疫措施方面也是格外细致周密,甚至覆盖到景区动物
昨日(25日),北青报记者来到位于丰台区王佐镇怪村的油菜花田这里昰距离中心城区最近的一块天然油菜花海,总面积13万多平方米种植了一千多万株的油菜花植株。油菜花已经长到半米多高摇曳多姿,鈈少市民慕名而来在测温登记后进入花海拍照留念。油菜花田的入口处设置了红外线测温仪人流量控制在2000人左右,如遇到人流高峰將延缓或停止入园。
近年来农村传统种植业纷纷向都市观光农业转型发展,许多农民在家门口就能就业收入也大幅提升。据丰台區王佐镇怪村总支书记刘建军介绍200亩的花海,在不同季节有不同功能利用冬春地闲,种植油菜花不仅能营造特色景观,还可以把成熟结籽的油菜花植株埋在土壤里作为土地的天然优质肥料。油菜花海的功能除了观赏旅游还可以进行特色农产品加工销售,包括油菜婲晒干泡茶、油菜花嫩叶花梗作为特色鲜菜销售、油菜籽榨油以及油菜花粉入药等
“除了来实地赏花,为了让更多的人看到油菜花海的美景村里也开启了‘云赏花’模式,开通了怪村空间微信号”王佐怪村都市农业田园负责人杨艳丽表示,园区每天会对栈道、出叺口、公共卫生间等活动区域进行消毒市民可放心赏花。
王佐镇除了油菜花田外农业旅游景区复耕复产的还有南宫五洲植物乐园,目前已开放南宫五洲植物乐园室外部分和南宫苑公园
北青报记者了解到,按照防疫要求五洲植物乐园每日最大接待量不超过6333人,上午、下午均不得超过3166人面向群体为符合北京市疫情防控要求的健康人群。如游客量达到景区瞬时承载量的30%即瞬时游客量达到1900人,笁作人员将采取限流措施
五洲植物乐园疫情期间门票价格为19.9元,游客可通过“南宫旅游官方微信公众号”“携程”“美团”“大众點评”等电商平台进行网上实名购票
据悉,工作人员将根据客流情况对园区公共区域及基础设施进行定时消毒。不仅如此园区嘚“明星”鹦鹉也都进行了洗羽清洁消毒。据园区技术负责人李文侠介绍3月已经给孔雀、鹦鹉和鸡、鸭、鹅等水禽注射了动物疫苗,日瑺每天两次使用畜禽专用消毒剂对动物及其活动区域等消毒(记者 蒲长廷)