用hyperworks做奇骏车身骨架图有限元分析时,计算结果只显示了一部分骨架,而且还有警告,怎么回事?

某8米客车车身骨架拓扑优化设计
某8米客车车身骨架拓扑优化设计
郑冬黎 张胜兰 王若满
湖北汽车工业学院&&
十堰& 442002
摘要:论文分析了某8米客车车身骨架特点,借助HyperWorks分析平台,对该客车侧围和顶棚进行拓扑优化,得到优化后的侧围和顶棚拓扑结构。根据优化结果对侧围及顶棚骨架结构进行二次设计,分析比较了二次设计前后骨架的结构性能,结果表明新骨架在保持原有骨架动态和静态性能的同时,重量减轻了44.9kg,占骨架总成质量的4.7%。
关键词:客车车身骨架, HyperWorks,拓扑优化,二次设计
客车车身骨架是客车的主要承载结构,其质量约占客车整车整备质量的三分之一左右。车身骨架的重量和结构直接影响整车的寿命和各项性能,如动力性、燃油经济性等。随着汽车技术发展的日趋完善,低的排放污染、安全性好、用途广泛的汽车成为人们的首选。要达到这一目的,必须在满足车体刚度和强度基础上,尽量减少整车质量[1]。
汽车轻量化的方法有许多种,其中合理的结构设计能使汽车在满足性能要求的前提下降低汽车质量,是汽车实现轻量化设计主要途径之一。拓扑优化作为一种日益成熟的结构设计方法,是近年来结构优化研究领域中的前沿课题和热点问题。本文基于HyperWorks对某8米客车进行拓扑优化设计,实现车身的轻量化,不仅可以为客车的改进和优化提供实际的参考和指导,其研究方法也可以为客车新产品的研发提供借鉴。
客车车身骨架有限元模型的建立
车身骨架结构
本文研究的客车为某公司新开发的一款中档旅游客车,长约8米,采用发动机后置的布置形式,车身结构是半承载式。车身整体为一层半结构,即车身上部为乘客舱,下半部分为行李舱,客车设有前置气动外摆单扇乘客门。车身地板为高地板结构,地板中部为乘客站立走动区,车身骨架结构如图1所示。座椅布置形式为31+1+1,两侧靠窗布置座椅,车身后部布置一排座椅可坐五人,左、右两侧均布置为双位座椅,左侧共有6排,右侧有7排,总共31个座位,另外再加上司机和导游的位置,一共33个座位,座椅布置如图2。
车身骨架结构&&&&&&&&&&&&&&&&&&&&&图2&
座椅布置图
为了获得较为准确的应力分布,车身骨架采用壳单元方式进行模拟。在进行网格划分前,首先对结构进行以下简化:
&1)省去了一些非承载构件,如:前、后保险杠,踏板支架,风窗玻璃的鼻梁等。
2)车身蒙皮的承载远小于骨架的承载,在建立计算模型时不考虑。
3)将两个靠得很近而又不重合的交叉连接点简化为一个节点处理。
1.2 网格划分
为便于管理,将客车骨架模型分为前后围、左右侧围、顶棚和底骨架六个部分分别进行网格划分,之后再整合装配到一起。
1)改善几何拓扑关系
&梁与梁之间的接头处有很多不同的面相交,为保证网格的连续性,确保几何模型相邻面的连接处为共享边;有些骨架焊接处结合面的边没有对齐,为了划分网格时能获取高质量的网格,需对这些部分进行面的切分,改善几何拓扑关系;去除一些梁的尖角部分,保证网格质量。
2)网格类型和尺寸&
该客车骨架大部分使用40mm*40mm的Q235矩形钢管,采用四边形壳单元划分网格;综合考虑单元规模和计算环境,设定element
size为20mm,保证有足够的计算精度。在一些几何关系较复杂的局部,采用单元合并、单元分割、调整单元节点位置和数量等措施进行网格调整,以保证网格质量。
约束和载荷处理
本文对该客车骨架的优化是不连接车架模型的前提下,半承载式车身的特点是车身骨架与车架刚性连接,车身也承受部分载荷,为了较为准确的模拟客车实际工作情况,在此只模拟客车静止时的工况。
对客车骨架约束在客车底骨架与车架需焊接部分(与横梁、牛腿焊接的地方),限制这些节点的3个平动自由度。
作用在客车车身骨架上的载荷主要为两种:其一是客车骨架的质量;其二是外加质量,即:乘客及座椅的质量(后排5个位置各60kg,其余28个位置75kg)、地板质量、空调的质量(150kg)等。客车静止工况下,把空调、乘客、导游和司机的质量等效为均布于安装板上的压力。
原车身骨架静力和模态分析
1.4.1 模态分析
对原车身骨架进行自由模态分析,计算了前七阶模态值。得到的模态频率值及振型见表1。从整车振动的角度考虑,为了避免发生整车共振,车身低阶主要振型应控制在3~25Hz之间。同时,为了防止一阶弯曲模态和一阶扭转模态的耦合效应,一般希望这两种模态频率至少错开3Hz以上。由计算结果可见,该客车骨架前几阶固有频率处于要求的频率范围内,在发动机激励和路面激励下具有较好的振动特性。
表1 原车身骨架模态频率和振型
模态频率(Hz)
一阶纵向弯曲
一阶侧向弯曲
1.4.2 静力分析
对原客车骨架模型进行有限元静力分析,正确施加载荷和约束后,进行静力计算,得到位移云图3和应力云图4。骨架位移最大值为6.717mm,出现在空调安装位置。骨架应力最大值为187MPa,出现在底骨架约束的位置,满足Q235强度要求。除此之外,底骨架后排座椅下方应力集中也比较明显。
位移云图&&&&&&&&&&&&&&&&&&&&&&&&图4
EQ6800车身骨架拓扑优化
侧围拓扑优化
1)优化模型建立
侧围上除车门、车窗、前后车轮、行李箱的空间外都作为设计空间。另外,图5红色圆圈标记区域的杆件是为了焊接后排座位的横梁用的,因此保留原有结构,侧围设计空间如图5所示。
2)优化问题描述
目标:应变能最小(刚度最大)
约束:设计域体积比下限0.1,上限0.2
设计变量:单元密度
3)结果分析
经过优化计算,迭代29步得到优化结果,左右侧围结果对称。通过HyperView调整优化后参数,设计域单元密度大于0.35的单元保留材料,得到清晰的优化结果如图6所示。优化后的材料分布比较均匀,整体结构比较合理。
侧围设计空间&&&&&&&&&&&&&&&&&&&&图6
侧围优化结果
2.2 顶棚优化
1)优化模型建立
构建顶棚拓扑空间时,先不考虑紧急出口和空调安装位置杆件分布,在二次设计时候根据优化结构再进行设计。将顶棚所有的空间都定义为设计域。如图7所示。
2)优化问题描述
目标:二阶频率最大&
约束:设计域体积比下限0.2,上限0.4
设计变量:单元密度
3)结果分析
经过优化计算,迭代43步得到结果。通过HyperView调整优化后参数,设计域单元密度大于0.35的单元保留材料,得到清晰的优化结果如图8所示。优化后,纵梁数目较少,横梁分布不均匀。
顶棚优化空间&&&&&&&&&&&&&&&&&&&图8
顶棚优化结果
3 二次设计
3.1 二次设计模型建立
利用OSSmooth工具将优化结果转化为IGES文件,再利用CAD软件根据优化后的结果建立三维模型,考虑到可制造性,利用40mm*40mm的矩形管对有材料分布的区域进行模拟。参照优化结果,二次设计后侧围和顶棚结构如图9、图10所示。
侧围二次设计结构&&&&&&&&&&图10
顶棚二次设计结构
新骨架静力和模态分析
3.2.1 模态分析
对二次设计车身骨架进行自由模态分析,计算七阶模态值。得到的模态频率值及振型见表2。由计算结果可见,该客车骨架前几阶固有频率处于要求的频率范围内,在发动机激励和路面激励下具有较好的振动特性。
表2 新车身骨架模态频率和振型
模态频率(Hz)
一阶扭转振型
一阶侧向弯曲
3.2.2 静力分析
对二次设计客车骨架模型进行有限元静力分析,正确施加载荷和约束后,进行静力计算,得到位移图11和应力图12。骨架位移最大值为9.36mm,出现在空调安装位置。骨架应力最大值为185MPa,出现在底骨架约束的位置,满足Q235强度要求。除此之外,底骨架后排座椅下方应力集中也比较明显。
图11&新骨架位移图&&&&&&&&&&&&&&&&&
图12 新骨架应力图
优化前后性能对比
1)对比优化前后的固有频率,车身骨架低阶频率几乎不变。因此,优化后的结构对于客车的动态性能改变很小,基本保持了原车的动态性能。
2)对比优化前后的静力分析结果,车身骨架的静力结果很一致。因此,优化后的结构对于客车的静态刚度和强度的性能改变很小,基本保持了原车的静态力学性能。
3.4 优化前后质量对比
经过分析,优化后车身骨架基本保持了原车身骨架动态和静态性能。同时,侧围质量减轻了15.5kg,占原侧围质量的6.0%;顶棚质量减轻了29.4kg,占原顶棚质量的20.5%;整个车身骨架质量减轻了44.9kg,占骨架总成质量的4.7%。由此可见,优化结果可行,提高了材料的利用率,节省了成本。
本文借助HyperWorks平台,综合分析客车骨架载荷分布和骨架结构特点,结合拓扑优化结果,改善优化结果中的不足,同时考虑结构可制造性,对车身骨架进行二次设计。经过对比分析,二次设计结果对车身骨架静态和动态力学性能影响较小,同时还减轻了4.7%的车身质量,说明二次设计可行,不仅解决了实际问题,还为生产实践和以后车身轻量化的研究提供了参考和指导。
运用有限元分析技术,对客车结构进行分析优化,是现代客车设计的一种有效方式。运用拓扑优化技术,能够有效地改进结构性能,提高结构拓扑布局的合理性。但拓扑优化的结果好坏直接受分析工况、参数设置等的影响,这些因素都是需要一定的经验积累来不断完善和改进。
5 参考文献
[1]赵永辉.大客车车身骨架结构拓扑优化设计[D].武汉理工大学,
[2]杨昆.客车车身骨架侧翻仿真的梁壳混合模型研究[D].吉林大学,
[3]周伟.客车车身结构轻量化设计[D].吉林大学,
[4]王怀.大客车车身骨架有限元分析与轻量化改进设计[D].江苏大学,
[5]吕品.汽车车架拓扑优化设计[D].沈阳理工大学,
[6]谷叶水.客车车身骨架结构有限元分析与研究[D].合肥工业大学,
[7]张胜兰,郑冬黎,郝琪,李楚琳.基于HyperWorks的机构优化设计技术[M].北京:机械工业出版社,
Optimaization Design for a 8 meter Bus Body
Zhen Dongli& Zhang
Shenglan& Wang Ruoman
Abstract: This paper briefly analyses structure
features of an 8 m bus body frame. HyperWorks software is used to
do topology optimization design for side wall and ceiling of the
body structure. And it proposed o optimized structure of side wall
and ceiling. The side wall and ceiling structure are modified
according to optimized results. Comparing the analysis result of
original bus skeleton with new bus skeleton, it shows that new bus
skeleton maintains the static and dynamic performance and decreases
mass of 44.9kg, which is about 4.7% of skeleton assembly.
Key words: Bus body frame, HyperWorks, Topology
optimization, Secondary design
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。热门下载资料排行
(window.slotbydup=window.slotbydup || []).push({
id: '2371210',
container: s,
size: '300,250',
display: 'inlay-fix'当前位置: >>
HyperWorks10.0中文版基础培训资料
??\0\?? ?练习一? ? 使用 HyperMesh 划分二维网格?? 对于薄板零件,选用壳单元进行有限元分析比较合适。本示例通过对一个薄板(如图 1 所示)进行抽取中面,划分二维网格的过程,描述如何使用 HyperMesh 进行有限元前处理。 这里首先介绍了在 HyperMesh 中模型的导入与修复,然后介绍了如何在实体中抽取中面, 最后描述了 HyperMesh 进行二维分网的流程。? ? ? ? ? ? ? ? ? ? ? ? ? 图 1? 薄板零件? 本示例包括以下内容:? ? ? ? ? \? 打开模型文件? ? ? ? ? \? 查看模型? ? ? ? ? \? 修复几何体不完整要素? ? ? ? ? \? 抽取中面? ? ? ? ? \? 简化几何模型? ? ? ? ? \? 改进拓扑结构? ? ? ? ? \? 划分网格? ? 导入和修复几何模型(HM2000)? 第 1 步:打开模型文件? ? 1. 启动HyperMesh 2. 在User?Profiles对话框中选择Default(HyperMesh) ,并点击OK。 3. 点击工具栏按钮Files?Panel 。在弹出的Open?file…? 对话框中选择clip_repair.hm文件,该文件位于&install_directory&/tutorials/hm? 4. 点击Open,clip_repair.hm文件被载入到当前HyperMesh进程中,取代进程中已有数据。 第2步:以拓扑方式观察模型并通过渲染检查模型完整性。 1. 2. 3.?观察模型是否含有错误的连接关系以及缺失面或重复面。? 进入 autocleanup 面板,此时模型边沿依据其拓扑状态进行渲染? 点击 Wireframe?Geometry 和 Shaded?Geometry?and?Surface?Edges \1\? 按钮, 观察模型其 ?他显示模式。? 4. 点击视图工具(Visualization) 按钮,视图工具控制着模型表面和边沿的显示方式, 模型表面可以被渲染或是线框化。 这个菜单里的复选框控制着不同边沿和硬点的显示状 态。? 仅激活 Free 复选框,此时只有自由边显示在窗口区? 观察自由边并记住它们的位置,自由边(红色)处表示此位置具有不正确的连接关系或 是有间隙。注意那些闭环的自由边,这些位置可能是缺失面。?5. 6. ? ? ? ? ? ? ? ? ? ?7.8. 9.? 图 2 模型中自由边位置? 仅激活 Non\manifold 复选框,观察非重合边(黄色)的位置,非重合边表示在一个边 上存在两个以上的面。 本示例模型中有两个闭合的非重合边, 表明在这些位置中可能含 有重复面。? 激活所有复选框,点击 Close 按钮退出视图控制窗口。? 点击 Shaded?Geometry?and?Surface?Edges 按钮,此时模型被渲染。?10. 移动、旋转和缩放模型,找到模型不正确连接位置。如图 3 所示:? (1)圆角处突出的面? (2)缺失面? ? ? 缺失面? ? ? ? ? ? 圆角处突出的面? ? ? ? ? ? 图 3 模型中错误的几何要素? 11. 点击 Wireframe?Geometry 按钮,转换到线框模式。?? 第 3 步:删除圆角处突出的面? ? 1. 通过以下方式进入 Delete 面板:? (1)在 Geometry 菜单中选择 Delete 并激活 Surfaces 选项? \2\?? ?2. 3. 4. ? 第 4 步:创建面填补模型中较大的间隙? ? 1. 进入 surfaces 面板? 2. 进入 spline/filler 子面板? 3. 取消选择 keep?tangency 复选框。使用 keep?tangency 功能可以保证新创建的面与周围的 边沿相切(即平滑过度)? 4. 将 entity?type 设置为 lines? 5. 激活 auto?create(free?edges)复选框。Auto?create 选项简化缺失面边线的选取过程,一 旦选取其中一条线, HyperMesh 会自动选取闭环回路中剩余的几条边线, 然后创建曲面。 ? 6. 放大模型缺失面位置,如图 4 所示? ? ? ? ? ? ? ? 缺失面位置? ? 图 4? 模型中缺失面位置? 7. 选择一个缺口处的一条边线,HyperMesh 将自动创建面填充这个缺口? 8. 重复 4.7 步,为另一个缺口创建填充面? 9. 点击 return? ? 第 5 步:设置全局几何清理容差为 0.01? ? 1. 在键盘中点击 O 键进入 options 面板? 2. 进入 geometry 子面板? 3. 在 cleanup?tol=栏中,输入 0.01,缝合间隙小于 0.01 的面? 4. 点击 return,返回主面板? ? 第 6 步:使用 equivalence 工具一次缝合多个自由边。? ? 1. 使用以下任一种方式进入 edge?edit 面板? (1)在主菜单中选择 Geometry,激活 Edit 下拉菜单,在其二级菜单中选择 edges? (2)在主面板中选择 Geom 页,然后选择 Edge?Edit? 2. 进入 equivalence 子面板? 3. 激活 equiv?free?only 复选框? 4. 选择 surfs&&all? 5. 将 cleanup 设置为 0.01? \3\??(2)按 F2? 在图形区,选择圆角处突出的面? 点击 delete?entity? 点击 return 返回到主面板。? ?点击绿色的 equivalence 按钮,一次缝合模型中指定容差范围内的自由边? 经过这一步, 模型中大部分红色自由边被缝合成绿色的共享边, 未被缝合的边是因为自 由边间距大于容差上限。? ? 第 7 步:使用 toggle 工具依次缝合自由边? ? 1. 进入 toggle 子面板? 2. 将 cleanup?tol 设置为 0.1? 3. 在图形区点击任一条红色自由边? 4. 如果有需要,可以旋转和放缩模型。当自由边选中后,它将从红色变为绿色,表示它已 被缝合成共享边。? 5. 使用 toggle 工具缝合模型中的其他自由边? ? 第 8 步:使用 replace 工具缝合余下的自由边? ? 1. 进入 replace 子面板? 2. 激活 moved? edge,选择图形区左边的自由边。此时 retained? edge 被激活,选择右边的 自由边? 3. 将 cleanup?tol 设置为 0.1? 4. 点击 replace。 当右侧自由边被选中时, HyperMesh 会弹出信息 “Gap= (.200018) .Do?you? still?wish?to?toggle?”? 5. 点击 Yes,执行缝合操作? ? ? ? ? ? ? ? ? ? ? ? ? 图 5? 缝合自由边? 6. 点击 return? 返回主面板? ? 第 9 步:寻找并删除所有重合面? ? 1. 通过以下任一种方式进入 Defeature 面板:? ? ? ? ? (1)在主菜单选择 Geometry,然后激活 Defeature? (2)在主面板选择 Geom 页,然后选择 Defeature? 2. 进入 duplicate 子面板? 3. 选择 surfaces&&displayed? 6. \4\?? ?将 cleanup?tol 设置为 0.01? 点击 find。此时状态栏将显示“2surfaces?are?duplicate”信息? 点击 delete 移除所有的重合面? ? 第 10 步:重新观察模型,确定模型中所有的自由边、缺失面和重合面均已被修复? ? 1. 使用拓扑显示模式并渲染模型。 此时模型中所有的边沿均显示为绿色的共享边, 表示模 型已被修复成闭合的实体。? 2. 点击 return,返回主面板(main?menu) 。? ? 抽取模型中面(HM2010)? ? 第 11 步:使用 midsurface 工具创建模型中面? ? 1. 通过以下任一种方式进入 midsurface 面板:? (1)在主菜单选择 Geometry,然后激活 Midsurface? (2)在主面板选择 Geom 页,然后选择 Midsurface? 2. 进入 auto?midsurface 子面板? 3. 激活 closed?solid,此时黄色的 surfs 选择框呈高亮状态? 4. 任意选择图形区模型一个面? 5. 点击 extract 按钮,开始抽取模型中面。? 模型中面创建后自动存放在一个名为 Middle?Surface 的组件中, 此时除了 Middle?Surface 外的组件均已半透明状态显示,接下来将讲述如何控制曲面的透明度? ? 第 12 步:观察模型中面? ? 1. 在模型浏览窗口, 隐藏名为 lvl10 的组件的几何模型, 图形区只显示 Middle?Surface 组件。 ? ? ? ? ? ? ? ? ? ? ? ? 图 6? 模型中面(midsurface)? 2. 在模型浏览窗口打开组件 lvl10 几何模型? 3. 在视图工具栏,选择 transparency 面板 ? 4. 在 comps 选择框激活状态下,在图形区选择组件 lvl10 的一条线或一个面,此时整个组 件 lvl10 将被选中? 5. 在 transparency 面板中移动滑条,组件 lvl10 的透明度将发生变化? 4. 5. 6. \5\?? ?在模型浏览窗口关闭组件 lvl10 几何模型? ? 简化模型(HM2020)? ? 第 13 步(选作) :简化模型前对模型划分二维网格,观察网格质量? ? 1. 通过以下任一种方式进入 automesh 面板? (1)在主菜单选择 mesh,激活 Create 下拉菜单,然后在其二级菜单中选择 automesh? (2)在主面板选择 2D 页,然后选择 automesh? (3)按 F12 键? 2. 设置对象选择器类型为 Surfs? 3. 进入 size?and?bias 子面板? 4. 在 element?size=栏中输入 2.5? 5. 设置 mesh?type? 为 mixed? 6. 将面板左下侧的分网方式(meshing?mode)从 interactive 切换为 automesh? 7. 确认选择 elems?to?surf?comp 选项? 8. 选择 surfaces&&displayed? 9. 点击 mesh,生成网格,如图 7 所示? ? ? ? ? ? ? ? ? ? ? 图 7? 模型中面二维网格? 10. 点击 return,返回主面板(main?menu)? ? 第 14 步(选作) :查看网格质量? 观察已生成的网格,注意不规则的、质量差的网格,可以使用 check?elems 面板检查单 元的最小长度。? ? 1. 通过以下任一种方式进入 check?elems 面板:? (1)在主菜单选择 mesh,激活 check 下拉菜单,然后在其二级菜单中选择 Elements, 最后点击 Check?Elements? (2)在主面板选择 Tool 页,然后选择 check?elems? (3)按 F10 键? 2. 进入 2\d 子面板? 3. 在 length 栏输入 1? 4. 点击 length 检查单元最小长度。产生问题的单元大多数出现在模型的圆角处,为更好 地观察单元质量,可将模型改为线框显示模式。如图 8:? 6. \6\?? ?? ? ? ? ? ? ? ? ? ? 图 8? 模型中面二维网格质量检查? 5. 点击 return,返回主面板? ? 第 15 步:移除四个小孔(pinhole)? ? 1. 通过以下任一种方式进入 Defeature 面板:? ? ? ? ? (1)在主菜单选择 Geometry,然后激活 Defeature? (2)在主面板选择 Geom 页,然后选择 Defeature? 2. 进入 pinholes 子面板? 3. 在 diameter 栏中输入 3.0? 4. 选择 surfaces&&Displayed? 5. 点击 find,寻找直径小于等于 3 的小孔。如图 9 所示,四个圆孔中心的 xP 符号,这些 高亮显示的白色符号? 表示它们是 HyperMesh 找到的要移除的小孔。? ? ? ? ? ? ? ? ? ? ? ? 图 9 模型中小孔位置? 6. 点击 delete,移除小孔。孔被删除后,取代它们的是其圆心位置的硬点(fixed?point)? ? 第 16 步:移除模型中所有面倒圆? ? 1. 进入 defeature 面板? 2. 进入 surf?fillets 子面板? 3. 4. 若模型没有被渲染,点击 Shaded?Geometry?and?Surface?Edges 在 find?fillets?in?selected 中选择 surfs? \7\??按钮? ?5. 6. 7. ? ? ? ? ? ? ? ? ? ? ?选择 surfaces&&Displayed? 在 min?radius 栏中输入 2.0? 点击 find 找到所有半径大于等于 2 的面倒圆?8. ? 第 17 步:移除模型中所有边倒圆? ? 1. 进入 defeature 面板? 2. 进入 edge?fillets 子面板? 3. 选择 surfaces&&Displayed? 4. 在 min?radius 栏中输入 1.0? 5. 设置面板下方按钮为 all,查找所有符号条件的边倒圆? 6. 点击 find,找到所有半径大于等于 2 的边倒圆,所有满足条件的边倒圆均用 F 标识,如 图所示,半径线标识圆角的起点和终点? ? ? ? ? ? ? ? ? ? ? ? 图 11? 模型中边倒圆位置? 7. 点击 remove 删除选中的边倒圆? ? 第 18 步:对简化后的模型进行网格划分并观察网格质量? ? 1. 进入 automesh 面板? 2. 选择 surfs&&displayed? \8\??图 10? 模型中面倒圆位置? 点击 remove,移除这些面倒圆? ?3. ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?点击 mesh,观察网格排列是否整齐。?图 12? 模型简化后二维网格? 改善几何模型的拓扑结构,提高网格质量(HM2030)? ? 第 19 步:重置硬点消除短边? ? 1. 通过以下任一种方式进入 point?edit 面板? (1)在主菜单选择 Geometry,激活 Edit 下拉菜单,然后在其二级菜单中选择 Points? (2)在主面板选择 Geom 页,然后选择 point?edit? 2. 进入 replace 子面板? 3. 将选择框设置为 moved?points? 4. 选择图 13 所示硬点? ? ? ? 此点保留? ? ? ? 此点删除? ? ? ? 图 13? 步骤 4 中硬点位置? 5. 删除点选中后,Retain 按钮将激活,选择图中所示保留点。? 6. 点击 replace,两个点合并到一起。? ? ? 第 20 步:去除面内所有硬点? ? \9\?? ?在 point?edit 中进入 suppress 子面板? 选择图示四个硬点,这些硬点将被删除。? 这些点是在 defeature 操作中去除小孔是留下的,需要说明的是, 在给定的单元尺寸下, 这四个硬点对单元质量的影响不明显,是可以保留的。? ? ? ? ? ? ? ? ? ? ? ? 图 14? 步骤 2 中硬点位置? 3. 点击 return,返回主面板。? ? 第 21 步:在曲面上添加边以调整网格样式? ? 1. 通过以下任一种方式进入 point?edit 面板? (1)在主菜单选择 Geometry,激活 Edit 下拉菜单,然后在其二级菜单中选择 Surfaces? (2)在主面板选择 Geom 页,然后选择 surface?edit? 2. 进入 trim?with?nodes 子面板? 3. 在 node?normal?to?edge 下激活 node 选择框? 4. 放大图示区域,选择硬点? 5. 此时 lines 选择框被激活,选择图示线? 当点和线被选中后,在模型硬点处将自动创建一条垂直于边线的线。? ? 选择此线? ? ? ? ? ? ? ? 选择此硬点? ? 图 15? 步骤 2 中硬点及线位置? 6. 重复 21.3,21.4 和 21.5 步选择下图所示点和线? ? ? ? ? ? 1. 2. \10\?? ?? ? ? ? ? ? ? ? 7. ? ? ? ? ? ? ? ? ? ? ?选择此线?选择此硬点? 图 16? 步骤 6 中硬点及线位置? 重复 21.3,21.4 和 21.5 步选择下图所示点和线?选择此硬点? 选择此线?8. ? ? ? ? ? ? ? 选择此硬点? ? ? ?图 17? 步骤 7 中硬点及线位置? 重复 21.3,21.4 和 21.5 步选择下图所示点和线?选择此线?图 18? 步骤 8 中硬点及线位置? 第 22 步:在曲面上添加边(edges) ,控制网格样式? ? 1. 进入 trim?with?surfs/planes 子面板? 2. 在 with?plane 列,激活 surfs 选择框? 3. 选择图 19 所示曲面? ? ? ? ? ? \11\?? ?? ? ? ? ? ? ? ? ? ? 4. 5. 6. 7. 8. 9. ? ? ? ? ? ? ? ? ?选择这些曲面?图 19? 步骤 3 中曲面位置? 激活 N1 选择框? 按住鼠标左键并将鼠标移到下图所示边,待光标发生变化再释放鼠标? 在边上任意点击两个点,注意不要点击第三次,线上出现 N1 和 N2 两个节点? 按 F4 进入 Distance 面板? 选择 Three?Nodes 子面板? 按住鼠标左键并将鼠标移到图 20 所示孔边上,光标发生变化时释放鼠标。?22.5 选择线?22.9 选择线?图 20? 步骤 9 中线位置? 10. 在孔边界上任意点击三个点,将在线上创建 N1,N2,N3 三个节点? 11. 点击 circle?center,在孔的圆心创建一个节点? 12. 点击 return,返回 Surface?Edit 面板? 13. 点击 B,选择孔中心处的节点作为基点? 14. 点击 trim,曲面从孔中心位置分割? 15. 点击 return,返回主面板? ? 第 23 步:压缩共享边,避免产生小边界? ? 1. 进入 edge?edit 面板? 2. 进入(un)suppress 子面板? 3. 使用鼠标左键选择图 21 所示边? 4. 点击 suppress,此时所选边变成压缩状态(蓝色)? 5. 点击 return,返回主菜单? ? ? ? \12\?? ?? ? ? ? ? ? ? ? ? ?选择这些边?图 21? 步骤 3 中线位置? 第 24 步:重新划分网格。使用自动模式(interactive) 、单元尺寸为 2.5、网格类型为混合 型(mixed) ,重新对模型进行网格划分? ? 1. 进入 automesh 面板? 2. 设置对象选择器类型为 Surfs? 3. 进入 size?and?bias 子面板? 4. 在 element?size=栏中输入 2.5? 5. 设置 mesh?type? 为 mixed? 6. 将面板左下侧的分网方式从 automesh 转换为 interactive? 7. 确认选择 elems?to?surf?comp 选项? 8. 选择 surfaces&&displayed? 9. 点击 mesh,重新生成网格? ? ? ? ? ? ? ? ? ? ? ? ? 图 22? 模型中面二维网格? 第 25 步:检查网格质量? ? 1. 选择、缩放和移动模型,检查模型网格质量,注意现在的网格是否整齐? 2. 按 F10 键,进入 Check?Elements 面板? 3. 进入 2\d 子面板? 4. 在 length 栏中输入 1.0,点击 length 评估模型单元最小长度? 只有两个单元不合格,它们是由模型的形状引起的,与全局单元尺寸相比,它们不是太 小,因此可以保留,不必处理? \13\?? ?5. 6. 7. 8. 9. 10. 11. 12. 13.按 F12 键进入 automesh 面板? 选择 QI?Optimize 子面板? 确认 Elem?Size=2.5,Mesh?Type 为 Mixed? 点击 Edit?Criteria。? 在 Target?Element?Size 处输入 2.50? 点击 Apply 和 OK? 选择 Surfs&&displayed,选择图形区显示所有面? 点击 Mesh? 如果出现信息“There?is?a?conflict?between?the?user?requested?element? ? size?and?quality? criteria?ideal?element?size”,点击按钮 Recomptue?quality?criteria?user?size?of?2.5.? 14. 通过以下任一种方式进入 qualityindex 面板? (1)在主菜单选择 Mesh,激活 Check 下拉菜单,然后在其二级菜单中选择 Elements, 最后选择 Quality?Index? (2)在主面板选择 2D 页,然后选择 qualityindex? 15. 进入 pg1,核实 Comp.QI 是 0.01。此值越低表示划分的网格质量越好。? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \14\?? ?练习二? ? 使用 HyperMesh 创建六面体网格?? 本示例描述使用 HyperMesh 分割实体,并利用 Solid?Map 功能创建六面体网格的过程。 ? ? ? ? ? ? ? ? ? 图 1? 模型结构? ? 本示例包括以下内容:? \? 导入模型? \? 通过面生成实体? \? 分割实体成简单、可映射的部分? \? 使用 Solid?Map 功能创建六面体网格? ? 导入模型? ? 第 1 步:打开模型文件? ? 5. 启动HyperMesh 6. 在User?Profiles对话框中选择Default(HyperMesh) ,并点击OK。 7. 点击工具栏按钮Files?Panel 。在弹出的Open?file… 对话框中选择solid_geom.hm文件,该文件位于&install_directory&/tutorials/hm? 8. 点击Open,solid_geom.hm文件被载入到当前HyperMesh进程中,取代进程中已有数据。 第2步:通过闭合曲面(bounding surfaces)创建实体 1. 在主面板中选择 Geom 页,进入 solids 面板? 2. 选择 bounding?surfs 子面板? 3. 激活 auto?select?solid?surfaces 复选框? 4. 选择图形区任意一个曲面? 5. 此时模型所有面均被选中? 6. 点击 Create 按钮,创建实体? 7. 状态栏提示已经创建一个实体,注意实体与曲面区别是:实体边线线型比曲面边线粗。 ? 8. 点击 return,返回主面板? 第 3 步:使用边界线(bounding?lines)分割实体? ? 1. 进入 solid?edit 面板? \15\?? ?2. 3. 4. ? ? ? ? ? ? ? ? ? ? 5. ? ? ? ? ? ? ? ? ? ? ?选择 trim?with?lines 子面板? 在 with? bounding? lines 栏下,激活 solids 选择器。点击模型任意位置,此时整个模型被 选中? 激活 lines 选择器,在图形区选择下图所示线?选择边界线?图 2? 步骤 4 所选边线? 点击 trim,产生一个分割面,模型被分割成两个部分?图 3? 分割实体? 第 4 步:使用切割线(cut?line)分割实体? ? 1. 在 with?cut?line 栏下,激活 solids 选择器,选择第 3 步创建的较小的四面体。? ? ? ? ? ? ? 选择此实体? ? ? ? ? ? 图 4? 步骤 1 所选实体? 2. 点击 drag?a?cut?line? \16\?? ?3. ? ? ? ? ? ? ? ? 4. 5. ? ? ? ? ? ? ? ? 6. ? ? ? ? ? ? ? ? 7. ? ? ? ? ? ? ? ? ? ?在图形区选择两点,将四面体分为大致相等的两部分,如图所示:?选择这两点,拉伸成一条线?图 5? 定义切割线? 点击鼠标中键,分割实体? 选择分割后实体的下半部分? ?选择这个实体?图 6? 步骤 5 所选实体? 使用 with?cut?line 工具按下图分割实体? 选择这两点,拉伸成一条线?图 7? 定义分割线? 选择下图所示实体?选择这个实体?图 8? 步骤 7 所选实体?\17\?? ?8. ? ? ? ? ? ? ? ? ?使用 with?cut?line 工具按下图分割实体? 选择这两点,拉伸成一条线?图 9? 定义分割线? 第 5 步:合并实体? ? 1. 进入 merge 面板? 2. 在 to?be?merged 下的 solids 选择器激活的状态下选择下图三个实体? ? ? ? ? ? ? ? ? ? 图 10? 步骤 2 所选实体? 3. 点击 merge,合并这三个实体。合并后的结果如图所示? ? ? ? ? ? ? ? ? ? 图 11? 合并实体结果? 第 6 步:使用自定义的平面(user-defined plane)分割实体? ? 1. 进入 trim?with?plane/surf 子面板? 2. 在 with?plane 下的 solids 选择器激活的状态下选择下图较大的实体? ? ? ? ? \18\?? ?? ? ? ? ? ? ? ? ? ? ? ? 3. 4. ? ? ? ? ? ? ? ? ? 5. 6. ? ? ? ? ? ? ? ? ? 7. ? ? ? ?选择这个实体?图 12? 步骤 2 所选实体? 将平面选择器设置为 N1,N2,N3? 激活 N1,按住鼠标左键不放,移动鼠标到下图两边线中靠上的一条时,此边线高亮显 示?图 13? 步骤 4 所选边线位置? 释放鼠标左键,在此边中点处点击左键,一个绿色的临时节点出现在边的中点处,同时 平面选择器节点 N2 被激活。? 以同样的方法激活靠下的边线,然后在边线上选择两个节点,如下所示:?N1 N2 N3图 14? 选择节点? 点击 trim 按钮,分割所选实体?\19\?? ?? ? ? ? ? ? ? ? 图 15? 分割实体? 第 7 步:使用扫略线(swept line)分割实体? ? 1. 进入 trim?with?lines 子面板? 2. 激活 with?sweep?lines 栏下的 solids 选择器,选择下图所示实体? ? ? 选择这个实体? ? 选择这两条线? ? ? ? ? ? ? ? 图 16? 步骤 2 所选边线和实体位置? 3. 激活 line?list 选择器,选择第 6 步中定义 N1,N2 和 N3 点所用到的边线? 4. 在 sweep?to 下将平面选择器设置为 x\axis? 5. 确定 plane 选择器下设置为 sweep?all? 6. 点击 trim,分割实体? 第 8 步:使用主平面分割实体? ? 1. 进入 trim?with?plane/surf 子面板? 2. 在 with?plane 下激活 solids 选择器,选择下图所示实体? 3. 将平面选择器从 N1,N2 和 N3 转为 z\axis? 4. 按住鼠标左键不放,移动鼠标至图示边线,此时被选中边线高亮显示? ? ? 选择这个实体? 选择这两条线? ? ? ? ? ? ? ? 图 17? 步骤 4 所选边线和实体位置? \20\?? ?是否鼠标左键并在边上任意位置点击? 一个紫色临时节点出现在边上,它表示基点? 点击 trim,分割实体? 点击 return,返回主面板? ? 第 9 步:在实体内部创建面并使用此面分割实体? ? 1. 通过以下任一种方式进入 surfaces 面板? (1)在 Geometry 菜单中激活 Create,在其二级菜单中选择 Surfaces? (2)在 Geom 页中选择 surface? 2. 进入 spline/filler 子面板? 3. 取消选择 auto?create(free?edge?only)复选框,激活 keep?tangency 复选框? 4. 选择下图所示五条线? ? ? ? ? ? ? ? ? ? 图 18? 步骤 4 所选边线? 5. 点击 create 创建曲面? 6. 点击 ruturn,返回主面板(main?menu)? 7. 在 Geom 页中,进入 solid?edit 面板? 8. 进入 trim?with?plane/surf? 子面板? 9. 在 with?surfs 下 solid 选择器激活状态下,在图形区选择要分割的实体? 10. 在 with?surfs 下 surfs 选择器激活状态下,在图形区选择 9.5 创建的曲面? 11. 点击 trim,分割实体? 12. 点击 ruturn? 13. 在 Geom 页,选择 surfaces 面板? 14. 进入 spline/filler 子面板? 15. 选择下图所示四条线? ? ? ? ? ? ? ? ? ? 图 19? 步骤 15 所选边线位置? 5. 6. 7. 8. \21\?? ?16. 点击 create? 17. 点击 return? 18. 通过以下任一种方式进入 solid?edit 面板、? (1)在 Geometry 菜单中激活 Edit,在其二级菜单中选择 Solids? (2)在 Geom 页中选择 solid?edit? 19. 选择 trim?with?plane/surf 子面板? 20. 在 with?surfs 栏下激活 solids,点击图形区中包含此面的实体? 21. 在 with?surfs 栏下 surfs 选择器激活的状态下? ,选择刚创建的面? 22. 取消选择 Extend?Trimmer 复选框? 23. 点击 trim? 24. 点击 return 返回主面板? ? 第 10 步:压缩模型上部分边线,以便进行网格划分? ? 1. 进入 edge?edit 面板? ? 2. 选择(un)suppress 子面板? 3. 选择 lines&&by?geoms? 4. 激活 solids 选择器,选择下图所示四个实体? ? ? ? ? ? ? ? ? ? ? ? ? 图 20? 步骤 4 所选实体? 5. 点击 add?to?selection? 6. 在 breakangle=栏中输入 45? 7. 点击 suppress 压缩这些边? 8. 点击 return,返回主面板(main?menu)? ? 使用 solid?map 功能逐个实体划分网格? ? 第 11 步:对 1/8 半球区进行网格划分? ? 1. 2. 在工具栏点击 Shaded?Geometry?and?Surface?Edges 按钮? 通过以下任一种方式进入 solid?map 面板? (1)在 Mesh 菜单中激活 Create,在其二级菜单中选择 Solid?Map?Mesh? (2)在 3D 页中选择 solid?map? \22\?? ?3. 4. 5. ? ? ? ? ? ? ? ? ? 6. 7. 8. ? ? ? ? ? ? ? ? ?选择 one?volume 子面板? 在 along?parameters 栏下的 elem?size=中输入 1? 在 volume?to?mesh 栏下激活 solid 选择器,选择下图所示小立方体?图 21? 步骤 5 所选实体? 点击 mesh? 在工具栏中点击 Shaded?Elements?and?Meshlines 选择下图所示实体? ?图 22 步骤 8 所选实体? 9. 点击 mesh? 10. 点击 return,返回主面板(main?menu)? 第 12 步:利用 automesh 面板创建壳单元网格,控制网格模式? ? 1. 通过以下任一种方式进入 solid?map 面板? (1)在 Mesh 菜单中激活 Create,在其二级菜单中选择 2D?Automesh? (2)按 F12? 2. 选择下图所示面? ? ? ? ? ? ? ? ? ? 图 23? 步骤 2 所选面? \23\?? ?确认选择 size?and?bias 和 Interactive? 在 element?size=栏中输入 1.0? 确认 mesh?type 设置为 mixed? 点击 mesh? 在 Elem?density 栏中输入 4? 点击 set?all?to,此时所有密度都设置为 4? 点击 mesh? 点击 return,返回主面板? ? 第 13 步:对上步创建面的实体划分网格? ? 1. 进入 solid?map 面板? 2. 选择 one?volume 子面板? 3. 选择下图所示实体? ? ? ? ? ? ? ? ? ? ? ? ? 图 24? 步骤 3 所选实体? 4. 在 along?parameters 栏下将 elem?size 转换为 density 并输入 10? 5. 点击 mesh? 6. 选择模型,注意观察使用 automesh 创建的网格模式如何控制生成实体单元。如图所示? ? ? ? ? ? ? ? ? ? ? ? 图 25? 生成三维网格? ? ? 3. 4. 5. 6. 7. 8. 9. 10. \24\?? ?第 13 步:对剩余的实体划分网格? ? 1. 在 solid?map 面板选择 one?volume 子面板? 2. 选择一个未划分网格的实体。 所选实体要求与已划网格的实体相连, 以保证网格连续性? 3. 切换 Source?shells 到 mixed? 4. 在 along?parameters 栏下将 density 切换成 elem?size,输入 1.5? 5. 点击 mesh? 6. 重复本步骤划分其余实体? 7. 点击 return,返回主面板? ? 使用 solid?map 功能实现多个实体一次划分网格? 通过映射视图模式(Mappable?visualization?mode)检查模型是否可以进行映射划分,如 果模型可以进行映射划分,则可通过 multi\solids 工具对模型多个实体一次划分。下面将删 除模型上已划分的网格,使用 solid?map 功能一次划分多个实体。? ? 第 14 步:删除模型内所有单元? ? 1. 按 F2 键进入 delete 面板? 2. 激活 elems 选择器,选择 all? 3. 点击 delete?entity? 4. 点击 return,返回主面板? ? 第 15 步:使用映射视图模式? 1. 2. 在工具栏点击 Shaded?Geometry?and?Surface?Edges 在 geometry?visualization 下拉菜单中选择 Mappable 按钮? ?此时,模型中每个实体都被渲染,实体上渲染的颜色代表其映射状态,本步的目的是检? 验每个实体是否具有一个或三个方向的映射性? 3. 在工具栏点击 visualization?options ,在图形区左侧可以看到映射状态图例? ? ? ? ? ? ? 图 26? 映射状态图例? 各种颜色代表的映射状态解释如下? 1\direction? 3\direction? Ignored? Not?mappable? 4. 表示实体可以在一个方向映射划分网格? 表示实体可以在三个方向映射划分网格? 表示实体需要进行分割以实现具有映射性? 表示实体已被分割,但还需进一步分割才能达到映射状态?将模型切换到映射视图模式, 可以看到有一个实体具有三个方向的映射性, 其余实体均 具有一个方向映射性。? \25\?? ?? ? ? ? ? ? ? ? ? 图 27? 模型映射状态图? 第 16 步:使用 multi\solid 功能划分实体? ? 1. 进入 solid?map 面板? 2. 选择所有实体? 3. 将 source?shells 设置为 mixed,在 elem?size=栏中输入 1? 4. 点击 mesh,此时模型将被顺序划分网格。分网后的模型如图所示:? ? ? ? ? ? ? ? ? ? 图 28? 分网后的模型? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \26\?? ?练习三? ? 使用面网格创建体网格?? ? ? ? ? 本示例将练习使用 HyperMesh 划分实体五面体、六面体网格。练习使用的模型由四个 IGES 格式的面组件构成,如图 1 所示。它们是(1)基座(base)(2)弯臂(arm_curve) ; , 横截面相同; (3)直臂(arm_straight) ,横截面逐渐变细; (4)带通孔圆柱体(boss) 。? ? ? ? ? ? ? ? ? ? ? 图 1? 模型结构? 第 1 步:载入模型? ? 打开 arm_bracket.hm 文件,文件位于&install_directory&/tutorials/hm 第 2 步:为包含 L 形面的基座上表面划分二维网格 1. 通过以下任一种方式将 base 设置为当前工作组件:? (1)在状态栏中点击中间方框,在弹出对话框中点击 base? (2)在模型浏览窗口,右击 base 选择 Make?Current? 2. 在模型浏览窗口,隐藏除 base 外的其他组件? 3. 通过以下任一种方式进入 automesh 面板:? (1)在 Mesh 菜单中点击 Create,在其二级子菜单中选择 2D?automesh? (2)在 2D 页,选择 automesh? 4. 在图形区选择包含 L 形面的基座上表面? 5. 进入 size?and?bias 子面板? 6. 将 meshing?mode 设置为 automatic? 7. 在 element?size=栏中输入 10,设置网格尺寸为 10 个单位? 8. 将 element?type 设置为 quads? 9. 点击 mesh? ? ? ? ? ? ? ? ? 图 2? 基座上表面划分二维网格? \27\?? ?10. 点击 return,返回主面板? ? 第 3 步:在 base 上创建六面体网格? ? 1. 进入 elem?offset 面板? 2. 选择 solid?layers 子面板? 3. 激活 elems 选择器,选择基座上的二维单元? 4. 在 number?of?layers=栏中输入 5? 此栏表示拉伸网格的层数? 5. 在 total?thickness=栏中输入 25? 此栏表示拉伸网格的厚度? 6. 点击 offset+,? “+”表示沿二维单元的法向进行拉伸, “\”表示沿二维单元法向反方向进行拉伸,通 过 tool 页下的 normals 面板可以检查单元的法向。? ? ? ? ? ? ? ? ? 图 3? 创建基座三维网格? 第 4 步:弯臂分网前的显示处理? ? 1. 在模型浏览器中显示 arm_curve 组件? 2. 按 F5 键,进入 mask(隐藏)面板? 3. 选择 element&&by?config,然后选择 hex8? 此步通过单元属性选择单元,hex8 表示 8 节点的六面体单元? 4. 点击 select?entities? 所有具有 8 节点的六面体单元都已被选择? 5. 选择 element&&by?config,然后选择 penta6? 6. 点击 select?entities? 所有具有 6 节点的五面体单元都被已被选择? 7. 点击 mask,隐藏所选单元? 8. 点击 return,返回主面板(main?menu)? ? 第 5 步:在弯臂曲率中心处创建一个节点? ? 1. 按下 F4,进入 distance(距离)面板? 2. 进入 three?nodes? 3. 在 N1 激活的状态下,在下图曲线上创建节点。? 4. 按住鼠标左键,在屏幕视图区域(Graphic? Area)拖动鼠标,当光标靠近目标曲线时, 光标将变成?,然后该曲线高亮显示,此时释放鼠标,可以注意到此时目标曲线处于 \28\? ?5. 6. ? ? ? ? ? ? ? ? ? ? ? 7.被激活状态。? 在曲线上点击三次,选择三个点。? 点击 circle?center,在曲线曲率中心处创建一个节点? 在任一条曲线上选择三个点然后点击 circle?center,找到曲线曲率中心?中心节点? 图 4? 创建中心节点?点击 return,返回主面板? ? 第 6 步:使用旋转(spin)工具在弯臂上创建六面体单元? ? 1. 在模型浏览窗口选择 arm_curve 作为当前组件? 2. 进入 spin 面板? 3. 选择 spin_elems 子面板? 4. 选择 elems&&by?window,选择 L 形面内的单元? 5. 点击 select?entities? ? ? ? ? ? ? ? ? ? ? ? 图 5? 选择 L 形面内二维单元? 6. 在 angle=栏中输入 90? 此栏表示旋转角度? 7. 在选转方向上选择 x\axis? 8. 将曲线圆心处节点设置为基点(B)? 9. 在 on?spin=栏中输入 24? 此栏表示在旋转路径上的网格数? 10. 点击 spin\? ? \29\?? ?? ? ? ? ? ? ? ? ? ? 图 6? 创建弯臂六面体网格? 11. 点击 return,返回主面板(main?menu)? 第 7 步:在六面体单元上创建面? 1. 2. 3. 进入 faces 面板? 将实体选择器设置为 comps,选择 arm_curve 组件? 点击 find?faces? 此时在三维单元上将创建二维壳单元,这些壳单元均放置在名为^faces 的组件中? 在工具栏上点击 Shaded?Elements?&Mesh?Lines ? 第 8 步:直臂分网前的显示处理? 显示组件 arm_straight 和^faces? 第 9 步:为直臂和圆柱体之间 L 形面划分网格? ? ? 1. 2. 3. 4. 5. 6. ? ? ? ? ? ? ? ? ? ? ? ? 将 arm_straight 设置为当前工作组件? 进入 automesh 面板? 选择直臂和圆柱体之间 L 形面,这个面都存放在 arm_straight 组件中? 将 meshing?mode 设置为 interactive? 点击 mesh,进入分网程序? 在 density 子面板,按下图调整网格密度? ,这时将看到^faces 组件中的单元?4.图 7? 调整网格密度? \30\?? ?7. 点击 mesh,更新分网密度? 8. 点击 return,创建二维单元并返回 automesh 面板? 9. 点击 return,返回主面板(main?menu)? 第 10 步:使用 linear?solid 工具在两组壳单元之间创建三维单元? ? 1. 通过以下任一种方式进入 linear?solid 面板? (1) Mesh 菜单中选择 Create, 在 在其二级菜单下选择 3D?Elements, 然后选择 Linear?3D? (2)在 3D 页,选择 linear?solid? 2. 在 from: elems 选择器激活的情况下, 选择^faces 组件上位于弯臂和直臂之间的壳单元。 可以首先选择一个单元,然后使用 elems&&by?face 来选择其余所需的单元? 3. 点击 to:elems,选择第 9 步创建的壳单元? 4. 点击 from:alignment:N1,选择下图所示三个节点? 5. 点击 to:alignment:N1,选择下图所示三个节点? 注意:10.4 和 10.5 两步中节点选择顺序以及映射位置必须一致? ? ? 10.3 选择的节点? ? ? ? ? ? 10.4 选择的节点? ? ? ? ? ? ? 图 8? 步骤 4 和 5 中所选节点位置? 6. 在 density=栏中输入 12? 此栏表示在两壳单元之间生成的网格数? 7. 点击 solids,完成网格划分? ? ? ? ? ? ? ? ? ? ? ? ? 图 9? 创建直臂六面体网格? \31\?? ?点击 return,返回主面板(main?menu)? ? 第 11 步:圆柱体分网前的显示处理? ? 在模型浏览器中设置 boss 组件为显示状态? ? 第 12 步:在 boss 组件底部创建壳单元? ? 1. 将 boss 设置为当前工作组件? 2. 进入 automesh 面板? 3. 选择 boss 底部五个面? 4. 点击 mesh,进入分网程序? 5. 按照下图调整面上网格密度? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 图 10? 调整网格密度? 6. 点击 mesh 更新面上网格密度? 7. 点击 return 两次,返回主面板(main?menu)? ? 第 13 步:向 boss 上表面投影节点? 为更好控制 boss 组件上网格生成质量,保证模型网格连续性,在对 boss 进行分网时需 使用已存在节点控制待生成网格的节点分布。通过前几步操作,boss 组件映射路径上已生 成大部分节点,下面将通过映射(project)功能,在 boss 上表面生成节点,完善映射路径 的节点分步。? ? 1. 进入 project 面板? 2. 选择 to?line 子面板? 3. 选择下图所示节点? 4. 点击 nodes&&duplicate? 复制已选中的节点,完成此步操作后,映射到 boss 上表面的节点不是已选中节点本身, 而是其复制点,这样就不会影响原有单元分布状态。? 5. 在 to?line 栏选择 boss 上表面,如下图所示? 8. \32\?? ?? ? ? ? ? ? ? ? ? ? ? ? ?选择此节点和线图 11? 步骤 3 和 5 中节点及线的位置? 6. 在 along?vector:栏选择 x\axis? 7. 点击 project,将节点投影到所选线上? 8. 点击 return,返回主菜单? ? 第 14 步:使用 solid?map 面板为 boss 组件划分六面体单元? ? 1. 通过以下任一种方式进入 solid?map 面板? (1)在 Mesh 菜单上点击 Create,然后点击 Solid?Map?Mesh? (2)在 3D 页,选择 solid?map? 2. 进入 general 子面板? 3. 选择 source?geom: (none)? 4. 选择 along?geom:mixed? 5. 在 along?geom:mixed 栏下,点击 lines? 6. 选择下图所示线? 7. 点击 node?path? 将其激活? 8. 顺序选择下图所示节点。 共有 13 个节点, 起始节点位于 boss 壳单元, 然后是 arm_straight 组件边沿上的节点,终止节点位于 boss 上面投影的节点? ? ? 从下到上,依次选择这些节点? ? ? ? 选择这些条线? ? ? ? ? ? ? 图 12? 扫略路径节点位置? 9. 在 elems?to?drag:栏选择 elems&&by?collector 并选择 boss 组件? \33\?? ?10. 点击 destination?geom:surf,选择 boss 上表面? 11. 点 mesh,此时模型已全部划分网格? ? ? ? ? ? ? ? ? ? ? ? 图 13? 创建圆柱体六面体网格? 12. 点击 return,返回主面板(main?menu)? 第 15 步(选做) :检查模型连续性? ? 1. 进入 faces 面板? 2. 点击 comps,进入组件列表? 3. 选择所有组件或选择 comps&&all? 4. 点击 select,完成组件选择并返回 faces 面板? 5. 点击 find?faces? 6. 在模型浏览窗口关闭所有组件几何显示? 7. 关闭除^faces 组件外所有组件网格单元的显示? 8. 点击 return 退出当前面板? 9. 在 Post 页,进入 hidden?line(或直接按 F1)? 10. 进入 cutting 子面板? 11. 激活 xz?plane? 和 trim?plane 选项? 12. 点击 fill?plot,此时图形区的面以切面形式显示,因此可以看到模型内部网格情况? 13. 在切面位置处点击,按住鼠标左键不放并移动鼠标,此时切面将通过模型。通过这一功 能可以看到模型内部任何一个单元。在 boss 和 arm 之间,将看到有些单元并没有真正 连接,因此需要进一步处理。? ? ? ? ? ? ? ? ? ? ? ? 图 14? 模型切面显示? \34\?? ?14. 点击 return,返回主面板(main?menu)? 第 16 步(选做) :校正模型单元连续性? ? 1. 显示除^faces 外所有组件? 2. 以透明模式显示 solidmap 组件? 3. 进入 faces 面板? 4. 选择 elems&&displayed? 选择图形区显示的所有单元? 5. 点击 preview?equiv? 在 boss 和 arm 之间符合条件的节点高亮显示? 6. 指定一个较大的 tolerance=值并点击 preview?equiv 找到更多的符合条件的节点? 7. 重复 16.6 步,直至 60 个节点被选中? 8. 点击 equivalence,将间距小于 tolerance 的节点缝合到一起? 9. 将所有组件以渲染模式显示。? ? 第 17 步:重新检查模型连续性? ? 重新进行第 16 步操作,确保模型中不连续节点已被缝合。? ? ? ?\35\?? ??\0\?? ?练习一? ? HyperView 可视性与视图控制?? ? ? ? ? ? 本示例描述使用 HyperView 进行后处理分析的过程? ? ? ? ? ? ? ? ? ? ? 图 1? ? 模型结构? 练习使用视图控制按钮(HV\2000)? ? 第 1 步:导入模型? ? 1. 在主菜单 File 下点击 New,删除当前 HyperView 进程中数据? 2. 3. 点击工具栏 Load?model 按钮 ? ,打开位于路径&install_directory& /tutorials?在 Load? model 面板文件浏览器按钮/mv_hv_hg?/animation?/truck 下的 truck.key 文件和 d3plot 结果文件? ? 第 2 步:使用视图控制按钮? ? 1. 2. 3. 4. 点击面板右侧浅绿色的竖条,隐藏视图控制按钮? 再次点击浅绿色的竖条,显示视图控制按钮? 在视图控制面板中的文本框中输入 30,改变旋转角度? 点击箭头 旋转 30 度? 5. 6. 点击箭头 和 ,使模型绕屏幕垂直旋转? 和 ,放缩模型? , , , ,使模型分别绕水平轴和竖直轴旋转,每点击一次,模型点击放缩按钮\1\?? ?7. 8. 9.点击 Fit 按钮,使模型适合窗口大小显示?点击 Lft 按钮,以左视图观察模型? 点击 Animate?Start/Stop 按钮 ,运行模型动画,此时注意到部分模型超出图形区。?10. 点击 Fit?All?Frame,将模型全部置于图形区内? 11. 点击 Animate?Start/Stop 按钮 12. 点击 M1,记录当前视图? 13. 点击 Iso,改变视图至等轴视图? 14. 点击恢复键 R1,返回已记录的视图? ? 第 3 步:改变窗口布局和载入文件? 1. 2. 3. 4. ? 第 4 步:使用 Synchronize?View 工具同时改变多个窗口视图? 1. 在 Utilities 菜单中选择 Start/Set?View?Synchronization,打开 Synchronize?View 对话框。两 个窗口的颜色 2. 3. 4. 5. 与图形区窗口背景颜色相同时表示两个窗口视图已经同步? 点击窗口布局按钮 选择两窗口模式 激活新的窗口? 在新窗口中载入 turck.key 和 d3plot 文件? ? ,点击 close 关闭对话框? ,停止模型动画?点击 OK 关闭对话框? 点击 Front?View 按钮 点击 Iso?View 按钮 ,在两个图形区窗口中显示模型前视图? ,和放缩按钮 和 ,改变模型视图? ,在图形区第一个窗口右击,在弹出的 Synchronize?View 对话框中,点击窗口 2 图标 退出视图同步?6. 7. 8.点击 OK 退出对话框? 在视图控制面板中点击箭头按钮,此时图形区只有第一个窗口内的模型旋转? 在在 Utilities 菜单中选择 Stop?View?Synchronization,关闭 Synchronize?View 对话框?练习使用模型浏览器(Model?Browser) (HV2020)? ? 第 5 步:在模型浏览器中打开和关闭组件显示? 1. 在模型浏览窗口点击 按钮,激活显示/隐藏模式?\2\?? ?2.在图形区右击卡车车身,此时车身组件隐藏,如下图所示? ? ?? ? ? ? ? ? 图 2? 隐藏车身组件? 3. 左击车身区域显示车身组件。 在车身区域按住鼠标左键不放, 将产生已隐藏组件的线框 模型? 4. 5. 6. 7. 8. 9. 点击“+”打开 Components 树? 右击 SHELL:BED,选择 Hide,图形区中车身组件将被隐藏? 右击 SHELL:BED,选择 Show,图形区中车身组件重新显示? 选择 Components 文件夹? 点击 Display?none 按钮 打开 Sets 文件夹? ,隐藏所有组件?10. 在 Sets 文件夹下选择 1D?Set? 11. 点击 Display?all 按钮 ? ? ? ? ? ? ? ? ? 图 3? 显示 1D?Set 组件? 12. 右击 1D?Set 文件夹,选择 Hide? 13. 再次选择 Copmonents 文件夹? ,打开 1D?set,此时只有 1D?Set 显示在图形区?\3\?? ?14. 点击 Display?all 按钮 15. 点击 Selector,打开所有组件?,激活选择器?16. 在组件模型树内点击鼠标左键? 17. 转动鼠标中键,选择 SOLID:RADIATOR? 18. 点击 Display?none 按钮 ,隐藏这个组件?第 6 步:使用模型浏览器单独显示组件? 1. 2. ? ? ? ? ? ? ? 图 4? 显示车身组件? 3. 4. 5. 再次点击 ,取消 Isolate 工具? 点击 ,激活 Isolate 工具?在模型浏览器中点击 SHELL:BED,此时图形区单独显示车身?在 SHELL:CABIN 组件上右击,选择 Isolate,此时 cabin 单独显示在图形区? 在 Components 文件夹右击,选择 Show,此时所有组件显示在图形区。?第 7 步:在模型浏览器中改变模型显示方式? 1. ? ? ? ? ? ? ? ? ? ? 图 5? 步骤 1 窗口状态? \4\??在组件 SHELL:BED 右侧右击 Style 图标? ?2. 3. 4.在 Style 弹出框中选择 Shaded模式? ?在组件 SHELL:BED 右侧右击颜色框在调色板上选择一种新颜色,此时车身颜色改变?第 8 步:使用模型浏览器向面板集合器(panel?collector)添加项目? ? 1. 2. 3. 4. 5. 6. ? ? ? ? ? ? ? 图 6? 显示车身应力云图? 7. 8. 使用 Animation?Controls 工具打开模型动画,观察车身组件上的应力云图? 停止动画? 在工具栏点击 ,进入 contour 面板? ,激活选择器?在模型浏览区点击 Selector 选择 SHELL:BED 组件?点击 Add?To?Panel?Collector 按钮,将车身添加进入 Components 集合器?切换 Result?type 到 Stress(t)? vonMises? 点击 Apply,在 SHELL:BED 上显示应力云图?第 9 步:改变模型浏览窗口的实体显示? 1. ? ? ? ? ? ? ? 图 7? 步骤 1 窗口状态? \5\??点击 Model?files?view 图标,在模型浏览区打开模型文件? ?2. ? ? ? ? ? ? ? ? ? ? ? ?点击 Components?views 按钮,在模型浏览器中只显示组件?图 8? 步骤 2 窗口状态? 3. ? 练习使用隐藏(mask)工具(HV\2030)? 第 10 步:使用 mask 工具显示和隐藏单元? ? 1. 2. 3. 4. 5. 6. 7. 8. 9. 在工具栏点击 Mask 按钮 ? 点击 Close?model?files?view 按钮 ,返回模型浏览器?确认 Entities 选择器设置为 Element? 在 Action 下,选择 Mask 选项? 按住 SHIFT 键和鼠标左键,在图形区指定模型一个区域? 释放 SHIFT 键和鼠标左键,所选区域的模型已不再显示? 在 Action 下选择 Unmask 选项? 按住 SHIFT 键和鼠标左键,在图形区画出部分包含已被隐藏的模型的区域? 释放鼠标左键,已隐藏单元重新显示? 点击 Unmask?All 按钮,显示模型所有单元?10. 确认 Entities 选择器设置为 Components? 11. 重新选择 Mask 选项? 12. 在图形区选择车身和右后侧轮胎? 13. 点击 Mask?Selected 按钮?\6\?? ?? ? ? ? ? ? 图 9? 隐藏车身和右后侧轮胎? 14. 按住 SHIFT 键和鼠标左键,在图形区指定模型一个区域? 15. 释放 SHIFT 键和鼠标左键,所选区域内的组件被隐藏? 16. 重新选择 Unmask 选项? 17. 按住 SHIFT 键和鼠标左键,在图形区画出包含已隐藏模型的区域? 18. 释放 SHIFT 键和鼠标左键,已隐藏组件重新显示? 第 11 步:使用实体输入集合器显示和隐藏单元? 1. 2. 3. 4. ? ? ? ? ? ? 图 10? 实体选择面板? 5. 6. 点击 By?Attached? 点击 Mask?Selected 按钮? ? ? ? ? ? ? 图 11? 隐藏与车顶关联的组件? 7. 点击 reject 按钮,所有组件重新显示? \7\??在 Action 栏下,选择 Mask 选项? 将 Entities 选择器设置为 Components? 在图形区点击车顶? 点击 Components,进入二级实体选择菜单? ?练习二? 显示结果云图(Contouring?Results?HV\3000)?? 本示例将练习如何使用 HyperView 显示结果云图。? ? 第 1 步:在模型所有组件上生成应力云图(stress?contour)? ? 1. 载入 bullet_local.op2 文件,文件位于&install_directory&/tutorials/mv_hv_hg?/animation/? ? 2. 3. 4. 5. 在工具栏点击 Contour 按钮 ?激活 Selection 下的 Components 输入选择器? 在 result?type 下选择 Stress(t)和 vonMises? 在 Entity?with?Layers 栏中选择 Z1? Entity?with?Layers 栏中几个选项代表的含义是:? \Max? 显示 Z1 和 Z2 层之间的最大值? \Min 显示 Z1 和 Z2 层之间的最小值? \Extreme? 显示每个实体各层最大的绝对值? \Z1/Z2 显示厚壳的各层,这取决于求解器类型? 确定 Resolved?in 栏设置为 Analysis?System,Averaging?method 设置为 None? 点击 Apply。默认情况下云图将显示在模型所有组件上,当然可以指定某个组件显示云 图?6. 7. ? ? ? ? ? ? ? ? ? ? ? ?图 1? 显示模型应力云图?第 2 步:在指定单元上显示应力结果云图? ? 1. 将输入选择器由 Components 切换到 Elements? 2. 在图形区选择模型的部分单元? 3. 点击 Apply,所选单元将显示应力云图? 4. 按住 SHIFT 键和鼠标左键,在图形区指定区域滑动。释放 SHIFT 键和鼠标左键,所选区 域上将显示应力云图。? ? \8\?? ?? ? ? ? ? ? ? ? ? ? ? ? ? 5. 6. ? 第 3 步:生成平均应力云图(averaged?stress?contour)并创建等值面(iso?surfaces)? 1. 设置 Averaging?Method 为 Simple? 2. 点击 Apply? 3. 点击 Show?Iso?Value? ? ? ? ? ? ? ? ? ? ? ? ? 图 3? 显示平均应力云图? 4. 在图形区点击并在键盘上按下? “T”键,此时,在看到等值面的同时可以看到透明模式 下的模型? 5. 再次按下“T”键,关闭透明模式? 6. 点击 Clear?Contour? 第 4 步:在不同坐标系下显示矢量和张量结果云图? ? 1. 在 Result?type? 下选择 Displacement(v)和 X? 2. 将 Resolved?in 栏设置为 Analysis?System? 3. 点击 Apply? 4. 将 Resolved?in 栏切换为 Global?System(proj:none)? \9\??图 2? 显示模型中指定单元应力云图? 在 Selection 下点击 Element,然后在弹出的窗口中选择 All? 点击 Apply,则模型所有单元都将显示应力云图? ?5. 点击 Apply? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 图 4?Analysis?system 矢量云图? ? ? ? ? ? ? ? ? ? ? ? ? 图 5? ? Global?system 矢量云图? 6. 点击 Clear?Contour? 7. 将 Result?type 切换到 Stress(t)和 vonMises? 8. 在 Resolved?in 栏选择 User?System(proj:x,y)? 9. 点击 system,然后选择 By?ID? 10. 输入“2” ,选择用户第二自定义坐标? ? ? ? ? ? ? ? ? ? ? ? ? ? 图 6? 用户自定义坐标矢量云图? 11. 点击 Apply? 12. 关闭对话框? 13. 点击 Apply? 第 5 步:编辑图例? 1. 2. 3. 4. 5.?点击 Edit?Legend,打开 Edit?Legend 对话框? 点击 4.603E+01,将其变为 45.0,图例上数字将自动重新插值。? 点击 Apply,注意观察图形区上图例的变化? 点击 Default,返回默认设置? 点击 OK 关闭对话框? \10\? ?练习三? ? 查看变形(Viewing?Deformed?Shaped?HV\3010)?? 本示例将练习如何使用 HyperView 查看模型变形情况。通过 Deformed 面板可以完成以 下工作(1)指定参数进行变形显示; (2)查看模型运动情况; (3)显示模型初始结构和最 大形变以观察模型总体的运动情况; 在预知模型分析结果的基础上, (4) 生成模型运动动画。 ? ? 第 1 步:观察模型变形动画? 1. 载入 deform.mvw 文件,文件位于&install_directory&/tutorials/mv_hv_hg?/animation/? ? ? ? ? ? ? ? ? ? ? ? 图 1? 模型结构? 2. 3. 4. 5. 6. 7. 8. ? ? ? ? ? ? ? ? ? ? ? 图 2? 模态动画中不同阶段? 9. 停止动画? \11\??在工具栏中选择 Deformed 按钮?在 Result?type 栏中选择 Displacement(V)? 在 Scale 栏中选择 Model? percent,它将模型最大变形量转化为百分数值,这个数字在 Value 栏中输入? 。? 在 Type 栏中选择 Uniform,表示在 X,Y,Z 三个方向上同时缩放模型? 将 Value 改为 10? 点击 Apply? 点击动画按钮 ,运行模型动画? ?10. 点击 Animation?Controls 按钮 11. 12. 13. 14. 15. 16. ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??将 Angle?Increment 变为 10? 返回 Deformed 面板? 在 Type 栏中选择 Component,这一选择能够使模型在三个方向按照不同的比例缩放? 在 X,Y,Z 上分别输入 0,0,20? 点击 Apply? 运行模型动画,此时模型只在 Z 方向上放缩?图 3 模型在 Z 方向上放缩的不同阶段?\12\?? ?练习四? ? 查询结果信息(Querying?Result?HV\4000)?? 本示例将练习使用 HyperView 进行结果信息查询。 通过 Query 面板可用查询当前模型的 节点、单元、组件和坐标系等信息,? ? ? 第 1 步:显示模型结果云图并查询结果? ? 1. 载入 truck.key 模型和 d3plot 结果文件, 文件位于&install_directory& /tutorials?/mv_hv_hg? /animation/? 2. 3. 4. 5. 6. 7. 8. ? ? ? ? ? ? ? ? 在工具栏点击 Contour 按钮 ?在 Result 下选择 Stress(t)和 VonMises? 点击 Apply? 点击 按钮,运行模型动画?停止动画? 在工具栏点击 Query 按钮 ? 确认实体选择器设置为 Elements? 实体选择器? 选项列表?图 1? 步骤 8 和 10 中窗口状态? 9. 点击图标 ,取消选择选项列表中的所有项目? 10. 在选项列表中选择 Element?ID,Contour(Stress) ,Load?Case 和 Simulation?Step? 11. 在图形区选择模型几个单元。? ? ? ? ? ? ? 图 2 显示所选单元 ID 编号、相应应力值、工况以及仿真步。? 12. 13. 14. 15. 16. 17. 点击 ,返回 Contour 面板? 在 Averaging?method 下拉菜单中选择 Simple? 点击 Apply? 点击 Query?Result 按钮,它位于 Contour 面板右下角? 确定实体选择器设置为 Nodes? 在选项列表中选择 Element?ID,Contour(Stress) ,Load?Case 和 Simulation?Step? \13\?? ?18. 在图形区,点选模型上几个节点? 19. 点击 Export 按钮,将表格中数据存储成 query.csv 文件。通过 Export 选项可以将查询的 结果信息保存成.csv 文件用于进一步的研究,而不需要再次查询相同的数据。? 20. 高亮显示列表中部分行? 21. 在高亮显示的列表中右击鼠标? ? ? ? ? ? ? ? ? 图 3? 数据结果后处理? 22. 在弹出的可用选项中选择 Copy,此时可以将所选列表拷贝到文本编辑器中。? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \14\?? ?练习五? ? 使用高级查询功能(Performing?Advanced?Queries?HV\4010)?? 本示例将练习使用高级查询功能。 Advanced?Query 面板提供了依据已显示云图图例的数 值查询模型节点、 单元和组件信息的功能, 通过这一功能可以对模型中所关心的实体进行结 果云图显示。与此同时,可以为已查询的数据创建集合,避免在使用相同数据时的多次重复 查询。? ? 第 1 步:显示模型云图? 23. 载入 truck.key 模型和 d3plot 结果文件,文件位于&install_directory&?/tutorials?/mv_hv_hg? /animation/? 24. 在工具栏点击 Contour 按钮 ?25. 在 Result 下选择 Stress(t)和 VonMises? 26. 点击 Apply? 27. 点击按钮 ,运行模型动画?28. 停止模型动画? 29. 在工具栏选择 Animation?Controls 面板 ?30. 拖动 Current?time 滑杆,将动画时间设置为 0.034966? ? 第 2 步:使用 Advanced?Query 对话框查询数据? ? 1. 2. 3. 4. 5. 6. 在工具栏选择 Query 面板 ?在 Query 面板右下角点击 Advanced 按钮? 确认选择 User?defined 选项? 将 Apply?to 选项设置为 All 和 Components? 在 Value 栏,选择&=,并在文本框中输入 400? 确认激活 Warning?Threshold 选项,在后面文本框中输入 80。? 通过这一功能,可以只观察大于阈值的实体,而阈值取决于输入的百分数,本例中阈值 为 320。? Advanced?Query 面板下面列表中将使用蓝色显示处在 320 和 400 之间的数值? 7. 将 Loadcase 设置为 Current?Simulation? ? ? ? ? ? ? ? ? ? 图 1? ? Advanced?Query 面板参数设置? \15\?? ?8.点击 Apply。注意,此时图形区将显示模型轮廓线? ? ? ? ? ? ? ? ? ? ? ? ? 图 2 查询结果? 9. 在图形区点击并在键盘上按下 L 键,模型轮廓线消失? 10. 在 Max?Value 栏中点击第一个值 5.324E+02?? 图 3? 指定 Max?Value 值相关组件一? 11. 点击 Max?Value? 栏中其他值,观察图形区的变化?? 图 4? 指定 Max?Value 值相关组件二? 12. 13. 14. 15. 为已查询实体创建集合? 在 Max?Value 栏点击第一个数值 5.324E+02? 点击 Create?Set 按钮,弹出 Create?Group 对话框? 在 Group?label 栏中输入 vonMises&=400? \16\?? ?16. 点击 OK? 17. 关闭 Advanced?Query 对话框? 18. 在工具栏中选择 Entity?Attributes 面板 ? 19. 激活 Auto?apply?mode 选项? 20. 点击 Display:Off? 21. 点击 All? 22. 在 Entity 下拉菜单中选择 Sets? 23. 点击 Display:On? 24. 点击 vonMises&=400,集合 vonMises&=400 内的组件将显示在图形区? ? 第 4 步:通过 Advanced?Query 对话框查询 Top?N 单元? ? 1. 2. 3. 4. 5. 6. ? 在工具栏选择 Query 面板 ?在 Query 面板右下角点击 Advanced 按钮? 在 Apply?To 栏中选择 All 和 Elements? 在 Value 栏中选择 Top?N 并在文本框中输入 50? 在 Load 栏中选择 Current?Simulation? 点击 Apply? ? ? ? ?? ? ? ? ? ? ? 图 5? 查询 top?N 单元参数设置? ? ? ? ? 模型中值最大的 50 个单元显示在图形区? 7. 点击 Create?Set 按钮? 8. 在 Group?label 文本框中输入 vonMises?Top?50? 9. 点击 OK,关闭 Advanced?Query 对话框? 10. 从 View 菜单中激活 Browser? 11. 点击 关闭模型中所有组件? 12. 在工具栏中选择 Set 面板 ?13. 激活 vonMises?Top?50 前的复选框? 此时 Advanced?Query 面板上选择的单元显示在图形区, 如果选择 Show?ID 选项, 单元 ID 也同时显示在图形区。? ? \17\?? ?练习六? ? 创建截面(Creating?Section?Cuts?HV\5000)?? 本示例将练习使用截面工具。 通过截面工具能够在模型中创建平面截面或变形截面, 以 帮助更好的观察模型细节?? 图 1? 模型结构? 第 1 步:创建平面截面? ? 31. 载入 truck.key 模型和 d3plot 结果文件,文件位于&install_directory& /tutorials?/mv_hv_hg? /animation/? 32. 在工具栏点击 Section?Cut 按钮 ?33. 确认 Defined?plane 设置为 Y?Axis? 34. 确认 Display?Options 栏下 Cross?section 选项处于激活状态? 35. 点击 Add,图形区出现模型的一个截面? ? ? ? ? ? ? ? ? ? ? 图 2? 模型某个位置截面? ? ? 36. 拖动 Define?plane 栏下滑杆? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ,观察模型不同位置的截面? 37. ? ? \18\?? ?? 38. 拖动 Cross?section 滑杆? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ,调整截面宽度? 39. ? ? ? ? ? ? ? ? ? ? ? ? 图 3? 调整截面宽度? 40. 激活 Clipping?plane 选项? 41. 点击 Reverse 按钮,观察横截面另一部分? ? ? ? ? ? ? ? ? ? ? ? 图 4? 观察模型另一侧? 42. 在图形区点击鼠标左键并在键盘上按下“T”键,以透明模式观察模型? 43. 按下“L”键观察模型轮廓线? 44. 再次按下“T”和“L”键关闭透明模式和模型轮廓线? ? 第 2 步:创建多个截面? ? 1. 添加另一个截面? 2. 将这个截面设置为 X?Axis? 3. 确认 Clipping?plane 选项处于激活状态? 4. 点击 Apply,在 X 方向创建一个截面? 5. 点击 Reverse,观察截面另一部分? 6. 打开透明模式? ? ? ? \19\?? ?? ? ? ? ? ? ? ? ? ? ? 7. ? 第 3 步:创建变形截面? ? 1. 2. 3. 4. 点击按钮 图 5? 透明模式下模型状态? 在 Define?plane 栏下拖动滑杆,改变截面位置?,运行模型动画? ?在工具栏选择 Animation?Controls 面板 降低动画帧数? 点击 Section?Cut 图标,观察模型的变形?模型穿过此前定义的截面,这是由于此前定义的截面是平面截面(Planar) ,因而模型 截面并没随模型一起运动? 5. 停止动画? 6. 点击状态栏 Loadcase1 打开 Load?Case?And?Simulation?Selector,选择第一个时间步? 7. 点击 OK? 8. 在 Deformed?mode 栏下激活 Deformable 选项? 9. 点击 Apply,观察变形截面? HyperView 将记录当前截面,这个截面将会随时间改变。创建变形截面时,截面保持平 面状态,一旦运行动画,这个截面将开始随模型运动而变形。? 10. 运行模型动画,观察截面变形情况? ? ? ? ? ? ? ? ? ? \20\?? ?练习七? ? 创建测量(Create?Measures?for?an?FEA?Model?HV\6000)?? 本示例将练习使用 Measures 面板测量有限元模型相关数据。 通过 Measures 面板可以测 量节点之间的距离、坐标系的位置、相对位移、相对角度以及节点间的角度,同时它也提供 了测量节点和单元的等高线值等功能。? ? 第 1 步:测量最大、最小值? ? 45. 载入 d3plot 文件,该文件位于&install_directory&/tutorials/mv_hv_hg/? animation?/? 46. 在工具栏点击 Contour 按钮 ?47. 在 Result 下选择应力(Stress(t) )和等效应力(VonMises) ,在 Averaging?Method 栏中 选择 Simple? 48. 点击 Apply? 49. 点击按钮 ,运行模型动画?50. 停止模型动画? 51. 点击 Mesure 按钮 ?52. 激活 Static?MinMax?Result 复选框,图形区将显示整个时间段的最大值和最小值? 53. 在 Display?options 栏下,取消选择 Transparency 复选框,测量值将直接显示在图形区? ? ? ? ? ? ? ? ? ? ? 图 1? 在图形区显示测量值? 54. 取消选择 Static?MinMax?Result 复选框? 55. 激活 Dynamic?MinMax?Result 复选框,图形区将显示每个时间步的最大值和最小值? 56. 运行动画,观察屏幕上数值变化情况? 57. 取消选择 Dynamic?MinMax?Result 复选框? 58. 停止动画? ? 第 2 步:测量两个节点之间的距离? ? 1. 点击 Add,创建一个新的测量组? 2. 确认测量类型上选择 Distance?Between? \21\?? ?? ? ? ? ? ? 图 2? 设置测量类型? 3. 激活 Magnitude、ID 和 System 复选框? 4. 在图形区选择车顶一点和发动机罩上一点,此时两节点的距离将显示在屏幕上? 5. 在 Display?options 栏下,激活 Transparency 复选框,测量值以透明模式显示在图形区? 6. 在 Format 下拉菜单,选择 Fixed? 7. 将 Precision 设置为 2,此时测量值将以两位小数的精度显示? ? ? ? ? ? ? ? ? ? ? ? ? 图 3? 显示测量结果? 8. 运行模型动画,两节点的距离值将实时更新? 9. 停止动画? 10. 取消选择 Measure?Group?3 复选框? ? 第 3 步:使用 live?link 功能动态更新节点结果? ? 1. 添加一个测量? 2. 将测量类型设置为 Nodal?Contour? 3. 在图形区选择模型两个节点? 4. 在节点列表中选择一个节点?? 图 4? 选择节点? \22\?? ?5. 6.在 Create?curve 栏下将 Place?curve?on 设置为 Preview?Plot? 点击 Apply。Apply 按钮可能被视图控制面板挡住,点击视图面板右侧浅绿色细条,可 以关闭视图控制面板? 7. 关闭 Plot?preview? 8. 使用 CTRL 键,选择节点列表中两个节点? 9. 将 Place?curve?on 切换成 New?Plot? 10. 激活 Live?link 选项,此选项将在运行动画动态更新曲线数值? 11. 点击 Apply? ? ? ? ? ? ? ? ? ? ? ? ? ? 图 5? 动态更新等效应力测量结果? 12. 运行动画,每条曲线上将分别出现一个光标? 13. 停止动画? 14. 在 Contour 面板,将 Result?type 设置为 Displacement(v)并点击 Apply? 观察曲线图标题的变化。? ? ? ? ? ? ? ? ? ? ? ? ? 图 6? 测量节点位移变化? 15. 运行动画,Live?link 功能将动态更新曲线图? ? ? ? ? \23\?? ?? ? ? ? ? ? ? ? ? ? ? ? ? 图 7? 动态更新位移测量结果? 16. 停止动画? ?\24\?? -0- 练习一:汽车摆臂的概念设计(OS2010) 要求使用OptiStructs拓扑优化功能对汽车摆臂进行概念设计,优化得到的结 构不仅重量更轻,且满足所有载荷工况的约束要求。 汽车摆臂有限元网格包括可设计区域(蓝色)和不可设计区域(黄色) ,如 图1所示。零件指定约束点(载荷施加点)的合位移,在该点上施加三种载荷后 产生的位移分别为0.05、0.02、0.04,优化设计的目标是尽可能减少设计材料。 优化问题描述如下: 目 约 标:体积最小化 束:施加载荷的节点在工况1下的合位移小于0.05 mm; 施加载荷的节点在工况2下的合位移小于0.02 mm; 施加载荷的节点在工况3下的合位移小于0.04 mm。 设计变量:单元密度载荷施加点图1 包含可设计和不可设计材料区域的有限元网格模型 本示例的基本分析过程包括如下内容: - 将已标识可设计与不可设计区域的有限元模型导入HyperMesh; - 定义相关的属性、边界条件、载荷、和优化参数; - 使用OptiStuct确定材料的最优分布; - 结果(实体的分布)将以单元密度值从0到1的云图在设计空间中显示, 需要加强的区域的密度趋向于1。 在HyperMesh中建立有限元模型 第1步:载入OptiStruct并读取文件 1. 启动HyperMesh-1- 2. 在User Profiles对话框中选择OptiStruct,并点击OK。 3. 点 击 工 具 栏 按 钮 Files Panel /optistruct/ 4. 点击Open,carm.hm文件被载入到当前HyperMesh进程中,取代进程中已有 的其他数据。 第2步:建立材料和几何属性并定义合适的组件 本示例中所用到的三个components事先已经定义,以下需要创建材料集并 为每个components指定相应的材料。 1. 点击Model按钮,在模型浏览窗口内上点击鼠标右键,移动光标至Create, 激活其二级菜单并选择Material,如图2: 。 在 弹 出 的 Open file… 对 话 框 中 选 择carm.hm 文 件 , 该 文 件 位 于 &install_directory&/tutorials/hwsolvers图2 步骤1窗口 2. 在Name栏中键入Steel 3. 在 Card image栏中选择MAT1图3 步骤3窗口-2- 4. 点击Create/Edit, 5. 弹出MAT1菜单界面,设置E为2.0E5,Nu为 0.3图4 步骤5窗口 6. 点击return 提示:如果括弧中的某一项没有赋值,可以通过点击该选项将其激活,然后 在显示的输入栏中赋值。以上建立了一个新的材料steel,指定材料为OptiStruct 的linear isotropic,杨氏模量为2E+05,泊松比为0.3。由于本例是一个线性静力 分析问题,体积是其响应,因此不需要指定密度值。但在其它的情况下,密度值 必须设定。可以随时使用card image子面板对collector的卡片属性进行修改。 7. 点击Model按钮,在模型浏览窗口内上点击鼠标右键,移动光标至Create, 激活其二级菜单并选择Property, 8. 在Name栏键入design_prop 9. 点击card image= 并选择PSOLID 10. 点击material = 并选择Steel 11. 点击Create 12. 同上建立一个新的Property,在Name栏键入nondesign_prop 13. 点击card image= 并选择PSOLID 14. 点击material = 并选择Steel 15. 点击Create 16. 从Collectors的下拉菜单点击Assign选择Component Property,如图5图5 步骤16窗口 17. 点击Comp,选nondesign, 在点击select-3- 图6 步骤17窗口 18. 点击property= 选择 nondesign_prop 19. 点击assign 20. 重复20-22步,设置design_prop 到design 21. 点击return 第3步:创建载荷工况load collector 本步骤需要创建4个载荷工况load collector,命名为SPC、Brake、Corner 和Pothole,并指定不同的颜色,步骤如下: 1. 点击Model按钮,在模型浏览窗口内上点击鼠标右键,移动光标至Create, 激活其二级菜单并选择LoadCollector 2. 点击name = 并输入SPC 3. 在Card image中选定为 None 4. 点击color并在调色板里选择一种颜色 5. 点击Create 6. 同上,创建另外三个载荷工况,名称分别为Brake、Corner和Pothole 第4步:创建约束 1. 在左边窗口点击LoadCollectors,右键点击SPC并点击Make Current,即将 SPC设置为当前的工况 2. 从Analysis页面,点击Constraints,进入定义约束的面板 3. 从面板左侧的按钮中选择create子面板 4. 在图形窗口中,通过点击方式选择套管一端的节点(前端,如图7) ,约束其 dof1、dof2和dof3三个自由度,dof4、dof5和dof6三个自由度没有约束 5. 点击Create,即创建约束,在图形窗口中被选择的节点处出现三角形约束符 号,上边的数字123表明沿x轴、y轴、z轴方向的移动自由度已约束-4- 图7 约束套管一端的dof1、dof2 和dof3 三个自由度 6. 选择套管另一端的节点并约束其dof 2 和dof 3 自由度,如图8 7. 点击create。在图形窗口中被选择的节点处出现三角形约束符号,上边的数 字23表明沿y轴、z轴方向的移动自由度已约束。图8 约束套管另一端的dof2 和dof3 两个自由度 8. 点击nodes,并从扩展选项窗口中选择by id 9. 输入数值3239并按回车,即选择ID号为3239的节点,如图9。 10. 仅约束dof3。 11. 点击create。在图形窗口中被选择的节点处将出现三角形约束符号,上边的 数字3表明沿z轴方向的移动自由度已约束。3239 号节点图9 约束ID3239节点的dof3-5- 12. 点击return返回主菜单 第5步:创建载荷 在节点2699上加载三个独立的力, 分别在x、 和z 方向上, y 分别属于brake、 corner和pothole三个load collector。使用表1中的数值来创建载荷。具体步骤如 下: 表1 力的设定 Node Id 99 Collector brake corner pothole Magnitude 00 Axis x-axis y-axis z-axis1. 在左边窗口点击LoadCollectors,右键点击Brake并点击Make Current,即将 Brake设置为当前的工况 2. 从Analysis页面,点击forces,进入定义载荷的面板 3. 点击nodes 选择by id 4. 输入节点号 2699,按回车键 5. 点击车键magnitude= 输入1000.0,按回车键 6. 点击magnitude =下面的方向定义开关,并在弹出菜单中选择x-axis 7. 点击create, 在节点2699的x轴方向施加1000单位的集中力, 此时在节点2699 处出现一个指向x方向的箭头。 8. 为了更好地可视载荷的表示箭头,可选择 uniform size= 键入100,按回车 键 9. 在左边窗口点击LoadCollectors,右键点击Corner并点击Make Current,即 将Corner设置为当前的工况 10. 点击nodes 选择by id 11. 输入节点号 2699,按回车键 12. 点击magnitude= 输入1000.0,按回车键 13. 点击magnitude =下面的方向定义开关,并在弹出菜单中选择y-axis 14. 点击create,在节点2699的y轴方向施加1000单位的集中力 15. 在左边窗口点击LoadCollectors,右键点击Pothole并点击Make Current,即 将Pothole设置为当前的工况 16. 点击nodes 选择by id 17. 输入节点号 2699,按回车键 18. 点击magnitude= 输入1000.0,按回车键-6- 19. 点击magnitude =下面的方向定义开关,并在弹出菜单中选择z-axis 20. 点击create,在节点2699的z轴方向施加1000单位的集中力 21. 点击return 回到Analysis 页面图10 节点2699处三个方向的载荷 第6步:创建OptiStruct子工况 设定边界条件并定义子工况 。 1. 在Analysis页面进入loadsteps板面 2. 点击name= 输入Brake,按回车键 3. 确认type为linear static 4. 确认SPC前的复选框被选中, 5. 点击其右侧的条目区并从load collectors列表中选择spc 6. 确认LOAD前的复选框被选中,点击其右侧的条目区并从load collectors列表 中选择brake 7. 点击create,一个OptiStruct子工况brake已经创建,该工况的约束由load collector中的spc指定,力由load collector中的brake指定 8. 同样步骤定义Corner 和 Pothole 9. 点击return 回到Analysis界面 在HyperMesh中设置Optimization 第7步:为拓扑优化定义设计变量 1. 在Analysis页面选择optimization面板 2. 选择topology面板 3. 从面板左侧的按钮中选择create子面板 4. 点击DESVAR= 并输入design_prop,按回车键 5. 点击props 选择design_prop,点击select-7- 6. 选择type: PSOLID 7. 点击Create,即定义了一个拓扑优化的设计空间design_prop,在Property collector中的所有名为design_prop的单元现在都包含在设计空间中 8. 点击return返回optimization面板 第8步:定义响应 在这个优化问题中,目标是体积的最小化,而约束是受力的2699号节点的 位移。将创建两个响应:一个是用于定义目标的体积响应,另一个是位移响应。 提示: 由于三个载荷工况都使用相同的节点位移作为响应,所以只需要定义一个 位移响应。 1. 选择responses面板 2. 点击response = 并输入vol。 3. 点击响应类型response type开关并在弹出菜单中选择volume 4. 确认regional/total置于total(默认值) , 5. 点击create。模型的体积响应vol已被定义 6. 点击response =并输入disp1 7. 点击response type开关并在弹出菜单中选择Static displacement。 8. 点击nodes并从弹出的扩展项选择菜单中选择by ID。 9. 输入2699并按回车。受三个力的节点被选择 10. 选择total disp。这是x、y、z三个坐标轴方向的合位移。 11. 点击create。节点2699的总位移响应disp1已被定义。 12. 点击return返回optimization面板。 第9步:定义目标函数 在本例中目标是最小化已定义的vol全局体积响应。 1. 在optimization面板,选择objective子面板 2. 点击objective面板左上角的转换按钮,从弹出菜单中选择min 3. 点击response =,并从响应列表中选择Vol 4. 点击create 5. 点击return返回optimization面板。 第10步:定义设计约束 对每一个子工况,将对已定义的合位移响应disp1加一个上下限约束。-8- 1. 在optimization面板选择dconstraints子面板 2. 点击constraint =并输入constr1 3. 确认upper bound =被选中, 4. 点击upper bound =并输入数值0.05 5. 点击response =并在响应列表中选择disp1 6. 点击loadsteps,选择brake 7. 并点击select 8. 点击create 对应子工况brake,在响应disp1上定义了一个上限为0.05的约束。 9. 点击constraint = 并输入constr2 10. 确认upper bound = 被选中, 11. 点击upper bound = 并输入数值0.02 12. 点击response =并在响应列表中选择disp1 13. 点击loadsteps,选择corner 14. 点击create 对应子工况corner,在响应disp1上定义了一个上限为0.02的约束。 15. 点击constraint = 并输入constr3 16. 确认upper bound = 被选中, 17. 点击upper bound = 并输入数值0.04 18. 点击response =并在响应列表中选择disp1 19. 点击loadsteps,选择pothole 20. 点击create 21. 点击return两次返回主菜单 对应子工况pothole,在响应disp1上定义了一个上限为0.04的约束。 第11步:检查OptiStruct输入数据 执行求解前,OptiStruct可以对模型进行校验,以评估模型计算时所需要的 磁盘空间以及内存大小。在校验运算中,OptiStruct也会检查执行分析和优化所 必需的信息是否完全,并确保这些信息不会冲突。 1. 在Analysis页面选择OptiStruct 面板 2. 点击input file: 栏后的save as…,弹出Save file… 对话框 3. 选择一个用存储OptiStruct文件的目录,并在File name:栏中输入模型文件名 carm_check.fem,-9- 4. 点击Save。. 5. fem文件的扩展名为OptiStruct输入文件的推荐扩展名。并注意 carm_check.fem的文件名和存取位置将显示在input file: 栏中 6. 点击export options: 转换按钮,选择all 7. 点击run options:转换按钮,选择check 8. 点击memory options: 转换按钮,选择memory default 9. 点击OptiStruct 这样就启动了OptiStruct检查运算,一旦过程结束,可以在弹出的DOS或是 UNIX窗口中,看到carm_check.out文件的内容,包含文件设置的信息、优化问 题的设置、 对运行计算所需

我要回帖

更多关于 奇骏车身骨架图 的文章

 

随机推荐