Step01:读取模型,并设置求解器模板为 OptiStruct。
(1) 读入 IGES 格式的几何模型 Exercise_9a.iges。
在绝大多数 CAE 分析中,都将从一个导入的 CAD 模型开始工作。导入该模型后,可以看到一个简化的卫星几何模型。本章的所有工作内容都将围绕着该模型展开。
(2) 输入 HyperMesh 模型 Exercise_9a.hm。
另一种常见的情况是针对一个较大的模型,将其分配成若干个比较小的部分,由多名工程师分别进行模型前处理,并进行组装。在这种情况下,就会以 HyperMesh 数据文件.hm 格式作为其交互途径。在本章的练习中,我们亦可以采用这样的方式,读入一个已有的 HyperMesh 模型。
(3) 保存模型。为该模型命名,并注意选择合适文件夹作为工作文件夹。
(4) 读取 OptiStruct 模板。
Step02:进行几何清理。
(1) 通过仔细的排查,可以看到,读入的几何模型是有一定的缺陷的。通过 HyperMesh 几何清理功能,找到并修复这些缺陷,以获得高保真度的网格剖分几何基础。
注意:在这个模型中,请不要使用 AutoCleanup 功能对其进行几何清理。使用模型拓扑视图的方式查看模型缺陷。该模型中共有四个地方需要进行修补。
(2) 通过 Defeature 功能,移除 surface fillets。
Surface fillets 会影响生成的单元质量。通过 Defeature 功能,移除那些较小的圆角。
(3) 移除模型上的小孔。
过小的孔对最终生成的网格会有巨大的负面影响。如果这些孔不处于模型的关键位置,那么移除它们。
注意:虽然我们选择移除了这些小孔,但这些小孔的定位在后续的分析中非常重要。请确定在移除小孔后,保留原始小孔孔心位置的硬点,以备后续分析使用。
Step03:组织模型。
(1) 将所有的 Solar Panel 曲面移动到名为 SolarPanels 的 component 中,并选择合适的颜色。
(2) 注意到 component 的名称 Electrnics 是错误的。将其名称改为 Electronics。
(3) 在模型显示中,绿色是一个不适宜的选择。设置一个 component 为绿色,在使用拓扑视图查看模型几何时,会覆盖模型中的拓扑关系。将 component Engine 的颜色改为灰色。
Step04:材料及单元类型。
在进行模型前处理时,一个比较好的流程是首先建立材料模型,然后建立单元类型。完成了这两步的工作后,再进行剖分网格。
(1) 为铝制的卫星舱体建立材料:
• Type:All
• Card image:MAT1
• Name: Aluminum
• E: 7.0e+04
• NU: 0.330
• RHO: 2.7e-09
(2) 为电子元件及其表面包覆机构建立材料:
• Type: All
• Card image:MAT1
• Name: Electronics
• E: 1000
• NU: 0.300
• RHO: 2.1e-09
(3) 为太阳能电池板建立材料:
• Type: A
• Card image:MAT1
• Name: SolarPanels
• E: 2.0e+04
• NU: 0.400
• RHO: 1.0e-09
(4) 为卫星舱体选择单元类型:
• Type: PSHELL
• Material: Aluminum
• Thickness: 5.00mm
(5) 为电子元件及其表面包覆机构选择单元类型:
• Type: PSOLID
• Material: Electronics
(6) 为太阳能电池板选择单元类型:
• Type: PSHELL
• Material: SolarPanels
• Thickness: 1.50mm
(7) 为 Component Engine 选择材料及单元类型:
• Type: PSOLID
• Material: Aluminum
- 为模型中的各个部件赋予材料及单元类型。
注意:使用 Components view 功能可以查看最终材料和单元类型的赋予情况。
Step05:对模型进行网格剖分
当模型中出现实体单元与壳单元连接的情况,例如这个模型中,component Eletronics 和 component Engine 都是由实体单元剖分的。那么我们建议用户,首先对实体单元进行剖分。然后再对壳单元进行剖分。
(1) 将 Component Engine 通过合理的分割,切分成若干具有 Mappable Shape 的几何块,然后对其进行实体网格剖分。设置单元边长为 100。注意单元质量,并保证在厚度方向上,至少有两层单元。
(2) 对 Component electronics Packages 进行网格剖分,设置单元质量为 100。
(3) 完成两个实体部件剖分后,继续对卫星舱体进行壳单元网格剖分。设置单元边长为 100,完成剖分。
注意: 完成了单元剖分后,针对质量不符合要求的单元,尽量避免使用 automatic element cleanup 功能 清理那些低质量的单元,否则可能会导致实体单元与壳单元连接部位不正常的扭曲。
造成模型中出现三角形单元的原因是模型中的对边上,设置的单元数量不等。为了避免这一情况的发 生,尝试将一侧边上的点投影到另外一条边上,从而控制单元总量,是很好的选择。
- 使用单元边长 200,剖分太阳能电池板。
Step06:读入已有的有限元模型 Satellite Dish。
很多情况下,一个完整的装配体的各个部分是由不同的工程师完成,并通过读入 FEA 模型的方式进行 装配。在本案例中,名为 Dish 的基于 OptiStruct 格式的有限元模型已经被先行建立。我们需要将该模型读入,并完成该模型与其他部件的装配。
(1) 读入 Dish.fem。该模型已经完成了材料和单元类型的定义。
(2) 请再次确认所有的 Component 都以经被正确的赋予了材料和单元类型。
完成了已有的 FEA 模型的导入后,需要注意的是,读入的网格模型,与用户手工创建的网格模型,其节点即使在空间中坐标处于重合状态,但仍然需要用户手工合并那些重合节点。在这个模型中,读入的Dish.fem 文件就需要进行节点合并的工作,以保证模型中网格对应部分的有效连接。
注意:使用 Tools 面板下的 edges 功能完成该操作。
Step07:将太阳能电池板与卫星舱体连接。
(1) 使用 HyperMesh 中的梁单元创建和编辑模块 HyperBeam,创建名为 Square_SolarPanel_Support 的截面形状。该截面为薄壁矩形框,长,宽均为 100mm,其壁厚为 10mm。
(2) 创建 PBAR 单元属性,引用上一步创建的梁截面,赋予其材料 Antenna(该材料由 Dish.fem 文件导入)。
(3) 创建名为 Solar Panel Supports 的 component,该 component 将包含下一步中创建的梁单元。
(4) 在太阳能电池板与卫星舱体之间,建立 BAR2 单元,赋予此前创建的梁单元属性,以进行模型的连接。注意梁截面的方向应指向 Z 轴。
(5) 打开 HyperMesh 中的梁截面动态显示功能,查看创建完毕的梁截面。
Step08:完成分析设置。
截止到这一步,模型中所有的单元,包括一维,二维和三维单元,都应该已经被正确的赋予了材料和单元类型,并完成了模型连接工作。其中包括实体单元,壳单元和梁单元。壳单元应该被正确的赋予了厚度,梁单元则应该正确的被赋予了截面形状。在下面的工作中,我们将在该模型上添加载荷和约束,以模拟卫星在太空中飞行行为。
该问题的分析类型为惯性释放分析(Inertial Relief Analysis)。在航空和航天的领域,这是很典型的一类工程问题。传统的静力分析中,我们通过单点约束(SPC)的方式,按照真实世界中的固定方式,对模型进行约束,以保证在求解时不产生刚体位移。但是在空中运动的航空器/航天器,并不满足该条件。为了对该结构进行分析考察惯性载荷的作用,作为替代方式,我们使用 SUPPORT1 约束,提供虚拟的支反力。这样一方面该结构可以在其原有状态的基础上变形,另一方面,又克服了刚体位移的问题。这对分析在空间中飞行的飞行器进行分析是很有必要的。
(1) 创建名为 Supports 的 Load Collector,按下图所示,在指定的节点位置创建 SUPPORT1 约束。
图 9-1 定义 SUPPORT1 约束
为了模拟引擎对该飞行器的推进,我们需要将引擎的推力,以分布式节点力的方式施加在模型上。作 为一种近似的等效,我们会将整个引擎的推力,平均的分配在与引擎连接的舱体平板表面。所以需要计算 施加在每个节点上的力的大小。
(2) 建立名为 Thrust 的 Load Collector。
(3) 计算在舱体后表面与引擎相连接的平板上的节点的数量。
注意: HyperMesh 的 Tools 页面下的 Count 功能,可以很轻松的计算出节点的数量。
节点总数是: ____________
(4) 将 500 牛的推力平均分配在每个节点上:
500N/_______(节点数)=__________N (每个节点上分配的集中力)
(5) 按照上式计算的结果,为该平面上的每个节点施加方向为 Z 方向的节点力。
此时,进行惯性释放分析的所有载荷和约束都已经施加完毕了。我们还需要设置相应的控制卡片,以 供求解器辨识惯性释放分析类型。
(6) 在 PARAM 控制卡片中,激活参数 INREL,并置参数值为-1。 该参数被激活后,求解器将可以识别惯性释放的约束类型 SUPPORT1。关于 PARAM 卡片中控制参数的更多信息,以及惯性释放的更多技术细节,建议用户参考 HyperWorks 在线帮助中,OptiStruct Format Reference Guide 的对应章节。
该分析模型建立的最终步骤是建立载荷步(Loadstep)。在 OptiStruct 求解器中,载荷步是此前定义的载荷和约束的集合。在一个载荷步中,可以包含多个已经被合并到一个 Load Collector 中的载荷和约束。通过设置多个载荷步,用户可以针对同一个模型,考察其在各种工作状态下的性能情况,而不用针对每一工作状态,都重建新的有限元模型。这为最终用户节约了大量的时间。
(7) 在载荷步类型选择中,选择 Linear Static,并选择此前创建的各类载荷和约束。
注意:在惯性释放分析中,求解器仅支持 SUPPORT1 卡片,而不支持 SPC 卡片。
- 保存模型。
Step09:修正设计方案
通过设计人员的校核,发现该卫星的天线系统(Dish),其大小不能满足将所有的广播信号传输回地球 的要求,因此对其设计方案进行的改变,即改变了天线的大小。那么相应的,有限元模型也应当进行适当的改变,以适应原始模型在几何上的改变。我们将通过 HyperMesh 下的网格变形工具 HyperMorph,将天线的直径修改为 4500 毫米。
显然,我们在该模型上已经进行了工作量很大的建模工作,如果因为某个零部件的设计发生了改变而重新建立整个有限元模型,那么花费的代价是惊人的。因此,我们选择通过 HyperMesh 的网格变形技术,直接将原有设计方案剖分而出的网格,通过变形,生成新的设计方案。
- 在 HyperMorph 模块下,建立二维单元变形域,该变形域包含天线系统(Dish)中的所有单元。通过网格变形技术,将该网格的尺寸调整为直径 4500 毫米。
Step10:递交求解
- 在 Analysis 面板下,点击 OptiStruct,选择工作文件夹,并设置相关参数,调用 OptiStruct 求解模型。
Step11:结果后处理。
(1) HyperWorks 软件中,各个模块之间是无缝连接的。直接在 OptiStruct 面板下,点击 HyperView 按钮,调用 HyperView,进行结果后处理。
(2) 关闭弹出的提示信息。
(3) 将动画类型切换为 Linear Animation Mode,进入云图页面。
(4) 将结果显示类型切换为 Element Stress 2D。
(5) 将应力结果显示方式,由 Averaging Method 切换到 Advanced。
(6) 点击 Interpolate Color,点击 Apply。
(7) 点击播放动画图标。
Step12:更改设计方案
通过查看求解结果,不难发现,该卫星的底板部分需要加强。在 HyperMesh 中,可以方便的对原有设计方案进行更改,包括增加材料厚度、增加一维单元截面积并改进其形态、使用新型材料等。