静力分析
静力学分析适用于计算一个或者多个物体组成的结构,对不随时间变化的载荷作用的响应,施加的载荷可为重力、力、压强等,约束条件可为位移、固定等。
通过静力学分析,直观的向用户展示,结构在所施加的载荷和约束作用下的变形状态,与应力应变数值,为用户的设计提供可靠的帮助。此外,用户还可根据仿真结果对模型进行任意修改,任意设置仿真案例数量以满足用户的工作学习需求。
使用格物云CAE网站,我们可以通过下面的几个步骤轻松开启静力学仿真
进入格物云CAE网站
在页面下方模块栏中选择结构仿真-静力学分析,点击开始仿真按钮,开始仿真:
在弹出的创建工程窗口中输入工程名:
输入工程名称后,点击创建,进入静力学仿真界面:
静力学仿真模块树如图所示:
1. 产品手册
1.1 全局设置
用户可在静力学选项卡中根据需要设置线性或者非线性分析类型。
1.2 几何导入
用户可以在这里上传几何模型,模型格式建议为iges、step、brep、xao且大小不超过200M。
1.2.1 几何分组
用户可以在几何模型中创建点、线、面、体的分组。
1.3 网格导入
用户可通过点击网格,导入本地网格,格式建议为,med、inp、cdb、cgns且大小不超过200M。用户需预先把所需的载荷组与约束组定义完整,否则在后续的仿真分析中不能选择未定义组的点、线、面和体。 同时可以在此选项按照平台内置算法划分网格。
1.4 接触设置
在模型建立时没有进行融合操作的结构都需要对其进行接触设置,设置类型分为两大类:线性接触和非线性接触。
1.4.1 线性接触
线性接触指互相接触的两个物体,接触点是连续的,而且接触点组成一条直线,,即零件保持粘结或具有小变形的假设。线性接触又分为绑定、相对滑动、旋转对称。
1.4.2 非线性接触
所有不属于线性接触的接触类型都属于非线性接触,非线性接触分为罚函数法和增广拉格朗日法。
1.5 单元设置
在此选项卡中,可手动或自动选择设置三维完全积分单元或者三维缩减积分单元类型,以及网格阶数为一阶或者二阶。
1.6 全局模型
在此选项卡中,可设置重力加速度相关的系数。
1.7 材料设置
在此选项卡可选择大部分常用材料(如钢、铁、铝、玻璃、橡胶、陶瓷等金属和非金属材料),材料包含各自基础的力学特征,包含本构行为、密度、泊松比、杨氏模量、蠕变等。
1.8 初始条件
可在初始状态下设置模型的一些基本物理状态,主要是初始位移和初始应力。
1.9 边界条件与载荷
用户可在边界条件选项卡中选择约束类型和加载方式以及附加质量。
1.10 求解器
用户可在求解器中选择不同的计算方法,选择不同的迭代方法和收敛准则。
1.11 时间步&资源
当用户打开非线性计算可在此选项卡中对时间步进行定义,同时可设置计算的核数以及最大计算时间。
1.12 结果控制
在此选项卡中用户可以提交计算或者根据需要选择特定的输出结果,包括位移、应力(主应力、等效应力)、应变(主应变、等效应变),结果以云图方式展示。
2. 教程案例
3. 设置项详解
3.1 在静力学分析
点击静力学分析选项卡,会出现非线性效应的选项卡,若打开非线性效应则计算时按照非线性进行迭代计算,否则按照线性分析仿真过程。
3.2 几何
用户可从本地上传几何文件,上传后选项卡会展示几何外形,显示顶点数量、边线数量、环线数量和面数量等。
- 几何分组:上传几何文件后,用户需对几何进行分组,以便在后续的仿真分析中选择所需的点、线和面。不分组自动画网格功能不能使用!
3.3 网格
用户可从本地上传网格文件,上传后选项卡会展示网格外形,显示单元数量、节点数量、边线数量和面数量等。上传网格文件前,用户需提前对模型进行分组,以便在后续的仿真分析中选择所需的点、线和面。
用户也可将上传的几何文件在此处划分网格,生成.med文件。
- 类型:在此处选择用于计算的网格来源
- 几何生成:将上传的几何文件剖分
- 上传网格:直接导入外部网格模型
- 几何模型:当类型处选择“几何生成”时,此处默认的是导入几何的文件名。
- 网格划分方法:此处选择划分网格的算法。
- 自动划分:平台自动生成四面体网格,只能调节网格密度。
- 手动划分:可以调节网格的单元最大最小尺寸以及网格密度
- 网格划分精度:控制网格密度的滑块,0代表网格最粗糙,4代表网格最精细。
- 单元最大尺寸:手动划分时,用户可以自定义单元的最大长度。
- 单元最小尺寸:手动划分时,用户可以自定义单元的最小长度。
3.4 线性接触
- 绑定接触:两个接触物体间没有相对位移。在此选项卡中用户可设置,容差值:从属面距主从面最近的距离,该选项会改变接触的区域大小,如果不启用容差则会导致所选从属节点绝对绑定至主面,在选择主接触面时,必须选择体单元类型!!!从接触面选择另一个接触面;
- 相对滑动:允许两个接触面在接触表面相切的平面上有位移,但不允许沿接触面法线方向有位移,在此选项卡中用户可设置,容差值:从属面距主从面最近的距离,该选项会改变接触的区域大小,如果不启用容差则会导致所选从属节点绝对绑定至主面,在选择主接触面时,必须选择体单元类型!!!从接触面选择另一个接触面;
- 旋转对称:用于对360°范围内循环结构进行部分建模,能极大减少计算时间与内存消耗,需要设定对称中心、对称轴以及选择角度,主从面的选择用于定义模型边界。
3.5 非线性接触
非线性接触能够真实的反应两个部分之间的物理接触状态,与线性接触不同,这些接触不仅表示结构通过节点连接还可计算各结构之间的接触力。
以下的通用参数可用于全局的非线性接触选择算法:
非线性算法可选择:固定点法和牛顿法。
- 固定点法:在牛顿迭代的基础上加入外部循环迭代,解决非线性变形。此算法可用参数:
- 几何更新:几何模型更新可在自动,手动,无更新之间选择;
- 最大迭代次数:在几何更新自动模式下表示算法迭代最大次数,如果达到该 值,则会报告计算发散无法收敛;
- 迭代准则:几何更新自动模式下可用,表示算法的阈值,小于该值则表示计算收敛;
- 摩擦:允许选择是否在仿真时考虑切向库仑摩擦力,若选择库伦摩擦,则该算法有两个可用选项:牛顿和固定点。
- 摩擦迭代判据:与上述最大迭代次数相同,用于判断摩擦计算的收敛性
- 接触算法:包含两种算法固定法和牛顿法,牛顿法的迭代次数包含于全局设定,固定点法则可设定最大迭代次数与次数乘子,次数乘子为把最大迭代次数变为从属面节点数目乘以次数的乘子。
- 收敛稳定:计算接触和摩擦时会改变矩阵的计算,帮助收敛。
- 收敛平滑:网格曲面的法线平滑,适用于曲面。
- 牛顿迭代法:几何更新包含于牛顿迭代中,唯一可用的参数为迭代准则,即解收敛时接触面穿透的残余阈值。
点击非线性接触的加号按钮可定义每个接触对,接触对可在罚函数法和增广拉格朗日法之间选择,参数设定如下所示:
- 罚函数系数:确定接触对的刚度接触对常数。
- 接触刚度:接触刚度有四种选择:低、中、高和自定义。接触刚度越大,计算中接触对互穿量越少,然而,对于较大的惩罚系数,会让收敛变得难以收敛,因此,用户需找到现实接触行为和收敛优化之间的平衡。
- 增广拉格朗日接触因子:增广拉格朗日的乘数的值。
- 摩擦系数类型:允许用户设置接触对的计算方法,选择方法与法向力相同,选项有两项:摩擦惩罚因子和拉格朗日摩擦因子:
- 摩擦惩罚因子:在计算摩擦力结果中的惩罚因子。
- 拉格朗日摩擦因子:计算摩擦力中的拉格朗日乘子。
- 库伦摩擦系数:切向摩擦力与法向正压力之比。
- 虚拟间隙:允许在接触点之间引入人工分离间隙。若启用,当间隙小于主间隙和从间隙之和时,接触点被视为激活,同时间隙可作为变量值输入。
3.6 单元设置
- 单元设置:默认情况下,选择自动,用户可手动选择不同选项。
- 类型:可选择三维完全积分单元(抛物线插值)或三维缩减积分单元(线性插值)。
- 子单元:当单元设置为手动时,会出现子单元选项,点击子单元的加号按钮出现子单元1、子单元2、子单元3…等选项,用户可根据需求选择不同位置的单元赋予不同的单元类型。
3.7 全局模型
全局模型:用户可在此选项卡中输入重力加速度,重力加速度输入的形式包括数值,表格或者函数形式,同时可在全局坐标系下定义重力加速度的方向,默认为Z的负方向。
3.8 材料
材料选项卡中用户可定义全局的材料性能,包括材料本构行为(默认线弹性),杨氏模量、泊松比、密度,单位也可根据需要随时改变。
点击材料的加号按钮,用户可选择内置的不同材料,各项材料力学基本属性都已默认填写,同时可根据用户需要赋予所属模型网格。
3.9 初始条件
该选项会再打开非线性计算时出现,线性计算时隐藏,此选项有两个选项,位移和应力:
- 位移:能够赋予全局模型在全局坐标系下的位移分量,同时点击位移旁的加号,能够对局部网格进行设定初始位移。
- 应力:能够赋予全局模型在全局坐标系下的6个应力分量,点击应力旁的加号,能对局部网格进行设定初始应力。
3.10 边界条件与载荷
边界条件与载荷定义了系统与环境交互的方式,一般的,边界条件与载荷由三部分组成:边界类型、边界分配、边界条件值。
边界类型:点击边界条件与载荷旁的加号按钮可选择不同的边界条件;
- 面载荷分布:用户可在该选项卡中对需要的面单元,设定全局坐标系下的三个载荷分量,载荷可通过直接输入值、表格输入、函数输入三种方法输入。
- 固定支撑:用户可在该选项卡中选择对应的体、面、线、点施加6个自由度方向的固定约束。
- 体分布载荷:用户可在该选项卡中选择对应的体单元,施加全局坐标系下的3个方向的载荷分量,载荷可通过直接输入值、表格输入、函数输入三种方法输入。
- 螺栓预紧力:用户可在该选项卡中选择对应的两个接触面,分别为主施加位置和从施加位置,然后输入所需的螺栓预紧力,完成螺栓预紧力的设定。
- 弹性支撑:用户可在该选项卡中选择对应的面设定,设定选项由弹簧刚度、刚度定义、刚度值,当刚度定义选择各项同性时,弹簧刚度在全局坐标系下三个方向的值都一致,当刚度定义选择各项异性时,则可对弹簧刚度在全局坐标系下三个方向的值进行自由设定;刚度定义:选择“总体”,定义的刚度值将应用于面的所有节点;选择“分布模型”时,刚度将分布到应用刚度的面区域。
- 位移约束:用户可在该选项卡中选择对应的体、面、线、点施加3个平动自由度的位移,用户可可通过勾选对应方向的选择框来自由选择所需方向的位移条件,数值可通过直接输入值、表格输入、函数输入三种方法输入。
- 对称约束:用户可在该选项卡中选择对应的面,该平面作为结构的对称平面。
- 压强:用户可在该选项卡中选择对应的面施加压强,压强方向默认为施加平面的内法线方向,数值可通过直接输入值、表格输入、函数输入三种方法输入。
- 面力载荷:你可在该选项卡中选择对应的面施加全局坐标系下三个正交方向的力矢量,数值可通过直接输入值、表格输入、函数输入三种方法输入。
- 节点载荷:用户可在该选项卡中选择对应的节点施加全局坐标系下三个正交方向的力矢量,数值可通过直接输入值、表格输入、函数输入三种方法输入。
- 离心力载荷:用户可在该选项卡中施加结构绕固定轴旋转时的力,该载荷施加需要定义三个参数:旋转轴的位置、旋转轴的方向、转速。
- 旋转轴的位置通过轴上的点定义,需要在全局坐标系下定义一个点
- 旋转轴方向需要在全局坐标系下定义方向向量
- 旋转方向使用右手法则,拇指与旋转轴对齐,四指表示旋转方向
- 转速可通过直接输入值、表格输入、函数输入三种方法输入。
- 附加质量:用户可在该选项卡中施加一个有质量的点,该点与选定的施加位置用远程连接,定义附加质量时需要定义质量点的质量、位置(全局坐标系下的坐标)
- 施加位置选择体、面、线、点
- 变形行为选项为可形变时,质量点和施加位置之间为柔性连接,变形行为选项为不可形变时,质量点和施加位置之间为刚性连接。
- 离散点绑定位移:用户可在该选项卡中对选定的面或者体施加远程位移边界条件,该边界条件需要4个参数来定义:位移、旋转、外部点、变形行为
- 位移:在全局坐标系下,用户可根据自己的需求任意规定3个正交方向是否约束,输入值可通过直接输入值、表格输入、函数输入三种方法输入
- 旋转:用户可根据需求在全局坐标系下规定3个正交的旋转方向是否约束,输入值可通过直接输入值、表格输入、函数输入三种方法输入
- 外部点:在全局坐标系下外部点的坐标,变形行为选择和附加质量的变形行为选择一致。
- 离散点绑定力:用户可在该选项卡中选择从远程点向结构的面施加力矢量,该选项需要定义3个参数:绑定力、力矩、外部节点(远程点)
- 绑定力:用户可输入全局坐标系下的3个正交方向的力分量,输入值可通过直接输入值、表格输入、函数输入三种方法输入
- 力矩:用户可输入全局坐标系下的3个正交方向的力矩分量,输入值可通过直接输入值、表格输入、函数输入三种方法输入
- 外部节点:全局坐标系下远程点的坐标
- 旋转约束:用户可在该选项卡中为网格模型设置旋转自由度的约束,该约束有3个重要元素需要设置:基准点、旋转轴、旋转角度
- 基准点:全局坐标系下旋转轴初始点的三个正交方向的坐标
- 旋转轴:输入全局坐标系下三个正交分量合成,适用于右手法则
- 旋转角度:该数值为所选物体绕旋转轴数学意义上的定义,输入单位可在弧度或者度之间转换。
- 施加位置:选择体
3.11 求解器
求解器面板包含控制有限元静力学分析求解模型的方程求解器的一些设置,包括算法选择、残差和阈值类型、最大迭代次数、时间积分等方案,以下会对每种设置及其过程机械阐述,这些参数在大多数情况下都足够好,但用户可利用可选项来优化计算过程,提高速度、鲁棒性和精度。
- 求解计算方法包含:MUMPS,LDLT,Multifrontal,PETSC四种方法
- 载荷对称选项:打开用于强制结构的刚度矩阵为对称矩阵。
- 检测到奇异时是否停止:打开则会开启评估,当矩阵奇异性评估结果为正,则停止计算,对于非线性解,可用牛顿准则代替。
- 奇异性监测精度:设置矩阵奇异性评估的数值精度,如果设置负值则关闭监测 MUMPS多用于大规模稀疏矩阵的直接求解,该选项卡有自己的一些特定设置
- 矩阵优化内存分配率:用于数据透视操作估计量之上保留的内存比例设定
- 矩阵过滤阈值:默认选择-1
- 单精度:可选择开启或关闭
- 是否进行预处理:用户可选择是否启用矩阵的预分析用以优化计算
- 矩阵重新编号方法:矩阵优化算法,对仿真计算的内存消耗有巨大影响:
- AMD:使用近似最小度数方法
- SCOTCH:是一个强大的重新编号工具,适用于大多数场景,是MUMPS的标准选项
- AMF:使用近似最小填充方法
- PORD:是MUMPS中包含的重新编号工具
- QAMD:是自动检测准密集矩阵的AMD变体。
- Automatic: MUMPS自动选择重新编号的方法
- 分布式矩阵存储:如果启用,矩阵存储将在不同的进程中拆分,禁用则为每个进程保存一份矩阵副本
- 内存管理:允许选择RAM与磁盘的使用情况
- 自动:允许求解器决定最佳设置
- 核内存储:通过将所有对象存储在内存中,优化计算时间。
- 评估:在求解器日志中提供最佳设置
- 核外存储:通过在内存外存储对象来优化内存使用
LDLT对系数矩阵执行经典的高斯消去过程
MULTIFRONTAL系数矩阵分解法对矩阵进行LU或Cholesky分解,该方法的矩阵重新编号方法有两种方法
- MDA:对超过5000或者更大自由度的大模型选择此选项
- MD:小模型选择此选项
PETSC使用可移植、可扩展的科学计算工具包中的不同算法和组件。
- 算法:选择求解算法
- CG:共轭梯度
- CR:共轭残差
- GCR:广义共轭残差
- GMRES:最小广义残差,是鲁棒性和速度之间的最佳折衷
- 预处理器类型:选择算法以计算和重新调整矩阵用以寻找最优解
- MUMPS LDLT:单精度完全Cholesky分解
- 预处理器刷新时间:设定矩阵迭代刷新间隔
- 最大迭代次数:求解器允许的最大迭代次数。如果设置为0,则按算法执行值估计。
- 相对残差收敛阈值:残差值,如果再迭代之后,残差低于该值,算法结束。 非线性方程求解器的目的是用以找到一般非线性方程的解,非线通过大变形和旋转、材料非线性和非线性接触等条件引入平衡方程,在不知道平衡方程显式解析解的情况下需要进行数值‘搜索 ’过程来逼近,一般有两种方法:牛顿法和牛顿-克里洛夫法:
- 非线性分辨率类型:在牛顿算法中选择
- 牛顿:在每个加载步中,使用经典的完全‘精确’方法解析非线性方程组
- 牛顿-克里洛夫:使用‘近似’方法,利用线性方程迭代来节省时间
- 收敛性准则:选择用于评估牛顿迭代收敛性的残差定义。
- 相对的:将内外力不平衡归一化为外力大小来计算残差
- 绝对的:直接与残差作比较。
- 自适应:同时使用相对和绝对的标准,在每次牛顿迭代时,默认使用相对标准,若外部载荷消失,则使用‘绝对’标准。
- 绝对精度:残差的阈值,当残差低于该值时,迭代被认为时收敛的。
- 预测矩阵:选择每个加载步中第一次迭代时使用的刚度矩阵
- 切线矩阵:在计算矩阵时考虑系统中的非线性
- 弹性矩阵:在计算矩阵时只考虑系统的弹性模量。
- 雅可比矩阵:和以上描述类似
- 最大牛顿迭代:每个加载步允许的迭代次数
- 依迭代更新:在经过迭代次数后将重新计算雅可比矩阵
- 依增进更新:在经过加载步后将重新计算雅可比矩阵
- 改变雅可比矩阵:开启时,如果在加载过程中时间步长低于给定阈值,则选择将雅可比矩阵从切线改为弹性矩阵
- 牛顿方法收敛协助:用于帮助牛顿法的收敛,特别时在不使用雅可比正切矩阵时。
3.12 时间步&资源
线性静力学计算
- 时间步划分策略:在求解单个时间步长或时间步长列表之间进行选择。
- 单步分析:运行单个负载情况。
- 多步分析:允许计算时按照时间变量的负载情况进行计算
- 静态计算的时间步长若选择‘单步分析’则运行计算选择的时间,若不使用多个时间步长,则默认为0.
- 静态计算的时间步长若选择‘多步分析’则结束时间默认为1.时间步长默认为0.1,则一共计算10个案例。
非线性静力学计算
非线性静力学计算中,允许一个或者多个特性随时间变化,例如材料特性(塑性或超弹性)、非线性载荷(非线性接触)等,因此需要控制时间积分,为此,存在两种策略:自动或手动调节时间步长定义。
- 手动调节:用户可在此选项中根据自己的需要定义时间步长,但若时间步长相对于计算结果的变化太大,则会导致收敛问题,该选项中有以下参数可调:
- 结束时间:仿真模拟结束的时间
- 时间步长:为后续积分时间间的间隔,用户可为整个仿真时间定义特定的值,也可打开表格窗口,为每个时间间隔指定多个值。
- 自动:你可使用自适应的时间步长方案选择此选项,该选项会在每次计算发生错误时将当前时间步长细分为更小的时间步长,通过使用较小的时间步长来客服大多数收敛问题。
- 结束时间:仿真模拟结束的时间
- 最大时间步长:在执行步长切割之前定义仿真的初始时间步长定义,这里的使用方法与线性分析的时间步长设置一致,用户可参阅上面的相关设定
- 最小时间步长:任何细分时间步长的最小时间步长间隔。
- 最大残差:在出现发散误差之前,牛顿迭代的最大允许残差。
- 时间步切割策略:选择触发时间步细分的情况
- 计算出错:发散或者矩阵奇异
- 发生接触:接触从打开变为关闭
- 物理场变化:给不同的物理场更改特定的阈值
- 非单调残差变化:在最近的三次迭代中,残差没有减少,这允许通过尽早减少牛顿迭代来节省计算时间。
- 时间步切割计算:选择计算较小时间步长的方法。
- 手动计算:可用于计算出错、发生接触、非单调残差变化的选项,根据固定细分选项的给定参数,将当前时间步长细分为相等间隔的步长,此外在给定的情况下,通过固定扩增选项中的参数,将时间步长加大来节省计算时间
- 牛顿迭代次数附加百分比:若残差单调减少,且预计在给定的附加次数内达到阈值,则允许求解器在当前时间保持迭代,允许的额外迭代次数为求解器选项中指定的最大牛顿迭代次数的百分比。
- 切分段数:当前时间步长的等分份数。
- 最大切分次数:执行细分的最大次数。
- 牛顿迭代阈值:触发固定扩增的标准,若上个时间步,在低于该参数的牛顿迭代次数中实现收敛,则时间步长将增加。
- 时间步增长比例:时间步长增加的百分比。
- 根据迭代次数:用于错误、非单调残差变化。求解器根据最新的一个时间步长残差变化,估计在收敛之前达到牛顿迭代目标值所需的时间步长。
- 手动计算:可用于计算出错、发生接触、非单调残差变化的选项,根据固定细分选项的给定参数,将当前时间步长细分为相等间隔的步长,此外在给定的情况下,通过固定扩增选项中的参数,将时间步长加大来节省计算时间
- 物理场变化:适用于物理场发生变化的仿真计算,求解器根据上个时间步的物理场变化估计实现目标场变化值所需的时间步长。
- 时间步切割计算:用户可在该选项卡选择物理变化值和混合计算选项:
- 物理变化值:你可设定物理变化值来确定迭代时间步长。
- 混合计算:仅在物理场变化选项激活时有用,细分方法和手动计算选项类似,求解器估计增长的时间步长来满足物理场变化的目标。 此外,用户还可定义结果输出的数据量,由结果写入时间步定义。
- 分隔选取:通过跳过固定数量的时间步来输出时间,由输出频率控制。
- 所有计算时间步:写入所有计算时间步长,包括细分的时间步长。
- 初始时间步长:输出写入在‘最大时间步长’中定义的时间步长。
- 自定义:用户可手动输入输出的时间步长。
- 用户还可在此处设定计算所需的资源和计算时间
- 计算核数:用户可定义仿真计算所需的计算核数。
- 最大计算时间:定义仿真的最大时间,超过该值就会自动停止计算。
3.13 结果配置
用户可在这个选项卡中,输出响应的结果
- 物理场:用户可选择输出位移、应变、主应力、等效应力等模型的基本加载响应。
3.13 仿真结果
用户可在此选项卡中获得仿真计算之后的应力应变云图,而且可获得计算日志,便于用户的使用,同时当全部条件设定完全后可在本选项卡组点击开始计算按钮,会给用户显示项目的创建时间和结束时间。