您好,欢迎访问三七文档
当前位置:首页 > 机械/制造/汽车 > 机械/模具设计 > Comsol-Multiphysics-求解器简介
MEMS交流网求解器——摘记自《COMSOLMultiphysics基本操作指南和常见问题解答》ComsolMultiphysics提供了很多不同的求解器供用户选择,根据求解器类型可分为如下几种1、稳态Stationary:求解稳态问题,即偏微分方程只含有空间上的偏微分。2、瞬态Time-dependent:求解瞬态问题,即偏微分方程中还含有时间上的偏微分。3、特征值Eigenvalue:求解特征值问题4、参数化Parametric:按照一系列参数求解稳态问题。5、稳态分离式Stationarysegregated:采用分离耦合方式按照一系列参数求解稳态多物理场问题。7、瞬态分离式Timedependentsegregated:采用分离式耦合方式求解瞬态多物理场问题。从求解原理来看,可以氛围直接式线性系统求解器和迭代式线性系统求解器。典型的直接求解器包括:UMFPACK、SPOOLS、PARDISO以及Cholesky(TAUCS)等,迭代式求解器包括:GMRES、FGMRES、共轭梯度法CG、BICGStab以及集合多重网格法等,其中迭代式求解器还需要一些预条件求解器、后平滑器和粗化求解器等的支持,例如,Vanka、SOR、SSOR、SORU一直前面提到过的各种求解器均可以作为这些预处理器使用。一、求解器简介ComsolMultiphysics是采用有限元方法求解偏微分方程的大型仿真软件,有限元发发是通过离散的手段,将秋节余离散成一系列相互关联的小单元,最终形成一个离散的线性代数方程组,然后通过求解器解这个方程组,得到单元节点上的解。至于节点外的任意位置,则通过插值的方法来得到结果,即:()cufKuF式中:c——偏微分方程的系数项f——源项,转换成线性方程组后:K——刚度系数矩阵;F——载荷向量u——解向量,其熟练也称为自由度(DOF)对于这种方程的求解,最理想的状态当然就是直接通过求逆矩阵的方程得到向量解:1uKF然而,这在真实情况下是可遇不可求的,因此也产生大量的求解方法或求解器。例如上面提到的在ComsolMultiphysics中使用的直接式求解器和迭代式求解器。另外,当系数项中出现了因变量的函数时:[()]cuufKuF上面这个偏微分方程具有较强的非线性,增加了求解的难度,对于这类非线性问题,一种有效的求解办法是通过迭代的方法,采用线性求解器反复迭代,最终得到正确的结果,即,首先以初始值代入方程的系数项,对于一个近似线0uMEMS交流网性方程求解再以得到的结果代入系数项,进行下一步近似线性方程的求解直到满足精确要求110()FuKu121()F,nuKuu11()FnKu,即1nnuu,其中n为迭代次数。二、直接式求解器直接式求解器通过一步“求逆”方法进行求解,其中最常用的手段是进行LU分解,将刚度矩阵分解为上三角(U)和下三角(L)矩阵,即K=LU,然后分别对这两个矩阵求逆,然后求解,即。11uULF目前,ComsolMultiphysics中提供的直接求解器包括:UMFPACK、SPOOLES、TAUCS、PARDISO等,其特点是:1、易于使用,鲁棒性强,占用内存大2、适于处理小规模问题,高度非线性和多物理场问题其中各种不同的求解器具有各自的特点:1、UMFPACK:对一般的非对称矩阵是鲁棒和高效的,但内存开销最大。2、SPOOLES:利用对称矩阵的特点,内存使用比UMFPACK有效,但计算速度略慢。3、PARDISO:也利用对称矩阵的特点,支持共享式并行计算,计算效率高,使用内存少。由于在矩阵分解过程中不需要选主元从而节省内存,可能导致不精确的因子。4\TAUCS:非常适合于对称、正定矩阵。三、迭代式求解器迭代式求解器则采用另外一种策略,它不用形式完整的L和U矩阵,采用精细的迭代策略,通过类似求解非线性方程的做法,通过迭代求解,最终得到满足精度要求的解。目前ComsolMultiphysics提供的迭代求解器包括:GMRES、FGMRES、ConjugateGradinet、BiCGSTAB等,其特点是:1、占用内存少,更多的选择,调整比较困难。2、用用特定的物理场,如EM、CFD等。3、需要预处理器,网络框架,平滑器等。这些不同的迭代式求解器同样有各自的特点1、GMRES:在所有搜索方向上寻找最小化残差,搜索方向范围(步数缺省为50)决定了求解器的效率。如果希望节省内存,就减小步数,如果希望提高效率,就增加步数。2、FGMRES:是GMRES的一个灵活变种,能有效的处理更多类的预处理器,但是比GMRES开销大约多两倍的内存。3、ConjugateGradinet:主要应用于求解对称正定问题,在计算时比GMRES更快,常见情况如下。4、不完全LU(incompleteLU):最具有鲁棒性,内存要求最大。5、代数多重网格(AlgebraicMultigrid):适用于标量方程或者松散耦合的多物理场问题,对于Poisson问题非常有效。6、对角标度(DiagonalScaling):简单,内存使用非常少,适用于椭圆或对焦占优问题。MEMS交流网、SSOR:有效使用内存,同类问题的计算可能比对角标度法要快,常用于求解电磁场等。8、Vanka:对每个Vanka的自由度求解,连接自由度的低密度系统需要在对角线上为0的变量。9、集合多重网格(GeometricMultigrid):至少需要两极网格水平(fine和coarse),利用少数几次迭代滤出高频误差,并将不同误差等级的变量映射到不同的网格水平,在基本的网格中利用直接求解器消除剩余误差。它适用于求解非常大规模的问题。四、分离式求解器分离式求解器主要用来求解弱耦合问题,通过次序求解各个物理场,然后进行一次耦合迭代,反复这样进行,知道满足精度要求。因此它是结余完全耦合和分布耦合之间的一种求解方式。对于高度非线性多物理场模型,使用分离式求解器容易获得好的初始估算值,而且可以对不同的物理场使用不同的求解设置,对于大规模的弱耦合问题的计算,内存开销急剧下降,例如流固耦合(FSI)、断流、波传播-结构-热问题等很复杂的多物理场问题。五、求解器选择策略通常情况下,ComsolMultiphysics会根据用户的模型,自动选择求解器。例如自定义PDF应用模式一般自动选用UMFPACK或PARDISO等直接式求解器,波问题一般自动选用GMRES+SOR等迭代式求解器。用户可以根据实际情况进行修正。例如小规模的仿真,推荐采用直接式求解器;大规模的仿真,则推荐采用迭代式求解器。对于一般性的问题,首先查找模型库,选用类似案例模型采用的求解器。如果找不到类似案例,从问题的规模来说,对于自由度不很大的问题,例如2G内存小于20万自由度,可以,首先选择PARDISO求解器;如果求解失败,并且判断出是由于病态矩阵引起,则尝试UMFPACK;如果提示内存不足,可尝试SPOOLS,或对于对称正定问题,尝试TAUCS求解器;如果直接求解由于内存问题计算失败,尝试迭代求解器;传热、扩散和静电计算。尝试使用AMG作为预处理器的CG求解器;结构计算,尝试使用ILU作为预处理器的CG求解器,或者也可以按照如下次序进行尝试:GMRES+不完全LU,如果收敛慢就降低公差,内存溢出就增加调降公差;如果内存溢出,则可以更换与条件器进行尝试,例如采用集合多重网格法、Vanka、SSOR等。六、自适应网格当采用稳态求解器进行求解时,可以选择自适应网格方法来对网格进行优化。通常,ComsolMultiphysics对于玩个的要求并不高,但是一个好的网格会极大地提高收敛性,减少对计算资源的需求。质量上乘的网格一般于解向量的梯度分布相对应,解梯度变化大的区域,网格细密,反之亦然,解梯度变化小的区域,网格粗糙。一般自适应网格的用法是采用一个与仿真对象一致,但是容易收敛的条件。例如,流体仿真中的很大粘度、降温过程采用一个大降温速率等,通过这种类似的模拟结果,进行自适应网格的优化,然后再把条件改成最终的目标,实现仿真的效果。七、敏感性求解器采用稳态求解器的时候,还可以进行敏感性分析,分析模型中比较敏感的MEMS交流网变量。八、优化求解器当用户购买了优化实验室模块的功能时,就可以选择优化求解器在稳态情况下进行优化求解,该选项将打开敏感性\优化标签,用户可以在该标签才设定优化所需的参数。
本文标题:Comsol-Multiphysics-求解器简介
链接地址:https://www.777doc.com/doc-4643338 .html