COMSOL培训内容和安排•1、有限元理论介绍•2、COMSOL简介及前后处理功能介绍•3、COMSOL高级技巧——网格、求解器•4、COMSOL典型算例分析1、有限元理论介绍线性求解和非线性求解PDE的简介•定义:一个包含两个或多个变量的未知函数及其偏微分的方程•分类–线性vs.非线性–标量方程vs.系统线性PDE系统非线性PDE系统线性标量PDE非线性标量PDEPDE分类矩阵困难程度初期要点•“求解”PDE意味着什么?–适定的问题;存在,唯一,以及平滑•COMSOL使用FEM来数值逼近解•一些约定[]xxyzxxyyzzuuxuuuuuuuu线性问题•对流输送方程•Laplace方程•传热方程•波动方程•Helmholtz方程0xtbuu0u0)(ukut0)(uutt对非均匀问题,将0用一个自变量的函数来代替uu)(COMSOLPDE模式•应用–可用于标量方程或系统•注意:系数可能会变成更高阶算子•COMSOL中的应用–系数形式•系数对应于常见的物理参数(例如,扩散、对流等)–通式•很灵活和紧凑–弱形式•作为PDE的基础的PDE形式•积分形式提供更强大的灵活性–非标准化边界条件,边界方程耦合等•Lagrange算子显式求解•需要推导方程,制约其应用有限元方法•定义–将连续的求解域离散成一组有限个,按一定方式相互联结在一起的单元的组合体–将PDE转换成离散的线性代数方程系统•特点–各种复杂单元可以用来模型化几何形状复杂的求解域–各节点上的解的近似函数可以用来求解整个求解域上任意点的结果fuc)(FKu•K:刚度矩阵•u:解变量,或解向量•F:载荷向量•u的数量:自由度数目(DOF)2、COMSOL简介及前后处理简介、几何建模、CAD导入、后处理什么是多物理场?•在描述一个对象时涉及多种物理现象的组合•这些现象都基于某种物理规律•这种物理规律可以借助于偏微分方程得到精确描述•有限差分•有限元•有限体积法•…自然对流自然对流(流热耦合)焦耳热(电热耦合)COMSOLMultiphysics全球第一款真正的多物理场耦合分析软件一个功能强大的平台有限元仿真平台类似于公式解释器形式的图形化操作界面填空式的操作方法任意耦合的多物理场分析平台多物理场耦合多维度/尺度耦合与实验结果进行耦合突出的特点易用性可自由切换的多种语言操作界面简单鼠标操作和填空,自动建立耦合物理场开放性对用户透明,支持用户建立自己的模型灵活性与MATLAB无缝连接,强大的二次开发功能COMSOL产品COMSOLMultiphysics准静态电磁AC/DCModule化工ChemicalEngineeringModule传热HeatTransferModule射频RFModule声学AcousticsModule地球科学EarthScienceModule微机电系统MEMSModule结构力学StructuralMechanicsModule材料库MaterialLibraryCAD导入CADImportModule优化实验室OptimizationLab反应工程实验室ReactoinEngineeringLabSolidWorks®AutoDesk®INVENTOR®Pro/E®Catia®,Pro/E®,NX®SolidEdge®…ECAD(ODB++)Simpleware®MATLAB®&SimulinkCAPE-OPEN,•CHEMKIN®•JANAF•NASACOMSOLMultiphysics的主要特性•交互式建模和模拟环境-GUI–大量的预置物理应用模式–自定义PDE应用模式•无穷的耦合能力–无限的物理量耦合–不同维度/尺度耦合–与实验结果耦合•完备地前处理器功能–简单实用的几何建模–导入主流CAD文件格式–强大的网格剖分功能•多种功能强大的求解器•强大的后处理能力•特定的应用模型和扩展•支持Matlab®和Simulink®的双向调用消息窗模式树模式细节主工作区工具条菜单COMSOL脚本•COMSOL脚本–采用M文件进行存储,命令格式完全兼容于MATLAB–Windows化的编辑与调试界面–内建600多条命令–用户自定义GUI–Excel文件导入/导出–可选专用附加软件•反应工程实验室几何建模•内建功能强大的基本几何建模工具•支持多种文件格式的CAD导入模块•基本功能–使用工作平面–拉伸和旋转–嵌入CAD文件导入•导入CAD文件•导入零件和装配•修复•修复和损毁•和SolidWorks实时连接支持的文件格式产品格式版本CADImportModuleParasoliduptoR18ACIS(SAT)uptoR17STEPAP203,AP214IGESupto5.3CATIAV5ImportModuleCATIAV5R2throughR17CATIAV4ImportModuleCATIAV44.1.9through4.2.4InventorImportModuleInventor6through11Pro/EImportModulePro/Engineer16throughWildfire3VDA-FSImportModuleVDA-FSupto2.0COMSOLMultiphysicsSTLVRML1.0DXF(2D)uptoR14GDS2NASTRAN后处理•COMSOLMultiphysics提供了大量的工具进行后处理和图形化。标准的绘图模式包括:或者是这些绘图模式的组合形式图形化•对于3D如何抑制求解域和边界是很重要的平移/旋转/缩放(不激活时为选择工具)隐藏选中的对象显示所有隐藏的对象使用Shift和Ctrl键正交和透视图确认选择(右键点击)平面视图选择工具摄像工具网格工具后处理,续•其他后处理特性包括:–耦合变量:从2D轴对称模型的解直接得到3D图–探测图:求解过程中实时绘制某个点上的结果–求解时绘图:求解过程中实时地绘制结果图–求解域和边界积分:在GUI中直接进行求解域或边界积分–非结构函数:导入另一个软件的计算结果–脚本:使用命令行函数提取所需数据–数据导出:从COMSOL中导出数据到文本文件后处理技巧•使用逻辑运算•使用叠加图•嵌入辅助线或面、体•导出数据,用脚本或其他软件处理3、COMSOL高级技巧网格、求解器自由网格生成器•非结构化网格–2D中三角形和四边形单元–3D中四面体、六面体、棱柱单元•最通用的网格生成器(对几何形状无限制)•自动或用户控制网格参数映射网格生成器•四边形单元的结构化网格•在2D子域和3D边界上使用•用户可以完全控制单元分布扫描网格生成器•棱柱或六面体单元•从一个或多个源面开始通过子域扫描•控制源面上的网格和在扫描方向上的分布边界层网格•沿着指定边界法向方向的稠密单元分布•边界层的构成–2D中各向异性四边形单元–3D中由各向异性棱柱和六面体单元网格拆分•从四边形单元拆分成三角形单元•从六面体单元拆分成四面体单元网格参数•从“extremelyfine”到“extremelycoarse”的9级缺省网格尺寸•可分别调整子域、边界或边上的所有参数自由网格参数剖分所有域上的网格重置只剖分被选中部分缺省为结构的1/10单元尺寸的增长倍率,必须大于1乘上曲率半径的结果决定了边界上的最大值小于它与边长的乘积的曲率半径取这个乘积最窄部位的网格单元层数未设置最大单元尺寸时有效,表示最大单元为缺省值的倍数自由网格参数,续单元比例是否沿线取向边上的单元数量单元增长比例单元增长关系:线性或对数单元分布是否对称手动定义单元位置剖分网格时的虚拟结构解析几何结构时所需的点复制网格•通过复制网格可以在不同的边界上产生一致的网格•自动检查目标面上源网格的取向拉伸和旋转2D网格•在2D中绘制几何并剖分网格•把网格拉伸或旋转形成3D结构网格导入•NASTRAN数据文件–最通用的网格文件格式–一阶和两阶单元•从网格开始建模–跳过创造几何结构和网格剖分步骤网格统计•检查各单元类型的单元数目•检查自由度数目•检查网格质量•可单独检查各子域、边界或边上的统计信息网格可视化•显示基于坐标的单元(比如,横截面)•使用彩色图案显示网格质量网格框架•轻松地在不同网格间转换•手动调整网格,应用于求解器设定自适应网格•稳态计算中,根据结果调整网格模型库HeatTransferModuleProcessandManufacturingcontinouscasting移动网格案例:电化学抛光•问题描述•电化学抛光:利用金属电化学阳极溶解原理进行修磨抛光•简化的2D模型由两个电极和复合电解液构成。正极有一个凸点,表示表面缺陷。模拟了一段时间后凸点和周围的电极材料的损耗•模型使用了传导介质DC和瞬态移动网格(ALE)ModelLibraryPath:COMSOL_Multiphysics/Electromagnetics/electrochemical_polishing几何模型10/sm电场边界条件0nJ30Vv=00nJ移动网格边界Vx=0Vx=0dx=0,dy=0Vn=-K*Jn_dcK是比例系数,Jn_dc是法向电流密度计算结果自适应网格的设定•在求解器参数设定对话框中设定选中线性求解器•直接求解器–UMFPACK,SPOOLES,TAUCS,PARDISO等–易于使用,鲁棒性,占用内存大–适于处理小规模问题,高度非线性和多物理场问题•迭代求解器–GMRES,FGMRES,ConjugateGradient,BiCGSTAB等–占用内存少,更多的选择,调整比较困难–应用于特定的物理场,如,EM,CFD等–需要预处理器,网格框架,平滑器等直接线性求解器•直接线性求解器通过一步“求逆”得到结果u=K-1F:–把Ku=F分解成LUu=F,所以L和U是容易求逆并且具有鲁棒性–u=U-1L-1F–等同于Gaussian消去法•优点:鲁棒性强•缺点:内存开销大直接线性求解器•UMFPACK–对一般的非对称矩阵是鲁棒和高效的–要么计算成功,要么运算内存不足•SPOOLES–利用对称矩阵–内存使用比UMFPACK有效,但计算速度较慢•PARDISO–利用对称矩阵–和UMFPACK类似,但使用内存比SPOOLES少–共享内存式并行处理–在矩阵分解过程中不需要选主元从而节省内存,这导致不精确的因子–由于支持并行的折中处理,不是100%的鲁棒性•TAUCS–非常适合于对称,正定矩阵迭代求解器•对于规模较大的问题(单元数多,自由度大),直接求解器计算会出现内存不足•矩阵分解是很耗内存的–L和U比K具有更多的非0元素•如何避免分解?–迭代求解器:•不形成L和U•精细的迭代策略•对每一步测试是否r=Ku-F~0(即是否左侧等于右侧)–r称为残差(residual)迭代求解器和预处理器•为了在合理的计算时间内达到收敛,迭代求解器需要一个好的初始估算值–利用预处理器•预处理器M是K的近似值,预处理后的系统变为•M-1Ku=M-1FAu=BA=M-1K,B=M-1F•预处理后的系统收敛较快,Au=B比Ku=F更容易(快)求解•通常,迭代方法根据前面的残差(r=Ax-b)对u进行较小的改变迭代线性求解器•GMRES–在前面所有搜索方向上最小化残差,直到重新开始–如何调整重新求解前迭代步数(默认为50)•更节省内存---减小•得到较好的鲁棒性---增加•FGMRES–GMRES的一个灵活的变种–能有效地处理更多类的预处理器–比GMRES开销2倍多的内存•ConjugateGradient–对称正定问题–在计算时比GMRES更快、内存使用效率更高预处理器•不完全LU(IncompleteLU)–最具有鲁棒性–内存要求大•代数多网格(AlgebraicMultigrid)–标量和松散耦合的多物理场问题–对Poisson问题非常有效•对角标度(DiagonalScaling)–简单,内存使用非常少–适用于椭圆或对角占优问题•SSOR–有效使用内存–同类问题的计算