【转帖】ANSYS与ADAMS接口 [精华]
ANSYS与ADAMS介绍
ANSYS软件是当今最著名的有限元分析程序,其强大的分析功能已为全球工业界所广泛接受,成为拥有最大用户群的CAE软件供应商。其特点如:多场及多场耦合分析、多物理场优化、统一数据库及并行计算等等都代表着CAE软件的发展潮流。
ADAMS软件是目前最具权威的机械系统动力学仿真软件,通过在计算机上创建虚拟样机来模拟复杂机械系统的整个运动过程,从而达到改进设计质量、节约成本、节省时间的目的。
通过ANSYS软件与ADAMS软件之间的双向接口,可以很方便的考虑柔性体部件对机械系统运动的影响,并得到基于精确动力学仿真结果的应力应变分析结果,提高分析精度。
接口背景
ADAMS/Flex软件允许在ADAMS模型中根据模态频率数据创建柔性体部件,柔性体部件可能会对机械系统的运动产生重大的影响,在ADAMS模型中考虑柔性体部件的影响会极大地提高仿真精度,而ANSYS程序则提供了一种方便的创建柔性体部件的方法.
ANSYS程序在生成柔性体部件的有限元模型之后,利用adams.mac宏命令可以很方便地输出ADAMS软件所需要的模态中性文件jobname.mnf, 此文件包含了ADAMS中柔性体的所有信息, 在ADAMS软件中直接读入此文件即可看到柔性体部件的模型. 指定好柔性体与其它部件的连结方式,并给系统施加必要的外载后即可进行系统的动力学仿真.
何时使用ANSYS-ADAMS接口
在机械系统中,柔性体将会对整个系统的运动产生重要影响,在进行运动学分析时如果不考虑柔性体的影响将会造成很大的误差,同样整个系统的运动情况也反过来决定了每个构件的受力状况和运动状态,从而决定了构件内部的应力应变分布.因此如果要精确地模拟整个系统的运动,考虑柔性体部件对系统运动的影响,或者想基于精确的动力学仿真结果, 对运动系统中的柔性体进行应力应变分析则需要用到ANSYS与ADAMS两个软件.
分析步骤
利用ANSYS与ADAMS接口,对运动系统中的柔性体部件进行应力应变分析的完整步骤如下:
在ANSYS软件中建立柔性体部件的有限元模型并利用adams.mac宏文件生成ADAMS软件所需要的柔性体模态中性文件(jobname.mnf);
在ADAMS软件中建立好刚性体的模型,读入模态中性文件,指定好部件之间的连结方式,施加必要的载荷进行系统动力学仿真,在分析完成后输出ANSYS所需要的载荷文件(.lod文件),此文件记录了运动过程中柔性体的运动状态和受到的载荷;
在ANSYS程序中, 将载荷文件中对应时刻的载荷施加到柔性体上对柔性体进行应力应变分析。
在ANSYS软件中生成ADAMS软件使用的柔性体模态中性文件(.mnf文件)
进入ANSYS程序,建立柔性体的模型,并选择适当的单元类型来划分单元。在柔性体的转动中心(与刚性体的联接处)必须有节点存在,此节点在ADAMS中将作为外部节点使用,如果在联接处柔性体为空洞,则需在此处创建一节点,并使用刚性区域处理此节点(外部节点)与其周围的节点。选择外部节点,运行ANSYS程序的宏命令ADAMS生成ADAMS程序所需要的模态中性文件(jobname.mnf)。在此过程中需注意下面4点:
单位系统,由于在ADAMS程序中可以处理不同的单位系统,所以MNF文件中必须包含ANSYS分析所使用的单位信息,因此在运行宏命令ADAMS之前,必须使用命令/units来指定在ANSYS分析中所使用的单位系统是SI,CGS,BFT或BIN,如果您使用的不是上述四种单位系统,则可以使用下面的命令:
/units,user,<L>,<M>,<T>,<F>
其中L,M,T,F是SI单位系统与ANSYS 分析中所使用单位系统的转换因子。
外部节点,外部节点是ADAMS软件中的名词, 在ANSYS程序中即指柔性体与刚性体连结位置处的节点,用于在ADAMS所进行的运动学分析中连结柔性体与刚性体。一般来讲,一个关节位置只使用一个节点作为外部节点,如果柔性体的连结部位处为空心,则需在连结处创建一个节点作为外部节点,外部节点与其周围的柔性体节点一般使用刚性区域来定义。
运行ADAMS宏之前只选择将作为外部节点使用的节点,在运行宏命令ADAMS之前只选择作为外部节点的节点,因为ADAMS宏会将此时选择的节点作为外部节点处理,因而此选择步骤不可缺少。
运行宏ADAMS,_NMODES生成ADAMS程序所需要的模态中性文件,模态中性文件.MNF中包含了柔性体的质量,质心,转动惯量,频率,振型以及对载荷的参与因子等信息。
下载在ANSYS中生成模态中性文件的示例(Word文档,请点击右键下载)。
"在ANSYS程序中, 将载荷文件中对应时刻的载荷施加到柔性体上对柔性体进行应力应变分析"
具体怎么操作能讲讲吗?
得用参数化程序设计语言(APDL) 这些命令可以写进程序设计语言编写的程序,命令的参数可以赋确定值,也可以通过表达式的结果或参数的方式进行赋值。从ANSYS命令 的功能上讲,它们分别对应ANSYS分析过程中的定义几何模型、划分单元网格、材料定义 、添加载荷和边界条件、控制和执行求解和后处理计算结果等指令。
这用参数化程序设计语言(APDL)比较方便。
这里有教程下载:
http://www.simwe.com/cgi-bin/ut/topic_show.cgi?id=280&h=1#723
ansys二次开发的资料,是一些讲座的整理稿!
http://www.simwe.com/cgi-bin/ut/ ... mp;bpg=3&age=30
在ADAMS软件中生成ANSYS所需要的载荷文件(.lod文件)
进入ADAMS程序,建立机械系统的刚性部件,读入模态中性文件.mnf以建立柔性体的模型,指定柔性体与刚性体的连结方式,按实际情况定义载荷和边界条件进行机械系统的运动学分析。在分析完成后输出ANSYS软件所需要的载荷文件(.lod文件)。此文件包含了对应于运动过程中不同时刻点柔性体的运动状态和所承受的载荷等信息(例如力,力矩,加速度,角速度及角加速度)。
下载ADAMS生成的载荷文件示例(Word文档,请点击右键下载),其中节点13001、13000为柔性体的外部节点,即为柔性体与刚体的连结点。
在ANSYS程序中进行应力应变分析
进入ANSYS程序,恢复在步骤一中所建立的柔性体模型,选择所有节点,从载荷文件(.lod文件)中找到相应时刻的载荷并输入ANSYS,对柔性体进行应力应变分析。在分析完成后即可得到柔性体的应力应变分布和其它感兴趣的结果数据。
ANSYS与ADAMS接口
分析示例
此模型为摩托车发动机活塞曲柄连杆机构。活塞上施加5KN的力。其中连杆作为柔性体考虑连杆,活塞和曲柄作为刚性体对待。
活塞连杆机构
步骤一:在ANSYS软件中生成柔性体模态中性文件
在ANSYS程序中读入柔性体的几何模型并对柔性体进行网格划分,在连杆两端的轴心处各建立一个附加节点(外部节点),将外部节点与孔周围的节点当作刚性区处理,保存数据库以备在步骤三中使用。选择外部节点(关节处的节点),运行ANSYS的宏命令ADAMS.MAC生成模态中性文件(flex.mnf),此模态中性文件包含了柔性体的质量、质心、转动惯量、频率和振型等信息。
连杆的有限元模型图
步骤二:在ADAMS中生成ANSYS所需的载荷文件
在ADAMS中建立活塞、曲柄的模型,读入模态中性文件flex.mnf,指定好柔性体(连杆)与活塞,曲柄的连结方式,即可进行运动学仿真分析,在分析完成后输出ANSYS所需要的载荷文件flex.lod。分析得到的结果动画如下:
步骤3:在ANSYS中进行强度分析
在ANSYS中恢复连杆的数据库文件,选择所有节点,输入载荷文件flex.lod中相应时刻的载荷,可得到连杆中相应时刻的应力应变分布。
连杆中的Mises等效应力图
关于ansys与VC++/Fortran程序的接口资料! [精华]
将ANSYS作为子程序调用
对于优化或参数化设计,可以在VC或FORTRAN中将ANSYS作为子程序调用。具体调用方法如下:
1.在VC中调用ANSYS
::WinExec("d:/ANSYS57/BIN/INTEL/ANSYS57 -b -p ansys_product_feature -i input_file -o output_file",SW_SHOWNORMAL);
2.在FORTRAN中调用ANSYS
LOGICAL(4) result
RESULT=SYSTEMQQ('d:\ANSYS57\BIN\INTEL\ANSYS57 -b -p
ansys_product_feature -i input_file -o output_file')
3.说明
1和2中,input_file为用APDL语言编写的ANSYS输入文件。
ansys_product_feature为你的ANSYS产品特征代码。
需要注意的是,在VC中调用ANSYS时,需要加一条判断语句,以确定ANSYS
已经执行完毕。
在ANSYS中当然也可以以VC或FORTRAN作为子程序调用。可以参看有关ANSYS二次开发方面的资料。
这个方法应该是与系统无关的。
在FORTRAN中不需要判断,FORTRAN会等ANSYS执行完毕才继续执行下一条语句。
在VC中,我没有找到与FORTRAN类似的函数,只好加一条循环判断语句。
如果谁能找着这样的函数,请告诉我,谢谢!
|