当然不可以在前处理里面写
*node
之类的话。但是你可以在前处理命令行里用
python
语言
建立节点,等价于一个
GUI
操作,实际上每个
GUI
操作都是在执行一个对应的
PYTHON
语
句,记录在
*.py
文件里(与
ANSYS
的
*.log
文件类似)。
APDL
与
input
文件是完全不通的两个概念。老的有限元程序都是只有一个输入数据文件,
复杂模型写此文件十分麻烦,
因此有了图形前处理。
前处理的用处就是帮助你生成这个
input
文件而已。
ANSYS
比较另类,发明了一个
APDL
前处理语言。用它编程,完成
GUI
操作,对于熟练用
户来说比在
GUI
上点鼠标选菜单又快了很多(此思路已经被许多软件所模范,比如
midas
的
MP
什么语言,只是功能差劲多了,起劲还没有模仿的与
ANSYS
一样好的)。
ANSYS
的另类之处在于,它的输入文件哪里去了呢?没了??
ABAQUS
则走上了另一条道路,它保留了输入文件,
input
file
。它有前处理编程语言吗?有
的,不过它没有如
ANSYS
那样开发一种新语言
APDL
,而是直接采用了
PYTHON
这种面向
对象的解释性语言。
它的前处理可以理解为是
pyhon
语言的解释器。
python
是解释性语言,
正如
APDL
也是解释性语言一样。(不需要编译,在相关环境下直接解释执行的)。
它与
ANSYS
的
APDL
的区别:
APDL
可以理解为
fortran77
式的旧式计算机语言,
PYTHON
是面向对象的
OOP
语言。
python
是开放的,
ABAQUS
用它做了一堆类库,你只有调入这些
类库才可以使用这些类的函数。想想
C++
语言吧,你要建立一个节点,你得先建立一个节
点对象
object
,再使用此对象的
method
。你要对你的体作操作,你要知道你在操作哪个对
象才行。
下面是一个
PY
例子:
from
abaqus
import
*
调入相应类库,
from
sketch
import
*
from
part
import
*
myModel
=
mdb.Model(name='Model
A')
建立一个
model
对象
mySketch
=
myModel.Sketch(name='Sketch
A',
sheetSize=200.0)
xyCoordsInner
=
((-5
,
20),
(5,
20),
(15,
0),
(-15,
0),
(-5,
20))
xyCoordsOuter
=
((-10,
30),
(10,
30),
(40,
-30),
(30,
-30),
(20,
-10),
(-20,
-10),
(-30,
-30),
(-40,
-30),
(-10,
30))
for
i
in
range(len(xyCoordsInner)-1):
建立线(
sketch
对象的一种
method
)
mySketch.Line(point1=xyCoordsInner
,
point2=xyCoordsInner[i+1])
for
i
in
range(len(xyCoordsOuter)-1):
mySketch.Line(point1=xyCoordsOuter,
point2=xyCoordsOuter[i+1])