清华大学Abaqus论坛精华贴(simwe)
- 格式:doc
- 大小:79.00 KB
- 文档页数:23
【在 luxz (panda) 的大作中提到: 】: 哪位有什么好办法?: 感觉abaqus自己的前处理用得很不爽: patran可以么?我感觉abaqus/cae不错的呀,实体建模颇有pro/e的风格感觉patran也好不到哪去,太麻烦,也许patran功能更强一些(要不然也对不起它那硕大的身躯呀), 但对于不是很庞大的模型,根本体现不出来什么优势: air1大侠,本人给你作广告,为何不可?: 请问:弹塑性矩阵【D]与ddsdde有何联系,: 你用过板壳单元吗?stress=D*stran?d(stress)=ddsdde*d(stran)--那应该就是一样的,因为全量理论,Sij=DijklEkl(满足张量求和约定)即Stress=D*Strain;而在增量理论中,△S=D*△E(在有限变形中,△其实应该为应力的客观率)--似乎不对吧大变形下此D非彼D你看过黄克智的固体本构关系这本书么如果你从全量理论和增量理论的角度上讲那似乎第一个Digkl就不对你有第一个式子么如果有,求导不久完了?: 那应该就是一样的,因为全量理论,: Sij=DijklEkl(满足张量求和约定): 即Stress=D*Strain;: 而在增量理论中,: △S=D*△E(在有限变形中,△其实应该为应力的客观率)是啊,大变形下的[D]与普通意义下的[D]在构型上是不一样的,毕竟[D]大是变形历史的函数,而[D]小则不是,我推导一种新的本构关系,△Sij=Dijkl△Ekl (其中△为Jaumann率)假设材料一开始就屈服(即屈服面为0)想用壳单元,: 似乎不对吧: 大变形下此D非彼D: 你看过黄克智的固体本构关系这本书么: 如果你从全量理论和增量理论的角度上讲: 那似乎第一个Digkl就不对: 你有第一个式子么: 如果有,求导不久完了?: 是啊,大变形下的[D]与普通意义下的[D]在构型上是不一样的,: 毕竟[D]大是变形历史的函数,而[D]小则不是,: 我推导一种新的本构关系,: △Sij=Dijkl△Ekl (其中△为Jaumann率): 假设材料一开始就屈服(即屈服面为0): 想用壳单元,唉,别提了,问题就出在,在abaqus中,明明写着可以考虑剪切效应,可我打印出剪切力个数是,nshr=1,即只有S12,那我的S13,S23就不知怎么计算,(DDSDDE(5,5)无法计算,因为ntens=3,最多只能计算DDSDDE(3,3))你编umat编进去不久行了他让用NDI,NSHR,NTENS表示变量,你就用这些表示变量这样他就可以任意的计算了呀,而不在意实际计算的变量数: 唉,别提了,问题就出在,在abaqus中,明明写着可以考虑剪切效应,: 可我打印出剪切力个数是,nshr=1,即只有S12,: 那我的S13,S23就不知怎么计算,: (DDSDDE(5,5)无法计算,因为ntens=3,最多只能计算DDSDDE(3,3))因为我的UMAT从abaqus传来的变量(当我选用壳单元时)ntens=3, ndi=2,nshr=1,这样的话,STRESS为3个,STRESS(3),不可能计算STRESS(4),STRESS(5),同理,STRAIN,DDSDDE也存在同样的情况在中厚度板壳元中(MINDLIN)中,DDSDDE为5×5你的FOR文件收到,可惜研究的对象相差太大,看不懂!不过你在文件中定义的变量有的根本就没有用到,还有有的地方似乎是毫无用处的代码,比如:SMISES一段我觉得你不应该太急,第一步应该保证代码的正确性。
ABAQUS是一种有限元素法软件,用于机械、土木、电子等行业的结构和场分析。
ABAQUS早年属于美国HKS 公司的产品,于2000年代中期卖给了达索公司,该软件又被称为达索SIMULIA。
ABAQUS非常适合用作科学研究。
ABAQUS的名称来自abacus,英文为计算器、算盘之意。
ABAQUS早年的logo就是一把中国人常用的算盘,后来logo有所变化,但是仍然可以看到算盘珠的影子。
基本介绍真实世界的仿真是非线性的,SIMULIA将成为模拟真实世界仿真分析工具,它支持最前沿的仿真技术和最广泛的仿真领域.SIMULIA为真实世界的模拟提供了开放的,多物理场分析平台。
SIMULIA将同CATIA ,DELMIA一起,帮助用户在PLM中,实现设计,仿真和生产的协同工作。
它将分析仿真在产品开发周期的地位提升到新的高度。
ABAQUS 包括一个丰富的、可模拟任意几何形状的单元库。
并拥有各种类型的材料模型库,可以模拟典型工程材料的性能,其中包括金属、橡胶、高分子材料、复合材料、钢筋混凝土、可压缩超弹性泡沫材料以及土壤和岩石等地质材料。
作为通用的模拟工具,ABAQUS 除了能解决大量结构(应力/ 位移)问题,还可以模拟其他工程领域的许多问题,例如热传导、质量扩散、热电耦合分析、振动与声学分析、岩土力学分析(流体渗透/ 应力耦合分析)及压电介质分析。
ABAQUS 为用户提供了广泛的功能,且使用起来又非常简单。
大量的复杂问题可以通过选项块的不同组合很容易的模拟出来。
例如,对于复杂多构件问题的模拟是通过把定义每一构件的几何尺寸的选项块与相应的材料性质选项块结合起来。
在大部分模拟中,甚至高度非线性问题,用户只需提供一些工程数据,像结构的几何形状、材料性质、边界条件及载荷工况。
在一个非线性分析中,ABAQUS 能自动选择相应载荷增量和收敛限度。
他不仅能够选择合适参数,而且能连续调节参数以保证在分析过程中有效地得到精确解。
四大要务第一要务:学习如何发帖研读《ABAQUS版发帖必读》和《ABAQUS版版面小提示【新手必看】》,学会如何发帖。
“入乡随俗”是世间和谐的铁律。
所以你初来aba版第一件事应该是看这两贴。
有人用“紧急求助”“救命”为题,让人很是生气:别人光看题目也不知道你是什么问题,就算解决了也不能为后人搜索到。
所以,题目一定要显示问题之所在。
另外,论坛规则,不得讨论盗版问题,也请大家遵守。
第二要务:下载顶置的《ABAQUS常见问题汇总-2.0版》这是aba-aba斑竹根据常见问题而精心总结的,也是论坛里面各位高手集体智慧的结晶。
就我的经验,新手所提的大部分问题都能在其中找到解决方案,这样的话,节约了版面,也使问题解决的速度加快,利版利民!我以前也发过一些2.0里面有板书的帖子,后来仔细读了2.0,对它佩服的五体投地,真实我们新手的指明灯啊!有时,有些简单问题高手不高兴搭理,就是因为这类问题被问过太多次,比如如何给实体单元加弯矩啊(实体单元没有转动自由度得先建reference point,然后耦合);如何施加随时间变化的载荷(amplitude)2.0中有板书。
第三要务:版内搜索和第二步一样,很多问题早已经得到解决,所以遇到问题(称之为你的“盲点”)可以先版内搜索,一样是加快问题解决速度。
而且,这样你还会发现一个“副产品”:由于同样是这个问题,别人提起的方式和角度不一样,各位高手解答的方式和角度也是各异(虽然异曲同工),你都浏览一次,能使你对这个盲点有全方位的认识!盲点快速变成两点。
比如你的帮助文件不能搜索了该怎么办?(我总结过一次)。
出现“应变速度大于波速”怎么办?----版上已经有Robert大侠的总结了,新手多半是第一条(单位问题)。
第四要务:学会看帮助文件Documentation其实帮助文件时最好的辅导教材,可惜是English版,很多人望而生畏(包括我),在论坛下载了好多中文的书籍和例子学习,后来经论坛里面的各位版主提醒就硬着头皮去看Documentation。
1.abaqus如何调整图例的大小,就是云图左上角那个图框,字太小了 看不清!!直接设置图例的字体大小就可以: 工具栏viewport>viewport annotation options>legend(选项卡)>text(选项)>set font(按钮)>size,修改size选项中的数字,就可以修改图例大小了。
2.cohesive element ABAQUS在6.11使用cohesive element,定义cohesive材料属性的时候主要步骤:1.定义一个材料的名字,比如cohesive,不要去定义任何属性(弹性,弹塑性等等)。
2.打开工具栏model--edit keywords,在inp中手动添加材料的各种属性。
PS: 定义section的时候选cohesive,element control选sweep,element type选cohesive,这些是使用cohesive element的基本步骤。
zero thickness的cohesive section设定abaqus所谓的zero-thickness,其实就是定义cohesive section的initial thickness=1.0。
你可以在定义section的时候定义(specify),也可以用系统默认的thickness(也是1.0),这样有关cohesive element 的计算当中,就有displacement(位移)=strain(应变)*thickness ( 1.0 )=strain的数值。
我们知道从1914年Ingless和1921年Griffith提出断裂力学开始,一直到60年代都停留在线弹性断裂力学(LEFM)的层次。
后来由於发现在裂纹尖端进入塑性区后用LEFM仍然无法解决stress singularity的问题。
1960年由Barenblatt 和Dugdale率先提出了nonlinear/plastic fracture mechnics的概念,在裂纹前端引入了plastic zone,这也就是我们现在用的 cohesive fracture mechnics的前身。
Too many attempts made for this incrementThrere may be many factors that you should check. Some of them you might want to check predominantly are,1_Material properties and equivalency of units 2_ Mesh size and type 3_Boundary conditions 4_constraints such as rigid body motion 5_Step size and no of increments Also look in Abaqus documentation for Common problems in convergence of solution.自己的问题是由于模型没有出现几何非线性,不需要将Nlgeom设置为ON,我自己的做法大大增加了分析收敛难度。
下面这个问题我在SIMWE论坛里,看到,然后在百思论坛也看到, 发帖人是07年12月求助,到08年1月中旬都没人帮他解决啊.本人看到,于是粘贴下来.今天谈谈我的看法.问题:关于HETVAL子程序flux定义,通过自己编写的程序(fortran)盘算了每个单元的生热率,盼望将该盘算成果调入abaqus子程序中,并将该值赋给HETVAL子程序中的flux1变量,作为传热分析中每个单元的内热源,请教研发网的朋友怎么样给每个单元分辨赋给内热源呢?帮助文档的例子中好像是对某个材料赋给内热源的(*heat generation, HETVAL),要给每个单元的生热分辨赋值该怎么做呢?查下载说通过UEXTERNALDB子程序可以将外部成果调进来,查赞助文档没有找到有关可以把外部成果调进来的例子,不知哪位有这方面的经验或者例子, 马上要交论文了,可是温度场还没算出来,请大家帮帮忙!!!!!多谢了!论坛回答:(1)要给每个单元的生热分辨赋值就对每个单元定义material,在abq中,*heat generation被视为材料的特点,故*heat generation不同,就得定义多种材料.我的回答: simwe仿真论坛的回答固然没有错,但是谁会去为为一个单元定义一个集合,再去给只有一个单元的集合赋予材料属性呢??论坛上高手众多,我不知为什么就没人去回答这个问题,是他太简单了吗?未必吧.就算简单,但是在别人看来,却是困难,我们应该尊重别人的困难,虽然可能在你看来不是什么了不起的事.我在这里有个笨方法,一定可以成功的.第一,生热率的云图可以用UVARM输出.怎么将每个单元的生热率赋给指定的单元呢?请看:SUBROUTINE UVARM(UVAR,DIRECT,T,TIME,DTIME,CMNAME,ORNAME,1 NUVARM,NOEL,NPT,LAYER,KSPT,KSTEP,KINC,NDI,NSHR,COORD,2 JMAC,JMATYP,MATLAYO,LACCFLA)NOEL为单元编号,即模型中单元的标签号,你可以这样if(NOEL==269) thenuvar(1)=160else if......elseuvar(1)=80end if这样就可以指定生热率给指定的单元.我这只是个简单的示范,其实可以while循环最佳啊生热率具体数值其实也可在这里生成,具体的程序还没有.熟悉FORTRAN的人都可以做出来.要用到输入输出代码.第二,还有一个是温度分析.hetval.其FLUX定义,也可借鉴上面的方法.SUBROUTINE HETVAL(CMNAME,TEMP,TIME,DTIME,STATEV,FLUX,1 PREDEF,DPRED)HETVAL是没有NOEL这个参数的.但是要注意查看他的文档.can be used in conjunction with user subroutine USDFLD if it is desired to redefine any field variables before they are passed in; and它是可以和USDFLD连用的,如果变量在传入HETVAL之前,需要用USDFLD进行重定义.而USDFLD函数定义如下:SUBROUTINE USDFLD(FIELD,STATEV,PNEWDT,DIRECT,T,CELENT,1 TIME,DTIME,CMNAME,ORNAME,NFIELD,NSTATV,NOEL,NPT,LAYER,2 KSPT,KSTEP,KINC,NDI,NSHR,COORD,JMAC,JMATYP,MATLAYO,LACCFLA)这里有NOEL.而且它还可以调用辅助函数GETVRM.功能强大.第三,生热率的应力应变从文件中直接输出.在CAE中用report也可,在inp中用命令EL PRINT输出到DAT文件中也可以.经过一些处理(线性插值,傅里叶变换等),然后用FORTRAN程序去读取.在这里有个技巧就是单元数据有多个数据项,一个单元号,六个应力值,六个应变值,最好用TYPE和MODULE将其封装起来(结构体中最好把其应力应变的关系函数的值也定义一个量).调用起来才不乱.这是我最近查阅ABAQUS文档,学习FORTRAN,再加上论坛上晃荡,和思考所得的一些东西.敬请受用.希望对大家能有所助.关于子程序UVARM,HETVAL,USDFLD以及辅助函数GETVRM具体细节和应用,等过段时间, 有时间我用具体例子,再细细说来.敬请期待.Hetval 子程序丢失的问题:由于自己材料设置有误多设置了一个HEAT GENERATIONTime increment required is less than the minimum specified??????????出现这个错误可能是多方面原因造成的,你可以采用排除法逐个因素去找1.可以把初始增量步最小增量步调小,最大增量步的数目调大。
新手在使用hypermesh与abaqus接口问题的过程中,或多或少都会出现一些问题,本贴搜罗了大部分论坛以前关于此方面的问题,再加上笔者在学习过程中的一些心得体会,希望能给很多朋友带来帮助,更希望SIMWE论坛能越来越好。
笔者认为要能够处理好两个软件的接口问题,必须对两个软件都有一定的了解。
论坛上很多问题都是由于初学者对软件某个局部操作出现问题,导致导出模型出错,这些操作上的问题笔者觉得可以通过看一些高手的做的模型例子或视频来不断提高。
本篇可能不涉及太多这方面的问题。
为了使读者能够最快捷的学习,笔者从原来论坛的问题中只搜索一些精华和常见的问题,版权归SIMWE广大斑竹和热心提问、回答者。
本篇没有采用连接网页方式,这样不利于下载,笔者辛苦一点,将其归于WORD文档,方便大家下载,离线学习。
(接口问题相较于其他版块,问题相对较小,所以也便于此种方法)有限元分析的步骤:一般来说,步骤是:前处理(3D软件至HM):几何建模——模型处理——网格划分——材料属性单元类型边界约束;求解器:ABA;后处理:HM OR ABA。
(本文仅对HM,ABA讨论,其实软件很多的)在HM中加载ABA模板:HM中提供了跟很多软件的接口模块,与软件之间实现互通,由于各软件之间在划分网格,约束、加载过程都有些差异,所以各模块都有些差别,正确选择模板是成功实现软件对接的第一步。
在HM中处理好网格模型后可以使用中性文件导入ABAQUS,常用的是INP格式。
常见问题:如果没有采用ABA user profile,很多对应的单元类型,材料属性可能不能与ABA对应起来,导入至ABA会出现很多错误或警告。
几何模型处理、网格划分:几何模型处理、网格划分相关问题,请读者到相应的版块去看,如果导入ABA,出现网格划分失败的问题,最好检查一下HM中的网格模型,划分好网格才是计算中关键的一步。
定义单元类型,材料属性:不是所有的类型HM和ABA都能同时识别的,例如ABA只支持SPRING1而不支持SPRING2。
ABAQUS常见问题汇总 - 1.0版作者:aba_aba2006.06.14在SIMWE论坛注册5个月以来,在ABAQUS版回帖860篇,知无不言,言无不尽。
在此整理一下,以方便大家查找。
下面绝大多数是我的回帖,有少部分是其他网友的回答,都注明了作者。
下面只摘录了帖子中的一些主要内容,有些地方可能上下文不太连贯,完整的讨论请大家根据相应链接去论坛上察看。
如果这些内容对你有帮助,希望你也能常上论坛来回答一下别人的问题。
众人拾柴,火焰才高。
目录点击小节标题,可以跳到相应的内容(有些WORD版本可能需要按住ctrl键)1. 论坛提问要诀 (4)2. 故障诊断基本方法 (4)3. 约束刚体位移 / NUMERICAL SINGULARITY (4)4.过约束(Overconstraint) (7)5.其他常见error和warning信息 (7)6.ABAQUS无法运行(安装、License、环境变量) (10)7.弹塑性分析 (14)7.1 塑性问题不收敛的常见现象 (14)7.2 接触问题和塑性材料不要用二阶单元 (14)7.3 不要在塑性材料上施加点载荷 (15)7.4 塑性材料参数 (15)7.5 屈服准则 (18)7.6 后处理 / 判断材料是否屈服 (20)8. 接触分析 (22)8.1 接触分析不收敛的常见现象和解决方法 (22)8.2 接触面上的网格密度 (22)8.3 接触面的法线方向 (23)8.4 过盈接触 (23)8.5 管土/桩土接触 (25)8.7 凹坑成型的接触问题 (34)8.8 刚体穿透 (37)8.9 接触力 (37)8.10 Explicit中的接触问题 (38)8.11 改变接触状态 (40)8.12 其他与接触有关的Error和Warning信息 (41)9. 各个量的单位 (42)9.1 各个量的单位要相互一致 (42)9.2 时间/增量步的含义 (44)10.导入 / 修改 / 求解inp文件 (45)10.1 把inp文件导入ABAQUS/CAE (45)10.2 运行inp文件 (46)10.3 修改inp文件 (47)11.用户子程序和FORTRAN (49)12.创建/修改part (50)13.在Assembly中定位 (51)14.划分网格 (52)15.选择单元类型 (54)16.截面属性和材料 (56)16.1 定义截面属性 (56)16.2 用OFFSET参数偏置shell的中性面 (57)16.3 材料属性 (57)17.载荷 / 速度场 (58)17.1 集中力 (58)17.2 线载荷 (59)17.3 面载荷 (60)17.4 Body Force / Gravity (60)17.5 随时间变化的载荷 / Amplitude (61)17.6 在实体单元上施加弯矩 / 旋转速度 (62)18.边界条件 (67)19.定义Set / 选取模型的局部 (67)20.弹簧 (68)21.约束(coupling, tie) (68)22.后处理 (69)22.1 显示局部坐标系上的结果 (69)22.2 绘制曲线(X–Y data) (69)22.3 field output / history output (70)22.4 显示结果 (71)22.5 输出shell积分点上的应力和应变 (73)23.多步骤分析 (74)23.1 重启动分析(Restart) (74)23.3 用*import 把计算结果传递到下一个过程中 (74)24.岩土分析 (75)24.1 初始地应力平衡 (75)24.2 基坑开挖 (77)24.3 钢筋混凝土(Rebar Layer和Embedded Element) (77)24.4 实体单元的截面力/弯矩/转角 (78)24.5 软土固结 (80)25.热分析 (81)26.动态分析 (83)26.1 Explicit分析 (83)26.2 分析结果与amplitude不一致 (84)26.3 固有频率 (84)26.4 *DYNAMIC分析 (85)27.屈曲分析 (86)28.裂纹 (87)29.连接单元(CONNECTOR) (88)30.惯性释放(INERTIA RELIEF) (88)31.非线性问题的算法 (89)32.ABAQUS和其它软件的比较 (89)33.使用ABAQUS帮助手册 (90)34.论坛的“全文搜索”功能 (90)35.关于找枪手 (91)1. 论坛提问要诀在论坛上的提问是否能够得到解答,在很大程度上取决于提问的方式。
1.接触中设置Adjust的理解:这个命令主要还是用来初始化接触的。
在分析开始之前,调整接触面中节点的初始位置,且不产生任何应力和应变。
在分析过程中,由于残留的初始过盈引起的应变将被施加在接触面上。
模型的尺寸往往会存在数值误差,所以设置一个位置误差限度,用来调整从面节点的初始坐标,ADJUST=位置误差限度,其含义是:如果从面节点与主面的距离小于此限度,ABAQUS将调整这些节点的初始坐标,使其与主面的距离为0.这种调整不产生任何压力、应力、应变。
Explicit不允许接触表面的初始过盈,分析开始前,接触面上的节点将被自动调整,以删除任何初始过盈,在随后的分析中,这样的调整将引起应变。
2.使用INTERFERENCE(干涉)来定义过盈接触:Edit Interaction》底部Interference fit负值表示过盈量,正值表示间隙量。
类似于载荷,只能在后续分析步中定义,不能在初始分析步中定义。
3.CLERENCE(间隙)可以定义两个接触面之间的初始过盈量和间隙量,它只适用于小滑移,并且不需要使用ADJUST来调整从面节点的初始位置。
4.特征:记录了设计目的,并包含几何信息,同时也是管理几何体的行为的规则。
ABAQUS中导入的几何体是没用特征的,要删除不重要的细节。
5.View=》ODB Display Options =》Sweep and Extrude6.CPRESS接触压强7.COPEN从面上节点与主面的距离8.ALE自适应网格:Step=>Other=>Adaptive Mesh Domain9.计算代价估算:隐式:自由度数目的平方显式:自由度正比10.软接触:用指数或者表格形式表达的应力-距离关系11.传说ABAQUS默认的幅值曲线是从1下降到0的。
是吗?我觉得6.9的版本好像不是这样。
给一个棱柱施加扭转力矩,载荷采用Ramp,变形是逐步增大的。
12.Visualization》Tools》Job Diagnostics13.修改严重不连续迭代尝试次数:Step>Other>General Solution Controls>Edit>Specify>Time Incrementation>More>Is>1214.接触问题中,90度圆角至少划分是个单元。
abaqus问答精华Q:预拉钢筋怎样施加预应力,请各位指点~~~~Q:我在文档里看到要在inp文件定义一个rebar,但是rebar只能用于shell, membrane, and solid elements 。
我现在想做的是一个预应力拉索,不是镶嵌在shell, membrane, and solid 这些单元里的,而是独立的一根拉锁。
拉索单元打算用truss,但是怎样在truss上使用rebar啊?请高手指点还有个问题,我看到别人的inp文件,如下:*rebar,element=continuum,material=rebar2,name=ubartop1,1.005e-4,0.15,0.0,0.5,1第二行第一个是setname(top1),第二个是rebar的截面面积(1.005e-4),那第三、第四、第五是指什么?(0.15,0, 0.5),最后一个应该是方向,是1方向。
哪位高人指点下第三、四、五项分别代表什么?A:施加预应力 *initinial conditions,type=stress,rebarelset,rebar name,所施加预应力的值 ,另prestress hold 为保持所施加的预应力的值不变,我的理解是防止别的构件吃掉所施加的预应力,造成所施加预应力的损失。
使用了这个命令之后就避免了这种损失,保证所施加的预应力都施加到了钢筋上。
A:谢谢指点,你所说的应该是把预应力加在rebar上面,但我发觉truss单元不能定义成rebar,其实是我多想了,tr uss本来就可以当拉索,实际工程中加预应力只是为了使钢绞线拉紧,起到张拉作用,而在abaqus里,truss本身就是拉紧的,不用施加预应力A:我知道模拟加强筋的时候需要用rebar,但钢筋确实可以直接用truss来模拟 ,而lz所说的预应力其实其实只是施工时的张力而并不是真正意义上的预应力,比如螺栓预应力之类的。
如果是索的话可能是要施加预应力的,仅个人看法。
Inp文件中单元类型改变时,一定要注意,划分网格的时候是否,选用了一种望各类型,比如4变形和3变形的区别,如果用注意将所有的单元类型都做相应的修改。
这说明单元类型由2个因素决定,1网格形状,2计算任务.inp编码介绍(一).ABAQUS头信息文件段(1-4)1.*PREPRINT 输出求解过程所要求的信息(在dat文件中)ie:*PREPRINT, ECHO=YES, HISTORY=YES, MODEL=YES2.*HEADING 标题输出文件(出现在POST/VIEW窗口中,且出现在结果输出文件中)ie:*HEADINGSTRESS ANAL YSIS FOR A PLATE WITH A HOLE3.*RESTART 要求abaqus/standard输出其POST/view模块所需要的.res文件。
其中的FREQ =?控制结果在每次迭代(或载荷步)输出的次数。
ie:*RESTART, WRITE, FREQ=14.*FILE FORMAT 要求abaqus/standard输出到.fil中的某些信息。
它也用于post。
对于在后处理中得到x-y形式的诸如应力-时间、应力-应变图有用!ie: *FILE FORMA T, ZERO INCREMENT(二).ABAQUS网格生成段定义结点、单元,常用的命令有:结点定义(*NODE,*NGEN),单元定义(*ELEMENT,*ELGEN等)。
1.*NODE 定义结点,其格式为:*NODE结点号,x轴坐标,y轴坐标,(z轴坐标)2.*NGEN 在已有结点的基础上进行多个结点的生成,一般是在两结点间以某种方式(直线、圆)产生一定分布规律的结点。
如:*NGEN, LINE=C, NSET=HOLE,119, 1919, 100, 101 在两结点(结点号为119,1919)间以圆弧形式生成多个结点,100为任意相邻结点的单元号增量,101为圆弧形成时圆心位置的结点(对于直线形式生成没有此结点)。
转自仿真论坛------/*************************错误与警告信息汇总*************************--------------简称《错误汇总》%%%%%%%%%%%%%%% @@@ 布局 @@@ &&&&&&&&&&&&&&&&&&&&&&AB系列:常见错误信息C系列:常见警告信息D系列:cdstudio斑竹总结的fortran二次开发的错误表E系列:网格扭曲%%%%%%%%%%%%%%%%% @@@@@@ &&&&&&&&&&&&&&&&&&&&&&&&&模型不能算或不收敛,都需要去monitor,msg文件查看原因,如何分析这些信息呢?这个需要具体问题具体分析,但是也存在一些共性。
这里只是尝试做一个一般性的大概的总结。
如果你看见此贴就认为你的warning以为迎刃而解了,那恐怕令你失望了。
不收敛的问题千奇万状,往往需要头疼医脚。
接触、单元类型、边界条件、网格质量以及它们的组合能产生许多千奇百怪的警告信息。
企图凭一个警告信息就知道问题所在,那就只有神仙有这个本事了。
一个warning出现十次能有一回参考这个汇总而得到解决了,我们就颇为欣慰了。
我已霸占2楼3楼4楼,以便分类并续加整理。
斑竹可随意编辑或者添加你们觉得合适的条目和链接,其他版友有warning方面的疑问请回复到这个帖子,大家集思广益,斑竹们也可以集中讨论并定期汇总到1-4楼。
类似于:Fixed time is too largeToo many attamps have been madeTHE SOLUTION APPEARS TO BE DIVERGING.CONVERGENCE ISJUDGED UNLIKELY.Time increment required is less than the minimum specified这样的信息几乎是无用信息(除了告诉你的模型分析失败以外,没有告诉你任何有用的东西)。
ABAQUS-UMAT-⾃学知识整理贴各个楼层及内容索引2-------------------------------------什么是UMAT3-------------------------------------UMAT功能简介4-------------------------------------UMAT开始的变量声明5-------------------------------------UMAT中各个变量的详细解释6-------------------------------------关于沙漏和横向剪切刚度7-------------------------------------UMAT流程和参数表格实例展⽰8-------------------------------------FORTRAN语⾔中的接⼝程序Interface 9-------------------------------------关于UMAT是否可以⽤Fortran90编写的问题10-17--------------------------------Fortran77的⼀些有⽤的知识简介20-25\30-32-----------------------弹塑性⼒学相关知识简介34-37--------------------------------⽤户材料⼦程序实例JOhn-cook模型压缩包下载38-------------------------------------JOhn-cook模型本构简介图40-------------------------------------⽤户材料⼦程序实例JOhn-cook模型完整程序+david详细注解[欢迎⼤家来看看,并提供意见,完全是⾃⼰的diy的,不保证完全正确,希望共同探讨,以便更正,带"?"部分,还望各位⼤师\同仁指教]什么是UMATUMAT功能简介[-摘⾃庄茁⽼师的书]UMAT⼦程序具有强⼤的功能,使⽤UMAT⼦程序:(1)可以定义材料的本构关系,使⽤ABAQUS材料库中没有包含的材料进⾏计算,扩充程序功能。
Abaqus常用技巧总结本手册是由simwe等论坛上精华帖以及本人下载的其他资料整理,由于很多资料搜集已经很久,而且时间有限,都没有注明原作者,也没有最资料进行分类整理,见谅。
如需要,请PM给我。
Shelly31建议阅读方式:目录ABAQUS 常用技巧总结 ................................. 错误!未定义书签。
目录 ............................................... 错误!未定义书签。
1.对TIME INCREMENT 的根本理解 ...................... 错误!未定义书签。
请问 MOMENT 的加载 ................................. 错误!未定义书签。
计算时C盘的临时文件太大了,怎么改目录 ............. 错误!未定义书签。
中如何加预应力..................................... 错误!未定义书签。
里面看到ABAQUS分析的结果.......................... 错误!未定义书签。
PLOTS ............................................. 错误!未定义书签。
7.把上一次的分析结果作为下一次分析的初始条件该怎么做错误!未定义书签。
8.材料方向与增量步................................. 错误!未定义书签。
9.多个INP文件如何实现批处理....................... 错误!未定义书签。
10.关于ABAQUS的任务管理........................... 错误!未定义书签。
11.关于数据的输入输出.............................. 错误!未定义书签。
12.后处理积分...................................... 错误!未定义书签。
准确的说,应该是谈谈我对发在这里的帖子质量的看法。
因为专业的原因,我对有限元及其软件是有很深感情的。
又因为一直对清华深有好感,可惜因为一些原因最终没有来清华深造,所以比较关注清华的BBS。
写这篇文章要耗费我差不多一个完整的下午,但是我愿意。
我知道学有限元其实不是一件容易的事情,我把我的想法说出来,希望对初学者有所裨益。
坦率的说,我认为这里有限元板块的质量是不高的。
之所以如此,是因为在这里很多人问的问题是太简单而且对自己不负责任的。
这不是版主的错,是因为我们许多人还没有养成良好的专业素养和严谨的精神。
请不要轻易的否认我的这个评价,好吗?至少,现在请不要。
就是对我的话不屑一顾,也应该是在看完我的话之后吧。
我用我的思维方式来说话,并不是每一个人都会习惯,请见谅!我还要声明的是,我本人的水平一般般,自己也对自己有很多的不满,所以在这里说的很可能很幼稚或者有错误。
请大家指教!我们应该有一个良好的讨论气氛。
有限元对许多工科的人而言,其必要性和重要性不言而喻。
问题在于,应该怎样的学习它呢?学习它,至少不用它到处害人也害己的话,我觉得至少要在下面四个方面有些基本知识:1、有限元基本理论及其求解基本步骤(数学基础);2、有限元专业英语(英语基础);3、你自己所属专业的东东(专业基础);4、几何造型及拓扑学知识(建模基础)。
这个排序是由重到轻的。
接下来,我首先说一说上面四个方面的意义和作用;之后谈一下为什么我认为在这里问的相当一部分问题是太简单而且对自己不负责任的。
1、做专业就要有做专业的样子。
咱们理工科的学生,没有辛苦的付出是不可能有真正收获的。
收获和付出在这里成正比。
常常有人觉得有限元的软件很难,不好学,不好用,很多东西搞不懂,一提就头痛。
其实这里面相当的一部分是有限元基本理论可以解决的问题,而不是软件的设计思想不好。
现在的商用有限元软件,比如我用过的abaqus,ansys,adina以及algor,应该说它们的界面已经很友好了,包括帮助文档等等都不错。
ANSYS模型导入ABAQUSSYS软件的参数化建模(APDL)极其方便,而ABAQUS卓越的非线性计算功能使其成为有限元软件中的贵族,如果能整合两者的优势,有限元模拟计算就会相当高效。
下面就将ANSYS模型如何导入ABAQUS简单交流一下。
(其中部分内容参考了SIMWE上的精华贴)首先在ANSYS编写APDL语言输出模型的节点和单元数据文件。
如果直接用A NSYS中的WRITE NODE FILE和W RITE ELEM FILE得到的节点和单元数据文件,数据之间只有空格,没有逗号,不符合A BAQUS的INPUT文件格式要求。
输出节点信息的A PD L如下:Allsel,all !选中所有! 输出节点*GET,NNode,NODE,,COUNT, , , , ! 得到当前模型中的总节点数*CFOPEN,ansystoabaqus,inp*DO,I,0,NNode*VW RITE,Chrval(i),',',NX(I),',',NY(I),',',NZ(I)(A8,A1,F10.5,A1,F10.5,A1,F10.5)*ENDDOAllsel,all输出单元信息时要弄清楚单元类型,编写A PDL对每种类型的每个单元输出单元编号,各节点的编号。
常见的SOLID65和SOLID45、SOLID95单元的A P D L输出命令如下:*GET,NumberofNode,NODE,,COUNT, , , ,ESEL,S,ENAME,,65*GET,NElem,ELEM,,COUNT, , , , ! 得到当前模型中的总单元数!对单元集进行循环*GET,nd,ELEM,,NUM,MIN, , , ,*DO,I,1,NElem!得到当前单元的类型*GET,ENAME,ELEM,nd,ATTR,ENAM!如果是65号(65号单元)*IF,ENAME,EQ,65,THEN!得到该单元的节点编号*GET,EN1,ELEM,nd,NODE,1*GET,EN2,ELEM,nd,NODE,2*GET,EN3,ELEM,nd,NODE,3*GET,EN4,ELEM,nd,NODE,4*GET,EN5,ELEM,nd,NODE,5*GET,EN6,ELEM,nd,NODE,6*GET,EN7,ELEM,nd,NODE,7*GET,EN8,ELEM,nd,NODE,8*VW RITE,Chrval(nd),',',Chrval(EN1),',',Chrval(EN2),',',Chrval(EN3),',',Chrval(EN4),',',Chrval(EN5),', ',Chrval(EN6),',',Chrval(EN7),',',Chrval(EN8)(A8,8(A1,A8))nd = ELnext(nd)*END IF*ENDDOAllsel,all*GET,NumberofNode,NODE,,COUNT, , , ,ESEL,S,ENAME,,45 !solid45单元8节点六面体*GET,NElem,ELEM,,COUNT, , , , ! 得到当前模型中的总单元数!对单元集进行循环*GET,nd,ELEM,,NUM,MIN, , , ,*DO,I,1,NElem*GET,ENAME,ELEM,nd,ATTR,ENAM !得到当前单元的类型*IF,ENAME,EQ,45,THEN !如果是45号(45号单元)!得到该单元的节点编号*GET,EN1,ELEM,nd,NODE,1*GET,EN2,ELEM,nd,NODE,2*GET,EN3,ELEM,nd,NODE,3*GET,EN4,ELEM,nd,NODE,4*GET,EN5,ELEM,nd,NODE,5*GET,EN6,ELEM,nd,NODE,6*GET,EN7,ELEM,nd,NODE,7*GET,EN8,ELEM,nd,NODE,8*VW RITE,Chrval(nd),',',Chrval(EN1),',',Chrval(EN2),',',Chrval(EN3),',',Chrval(EN4),',',Chrval(EN5),', ',Chrval(EN6),',',Chrval(EN7),',',Chrval(EN8)(A8,8(A1,A8))nd = ELnext(nd)*END IF*ENDDO*VW RITE('*ELEMENT,TYPE=C3D15 ,ELSET=Esolid2')Allsel,all*GET,NumberofNode,NODE,,COUNT, , , ,ESEL,S,ENAME,,95 !solid95单元20节点六面体*GET,NElem,ELEM,,COUNT, , , , !得到当前模型中的总单元数!对单元集进行循环*GET,nd,ELEM,,NUM,MIN, , , , ! 得到当前模型中的最小单元号*DO,I,1,NElem*GET,ENAME,ELEM,nd,ATTR,ENAM !得到当前单元的类型*IF,ENAME,EQ,95,THEN !如果是95号(95号单元)!得到该单元的节点编号*GET,EN1,ELEM,nd,NODE,1*GET,EN2,ELEM,nd,NODE,2*GET,EN3,ELEM,nd,NODE,3*GET,EN4,ELEM,nd,NODE,4*GET,EN5,ELEM,nd,NODE,5*GET,EN6,ELEM,nd,NODE,6*GET,EN7,ELEM,nd,NODE,7*GET,EN8,ELEM,nd,NODE,8*GET,EN9,ELEM,nd,NODE,9*GET,EN10,ELEM,nd,NODE,10*GET,EN11,ELEM,nd,NODE,11*GET,EN12,ELEM,nd,NODE,12*GET,EN13,ELEM,nd,NODE,13*GET,EN14,ELEM,nd,NODE,14*GET,EN15,ELEM,nd,NODE,15*GET,EN16,ELEM,nd,NODE,16*GET,EN17,ELEM,nd,NODE,17*GET,EN18,ELEM,nd,NODE,18*GET,EN19,ELEM,nd,NODE,19*GET,EN20,ELEM,nd,NODE,20ENN1=EN1ENN2=EN2ENN3=EN3ENN4=EN5ENN5=EN6ENN6=EN7x1=Nx(EN1)y1=Ny(EN1)Z1=Nz(EN1)x2=Nx(EN2)y2=Ny(EN2)Z2=Nz(EN2)ENN7=NumberofNode+(I-1)*5+1ENN8=EN10ENN9=EN12x5=Nx(EN5)y5=Ny(EN5)x6=Nx(EN6)y6=Ny(EN6)Z6=Nz(EN6)ENN10=NumberofNode+(I-1)*5+2ENN11=EN14ENN12=EN16ENN13=NumberofNode+(I-1)*5+3ENN14=NumberofNode+(I-1)*5+4ENN15=NumberofNode+(I-1)*5+5x3=Nx(EN3)y3=Ny(EN3)Z3=Nz(EN3)x7=Nx(EN7)y7=Ny(EN7)Z7=Nz(EN7)*VW RITE,Chrval(ENN7),',',(X1+X2)/2,',',(y1+y2)/2,',',(z1+z2)/2(A8,3(A1,F10.5))*VW RITE,Chrval(ENN10),',',(X5+X6)/2,',',(y5+y6)/2,',',(z5+z6)/2(A8,3(A1,F10.5))*VW RITE,Chrval(ENN13),',',(X5+X1)/2,',',(y5+y1)/2,',',(z5+z1)/2(A8,3(A1,F10.5))*VW RITE,Chrval(ENN14),',',(X6+X2)/2,',',(y6+y2)/2,',',(z6+z2)/2(A8,3(A1,F10.5))*VW RITE,Chrval(ENN15),',',(X3+X7)/2,',',(y3+y7)/2,',',(z3+z7)/2(A8,3(A1,F10.5))nd =ELnext(nd)*END IF*ENDDO!输出实体单元*VW RITE('*ELEMENT,TYPE=C3D8,ELSET=Esolid1')Allsel,all运行以上命令后会在A NSYS的工作目录下得到名为ansystoabaqus.inp的文件,里面包含了模型的节点和单元信息。
【在 luxz (panda) 的大作中提到: 】: 哪位有什么好办法?: 感觉abaqus自己的前处理用得很不爽: patran可以么?我感觉abaqus/cae不错的呀,实体建模颇有pro/e的风格感觉patran也好不到哪去,太麻烦,也许patran功能更强一些(要不然也对不起它那硕大的身躯呀), 但对于不是很庞大的模型,根本体现不出来什么优势: air1大侠,本人给你作广告,为何不可?: 请问:弹塑性矩阵【D]与ddsdde有何联系,: 你用过板壳单元吗?stress=D*stran?d(stress)=ddsdde*d(stran)--那应该就是一样的,因为全量理论,Sij=DijklEkl(满足张量求和约定)即Stress=D*Strain;而在增量理论中,△S=D*△E(在有限变形中,△其实应该为应力的客观率)--似乎不对吧大变形下此D非彼D你看过黄克智的固体本构关系这本书么如果你从全量理论和增量理论的角度上讲那似乎第一个Digkl就不对你有第一个式子么如果有,求导不久完了?: 那应该就是一样的,因为全量理论,: Sij=DijklEkl(满足张量求和约定): 即Stress=D*Strain;: 而在增量理论中,: △S=D*△E(在有限变形中,△其实应该为应力的客观率)是啊,大变形下的[D]与普通意义下的[D]在构型上是不一样的,毕竟[D]大是变形历史的函数,而[D]小则不是,我推导一种新的本构关系,△Sij=Dijkl△Ekl (其中△为Jaumann率)假设材料一开始就屈服(即屈服面为0)想用壳单元,: 似乎不对吧: 大变形下此D非彼D: 你看过黄克智的固体本构关系这本书么: 如果你从全量理论和增量理论的角度上讲: 那似乎第一个Digkl就不对: 你有第一个式子么: 如果有,求导不久完了?: 是啊,大变形下的[D]与普通意义下的[D]在构型上是不一样的,: 毕竟[D]大是变形历史的函数,而[D]小则不是,: 我推导一种新的本构关系,: △Sij=Dijkl△Ekl (其中△为Jaumann率): 假设材料一开始就屈服(即屈服面为0): 想用壳单元,唉,别提了,问题就出在,在abaqus中,明明写着可以考虑剪切效应,可我打印出剪切力个数是,nshr=1,即只有S12,那我的S13,S23就不知怎么计算,(DDSDDE(5,5)无法计算,因为ntens=3,最多只能计算DDSDDE(3,3))你编umat编进去不久行了他让用NDI,NSHR,NTENS表示变量,你就用这些表示变量这样他就可以任意的计算了呀,而不在意实际计算的变量数: 唉,别提了,问题就出在,在abaqus中,明明写着可以考虑剪切效应,: 可我打印出剪切力个数是,nshr=1,即只有S12,: 那我的S13,S23就不知怎么计算,: (DDSDDE(5,5)无法计算,因为ntens=3,最多只能计算DDSDDE(3,3))因为我的UMAT从abaqus传来的变量(当我选用壳单元时)ntens=3, ndi=2,nshr=1,这样的话,STRESS为3个,STRESS(3),不可能计算STRESS(4),STRESS(5),同理,STRAIN,DDSDDE也存在同样的情况在中厚度板壳元中(MINDLIN)中,DDSDDE为5×5你的FOR文件收到,可惜研究的对象相差太大,看不懂!不过你在文件中定义的变量有的根本就没有用到,还有有的地方似乎是毫无用处的代码,比如:SMISES一段我觉得你不应该太急,第一步应该保证代码的正确性。
另外看了你上面的讨论,我觉得你应该换一种单元试一试。
比如用梁单元。
很有可能NDI和NSHR会不一样。
不知道你是不是一定要用到壳单元上?如果必须用在壳单元上,可能S23,S31就必须自己在UAMT中输出了。
具体的做法我也不清楚。
还有对DDSDDE,我的理解也是: dS=DDSDDE*dE我的意思是不管他是几乘几的矩阵一般的D矩阵就是6*6你编的umat需要适应于任何单元所以当然6*6的矩阵应该给完全当算体的时候如果是壳单元,他只有ntens=3那就等于三呗,他用哪个就是哪个反正你的D6*6的矩阵放在哪了如果是三维实体单元,ntens=6所以你的D矩阵就全用上啦记住你编的umat应该适应于所有的单元,所以不用考虑哪几个参数的值而且这个stress(3)也许是人家只用到了你D6*6的第一行,第二行,和的四行哪sigh不知道我说明白了没有: 因为我的UMAT从abaqus传来的变量(当我选用壳单元时)ntens=3,: ndi=2,nshr=1,这样的话,STRESS为3个,STRESS(3),不可能计算: STRESS(4),STRESS(5),同理,STRAIN,DDSDDE也存在同样的情况: 在中厚度板壳元中(MINDLIN)中,DDSDDE为5×5对于DDSDDE,其实就是给了一个应力应变的斜率,我感觉真正计算的是利用更新的应力,DDSDDE我觉得就是为了确保收敛真开心有这么多人讨论ABAQUS,特别是umat我国外的师兄说Umaterial在国外应用得也很广: 对于DDSDDE,其实就是给了一个应力应变的斜率,我感觉: 真正计算的是利用更新的应力,DDSDDE我觉得就是为了确保收敛: 真开心有这么多人讨论ABAQUS,特别是umat: 我国外的师兄说Umaterial在国外应用得也很广各位大侠,看到我提出的uamt,及statev有这么多人感兴趣,实在很高兴,希望大家能把摸索到的东西介绍给大家,现在我的程序能通了,(因没有屈服面的概念),虽然结果是错误的,但总可以静下心来,不像以前一运行自己的umat程序就standard.exe error.(并且程序.dat.msg.中无任何错误信息,log说error see msg,but msg中无)。
现在我明白了,在用户程序中,WRITE(*,*)则写入log,write(6,*)则写入dat,等,在监控程序时,发现,statev(),是每次迭代和增量运行它,他就为0,还是为上一步的值,因为我每次都为0,怀疑有误还望大侠提醒!: dat,等,: 在监控程序时,发现,statev(),是每次迭代和增量运行它,他就为0,应该不是0,如果在每个增量步的最后你重新更新过他输入文件*.inp中,*depvar不要忘了写statev()的维数哦!: 还是为上一步的值,因为我每次都为0,怀疑有误: 还望大侠提醒!--你只有一个单元么?【在 saturn (好好工作) 的大作中提到: 】: ~!~~~~~~~~~~~~~~~~~~~~~~~~~~~~这我以前还不知道: 应该不是0,如果在每个增量步的最后你重新更新过他: 输入文件*.inp中,*depvar不要忘了写statev()的维数哦!--【在 air1 (无影如风※勤奋羊羊※课题在即) 的大作中提到: 】: 可是这个写的命令有用么: 对于输出而言: 你只有一个单元么?已经写了,定义了statev的维数,*depvar20,看来我的错误不在statev,因为我的输出显示在第三增量步中,statev不为0,但我还是有些不清楚uamt程序的执行过程,比如,一板一次壳元s4r,面内采用缩减积分,即1×1,厚度方向为5点simpson 积分,按道理,没一增量步的迭代步,对每一积分点都会运行一次umat,即上问题,每一迭代该运行5次,那上面的statev,是每次迭代都会改变(不是每次运行)?请air1,beauty_life,saturn,......等各位相助看过书上例子,如果定义statev为(nblock,*)的数组,应该对每个积分点都进行迭代计算,从而更新变量值(写stateNew(nblock,*)请问Mikejwg,变量statev怎么输出?可以象应力应变那样进行绘图、动画等后处理吗?不好意思,我只在log文件中输出,还没有在odb中输出,想同element output等那样输出,只能在UVARM中定义,但同statev是不同的,老兄你可以试试。
发信人: Mikejwg (mikejwg), 信区: FEA标题: 用abaqus中的UMAT的大侠看过来。
发信站: BBS 水木清华站 (Tue Dec 25 15:36:27 2001)各位大侠,在加入自己弹塑性本构模型时,如何加入区分弹性部分与塑性部分(或非弹性部分)。
也就是说,在输出时,EE,LE,IE([PE]),因为在umat中,我们只发现dstran,stress,除此并没有发现其它有关应力应变得变量。
你所说的区分弹性部分和塑性部分是指应变的弹塑性部分:E=EE+PE吗?还是指加载过程的弹塑性?E=EE+PE我觉得想从umat的输入参数里面区分是不可能的可不可以你先算出弹性的,然后用stran减去弹性的,得到塑性的我猜的哦我自己是明白的,但不知怎么让程序明白比如,在一定条件下可解出位移增量,abaqus得到应变增量dstran,stran,而弹性部分,dEEij=dSij/(2G),dEPij=dstranij-dEEij但怎么控制程序了?默认得情况又是怎样计算的谢谢我不清楚你的本构,我大概觉得你如果是用屈服面的话你是不是可以用statev()记录每一步的EE,EP然后通过应力偏量来计算DEE,DEP,然后自己更新EE,EP,就不与stran扯上关系我以前见过用Umat算J2流动理论的时候,是这么做的首先我的本构不能采用屈服面的概念(一种新型的弹塑性本构模型),我也看了那个采用j2流动法则的例子,我可以在umat中的statev重定义ee,pe,但statev不能像EE,PE,IE那样在odb中输出。
再说在umat中的ee,pe与inp中的ee,pe是不同的。
谢谢看来你只能试试uvarm了呵呵,发信人: Mikejwg (mikejwg), 信区: FEA标题: Re: ABAQUS中的弹塑性应变的计算问题??发信站: BBS 水木清华站 (Thu Dec 27 14:19:27 2001)用uvar()勉强成功标题: 在abaqus中,DSTRAN,STRAN为工程剪应变吗?Sat Dec 29 09:44:03 2001)同题,这涉及到ddsdde,peeq的计算对,我也是最近才发现的peeq怎么计算?在umat中计算peeq,(因用umat后,系统缺省peeq=0)然后再uvarm输出uvarm可以输出到哪里?.odb可以么?另外那个strav??就是自己定义用于umat的那个数组里的数可以输出到.odb里么?谢了,你这个成长中的大侠在umat中,statev是不能用在output中的,statev只是作为一个解的状态变量,说来惭愧,我是在umat中定义peeq,(peeq)的求解一般在弹塑性力学书上有(等效塑性应变),用write()写入一个临时文件,((切记:这个文件unit号不要与abaqus中的重合,因为他有一些系统默认的文件号,))然后在uvarm中读取,以uvarm输出,因为uvarm可以以odb的形式输出,支持output,field,output,history不知谁还有更好的方法。