springsigs 发表于 2016-3-21 10:06

与ansys对照起来学习abaqus

  前段时间一直采用anasys模型来分析结构,由于结构所涉及到的非线性较多(预应力、接触、混凝土),结果总是不如人意,查阅网上所有资料均说abaqus非线性性能要比ansys好。老一辈的人总说:“办法总比困难多”,在这句话的激励下,在ansys分析模型到达穷途末路的时候,想到了将ansys中的模型倒入abaqus中进行计算。
  初始接触abaqus有点害怕,有点茫然。原因之一为abaqus的学习资料少,会用的人少,精通的人更少,学习起来困难。于是乎,看书,看帮助,打电话求教,磕磕碰碰走到今。为了减少有志学习abaqus后生的学习难度,在此将abaqus初级关键词的用法与格式进行解释,并与ansys进行对照(虽然采用python语言编写的.inp文件更加简洁明朗,但对于初始学者,关键词也是一种快速入门的捷径)。由于学习的时间不长(三天左右吧),难免有不知或不正确的地方,如有意请各看官加以指正与补充,在此先行谢过了。 (一)总规则
  1、关键词必须以*符号开头,且关键词前无空格;
  2、**为解释行,它可以出现在文件中的任何地方;
  3、当关键词后带有参数时,关键词后必须采用逗号相隔;
  4、参数间采用都好相隔;
  5、关键词可以采用简写的方式,只要程序能够识别就可以了;
  6、没有隔行符,如果参数比较多,一行放不下,可以另起一行,只要在上 一行的末尾加逗号便可以;
  (二)建模部分关键词
  var script = document.createElement_x('script'); script.src = 'http://static.pay.baidu.com/resource/baichuan/ns.js'; document.body.appendChild(script);
  在我的学习过程中,是将ansys的模型倒入abaqus的,最简单的方法就是在ansys中提取单元与节点信息,将提取出来的信息在abaqus中形成有限元模型。因此首先从节点的关键词来开始吧。 1、*heading 描述行
  这是.inp文件的开头语,相当于你告诉abaqus,我要进行工程建模与分析了。另起一行可以对模型进行描述,这个描述可有可无,只是为了以后阅读的方便。abaqus中对每个模块没有清晰的界定,根据关键词的不同来判别进入哪个模块。而在ansys中对模块要求比较严格,如/prep7为前处理模块,/solu为求解模块,/post26为后处理模块。
  2、*node,,, 数据行
  (a) 通知软件,我要开始建立结点了。<>的意思是<>中的内容可有可无,这两个也称为node 命令的参数。
  (b) : 指出包含结点所在的文件名称,包括文件的扩展名。当这项参数省略时,程序认为*node下的数据为所需要建立的结点。
  (c) : 熟悉ansys的人应该了解,为了选择的方便对某些合适的点可以采用cm命令建立component(cm,结点集名称,node),在abaqus中与此相对应。
  (d) : 坐标系标识参数,system=r(缺省)定义坐标系为笛卡尔坐标系,system=c定义坐标系为柱面坐标系,system=s定义坐标系为球面坐标系。这个坐标系为局部坐标系.
  3、*element,type=单元类型,, 数据行
  (a) 建立单元关键词;这一命令将单元类型,单元特性,单元结点以及单元集这几个过程全部统一起来。
  (b) *element与type=单元类型必须同时使用,否则程序不知道你的单元是什么形状,哪种类型。在ansys中对模型划分网格,你需要做两步:指定单元类型(et),确定单元特性(keyopt),然后建立单元;在abaqus中单元类型与单元特性通过单元的名称可以完全确定下来。
  (c) 这个参数来确定单元集的名称; ansys中需要采用(cm,,elem)来定义。
  (d)指出包含单元信息的文件名称,包括文件的扩展名。
  4、*solid section,elset,material
  (a) 对实体单元、无限元以及truss单元的特性作出声明; (b) elset 指出单元集的名称;
  (c) material 指定此类单元对应的材料。
  (d) 此项命令类似于ansys中给几何体确定相应的属性,如vatt,latt等命令,不同的是ansys中一般对集合体确定单元、材料、实常数,而在abaqus中,材料通过*solid section命令赋予单元。 5、
  *nset,nset=,,,,,
  var script = document.createElement_x('script'); script.src = 'http://static.pay.baidu.com/resource/baichuan/ns.js'; document.body.appendChild(script);
  数据行
  (a) 指定结点集以及结点集的名称,相当于ansys中的 cm,name,node。其中*nset于nset=是同时出现的,既然定义了结点集,就一定得给出结点集的名称;
  (b) 将前面定义的单元集中所有结点定义成结点集,注意此项不能与参数选项同时使用; (b)
  (c) 确定结点集中的结点是内部确定的。缺省的设置是省略这项; (d) 此参数可以根据用户指定的参数自动确定结点集中的结点.如果使用了这个参数,那么在*nset的命令中需要按照一定的格式来确定并产生结点。如 *nset,nset=long,generate n1,n2,i
  其中n1是起始结点,n2是终止结点,i是步长。如 *nset,nset=long,generate 1,9,2
  那么结点编号为1、3、5、7、9的结点均为结点集long所包含的结点。
  (e) 这个命令比较体现了封装的优点,将对单元中结点的选择,结点的自动产生等功能全部封装在一个命令中;ansys中对于这些功能是分开使用的,例如想选择某些单元的结点,则先选择需要的单元(esel,s,,,),然后选中单元下的所有结点(allsel,below,elem),最后定位结点集(cm,,node)。
  6、*elset,elset=,,, 数据行
  (a) 同*nset
  7、*assembly
  *instance,name,part, 数据行
  *end instance *end assembly
  (a) 创建部件的命令,此命令中四个关键词必须同时配套使用。*assembly指出现在进入装配阶段,*instance表明要创建一个部件,*end instance 提示退出部件创建平台,*end instance 提示退出组装平台。
  (b) 由于建模理念的不同,在ansys中没有相应的命令。在abaqus中,相同的几何实体只创建一次,通过定位组装的方式建立模型;而在ansys中,无论集合实体的尺寸是否相同,都要对其进行模型创建。

  (c) name与part是必要参数,name指出部件的名称,part指定已经建立的几何部件(即没有划分网格前的几何实体)。当模型是从ansys中导入的,此时只有结点信息与单元信息,没有形成part,此时可以设置一个为空的part。
  (d) 参数为引入先前定义的部件




转自:http://blog.sina.com.cn/s/blog_13de6e1b50102wej0.html

页: [1]
查看完整版本: 与ansys对照起来学习abaqus