025. 【笔记】Hypermesh旧界面过渡新界面重要笔记精简(5000字)
2025年3月4日 13:39不同的求解器往往需要不同的文件格式,比如ALTAIR公司的OptiStruct/Radioss求解器需要的是一个后缀是.fem/.rad的一个文件、再比如说第三方的ABAQUS/Dyna需要的可能是后缀为.inp/k的文件。HM做完这部分的前处理工作之后,可以根据用户的需求导出不同后缀的格式。
有了这个格式的文件之后就可以提交给求解器去做求解,求解器会run出一个结果来,我们再用后处理工具。ALTIAR公司通用的后处理工具有HyperView(看一些动画)结合HyperGraph(看一些曲线),做这种后处理的可视化工作,然后可以截一些动画或图片放到我们的报告里。
HM打开的只能是后缀是.hm的文件,其他的文件格式要想放到HM里边来用的就是这里导入的功能。
用菜单栏里的“打开”的话一次只能打开一个模型文件(hm);若窗口里已经有一个hm文件,此时再打开一个hm文件会把原来窗口的文件覆盖掉,从内存移除然后新的文件进来。若窗口里已经有一个hm文件,此时使用导入再打开一个hm文件时(选择文件后点击浏览器下的Import),则导入的模型会和之前窗口里的模型共存(两个模型文件在同一个窗口显示)。
实际工作过程中操作的模型可能会非常大,一个工程师不可能做得完,会分工给多个工程师同时来做。每个人做一块,做完之后就可以通过一个一个文件的导入把几个模型合并到一起,拼成一个模型。
导入一个文件模型后看它的Model模型浏览树,里边有一个类型叫Components(最重要的一个Collectors),有限元的网格和几何都存放在里边。
注意,比如想导入Abaqus求解器文件,那么首先在一开始选择配置模板时就应该先选择Abaqus,然后再去导入(注意先后次序)。
Import Bom,如下图,这个是导入一个Bom表。什么是Bom表:我们用一些CAD建模软件去建模的时候,很多零部件创建好了之后往往会进行装配,装配完了后会有个目录树,目录树里边的层级就体现出了这个模型结构的装配关系;导入Bom导入的就是这个目录树,而不会把具体的模型导进来,就把它的目录树(装配关系、层级关系)导入进来。
需要导入的文件格式,比如ProE的.ism文件、Catia的.Product文件(不是.Part文件,.CATIAPart是零件.CATIAProduct是装配件),它是从装配信息里边去读Bom表的所以得选择包含装配信息的文件把它给读进来。
关于第五个导入小图标—Import Connectors,如下图,这个是导入焊点文件。
如果用户有焊点文件,焊点文件就是说,尤其是汽车的主机厂,比如说整车上有好几千个焊点,这几千个焊点位置的三维坐标一个个去输去建立连接的话,工作量非常大。所以会有焊点文件这种东西,我们的建模工程师可以帮我们导出焊点文件,后面基于焊点文件,我们可以快速的做出一些连接。
一定要记住,HM默认情况下.hm文件它里边是包含几何、包含有限元对象;几何就是点线面体,有限元对象就是网格、节点、材料、载荷、边界条件等等。HM的这个hm文件里边包含几何、包含有限元对象,但是如果用户在HM界面里边做完所有操作以后,导出了一个Solver Deck求解文件(比如说导出了一个OptiStruct的fem文件、Nastran的vdf文件),那么这个Solver Deck里边呢它只包含网格、节点、材料、载荷、边界条件等等这些有限元的信息。
hm文件包含有限元和几何信息,Solver Deck文件只包含有限元,几何文件只包含几何。有Import导入就有Export导出,导出hm(Export Model)、Export Solver Deck、Export Geometry、Export Bom、Export Connectors(焊点文件)。
这里需要注意一点,Export Geometry(导出几何)的文件类型基本都是通用格式(不能再导出像Catia.Part这样的原格式)。
这个图标只做简单了解。实际上HM在很久之前可以做前处理,也可以做后处理(查看云图、查看曲线),后来因为ATAIR公司又专门开发了HV/HG这些专业来做后处理的软件,但是HM做后处理的功能一直没有移除掉,在面板区有个Post面板里的功能可以用来做一些简单的云图、简单的曲线绘制的后处理功能。如果要用Post面板里的功能来做后处理,那么需要配和的结果文件就要在Load Results进行导出,它需要的结果是一个res文件,见下图。比如说用OptiSruct求解会发现求解文件的路径底下会生成一个res文件,这个文件实际上是配合我们HM里的Post面板来做后处理的。
复合材料显示模式主要就是显示复合材料(如碳纤维)一层一层的铺层、以及铺层的方向(比如0度、45度呀)等等这些信息。
geometry面板里的“cleanup tolerance”(几何的清理容差);cleanup tolerance在我们进行模型导入时就会产生作用。现在cleanup tolerance的设置值是0.01,假设要导入的模型非常非常小的时候,比如其中有两条线的距离就是0.01那有可能在导入的过程中就会被清理掉就会被合并在一起。
再比如说mesh面板里的“element size”(网格尺寸)默认设置是0.4,见下图所示。节点容差“node tolerance”设置值是0.0017,即我们这个模型里边是不允许有两个节点的距离近到0.0017之内,否则会被合并到一起。
如果说用户模型尺寸非常非常小比如是nm级别的,此时要画的网格就非常非常小比如说想画的网格尺寸是1e-5,会发现把1e-5输进element size之后按回车会发现变成了1.7e-3,即此时系统不让画这么细的网格(即无法按照用户的要求成功设置),如下图所示:
仔细想想会发现这个1.7e-3即是因为前边Preferences→mesh面板里节点容差“node tolerance”设置值是0.0017;实际对于HM来讲画多细的网格都是没有影响的,关键就是在于我们设置的这个地方。
如果用户碰到了无法画精细网格的情况则首先就需要在Preferences→geometry面板里把“cleanup tolerance”调到合适模型尺度的大小(要是仍为0.01的话模型就会把距离小于0.01的线合并到一起),这里可以根据需要调到1e-7;同理Preferences→mesh里边节点容差“node tolerance”设置值也要进行相应调整,比如相应调为1e-6,这里mesh面板里的目标网格尺寸倒是可以随便填下element size,比如说调为0.001。关键就是调节geometry→cleanup tolerance和mesh→node tolerance,如果把这两个调小之后再回过头来就可以去2D→automesh→element size输入1e-5了,用户就可以根据需求画小尺寸的网格了。
Preferences→meshing里还有个非常重要的一个设置是topology revision(拓扑修改)。这个选项控制的是几何和网格的互动(我们进行几何更改时网格是跟着动的),比如以后我们在进行几何清理的时候动了一个面上的一条线会发现它网格自动就变了,这个时候要想起来有这个选项是控制网络和几何的关联性的。如果不想要几何变得时候网格跟着变化可以在这里进行更改。
by attached选择方式,无限往外扩展只要是和当前所选单元连到的都会被选中。
HM里有很多功能需要定义一个方向才能去操作,比如用户想要移动一个对象则首先得定义一个移动方向。在HM面板里看到上图(x-axis B)这种就是提示用户定义一个面的。其中“x-axis”是指定义面的法向,“B”是定义面的基点;如下图,可以试想要定义一个平面(蓝色线框)位置,只需要选择一个法向(橘线)和一个基点(黑点)就可以了。
在HM面板看到这种(N1N2N3)就是提示用户定义方向的。
只选N1和N2的话两点连线方向即是定义的方向;另一种就是N1N2N3三个点都选择,定义的方向就是右手螺旋定则-三个点形成的法向。
Collectors的管理形式。Components里边是放模型里的几何和有限元的;Materials是放材料的,Properties是放属性的(厚度信息等);Load Steps是放工况的;Load Collectors是放载荷;Beam Section是放梁截面的;Sets是一些集合(单元集、节点集等)。
几何里边的点我们叫Points,网格/有限元里的点统一叫做Nodes。这两个概念一定要区分开来,我们都叫点但要知道指的是Points还是Nodes。
我们如何区分模型里到底哪些面属于surfs哪些属于solids呢?
当然不能像上边的操作一样先尝试选选看,最直接的方式是通过调整几何色彩显示模式来辨别。
将模型几何色彩显示调整为By 2D Topo和By 3D Topo时模型显示效果如下图所示:分析二者显示特点可以总结出结论:几何这种对象本身对于面surfs和实体solids就不好区分。有些面是外表面其内部是空心的,这就需要我们明了模型里的几何对象(包含点线面体)到底是实体(solids)还是空心壳(surfs)。当我们切换到2D Topo显示时(如上左图),凡是不是2D的对象(即实体)它会显示成蓝色;当我们切换到3D Topo时(如上右图),凡是不是3D的对象(也就是2D表面)会显示成蓝色。所以说我们在切换By 2D Topo和By 3D Topo模式时,哪些对象是以蓝色显示的则代表不是我们当前视图下这种。比如说在上左图2D Topo模式下显示的蓝色对象就代表其是实体,在上右图3D Topo模式下显示的蓝色对象就代表它不是3D实体而是2D的曲面。
那么我们是按照什么规则来区分这些Component呢?
即怎么来组织我们的模型呢?比如导入一个有一百多个零件的模型,是按照零件还是别的来区分Component呢?
一般来说模型导入进来,不同的零件会属于不同的Component,也有可能一个Component包含有多个零件。一般来讲我们会按照模型零件、材料、厚度的不同来区分组织模型的Component。
如上提到的例子,若一个包含一百多个零件的模型导入进来,我们可以根据这一百个零件去区分出来一百个Component;如果这一百个零件有五十个用的同样的材料,我们也可以把它们归于同样的材料。
通常我们将模型导入进来,HM会自动分好Component。如果没有分好,如系统将几十个零件都放在了一个Component里,这个时候就需要用户创建十几个Component分别把这十几个零件放进去。怎么放用的就是工具栏里的Organize功能(可以操作solids/surfs/elems)。
Components列表里会有且仅有一个名称加黑显示的Component。
加黑显示是表示它为当前所处的Component即Current component,类似于一些软件当前图层的含义。
可以通过右键点击相应的component使其切换为Current component。它的作用是如果用户后边新建的对象没有额外指定的话,新建的对象会默认进入到Current component。除了Components容器,Load Collectors(装力、力矩、压强等载荷)也有当前的概念,即新建的载荷也会进入Current Load Collector。
我们在新建有限元对象或几何对象的时候需要注意当前的Current component、Current Load Collector是哪个,我们新建的对象会跑到当前的这些容器里。新手会遇到一个小问题,比如在创建2D网格对象时创建后不显示以为是没创建成功,实际上是把当前component的网格显示给关了。即我们在创建有限元对象时要注意检查当前的component有没有正确的打开显示。
HM会根据不同的求解器模板把用户操作结果写出不同的格式。
CHEXA是在当前求解器OptiStruct模板下这个单元的标识,代表六面体。在其它求解器模板下可能叫别的。
122585是它的ID号;属性PID是4号(若是0则表示没有属性);G1~G8是这个六面体单元连接的六个节点。
fixed point是和几何相关的(即要么和面相关要么和体相关),它是几何上的特征点以实心的圆球绘制;point是用户创建的空间里的独立的点和任何体、面都无关系;这两种点都属于是几何的点。
Temp Nodes是空间里独立的和网格没有关系,主要是用来做定位的,比如说用户做某个操作时可能要沿着一个方向,而这个方向可能是由两个Temp Node来定义的一个方向所指定的。所以一般Temp Nodes的作用是给用户做一些操作时提供位置参考。
导入和导出时会有一个目标单位制Target units的选项,即想要使其导入、导出的时候是什么单位制,如下图所示:
有的建模软件建的模型实际上在导出的模型文件里边是有单位信息的,但我们的HM里边实际上没有单位信息。
1.当我们拿到一个模型,首先要做的是几何的编辑和创建、网格的划分、然后来把模型正常的组织到一起进行连接;
2.接下来进行的是创建材料、属性以及一些控制的卡片;
3.然后创建边界条件和约束,比如说我们的荷载、接触、约束、预紧呀等等;
4.接下来就是创建工况,工况就是它不 同的工作状态;每一个工作状态都要用一个工况来分析它的受力;
5.最后就可以进行求解,之后后处理。
OptiStruct生成的是.h3D文件。
OptiStruct默认输入的是每个单元中心点的应力(即Averaging method是None),也就是说一个单元只有一个应力值。
我们可以选择Averaging method→simple→Apply使应力区域均匀显示。
欢迎留言批评指正。如果本文存在不够清晰或准确之处,请您不吝赐教。
个人学习总结,整理不易,未经本人允许请勿搬运。
工程师必备
- 项目客服
- 培训客服
- 平台客服
TOP




















