MSC Patran中基于Matlab插值函数的多场创建

来源 :计算机辅助工程 | 被引量 : 0次 | 上传用户:libra163
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘 要:为在MSC Patran中实现场的大规模创建,利用VC++将包含多个场数据的文本和MSC Patran中相关的有限元模型数据导入Matlab程序;然后利用Matlab的插值函数将文本中相应场数据转换成为与有限元模型需求一致的场数据;再利用VC++将Matlab求得的场数据按照卡片格式写入bdf文件,以实现对多场的批量创建,通过与MSC Patran创建的场的计算结果进行比较,说明Matlab创建的场在有限元计算中的可行性;最后利用Matlab创建场的方法计算具有多场多工况的扫描辐射计热变形分析问题,说明该方法在处理多场多工况时的便捷性.
  关键词:多场;多工况;数据导入;插值函数;扫描辐射计;热变形;MSC Patran;Matlab
  中图分类号:TP391.9 文献标志码:A
  
  Establishment of multi-fields in MSC Patran by interpolation functions of Matlab
  ZHANG Sisi,WANG Deyu
  (State Key Lab. of Ocean Eng.,Shanghai Jiaotong Univ.,Shanghai 200030,China)
  Abstract:To establish large amount of multi-fields in MSC Patran,VC++ is used to import the multi-fields data and the related finite element model data into the Matlab program. Then the field data in text files is converted to suit the requirements of finite element model. By using VC++,the new field data obtained by Matlab is written into bdf file to realize the batch creation of multi-fields. The multi-fields created by MSC Patran are compared with those created by Matlab. The comparison shows the feasibility of the fields created by Matlab in finite element analysis. At last the thermal deformation of scan radiometer with multi-fields and multi-conditions is analyzed with the method of creating fields by Matlab. It shows the convenience of processing multi-fields and multi-conditions by using the method.
  Key words:multi-fields;multi-cases;data importing;interpolation function;scan radiometer;thermal deformation;MSC Patran;Matlab
  
  0 引 言
  
  在有限元计算中经常需要创建场.一般描述场的方法是在整个场的时间或空间区域内,取一定数量的采样点,通过这些采样点的数据来描述场.采样点数据可以由测量或者计算方法得到.如果使用测量方法,采样点通常比较少.通过软件计算,则可以得到期望的采样点密度,但是如果计算采样点数据的模型与有限元计算模型不同,则这些采样点的位置很难与有限元计算所需要的加载位置一致.为解决该问题,开发商在有限元软件如MSC Patran中提供场功能.场功能其实是个插值功能,即利用已知采样点的数值,通过插值函数求解整个场域上任意点数值的功能.在MSC Patran中创建场的主要方法之一是通过表格手动输入数据,而实际工程中经常会遇到十分庞大的数据输入量,如某个场包含巨大的采样点数目,手动填写表格完成会十分困难甚至不可能完成,需要采用数据导入的方法完成场的建立.MSC Patran从2005版开始提供数据导入功能.[1]但是若有大量的场,则每个场都需要输入数据.在这种情况下,即使采用MSC Patran的导入功能,完成工作也十分困难.本文讨论用Matlab实现MSC Patran中数据导入创建场的功能及其在处理多场多工况扫描辐射计热变形分析问题中的应用.
  
  1 利用Matlab插值函数实现场功能
  
  1.1 利用Matlab实现插值Matlab的一维插值函数支持特殊的外插值算法extrap,而高维插值函数则对超出内插范围的数据返回Nan.[2]所以,用Matlab编制外插值程序时应均用一维外插值实现,并且使尽可能多的待求点用内插求解.在每次进行插值计算时,尽量多地使用采样点和已经求解的点.在插值函数的选择上,可以方便地选择不同的插值函数.插值的思路为:在1个大于或者等于、并且一定包含待插值的区域内,先利用已知数值的点,按照一定坐标次序,在各个坐标方向下进行一维线性插值,包括内插值和外插值.这样,当所有坐标方向均插值完成后,便得到此区域边界和内部的部分数值.最后,利用以上所有已知数值点对待插区域上的所有待插值点进行插值.用1个二维的例子说明此插值方法,见图1.
  正方形ABCD为待插值区域,正方形EFGH为1个略大于并且包含待插值区域的区域.点1至7为已知数值的点,即为采样点(图中用圆圈表示的位置).(1)在水平方向用采样点1,2,3做一维插值求得8和9(用采样点4和5插值求得10,11,12,用采样点6和7插值求得13,14,15);(2)在竖直方向用已知数据的点,包括采样点和在步骤1中已求得数值的点做一维插值,即利用点8,10,13插值求得点16和17(同理利用点1,11,6插值求得18和19,利用2,4,7插值求得20和21,利用3,5,14插值求得22和23,利用9,12,15插值求得24和25);(3)利用点1至25的值,对区域ABCD中的所有待求点进行二维插值求解.用XN表示点N的x坐标,用YN表示点N的y坐标.水平向右为x轴正方向,垂直向上为y轴正方向.此例的Matlab程序为(参照图1)
  步骤1:在x方向的线插值
  Xt1=[X1 X2 X3];Xt2=[X2 X3];Xt3=[X1 X2];X=[X8 X1 X2 X3 X9];Temp1=[T1 T2 T3];Temp2=[T4 T5];Temp3=[T6 T7];row1=interp1(Xt1,Temp1,X,[],‘extrap’);row2=interp1(Xt2,Temp2,X,[],‘extrap’);row3=interp1(Xt3,Temp3,X,[],‘extrap’);
  步骤2:在y方向的线插值
  Yt=[Y1 Y11 Y6];Y=[Y18 Y1 Y11 Y6 Y19];Temp1=[row1(1,1) row2(1,1) row3(1,1)];Temp2=[row1(1,2) row2(1,2) row3(1,2)];Temp3=[row1(1,3) row2(1,3) row3(1,3)];Temp4=[row1(1,4) row2(1,4) row3(1,4)];Temp5=[row1(1,5) row2(1,5) row3(1,5)];line1=interp1(Yt,Temp1,Y,[],‘extrap’);line2=interp1(Yt,Temp2,Y,[],‘extrap’);line3=interp1(Yt,Temp3,Y,[],‘extrap’);line4=interp1(Yt,Temp4,Y,[],‘extrap’);line5=interp1(Yt,Temp5,Y,[],‘extrap’);
  步骤3:在待求区域上的插值
  Temp=[line1’ line2’ line3’ line4’ line5’];X=[X8 X1 X2 X3 X9];Y=[Y18 Y1 Y11 Y6 Y19];P=[];%区域ABCD中所有待插点
  %的x坐标的数组.R=[];%区域ABCD中所有待插点
  %的y坐标的数组.Tnode=interp2(X,Y,Temp,P,R,‘’);程序说明:插值函数interp的method,在上面均为缺省方法,即线性方法.method的具体选取可以根据采样点的分布情况和对插值精度的要求以及场的分布特点决定.最后得到的数组Tnode即为包含所有待求点结果信息的数组,要注意最后1步的P和R之间的一一对应关系,并且最后Tnode中的结果数据和P与R也是对应的.注意:本例中的采样点和待求点均较少,且采样点位置均在node上.而采用此方法时,通常采样点位置不会与node位置一致,并且待求位置也不一定就是node位置,而此方法对此并无要求.
  1.2 程序中数据输入与结果输出插值程序计算所需要的信息有:采样点的坐标和数据,待求位置的坐标.采样点的信息通常以文本形式给出,即data text.如Excel表格文件、txt文本等.待求点的坐标位置可以在建立好有限元模型后,用MSC Patran输出模型的report文件获取.如待求位置为有限元模型的节点位置,则可以先生成节点坐标的report文件,或者bdf文件,然后从这些文本中获取.程序返还的结果有:待求位置的值.在求解待求位置的数值以后,通过计算机程序(VC++,Matlab等),按照相应的MSC Nastran卡片格式,将结果数据处理后写入bdf文件生成场.数据的读入写出可以根据data text的特点,如Excel,txt等进行导入导出.[3]也可通过Matlab自身的读写函数进行,甚至使用复制粘贴的方式实现.插值程序选用Matlab函数,因为这些函数是经专家采用通用算法开发完成的,并针对矩阵的执行效率进行优化,在数值计算方面完全可以替代其他编程语言.但是,由于Matlab在编写文本与程序之间接口时灵活性不足,所以可使用一些高级计算机语言实现数据接口的专门编写,发挥软件各自的优势.[4]在下例中,数据接口由VC++编写.
  
  2 计算实例
  
  分析圆盘结构的热变形.先利用热分析计算得到1个温度场,然后使用4种方法求解圆盘热变形.有限元模型见图2,圆盘内接正方形边长为1 m,左下顶点为坐标原点,图中约束为全约束.对该结构进行热力学分析.设置模型参数如下:材料热导率为25 W/(m·K);对流系数为0.5 W/(m2·℃);环境温度为20 ℃;圆盘厚度为0.01 m,面积热流量为7 000 W/m2;加载面积为0.1 m2,加载在图2带黑圈的节点上.分析后得到的温度分布见图3.图3中,取9个点作为采样点(图2中黑三角位置),“测量”(通过report文件)获得9个采样点的温度,见表1和2.
  分析结构的热变形.设置结构的初始温度为20 ℃;假定材料的弹性模量为200 MPa;泊松比为0.27;热膨胀系数为3E-5/℃.方法1:将热力学分析得到的温度分布结果(见图3)在MSC Patran中保存为1个场,将此场加载到圆盘结构上,计算得到结构的热变形结果见图4.在可以预先求得温度场的情况中,此方法是计算结构热变形的一般方法,也是精度最高的方法.方法2:采用MSC Patran中的场功能,将表1中数据在场中用手动输入表格的方法生成场,将场加载在结构上进行计算,结果见图5.此方法为MSC Patran支持的场创建方法,也是最常用的场创建方法之一,因此精度是可信的.
  方法3:利用Matlab插值函数实现场的加载,一维和二维均采用线性插值,结果见图6.
  方法4:采用一维3次插值,二维线性插值的Matlab插值函数生成场加载计算.结果见图7.
  与方法3相比,方法4的一维插值函数阶次由1次升至3次,以期获得更接近于“真实”的插值效果.
  比较结果:4种方法得到的最大位移节点为同一节点.用后3种方法得到的结果中所有节点坐标与第1种方法得到的结果中所有节点坐标一一对应地进行相减,再计算这些坐标差的平方和.用4种方法得到的最大位移量及坐标差平方和的比较结果见表3.
  从表3可见,后3种方法与方法1的最大位移差均小于5%.另从坐标差平方和上考虑,平方和均在1×10-4 m与2×10-4 m之间,那么按照两种极端情况考虑:(1)只有1个节点有误差,则可推出该节点的误差在1×10-2 m与2×10-2 m之间;(2)所有节点拥有相同绝对值的误差量,而模型共有193个节点,则可推出所有节点的误差在8×10-4 m附近.通过本例可以看出,利用Matlab插值函数实现的场功能(方法3和4)与MSC Patran自带的场功能(方法2)进行计算,得到的结果十分接近,说明Matlab插值方法在MSC Patran中创建场的可行性.但是通过比较方法3和4的结果,可以发现在本例中,采样点数量很少的情况下,高阶插值函数并未带来更精确的结果.下文以扫描辐射计的热变形分析为例,说明Matlab创建温度场在多场多工况实际问题中的运用.在此扫描辐射计分析中,考虑到模型中每个构件温度场的采样点数量均较少,而增加插值函数的阶次并不能改善场的插值效果,所以采用低次插值生成场的方法(方法3)进行插值处理.
  
  3 扫描辐射计热变形分析
  
  扫描辐射计热变形分析工作是对扫描辐射计装置进行热变形及热应力的分析,分析包含696组工作温度场,1 392个工况.扫描辐射计的有限元模型包含体单元、板单元和梁单元.整体模型由42个构件组成,共计包含119 525个节点,108 962个单元,见图8.
  工作温度场由Excel文件给出,文件的每一列为1个工况,每个工况包含扫描辐射计各个构件的采样点温度值,并且每个构件的温度场也是独立的,其形式见图9.
  扫描辐射计热变形分析是典型的以温度场为载荷的多场多工况问题,并且场与工况的数量都很庞大,利用MSC Patran中创建场的方法完成工作十分困难.考虑使用上述的场创建方法,由于其数据输入不依赖于MSC Patran,而是通过接口程序,所以在数据的格式上相对比较自由,只要采样点的数据文本格式比较有规律,或者可以转换为比较有规律的文本格式,就能通过接口程序实现对各种格式的数据进行读入.而在本例中,场数据文本中的数据格式有明显可循的规律.如此,接口程序就可以较容易地在包含多个场信息的Excel中对各个场数据进行识别,从而实现批量处理多个场.所以,选用文中方法,以文本导入方式实现场创建,采用低次插值生成场的方法(方法3),以温度值加载在模型节点上的方式进行扫描辐射计的热场加载,具体步骤如下: 在有限元模型建立后,通过生成各个构件的bdf文件,得到各构件的所属节点及其坐标位置.将某个构件的节点信息和与其对应的某工况温度场文件读入Matlab程序,生成1段包含此构件中所有节点温度的结果数据,再通过VC++将结果数据处理后写成MSC Nastran的卡片格式.把所有构件都如此处理,就得到整个模型的1个工况下完整温度载荷输入.把如图9所示的工作温度场文件读入Matlab保存为1个矩阵,然后逐列对其数据作上述处理,就可以得到各个工况载荷下的温度加载数据.把这些数据读入VC++,以10个为1组生成具有10个工况的bdf文件,然后利用DOS批处理命令将这些bdf文件进行计算.这样,可顺利完成原本即使通过MSC Patran文本导入方式生成场也十分难以完成的工作.
  
  4 结 论
  
  利用Matlab创建场的数据导入方法,与MSC Patran自带的数据导入创建场的功能有所不同.MSC Patran中无论是手动输入还是文本导入创建场,都是利用程序自身的插值功能求解数据,而本文方法中的插值函数用Matlab程序编写.利用Matlab插值函数创建场,虽然在灵活性和批量处理中有优势,但是插值函数的编写较烦琐,当在三维空间内编写插值函数时会更加复杂.并且插值函数与零件一一对应,其通用性较差,需要对具体的模型编写具体的函数,如果能够找到1种比较通用的算法编写插值函数就可以提高工作效率.而如果能按照实际工程中场的分布特点,对具体的场作出符合其分布规律的插值方案,做到具体问题具体分析,则可以改善计算精度.
  
  参考文献:
  [1]汤清洪,王兴贵. Patran中采用数据导入的创建场方法[J]. 兵工自动化,2006,25(4):42-43.
  [2]蒲俊,吉家锋,伊良忠. Matlab 6.0数学手册[K]. 上海:浦东电子出版社,2002.
  [3]徐海云,涂雄苓. 海量数据导入与导出Matlab的有效方法[J]. 数理统计与管理,2007,26(4):649-655.
  [4]刘杰,陈泽志. 基于Matlab的样条插值[J]. 航空计算技术,2003,33(3):39-42.
  (编辑 廖粤新)
  
  “本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文”
