使用 Abaqus 进行有限元分析

本文全部为自己写的,如需转发,请附上网址

  有限元分析(FEA - Finite Element Analysis)是指利用数学近似的方法对真实物理系统(几何和载荷工况)进行模拟。利用简单而又相互作用的元素(即单元),就可以用有限数量的未知量去逼近无限未知量的真实系统。进行有限元分析,常用的两个软件为 Abaqus CAE 和 ANSYS。本文使用的是 Abaqus。
  有限元分析的基本步骤通常分为三步:
  (1)前处理:根据实际问题定义求解模型,包括以下几个方面:
    定义问题的几何区域:根据实际问题近似确定求解域的物理性质和几何区域。
    定义单元类型:
    定义单元的材料属性:
    定义单元的几何属性,如长度、面积等;
    定义单元的连通性:
    定义单元的基函数;
    定义边界条件:
    定义载荷(力)。
  (2)总装求解:将单元总装成整个离散城的总矩阵方程(联合方程组)。总装是在相邻单元结点进行。状志变量及其导数(如果可能)连续性建立在结点处。联立方程组的求解可用直接法、选代法。求解结果是单元结点处状态变量的近似值。在 Abaqus 中就是 submit 提交一下自动就会计算了。
  (3)后处理:即对计算结果进行观察、可视化分析以及数值分析等。
  本文记录了使用 Abaqus 进行有限元分析的常规流程,基本上就是按照 Module 中的分块,从上到下进行即可,如下图所示。

  具体流程分为以下 9 步:

1)Parts

  首先要做的就是导入模型,导入的模型需要是 .sat 格式,比如说想要使用的模型的 .obj 或者其他格式的 mesh 模型进行有限元分析,需要先对模型进行处理,简化、平滑、去掉内部网格等等,将其处理成为一个尽可能中空,密闭,形状不太奇怪,没有尖锐,没有自相交,网格不是非常密的模型,然后将其导入 Rhinoceros(犀牛) 软件中,我使用的是 Rhinoceros 5 (64-bit),直接拖动模型进入软件界面即可。拖进来后,选择“导入文件”,如下图所示。

  导入之后可以看到导入进来的网格模型,如下图所示。

  导入之后,左键单击模型(任意视图中),模型会变为亮黄色,右键单击“网格工具”中的转换按钮,即可将模型转换为多重网格,如下图所示。

  转换之后,左键单击模型,会发现有 “网格” 和 “多重曲面” 两个选项,选择 “多重曲面”,然后在左上角 “文件” 中选择 “导出选取的物件”,选择保存类型为 “ACIS (*.sat)” 即可。

  接下来就是要把 .sat 的模型导入 Abaqus 了,右键 Parts,然后点击 Import 导入 .sat 文件,即可将模型导入 Abaqus 中,将所有需要使用的模型导入 Abaqus 中后,第一步就结束了。

2)Property

  导入模型后需要添加材质信息,本文中只是用两种:hard 和 soft。共分为三步(设置材质、设置section、指定section):

 1、Create Material

  在 Module 中选择 “Property”,点击 Property 中左上角的 “Create Material” 按钮,如下图所示。

  修改材质的名称,General 中选择 Density,设为 2,然后在 Mechanical 中选择 Elasticity 中的 Elastic,设置 Young’s Modulus(杨氏模量)为 100000000,Poisson’s Ratio(泊松比)为 0.35,如下图所示。

  同样的方式设置 soft 材质类型,杨氏模型 100000000, 泊松比 0.4。

 2、Create Section

  点击 Property 中的 “Create Section” 按钮,命名为 hard,选项都选择默认的不变,点击 continue,在 “Edit Section” 窗口中选择刚才设置的 hard 材质,点击ok,hard材质设置就完毕了,同样方式设置 soft 的 section。

 3、Assign Section

  点击 Property 中的 “Assign Section” 按钮,左键单击模型,即为模型赋予材质,右下角可以修改这个区域的名称,上方 Part 内可以切换模型,为不同模型赋予材质,如下图所示。

