- 积分
- 0
- 注册时间
- 2008-5-2
- 仿真币
-
- 最后登录
- 1970-1-1
|
通常在使用USDFLD,UVARM等子程序时,会使用到:
CALL GETVRM('VAR',ARRAY,JARRAY,FLGRAY,JRCD,JMAC,JMATYP,MATLAYO,
LACCFLA)
而当中的'VAR'在帮助文件中有如下说明:
The collective output variable keys are distinguished from their individual components by the fact that they have the word "yes" after the category .fil in the tables in “Abaqus/Standard output variable identifiers,” Section 4.2.1 of the Abaqus Analysis User's Manual.
即是输出变量底下的文件类型.fil 中若是表明“no”的话,就无法用CALL GETVRM直接call出来!所以当遇见这种情况时如
DAMAGEC
Compressive damage variable, .
.dat: yes .fil: no .odb Field: yes .odb History: yes
DAMAGET
Tensile damage variable, .
.dat: yes .fil: no .odb Field: yes .odb History: yes
SDEG
Scalar stiffness degradation variable, d.
.dat: yes .fil: no .odb Field: yes .odb History: yes
有些变量为某个分量时(不同方向的应力分量)是无法直接输出,但是可以call出它们的总变量,然后再从ARRAY(n)中读取,这点是没有问题的!但是如上述列出来的几个变量,是无法从结果文件中直接call出来的!
小生现在要用usdfld读取这样的变量,不知从何下手,在此向大家讨教?
曾经有人提出将这些变量输出到.dat文件,再然后从用户子程序中读取。小民愚钝,至今仍无法实现,恳请哪位高手赐教!
另外 加入能够顺利读取.dat中的信息,那也只是一个一个单独地存储。我们知道,在usdfld中,对每个材料积分点进行自动提取和赋值的,在场变量的调用中基本没有进行单个材料积分点进行赋值的。这是我的认识,可能我说的不正确,也可能我还没有学到。希望在此和大家讨论讨论! |
|