-
例如要取缸套的主推力侧上一列节点的径向位移(缸套轴线平行于
Z
p>
轴),然后按照
Z
坐标画出径向位移曲线。
总的方
法是先选上要分析的节点,然后按空间位置顺序记录节点编号,根据编号生成一个
Path
,再以这个
path
为横坐标,以
要分析的量(如径向位移)为纵坐标画
X-Y
图。
1.
选出要分析区域节点:这列节点共有几十个,一个一个选太慢,打开要分析的
< br>odb
文件,选择
Display
Group
中的
【
Replace S
elected
】按钮,在目标类型中选择【
Nodes
】,然后结合视图方向、框选方法(矩形、圆形、多边形框)
和选择方
式(
individually
或者
b
y angle
)选出需要的节点集合,例子中的一列节点只有
Z
坐标不同,因此把视图方向调
整到
Z
轴垂直于屏幕
,
这时一列点在屏幕上变
成了一个点
,
在这一个点的位置上框选就可以得到一列点了
p>
。
在
individually
选择方式下,【
shift+
框选】是将选到的加
入到已有选择中,【
Ctrl+
框选】是将选到的从已有选择中
去除。例如要在一
个曲面上选一列节点,可以先用【
by an
gle
】方式将整个曲面选上,然后调整到合适的视图方向上切换到【
< br>individually
】
方式,用【
Ctrl+
框选】去掉多余的节点。
2.
按顺序记录节点编号:
P
ath
对顺序很敏感,节点号顺序的调整会改变最后
plot<
/p>
的数据点顺序。要按照
Z
坐标大小
顺序画出径向位移曲线,就必须按顺序记录节点编号。上一步选好节点按中键确定后,屏幕上是
空白,因为
ABAQUS
不会显示单独的节点,打开显示节点编
号开关(在【
Common Plot Options->Labels
】中),这样屏幕上会显示出要选
的那些节点的编号,按顺序记录下来。号码
之间用逗号分隔,冒号表示连续和间隔,例如:
1.2
(
1
号和
2
号节点)<
/p>
,
1:10
(表示
1,2,…,10
),
1:9:2
(
表示
1,3,5,…,9
)。
3.
生成目标表格和曲线,两种方法:
a
)用上面排好的节点序列生成一个
Path
,然后基于这个
path
生成一个
X-Y
图
(
Create
X-Y data -> Path
),在【
X-Y Data
Manager
】中双击生成的图线可以得到相应的二维表格;
b
)菜单
【
Report->Fiel
d Output
】
,这种方法将二维表格数据写入一个文件,
本身不能出图,但是可以对计算结果求和,因此可
以用来求接触力、压力的合力(但要注
意这里的求和是数值相加,不是矢量求和,因此只适用于各个力方向基本一致的
情况下的
合力估计)。
有时候历史变量输出的太多会出现
“
The number of history
output
requests (22466)
in this analysis step has exceeded
the maximum value of 10000 specified by
the Abaqus environment variable
'max_hi
story_requests.'
”
错误,解决办法是:
p>
在
abaqus_
中加一句“
max_history_requests=0
”即可。
abaqus_
文件在
p>
C:ABAQUS6.7-1site
下。
比如两个接触面之间有
0.1mm
的缝
隙,在压力作用下发生接触,只要将
Contact
Cont
rols
下的稳定因子设为
1
即可正常
计算(
Interaction
模块,主菜单
< br>Interaction->Contact Controls->Create->Stabilization->Automatic
Stabilization->factor
设为
1
);
对于缝隙不均匀的情况,比如一
端宽
0.1mm
,一端宽
0.2mm<
/p>
,减小网格尺寸和稳
定因子对计算结果几乎没有影响;
[04/08]
关
于
ABAQUS
历史输出变量
在帮助文档
Analysis
User’s
Manual
中
4.2.2
节
Nodal
< br>variables
部分定义了节点输出
(用
*Node
Output
关键字表示)可以包括
的变量,从中可以看到应力(
S
)是不能作为节点计算
结果输出的,
只能作为单元积分点计算结果输出。
原因是节点应力是根据单元积分点应力计
算结果外插得到的,
因此节点应力只能在场变量
(而且是节点所在单元有输出)
的情
况下才
能输出。如果在
abaqus/cae
< br>中强行定义节点应力输出,
INP
文件中不会有相应的关
键字,
如果在
INP
文件中强行定义,
求解时处理
INP
文件阶段会出错退出。
由于应力历史变量只能在单元积分点上输出,而在
abaq
us/cae
中不能生成基于
element
< br>型
的
set
,除非直接使用网格
模型做
Part
,但这样的模型往往不好操作,变通的方法是写
由
abaqus/cae
生成
INP<
/p>
文件,再手工修改这个
INP
文件,在其
中添加一个
element
型的
set
,
然后让其输出应力历史变量。具体步骤:
1.
记住要输
出的单元编号,例如为
27
,在
INP
文件的
*Assembly
部分定义一
个
element
型的
set
:
*Elset,
elset
=Set-Name
,
instance=
Part-Name
27,
2.
在
*End
Step
前加上:
*Output,
history, frequency=10
*Element Output, elset=Set-Elem-
forMeshPart
MISES,
[03/29]
ABAQUS
子程序
VDLOAD
学习笔记
[
折叠
]
使用的
INP
文件(
< br>):
*Heading
load was added in cae
** Job name: Job-CAE Model name:
Explicit-NoMove
*Preprint,
echo=NO, model=NO, history=NO,
contact=NO
**
** PARTS
**
*Part,
name=beam
*Node
1, 0.,
0.
2, 50.,
0.
3, 100.,
0.
4, 150.,
0.
5, 200.,
0.
6, 250.,
0.
7, 300.,
0.
8, 350.,
0.
9, 400.,
0.
10, 450.,
0.
11, 500.,
0.
*Element,
type=B21
1, 1,
2
2, 2, 3
3, 3, 4
4,
4, 5
5, 5, 6
6, 6, 7
7,
7, 8
8, 8, 9
9, 9, 10
10,
10, 11
*Elset,
elset=_PickedSet2, internal, generate
1, 10, 1
*Elset, elset=_PickedSet3, internal,
generate
1, 10,
1
** Section: Section-1
Profile: Profile-1
*Beam
Section, elset=_PickedSet2, material=Material-1,
poisson = 0.3,
temperature=GRADIENTS,
section=RECT
10.,
5.
0.,0.,-1.
*End Part
**
**
**
ASSEMBLY
**
*Assembly, name=Assembly
**
*Instance,
name=beam-1, part=beam
*End
Instance
**
*Elset, elset=forLoad,
instance=beam-1
6,
7
*Nset, nset=_PickedSet12,
internal, instance=beam-1
1,
*Nset, nset=_PickedSet13,
internal, instance=beam-1
11,
*Surface, type=ELEMENT,
name=forLoadSPos, internal
forLoad, SPOS
*End Assembly
**
** MATERIALS
**
*Material,
name=Material-1
*Damping,
alpha=5.
*Density
7.8e-09,
*Elastic
210000.,
0.3
**
** BOUNDARY CONDITIONS
**
** Name: BC-1
Type: Displacement/Rotation
*Boundary
_PickedSet12, 1, 1
_PickedSet12, 2, 2
** Name: BC-2 Type:
Displacement/Rotation
*Boundary
_PickedSet13, 2, 2
** ------------------------------------
----------------------------
**
** STEP:
Step-1
**
*Step, name=Step-1
*Dynamic, Explicit
, 0.5
*Bulk
Viscosity
0.06,
1.2
**
** LOADS
**
** Name: Load-1 Type:
Concentrated force
*Dsload
forLoadSPos, PNU, 1.
**
** OUTPUT
REQUESTS
**
*Restart, write, number interval=1,
time marks=NO
**
** FIELD OUTPUT: F-Output-1
**
*Output,
field, time interval=0.005
*Node Output
U,
*Element Output,
directions=YES
S,
**
** HISTORY OUTPUT:
H-Output-1
**
*Output, history,
variable=PRESELECT
*End
Step
使用的
for
文件(
):
subroutine vdload (
1 nblock, ndim, stepTime,
totalTime,
1
amplitude, curCoords, velocity, dirCos, jltyp,
sname,value )
C
include 'vaba_'
C
dimension
curCoords(nblock,ndim),
velocity(nblock,ndim),
1 dirCos(nblock,ndim,ndim),
value(nblock)
character*80 sname
C
open(unit
=17,file='e:',status='old',position='append')
write(17,*)'stepTime=
',stepTime
write(17,*)'ndim= ',ndim
write(17,*)'curCoords= ',curCoords
write(17,*)'jltyp=
',jltyp
value =
1
write(17,*)'sname=
',sname
write(17,*)'value= ',value
write(17,*)' '
close(17)
return
end
命令行:
abaqus job=beam user=gas
interactive
分析:
<
/p>
ABAQUS/Explicit
每个增量步(
< br>Increment
)都会调用用户子程序,这里就是
<
/p>
,
因此上面打开
/
关闭文件的动作会进行很多次,
为避免后面打开文件将
原有的
内容删掉,就必须显式地指明打开的是一个已存在的文件
(
st
atus='old'
),写文件的位置在原文件末尾(
pos
ition='append'
)。
nblock
表示载荷作用区域内对象的个数,当载荷类型为
P
ressure
,作用在一些
单元的面上时,
< br>nblock
就是单元的数量。
stepTime
表示当前时间,就是每个增量步发生时候的时间,时间起点为当前载
荷步,如果要总时间,用
totalTime
< br>。
当模型为二维时,
ndim
值为
2
,三维时
ndim
值为
3
。
< br>
curCoords(nblock,
ndim)<
/p>
是一个二维数组。
curCoords(ki,
kj)
表示当前增量步
时间下,序号为
ki
的点的位置坐标的序号为
kj
的坐标分量。在二维梁模型中,
“点”表示有载荷作用的单元的中点,
ki
取值范围为
1~nblock
,
kj
取值范围
为
1~ndim
。
jlt
yp
表示载荷的类型,与
INP
文件中
的定义相一致,具体参见
ABAQUS
文档。
< br>
sname
表示当载荷类型为
surface-based load
(
jltyp=0
p>
)时,载荷作用面的名
称,与
INP
文件中的定义相一致,具体参见
ABAQUS
文档。
[03/24]
ABAQUS
用户子程序安装过程
软件版本
.v9.1.032
ABAQUS6.7
安装顺序
原则是保证
VC2005
在
Intel
Fortran
之前装,因为这样装
Intel Fortra
n
与
VC2005
集成的组件才有效,
可以按
VC2005
-
Intel
Fortran
-
ABAQUS
或者
ABAQUS
-<
/p>
VC2005
-
Intel Fort
ran
顺序装,
VC2005
只装
p>
VC++
即可。
安装过程
分为三个步骤:先装软件,
再修改环境变量,最后是验证安装是否成功。
1
)
机
器上已经安装了
abaqus6.7
。安装
VC2005
时选择
custom
方式,只
装
VC++
,其他的诸如
p>
SQL Server
之类的都不需要装,也不需要更改
VC2005
默认的安装路径;安装
Intel
Fortran
时选择所有项目;
2
)
更
改环境变量
PATH
、
INCLUDE
和
LIB
,方法是在各自原有的内容后
增
加:
PATH
:
C:Program
FilesMicrosoft Visual Studio 8Common7IDE;
C:Program FilesMicrosoft Visual Studio
8VCbin;
C:Program FilesMicrosoft Visual
Studio 8Common7Tools;
C:Program
FilesMicrosoft Visual Studio 8SDKv2.0bin;
C:Program FilesMicrosoft Visual Studio
8VCVCPackages;
C:Program FilesMicrosoft
Visual Studio 8VCPlatformSDKbin
LIB
:
C:Program
FilesMicrosoft Visual Studio 8VClib;C:Program
FilesMicrosoft
Visual
Studio
8SDKv2.0Lib;C:Program
FilesMicrosoft
Visual Studio
8VCPlatformSDKLib
INCULDE
:
C:Program
FilesMicrosoft Visual Studio
8VCinclude;C:Program FilesMicrosoft
Visual Studio
8VCPlatformSDKInclude;
注:
LINK_F90
这个变量不需要增加;上面
的都假设
VC2005
装在了
C
盘默认目录
下。
3
)
验证:
a
)
用记事本生成下面两个文件:
文件
SUBROUTINE DLOAD(F,KSTEP,KINC,TIME,NOEL,NPT,LAYER,
KSPT,COORDS,
1
JLTYP,SNAME)
C
INCLUDE 'ABA_'
C
DIMENSION
TIME(2), COORDS (3)
CHARACTER*80 SNAME
WRITE(6,*)'INCREMENT NUMBER',KINC
WRITE(6,*)'STEP TIME',TIME(1)
WRITE(6,*)'ELEMENT
NUMBER',NOEL
WRITE(6,*)'INTEGRATION POINT NUMBER',NPT
WRITE(6,*)'COORDS:X',COORDS(1)
F=1.0*COORDS (1)
WRITE(6,*)'FORCE',F
WRITE(6,*)' '
RETURN
END
文件
*Heading
** Job
name: Job-1 Model name: beam
*Preprint, echo=NO, model=NO,
history=NO, contact=NO
**
**
PARTS
**
*Part, name=PART-1
*End Part
**
**
ASSEMBLY
**
*Assembly, name=Assembly
**
*Instance,
name=PART-1-1, part=PART-1
*Node
1,
0., 0.
2,
20., 0.
3,
40., 0.
4,
60., 0.
5,
80., 0.
6,
100., 0.
*Element,
type=B31
1, 1, 2
2, 2, 3
3, 3,
4
4, 4, 5
5, 5, 6
*Elset,
elset=BEAM, generate
1, 5,
1
** Region:
(Section-1-BEAM:BEAM), (Beam
Orientation:BEAM)
**
Section: Section-1-BEAM Profile:
Profile-1
*Beam Section,
elset=BEAM, material=STEEL, temperature=GRADIENTS,
section=RECT
0.2,
5.
0.,0.,-1.
*End Instance
*Nset, nset=ENDS,
instance=PART-1-1
1,
6
*Nset, nset=_M4, internal,
instance=PART-1-1
6,
*Nset, nset=_M5,
internal, instance=PART-1-1
1,
*End Assembly
**
**
MATERIALS
**
*Material, name=STEEL
*Elastic
210000.,
0.3
*ELSET,ELSET=PY
BEAM
**
** BOUNDARY
CONDITIONS
**
** Name: Disp-BC-1 Type:
Symmetry/Antisymmetry/Encastre
*Boundary
_M4,
ENCASTRE
** ----------------
------------------------------------------------
p>
**
**
STEP: Step-1
**
*Step, name=Step-1
*Static
**
** LOADS
**
** Name:
CFORCE-1 Type: Concentrated force
*DLOAD
PY,PYNU
**
** OUTPUT
REQUESTS
**
**