为模型赋予材质成功之后模型会变为绿色,如下图所示。为所有模型赋予材质之后,第二步就完成了。

3)Assembly

  这一步把所有模型放在一起即可(可以注意到,在这之前,所有模型没法同时出现在屏幕上)。
  点击 “Create Instance” 按钮,按住 ctrl 键,点击所有模型,点击 Apply 和 Ok 即可。可以发现模型全部出现在屏幕中了。

  这一步还没有结束,在左侧 Assembly 中的 Instances 中右键每个模型,选择 “make independent”,这一步就结束了。

4)Step

  这一步是设置有限元分析的总时长和每一步时长。点击 “Create Step” 按钮,选择 Dynamic,Implicit,点击 continue,根据自己需要修改 Time Period,我这里使用的是 5。

5)Interaction

  这一步是设置模型和模型之间的接触方式和接触部分。为了方便起见,我们先把需要设置的接触部分全部选取出来保存。
  在上方 “Tools” 按钮中的 “Surface” 中选择 “Create”,创建一个表面。

  在选择一个模型表面的时候,其他模型很可能会影响选取,可以在左侧的 “Assembly” 中 “Instances” 中选择不想选取的模型,右键,选择 “suppress”,这个模型就会暂时隐藏掉,不会被选取,如果想让他恢复,右键点击 resume 即可。

选取表面是,鼠标左键框选,按住 ctrl 为删减,按住 shift 为增选。选取成功后左侧 “Assembly” 的 “Surfaces” 中就会有新的表面,双击就会显示出来。

  将所有需要用到的会接触的表面选取完成(将要设为固定的面,不用在这里设置,之后会单独设置)后,就可以开始设置接触(Interaction)了。
  点击 “Interaction” 中的 “Create Interaction” 按钮,为接触起一个名字,点击 continue,在选择表面的时候,点击右下角 Surfaces 按钮,选择刚才设置的表面中的一个,然后再选择一个,继续,设置一下接触类型,即可完成这个接触的设置。
  注意刚刚选择的两个表面是有顺序的,一定是施力面先选,受力面后选

  所有表面接触设置好后,会显示为黄色,如下图所示。

6)Load

  这一步设置边界条件。首先先设置力,点击 “Create Load” 按钮,给这个力起个名字,点击 continue,鼠标框选受力点,设置xyz三个方向的受力,最终结果会用箭头表示三个方向上是否受力。

  为了演示,只设置了一个很随便的力,位置也是随便选的,接下来就是设置边界条件了,点击 “load” 中的 “Create Boundary Condition” 按钮,鼠标框选出在模拟过程中保证不动的点(如果有其他模型碍事,就 suppress 掉),选择 Pinned 或者最后一个都行。

7)Mesh

  这一步是对模型进行**剖分**。剖分的意义就是让空的模型被分为很多很多小实体,这有限个小东西组成这整个模型,这就叫有限元。用下图三个步骤就可以将模型剖分完成,推荐使用四面体剖分(Tet)。一个模型剖分完就会变成绿色,将所有模型进行剖分后这一步就结束了。
  注意:每个模型剖分程度不一样,需要精密一点的,就把 Global Size 调小即可

8)Job

  Optimization 没有用过。上边的都设置好之后,就可以创建job了,点击 “Create Job” 按钮创建任务,可以选择加速或者不加速,然后在 Job Manager 中,点击 submit 就开始计算了!(计算之前最好先 Data Check 一下,没有问题就可以计算)。

  点击 Monitor 可以查看计算进度,完成后可以点击 Result 进入 Visualization 观察结果。

9)Visualization

  结果观察有很多方式,可以没有线框,可以只观察部分模型,可以观察受力和位移,等等等等,自己琢磨一下就好了,太多了不好写。大概结果如下图所示。

写在最后

  Abaqus对于有限元的分析功能很强大,只是展示了其中最最基础的冰山一角,不过这样出来的结果已经可以可视化了,不顾她对不对,反正看起来挺好看的= =。

猜你喜欢

转载自blog.csdn.net/Bob__yuan/article/details/88057286