其他文献
截至2008年8月18日,报名参加“中国CAE·2008总动员”(以下简称总动员活动)人才选拔与培养基金活动的人数共502人. 第1轮海选结束,人才库建立!  经过评比,目前总动员活动组委会已经根据参加者所提供的报名资料从502名参与者中选拔200名进入人才数据库(参与人才选拔与培养基金活动的人员都可参与第1轮海选).人才数据库共分3类,如进入第1类数据库,代表您的CAE综合设计水平在国内处于顶尖
期刊
2008年5月21日,第3届LMS中国汽车论坛在上海隆重召开,吸引了来自同济大学、上海大众、上海通用泛亚技术中心、奇瑞汽车等高校和企业的60多位专家和工程技术人员参加. LMS中国汽车论坛由LMS公司创办,每年举办1次,至今已成功举办两届,旨在成为中国汽车同仁通过国际合作提高自主创新能力的交流平台.  会上,LMS国际公司副总裁Dirk De VIS先生首先致欢迎辞并作了题为“通过工程创新,实现极
期刊
LMS第3届中国用户大会将于2008年10月20—22日在古城西安召开. 本届用户大会将汇聚众多国内行业精英就最新技术趋势、方法手段、各行业的具体应用展开广泛深入交流,将为与会者提供1个难得的LMS经验、技术交流的平台. 具体详情请查看http://www.lmschina.com/LMS-China-Conference    关于LMS国际公司  LMS国际公司成立于1979年,总部位于比利时
期刊
摘 要:针对航天科技领域的再入问题,根据导航系统状态方程非线性的特点,设计基于联邦滤波的UKF(Unscented Kalman Filter)算法,并应用于可重复使用运载器(Reusable Launch Vehicle,RLV)的组合导航系统. 对基于该算法的RLV组合导航(惯性导航、卫星导航和天文导航)系统进行仿真,并与传统的基于联邦滤波算法对组合导航系统进行比较. 结果表明,提出的组合导航
期刊
2008年7月29—31日,中国计算力学大会’2008暨第7届南方计算力学学术会议在三峡大学召开,《计算机辅助工程》应邀参加并向大会赠刊300余本.  会议由中国力学学会计算力学专业委员会和南方计算力学联络委员会主办,由三峡大学承办. 来自全国众多高校和科研机构的300余位专家学者参加会议. 中国科学院院士钟万勰教授,中国工程院院士、中国科学院数学与系统科学研究院崔俊芝教授,长江学者、大连理工大学
期刊
2008年8月3—6日,第11届中国机器学习会议(CCML 2008)在大连隆重举行. 会议由中国人工智能学会机器学习专业委员会和中国计算机学会人工智能与模式识别专业委员会共同主办,大连海事大学信息科学技术学院承办,大连理工大学电子与信息工程学院协办.  该会议为两年一度的系列会议,至今已连续成功举办10届,逐步发展成为国内机器学习界最主要的学术活动,在国内计算机领域具有较大影响. 本届会议吸引了
期刊
摘要:为减少任意空间曲面幕墙玻璃的用量,降低工程造价,利用封闭区域的特点确定任意空间杆系结构组成的玻璃面,给出程序流程图,然后建立用平面拟合空间曲面的优化模型,并采用复形法求解. 该程序基于AutoCAD环境,用ObjectARX开发,操作方便,已成功应用到3D3S软件中,效果较好.   关键词:幕墙;曲面;玻璃;有限元;ObjectARX;3D3S  中图分类号:TU391;TB115文献标志码
期刊
摘 要:根据肌肉驱动机理提出1种简单高效的仿生机器人驱动技术,基于Hill力学模型,参考CHENG等建立的“虚拟肌肉”,设计1种在计算机环境下可视化的肌肉驱动模型. 该模型应用MSC Adams的二次开发技术完成肌肉建模插件的开发;解决宏命令调用、参数传递、命名、动态显示、输出控制以及Simulink与MSC Adams联合仿真等问题;具有肌肉力学特征和三维可视化显示功能,可接受Matlab/Si
期刊
摘 要:针对三相大功率整流技术存在谐波含量多、功率因数不高等问题,为减少谐波电流对电网的干扰,解决高频脉宽调制(Pulse-Width Modulation,PWM)整流成本高、开关损耗大、效率不高的问题,首先分析多脉波整流器的移相变压器结构和绕组连接方式,结果表明自耦变压器具有理想的输入特性指标,等效视在功率大大小于变压器输出功率,可减小变压器体积并降低价格;然后分析基于自耦变压器移相方式的18
期刊
摘要:针对目前分析软件大多缺少钢骨混凝土(Steel Reinforced Concrete,SRC)和钢管混凝土(Concrete-Filled Tube,CFT)构件计算模块的问题,运用面向对象编程方法编写工程计算程序. 通过继承基类,构造出SRC/CFT构件类和特定文件的输入/输出类,并给出这些类的继承关系、封装描述及实现方法. 通过该程序在SRC/CFT超高层结构中的应用,验证其实用价值以
期刊