Abaqus

8,205 views

Published on

Abaqus Description

Published in: Design
1 Comment
1 Like
Statistics
Notes
No Downloads
Views
Total views
8,205
On SlideShare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
152
Comments
1
Likes
1
Embeds 0
No embeds

No notes for slide

Abaqus

  1. 1. Abaqus 常用技巧总结 本手册是由 simwe 等论坛上精华帖以及本人下载的其他资料整理,由于很多资料搜集已经很久,而且时间有限,都没有注明原作者,也没有最资料进行分类整理,见谅。 如需要,请 PM 给我。 Shelly31 Python.tzy@gmail.com 2007.8.1建议阅读方式:
  2. 2. 目录ABAQUS 常用技巧总结 ...................................................................................1目录 ...................................................................................................................21.对 TIME INCREMENT 的根本理解 ................................................................6
  3. 3. 2.MOMENT 的加载 ............................................................................................63.ABAQUS 计算时 C 盘的临时文件太大了,怎么改目录? .........................74.CAE 中如何加预应力 ....................................................................................75.HYPERMESH 里面看 ABAQUS 分析的结果 ................................................76.X-Y PLOTS.....................................................................................................87.如何把上一次分析结果作为下一次分析的初始条件 ..................................88.材料方向与增量步 .........................................................................................99.多个 INP 文件如何实现批处理 ...................................................................1010.关于 ABAQUS 的任务管理 ........................................................................1111.关于数据的输入输出 .................................................................................1212.后处理积分 .................................................................................................1213.接触分析激活杀死 .....................................................................................1314.利用 QUEUE 的功能由本地机器向远程 UNIX 机器提交 ABAQUS 作业的方法 [精华 ].....................................................................................................1315.利用命令进行计算时如何设置调用内存量 .............................................1616.清华大学 BBS 的 ABAQUS 精华 ..............................................................16
  4. 4. 17.请问怎么实现双曲线 .................................................................................4018.取消坐标系等的显示 .................................................................................4119.如何在计算中修改材料特性 .....................................................................4120.输出计算过程中的总质量和总刚度矩阵 .................................................4421.先张预应力: .............................................................................................4422.用户子程序的使用 .....................................................................................4423.怎样设定用双 CPU 机器进行 ABAQUS 计算 ...........................................4524.中途停止正在运算的 JOB.........................................................................4525.自适应网格技术 .........................................................................................4626.ABAQUS 计算与内存 ................................................................................4627.质量缩放 ....................................................................................................4828.ABAQUS 多处理器进行并行计算的效果研究 .........................................6029.YAHOO 讨论组摘录 --CONTACT+OVERCLOSURE.................................6230.原创:无限元建立方法,希望得到加分 .................................................7631.[分享 ]ABAQUS 使用问答 .........................................................................83
  5. 5. 32.[转帖 ]ABAQUS6.4 导入外来模型的几点小经验! .................................9433.ABAQUS 的多图层绘图 ............................................................................9634.子结构 ........................................................................................................9635.如何在不同的分析步改变材料的参数 .....................................................9736.模型的重启动分析- RESTART..............................................................10137. ABAQUS 的单位心得 .............................................................................103
  6. 6. 1.对 time increment 的根本理解abaqus 的 step 里有 maximum number of increment 、 initial increment 、 minimum increment 、maximum increment 四个量许多网友不知怎样设置合理,合理设置是建立在深刻理解基础上的 。 要理解这个问题,首先需要了解 abaqus 的计算过程和有限元计算收敛性问题, abaqus首先用 initial 值输入进行叠代计算,如果计算结果收敛,则继续以这个值代入计算下一步 ,如果不收敛,则自动减小时间步长(time increment)重新计算直到收敛然后计算下一步。 但是如果时间步长减小到最小值 minimum 时计算结果还是不收敛,则 abaqus 将停止计算,由此可知 maximum 值和 minimum 值分别是 abaqus 在收敛计算时时间步长的上下限,同时 total time=求和(time increment*number),当时间步长很小时,需要计算的步数 number相应增大(电脑计算花的时间也随之增大),因此 number 一般要设置较大值。minimum 并不是越小越好,因为 1)number 即计算时间增大 2)abaqus 计算精度约在 10^(-5),当时间步长小于 这 个 值 , 计 算 结 果 已 经 没 什 么 意 义 了 。 有限元计算收敛性与(最小空间步长/时间步长)值有关,若 minimum 设为 10^(-5),还是不收敛,可适当减小空间步长(即把网格画细点),当然还有一些其他办法,如果实在计算 不 了 , 也 许 是 模 型 本 身 有 点 问 题 , 或 改 为 显 示 explicit 计 算 总而言之, maximun number 要适当设置较大值, initial 可适当改小(如 -2 , -3 量级),minimum(-5 量级)不要修改,maximum 值影响不大,可不改2.moment 的加载请教各位大牛我最近在算一个题目,一个大筒体上有三个接管端面固定,大筒体两端加载扭距,但是不知道如何加载.请各位高手能赐教谢谢1. 将大筒体两端要施加扭矩的节点分别定义为两个 Nset:left, right.2. 分别在大筒体两端的圆心处定义两个 reference node: rp-left,rp-right.3. 用如下命令将两个节点集绕 3 轴旋转的自由度与参考点耦合起来,其他自由度度是否耦合根据具体问题而定: *KINEMATIC COUPLING, REF NODE=rp-left left, 6,6
  7. 7. *KINEMATIC COUPLING, REF NODE=rp-right right, 6,64. 在两个参考点上施加绕 3 轴旋转的弯矩.友情提醒:reference node 也有自由度,注意相应的边界条件.3.abaqus 计算时 c 盘的临时文件太大了,怎么改目录?临时目录是 Windows 自己定义的,可以在系统环境变量中修改...4.CAE 中如何加预应力具 体 没 作 过 , 看 看 *PRESTRESS HOLD 和 *INITIAL CONDITIONS, TYPE=SOLUTION,REBAR这两个命令以及 ABAQUS Analysis Users Manual“Defining reinforcement,” Section 2.2.3“Defining rebar as an element property,” Section 2.2.4这两节吧。5.hypermesh 里面看 abaqus 分析的结果、你在 abaqus 中计算完成后,将结果文件输出到*.fil.2、利用 hyperworks 提供的 hmabaqus.exe(在安装目录下的 Altairhw7.0translators 中)3、在控制台下运行 hmabaqus *.fil *res,执行完成后就生成了相应的 res 文件4、在 hyperview 中打开你的模型文件*.inp 和结果文件*.res,就可以查看你的结果了gook luck!
  8. 8. 6.X-Y Plots**** STEP: pre-load***Step, name=pre-load, nlgeompre-loading*Static0.01, 1., 1e-05, 0.1........**** LOADS**** Name: pt-load Type: Concentrated force*Cload_G5, 2, -200.E6**........***Output, history, frequency=1*node output, nset=_G5CF2,U2*element output, elset=_G5E22, S22***monitor, node=_G5, dof=27.如何把上一次分析结果作为下一次分析的初始条件Q 如果想把上一次的分析结果作为下一次分析的初始条件该怎么做A 使用 LDREAD 命令首先需要注意下面两个问题1 每一个 ANSYS 的实体模型的面或体都要定义对应的单元类型编号材料属性
  9. 9. 编号实常数编号单元坐标系编号这些参数在整个分析过程中保持不变而这些编号对应的属性在各个步骤中是不同的2 网格划分要满足所有步骤的要求单元类型必须兼容步骤1 创建实体模型2创建多个物理环境设定一个物理环境中的单元类型材料属性实常数坐标系等将这些参数的编号赋给实体模型的面或体施加基本物理载荷和边界条件设定求解选项选择一个标题使用 PHYSICS, WRITE 命令将物理环境存入文件中3 清楚当前的物理环境命令是 PHYSICS, CLEAR4 重复第二步准备下一个物理环境8.材料方向与增量步材料方向:针对各向异性材料(如板金材料、复合材料等)变形体,材料方向定义材料的某一特定方向如纤维方向。该方向随着变形体的移动而移动,旋转而旋转。输出的场变量值都以材料方向为参考,有时便于数据处理,分析计算结果等。abaqus 中增量步abaqus 中把所有载荷按一定的要求分成若干载荷步 step,每一步 step 根据 abaqus 自动载荷增量,分成若干增量 increments,每一增量施加一定的载荷,然后每一增量通过若干迭代步 iteration 进行迭代,当系统达到平衡时,迭代结束,完成一个增量。 当所有的增量都完成后,计算结束;反之,计算可能出现发散。这时,可以通过采用多钟方法(如调整放大质量系数,单元网格优化等)调整增量大小,使计算继续进行
  10. 10. 9.多个 inp 文件如何实现批处理我喜欢用 fortran写成这样:! nodedeform.f90!! FUNCTIONS:! nodedeform - Entry point of console application.!! Example of displaying Hello World at execution time.!!****************************************************************************!! PROGRAM: nodedeform!! PURPOSE: Entry point for Hello World sample console application.!!**************************************************************************** program nodedeformUSE DFLIB! implicit noneresult = SYSTEMQQ (abaqus job=3d05ctJ interactive) result = SYSTEMQQ (abaqus job=3d05ctJmodel-2 interactive)! result = SYSTEMQQ (abaqus job=test-1 interactive)! result = SYSTEMQQ (abaqus job=test-2 interactive)! result = SYSTEMQQ (abaqus job=test-3 interactive)! result = SYSTEMQQ (abaqus job=test-4 interactive)! result = SYSTEMQQ (abaqus job=test-5 interactive)! result = SYSTEMQQ (abaqus job=test-6 interactive)! result = SYSTEMQQ (abaqus job=test-7 interactive)! result = SYSTEMQQ (abaqus job=test-8 interactive) end program nodedeform
  11. 11. 10.关于 ABAQUS 的任务管理关于 ABAQUS 的任务管理 [精华]chibiko发帖: 26积分: 1于 2004-07-03 03:56--------------------------------------------------------------------------------前些日子的计算量很大,自己的机器又不是很快,一个任务要算上几天。 一开始,在算题的时候由于 CPU 占用很大,基本上做不了别的。捉摸了好几天,现在终于有点掌握 ABAQUS的任务管理方法了,主要有两点,这里和大家共享。我的系统是 WindowsXP ,使用的是ABAQUS6.4。1。ABAQUS6.4 新增了任务管理的命令,可以暂停、恢复、和终止一个正在背景运行的任务,方法如下(在命令行输入并运行): 任务暂停: abaqus suspend job=job-name 任务恢复: abaqus resume job=job-name 任务终止: abaqus terminate job=job-name其中任务暂停(suspend)的时候,windows 任务管理栏中仍会保留 standard/explicit 的计算线程,只是不再使用 CPU 资源,当任务恢复(resume)的时候继续工作。任务终止则就像 CAE 中提交的任务的 KILL 功能类似,直接 cut 掉正在运行的任务,不可恢复。其实也就和在 windows 任务管理栏中强行终止差不多,但属于合法操作。2。就是利用 windos 的任务管理栏了,使用它的 processes 管理功能时,不仅仅可以强行关掉一个正在运行的任务,还可以通过改变它的优先级别来改变其对 CPU 的占用程度。共有Realtime ,High ,AboveNormal,Normal ,BelowNormal ,Low 五个可选等级, windows 默认的等级是 Normal,此时所有的任务都在随机抢占 CPU 资源,一般 ABAQUS 在运行时想要运行别的程序就比较困难了,特别是一些大程序。 在觉得机器使用时有明显的延迟时,就可以把 ABAQUS 任务的优先级别设的低一些,就可以腾出 CPU 资源给别的级别高的任务了,不用机器的时候再把 ABAQUS 任务的级别调上去,这样就可以娱乐、 工作两不误了。
  12. 12. You may try this method which was posted at simwe forum, but not my original idea.Anyway, I will feel very happy even if it probably just helps you just a little bit.11.关于数据的输入输出1.输出数据到 dat 文件:*NODE PRINT, NSET=nset_name,FREQ=1COORD得到的是变形前的坐标还是变形变形后的坐标??偶在前面已发文问过,偶有时得到的是变形前的,有时得到是变形后的,一直没有弄明白这个问题。偶想得到的是变形后的坐标2.其实 abaqus 自己就带有相关的功能:abaqus job=job-1 suspend.可以将计算挂起.如果你需要重新进行运算输入 abaqus job=job-1 resume.3.如何输出大量节点的时间历程曲线?在环境文件 abaqus_v6.env 中添加一句max_history_requests=0 即可。12.后处理积分CAE 自带此功能,比如对速度时程积分得到位移时程,可以这样操作:利用 XY Data---->ODB History Output 将速度时程存为 V ,然后 XY Data---->Operate on XYData---->Operations看到那个 integrate (X)这个可能还是只是实现对时间的积分,如果对 dx,dy 的积分
  13. 13. 如何实现呢?比方说,Q=v*A已经知道流速的矢量分布,怎么得到流量的分布了!这也是可以的,关键在于你的 x-y data 数据的两轴数据是什么?其积分就是 y 数据值对 x值的积分!看看:CAE user manual:33.4.4Overview of X–Y data operations13.接触分析激活杀死Usage: Use both of the following options:*MODEL CHANGE, TYPE=CONTACT PAIR, ADDsurface_1, surface_2*CONTACT INTERFERENCEsurface_1, surface_2,Usage: *MODEL CHANGE, TYPE=CONTACT PAIR, REMOVE14. 利 用 queue 的 功 能 由 本 地 机 器 向 远 程 unix 机 器 提 交abaqus 作业的方法 [精华 ]利用 queue 的功能由本地机器向远程 unix 机器提交 abaqus 作业的方法假设:
  14. 14. 1. 远程 unix 机器的安装目录为/abaqus,2. 远程计算机 IP 地址为 192.168.0.166,主机名为 ibmlinux3. 本地计算机 IP 地址为 192.168.0.18,主机名为 training下面的讨论涉及的内容相应改变Step 1 分别设置本地计算机和远程计算机之间的主机名和 IP 地址对应。1. 修改本地 hosts 文件, windows 上一般位于 c:windowssystem32driversetc 下, unix 上位于/etc 下,加入远程计算机主机名和 IP 地址对应行,如:192.168.0.166 ibmlinux2. 修改远程 hosts 文件,位于/etc 下,加入本地计算机主机名和 IP 地址对应行,如:192.168.0.18 trainingStep 2 设置本地计算机对远程计算机运行 rsh 和 rcp 命令正确。1. 两台计算机登陆名和密码一致。举例而言,若远程计算机登陆名和密码为 root/root,则设置本地计算机也用同样的用户名和密码登陆。2. 修改远程计算机.rhosts 文件,该文件位于对应用户名登陆后的主目录下,如/home/root,加入本地计算机的 IP 地址使得本地计算机可以访问到远程计算机。3. 在本地计算机的提示符下键入rsh ibmlinux ls测试 rsh 是否能够正常使用,如果可以列出远程计算机主目录下文件,代表 rsh 和 rcp 工作正常。Step 3 设置远程计算机该用户的默认登陆程序为 csh,修改 passwd 文件,位于/etc 下,如:root:Ty91eFGzybEE2:0:3::/:/usr/bin/csh
  15. 15. Step 4 修改远程计算机的 abaqus 环境文件 abaqus_v6.env在环境文件最后加入queue_name =["nice_queue"]after_prefix = "-b"queue_prefix = "-q"nice_queue = "/bin/sh -c nice ./%S 1>%L 2>&1 &"保存在提示符下面键入abaqus fetch job=beam.inpabaqus job=beam queue=nice_queue如果可以顺利获得 beam.odb,则表示远程计算机 queue 设置正确。Step 5 修改本地计算机的 abaqus 环境文件 abaqus_v6.env在环境文件最后加入def onCaeStartup():def makeQueues(*args):import os, driverUtilsdriverName = ./abaqusscratchDir = /abaqus/Commandssession.Queue(name=nice,queueName=nice_queue,
  16. 16. hostName=ibmlinux,driver=driverName,localPlatform = NT,fileCopy=ON,directory=scratchDir)addImportCallback(job, makeQueues)保存Step 6 在本地计算机上启动 abaqus/cae,创建或打开一个模型,在 Job 模块创建一个新任务,选择 Run Mode 为 Queue,选择 nice,OK ,提交运算,观察是否任务被自动提交到了远程计算机的/abaqus/Commands 下运行并自动返回 odb 文件到本地计算机。 如有错误,会在启动cae 的提示符窗口中出现,检查错误并找到相应解决办法。15.利用命令进行计算时如何设置调用内存量abaqus job=job-name memory=memory-size16.清华大学 bbs 的 abaqus 精华【 在 luxz (panda) 的大作中提到: 】: 哪位有什么好办法?: 感觉 abaqus 自己的前处理用得很不爽: patran 可以么?
  17. 17. 我感觉 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)
  18. 18. 想用壳单元,: 似乎不对吧: 大变形下此 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 一段我觉得你不应该太急,第一步应该保证代码的正确性。
  19. 19. 另外看了你上面的讨论,我觉得你应该换一种单元试一试。比如用梁单元。很有可能 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 在国外应用得也很广
  20. 20. 各位大侠,看到我提出的 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,
  21. 21. 但我还是有些不清楚 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 减去弹性的,得到塑性的我猜的哦
  22. 22. 我自己是明白的,但不知怎么让程序明白比如,在一定条件下可解出位移增量,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 的计算对,我也是最近才发现的
  23. 23. 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不知谁还有更好的方法。听说清华有人 abaqus 用的很熟了。大家过奖了,我是没办法,要出论文,总得学习,上午版主还在 qq 中指点了我一番YOU CAN TRY AS FOLLOWS:*STEP,EXTRAPOLATION=NO,INC=2000000*STATIC0.001,500.0,0.00001,0.1可以并且在 step 里好像有选项选择你是手写的程序么新建一个 step然后定义边条在上一 step 定义边条的节点上重新定义边条而且,好像,是不是有个选项是 new这样就可以取消上一 step 的边条设置了在以后的载荷步里重新定义边界条件,加参数 new
  24. 24. 比如在第二个载荷步里:*STEP............*BOUNDARY CONDITIONS,OP=NEW......*END STEPCommand 方式:abaqus job=job_name user=source_file(或者 obj_file);CAE 方式:在最后 submit 的时候可以选择 source_file(或者 obj_file).不太明白你的意思。如果只是要得到所需要的如应力,应变等,那么在数据行请求输出就行了啊,而且个人觉得 abaqus 的后处理功能基本上也够用了,直接输出到 *.odb 文件中,用 CAE 或者 Viewer 后处理即可。而*el print 输出的 dat 文件包含其他的信息,如版本号、处理内容等。若想要直接输出到其他后处理软件的话,可以输出到 result file 文件*.fil,不过,这可是二进制文件或者 ASCII 文件,还是需要处理的,或者直接用 Hypermesh 等后处理程序打开做图。好像是在 tool->display->create->再选定一个单元集或者是节点集然后操作是“取代”还是其他等等(就是里面的两个圆圈相交,还是想减)。你试试看看。这个是要到后处理才行吧非要计算以后形成*.odb 吗前处理里面怎么才可以啊Python 在 abaqus 中可以运行 scrpit 文件,你在 CAE manual 中就可以将其附录中的例子存为*.py 文件,然后在 CAE 的菜单中run script 就可以运行了。
  25. 25. BTW:请问你的是 abaqus 的那个版本?6.2 or 6.3?6.3 的有盗版了?: (1),请问如何得到 M,C,K 矩阵?用什么命令?试一试:*element matrix output: (2),想要用 Newmark 方法求解.求解问题,在 ABAQUS 中如何实现?或者: 那里能找到类似的例子?看看:standard manuals:analysis 的 dynamics analysis 和 explicit manuals: (3),ABAQUS 中能实现这样的东西吗?就是我需要平滑 ABAQUS 产生的位移场: 还是这个平滑只能在其他环境中完成?试试这个输出选项:*El print,Position=average at Nodes: abaqus/CAE 好像不能生成节点集,只能定义某个实体,后处理用这个实体上的节点。: 看到 CAE 的例题都是这样做的。NODE SET 是 abaqus 的基本功能,也是其方便使用之处,在 CAE 中是支持的。这个例子我做过,没有问题。: : 我用 tool》set》create 居然不能选择由 CAE 生成的节点(不是顶点)这是因为你没有正确操作 Partition Edge 这一步。【 在 sunhaolan 的大作中提到: 】: abaqus/CAE 好像不能生成节点集,只能定义某个实体,后处理用这个实体上的节点。ABAQUS divides all of its analysis procedures intotwo main groups: linear perturbation and general.ABAQUS makes a very clear distinction betweenperturbation and general analysis procedures becauseloading conditions and "time" are defined differentlyfor the two cases. Furthermore, the results from eachtype of procedure should be interpreted differently.
  26. 26. The response of the model during a general analysisprocedure, known as a general step, may be eithernonlinear or linear. In a step that uses a perturbationprocedure, which is called a perturbation step,the response can only be linear. ABAQUS treatssuch steps as a linear perturbation about the preloaded,predeformed state (known as the base state) created byany previous general steps; therefore, its capabilityfor doing linear simulations is rather more generalthan that of a purely linearanalysis program.各位大侠,我在定义 step 的时候,前三个用的是 standard 中的相关命令.在step 4 的时候,我想用 explicit 来求解,并且定义了 amplitude,来模拟一个位移随时间的简单变化,命令如下:*step name="~~~",nlgeom,inc=1000(好像 explicit 里没有 inc 这个参数)*dynamic,explicit,2*amplitude name=ramp0,0,1,1,2,1*boundary amplitude=ramprefpunch(刚体参照点)2,2,-0.03*end step有问题吗?另外 standard 的命令和 explicit 的命令能出现在同一个.inp 文件中吗?要转换的.ABAQUS/Standard and ABAQUS/Explicit are separate program modules withdifferent data structures; hence, theexplicit dynamics procedure cannot be used in the same analysis as any ofthe procedures in ABAQUS/Standard.However, ABAQUS provides a capability to import a deformed mesh and associatedmaterial state fromABAQUS/Explicit into ABAQUS/Standard and vice versa. This procedure isdescribed in ``Transferring results betweenABAQUS/Explicit and ABAQUS/Standard, Section 7.6.2 of the ABAQUS/StandardUsers Manual.
  27. 27. 【 在 linyuwho (苍龙有悔) 的大作中提到: 】: 各位大侠,我在定义 step 的时候,前三个用的是 standard 中的相关命令.在: step 4 的时候,我想用 explicit 来求解,并且定义了 amplitude,来模拟一个: 位移随时间的简单变化,命令如下:: *step name="~~~",nlgeom,inc=1000(好像 explicit 里没有 inc 这个参数): *dynamic,explicit: ,2: *amplitude name=ramp: 0,0,1,1,2,1: *boundary amplitude=ramp: refpunch(刚体参照点)2,2,-0.03: *end step: ...................feature 菜单下有删除一项。基准点是一种 feature: 工具栏不有个像铅笔一样的的东东么我想把计算出来的应力,应变,位移等数据提取出来,在其他软件里处理,请问该怎么办?我在。dat 里没有找到这些数据阿?。res 不是文本格式,其他的好像也没有啊。计算结果,没有文本格式,只能自己把数据倒出来。在显示结果的模块中,名字忘了,就是 sketch 前面那个,在 report 菜单中,可以到处自己需要的文件。文件格式是:rpt谢谢,但是这个为什么只有应力和应变呢?计算出的位移的数据怎么会没有呢?【 在 santong (supernova) 的大作中提到: 】: 计算结果,没有文本格式,只能自己把数据倒出来。: 在显示结果的模块中,名字忘了,: 就是 sketch 前面那个,: 在 report 菜单中,可以到处自己需要的文件。: 文件格式是:rpt发信人: wjytj (赖子), 信区: FEA
  28. 28. 你要在 STEP 模块 field output 和 history output 改变默认请求输出位移 U或者在*step 中加上:*NODE PRINTU计算完成后在*.DAT 文件中就可以提取节点位移。请问 field output 和 history output 什么区别?关键字*node output 和*node print 有什么区别?谢谢!我的。inp 数据文件里有这么几行:*Output, field, frequency=99999*Node OutputU, RF*Element OutputS, E, EE*Output, history, variable=PRESELECT*El Print, freq=999999*Node Print, freq=999999其中在 history output 中有*node print 关键字,但是没有指定输入 U,最后导出的数据没有 U 这一选项,请问是什么原因?【 在 wjytj (赖子) 的大作中提到: 】: 你要在 STEP 模块 field output 和 history output 改变默认: 请求输出位移 U: 或者在*step 中加上:: *NODE PRINT:U: 计算完成后在*.DAT 文件中就可以提取节点位移。发信人: Mikejwg (mikejwg), 信区: FEAfield output 和 history output 这在 viewer 模块中很明显。field output 是场量输出,history output 为历史数据输出,会记录场量随时间的曲线至于*node output 与*node print 的区别在于他们写入不同的后缀文件,比如*.odb,*.dat 等,在 help 中有详细介绍。【 在 wsun 的大作中提到: 】
  29. 29. : 请问 field output 和 history output 什么区别?: 关键字*node output 和*node print 有什么区别?谢谢!: 我的。inp 数据文件里有这么几行:: *Output, field, frequency=99999: *Node Output: U, RF: *Element Output: S, E, EE: *Output, history, variable=PRESELECT: *El Print, freq=999999: ...................发信人: wjytj (赖子), 信区: FEA然也!!补充一句:*node output 是给 CAR 或 VIEWER 做后处理用的,是二进制文件;而*node print 则是写到 DAT 文件中,你可以自己看的文本文件。【 在 Mikejwg 的大作中提到: 】: field output 和 history output 这在 viewer 模块中很明显。: field output 是场量输出,history output 为历史数据输出,会记录场量随时间的曲..: 至于*node output 与*node print 的区别在于他们写入不同的后缀文件,: 比如*.odb,*.dat 等,在 help 中有详细介绍。: 【 在 wsun 的大作中提到: 】: : 请问 field output 和 history output 什么区别?: : 关键字*node output 和*node print 有什么区别?谢谢!: : 我的。inp 数据文件里有这么几行:: : *Output, field, frequency=99999: : *Node Output: ...................发信人: octopuszy (猴哥), 信区: FEA*node output 是在 odb 文件中输出?br /> *node print 是在 dat 文件中输出【 在 Mikejwg (mikejwg) 的大作中提到: 】: field output 和 history output 这在 viewer 模块中很明显。: field output 是场量输出,history output 为历史数据输出,会记录场量随时间的曲..: 至于*node output 与*node print 的区别在于他们写入不同的后缀文件,: 比如*.odb,*.dat 等,在 help 中有详细介绍。
  30. 30. file>print>file文件类型选择:png 或 tiff【 在 Dshmy 的大作中提到: 】: 谢谢一般说可以这样理解:Δσ=ddsdde*Δε有点像我们常说的弹塑性矩阵:Dep【 在 wjytj 的大作中提到: 】: 在*USER MATERIAL 的定义中,Δσ 对 Δε 的偏倒数,即: DDSDDE 被称为:: "material stiffness matrix";: 而在 UMAT 中,DDSDDE 被称为:: "materials Jacobian matrix"。: 请问 DDSDDE 和材料的切线刚度矩阵的关系是什么?: 二者是一个概念么? 第二个【 在 octopuszy (猴哥) 的大作中提到: 】: 偶在 umat 中调用求主应力函数: CALL SPRINC(STRESS,PS,LSTR,NDI,NSHR): 后,存储主应力得数组 PS 中: 各个主应力排列顺序是什么?: PS1>PS2>PS3 ?: PS1<PS2<PS3 ?: PS1>PS3>PS2 ?: 谢谢!abaqus job=jobname parametercheckabaqus job=jobname datacheckabaqus job=jobname continue【 在 gentlewtj (gentlewtj) 的大作中提到: 】: 那有没有检查错误的方法?【 在 uptonow (到目前为止) 的大作中提到: 】: 1、在边界条件和加载时,总是有 initial 这个步,然后是我们自己定义的
  31. 31. : 加载步,请问这个 initial 步,主要作用是什么?能不能去掉?不能去掉,所有的分析都有,是默认的步: 2、A solid extrusion base feature 这句话是什么意思?: extrusion、revolution、等是什么意思?这两的是三维建模时候,在画完二维图形,如何来生成三维图形,extrusion 意思是你给定一个厚度,然后二维图形第三个方向上面伸展这么多形成三维图形revolution 意思是你给定一个旋转轴,二维图形绕其旋转后形成三维轴对称图形: 谢谢!发信人: fangxj (fxj), 信区: FEA标 题: Re: abaqus 中接触问题请教发信站: BBS 水木清华站 (Fri Jun 14 15:51:20 2002)接触问题不收敛有两个方面不妨试试:一、在*CONTACT PAIR 里调试 ADJUST 参数;二、调一些模型参数,比如 FRICTION 等。【 在 octopuszy (猴哥) 的大作中提到: 】: 偶的模型中存在两个物体的接触,计算过程中报错:: ***WARNING: OVERCLOSURE OF CONTACT SURFACES FOUNDATIONOUTSIDE and: BUCKETOUTSIDE IS TOO SEVERE -- CUTBACK WILL RESULT. YOU MAY WANT: TO CHANGE THE VALUE OF HCRIT ON THE *CONTACT PAIR OPTION.: 。。。。。。。。。。。。。。。。。。。。。。。。。: ***WARNING: CONVERGENCE JUDGED UNLIKELY. INCREMENT WILL BEATTEMPTED AGAIN: WITH A TIME INCREMENT OF 9.76563E-05: ***ERROR: TOO MANY ATTEMPTS MADE FOR THIS INCREMENT: ANALYSISTERMINATED: 不知该如何解决?standard 使用隐式作动力分析,explicit 用显式作动力分析,你该用 explicit。【 在 uptonow (到目前为止) 的大作中提到: 】: 请问这两本书有什么不同,: 我做的是圆形杯子的深冲的模拟过程,我这里只有 standard 一书: 那位有 explicit 书的大虾请留个言,我想复印,谢谢:)一般说来,你那样是正确的,如果不行,你可以在dat,log,msg 中找到中断的增量步,假如为 60,不妨可以在 res_pulse 中,
  32. 32. *restart,read,step=1,inc=59【 在 ypm (红塔山) 的大作中提到: 】: 我的一个 abaqus 程序(结构动力学,用的/standard 模块,假设名: 为 pulse.inp,一个 step, inc=1000, restart 命令的参数为: *restart, write, frequency=10),在算了一半之后人为停掉,然: 后我想从中止的地方继续运算.: 我定义一个 res_pulse.inp,其中就一个命令: *restart,read: 然后在 command 窗口,输入 abaqus job=res_pulse oldjob=pulse: 结果程序从起始点开始运算,而不是从中断的地方.请问是什么: 原因? 刚学不久,希望大侠们指点指点!thanks发信人: Mikejwg (mikejwg), 信区: FEAuptonow 一直叫我在水木清华上写一点东西,我一直忙于毕业论文,再说也是困难一个一个出现,永远有解不完的问题,就本人体会,写一点东西:在 umat 中,(我总结三点:1,求试算应力,stress=stress+De*dstran (其中:De 为弹性矩阵)2,据应力势函数(屈服函数)求解满足条件的应力,应变,在此我们要注意试算应力与真实应力的关系:sigma_true=Sigma_tri-De*dpstran: dpstran 为塑性应变增量,据此满足屈服条件,F(Sigmaij)=0,求得真实的应力更新应力 stress=stress-De*dpstran3,(与 2 联合,弹塑性区域的转换)判断是否屈服,4,组集 ddsdde(与个人的本构有关)这 4 步都要在 UMAT 实现采用上一迭代步构造 ddsdde,然后 dsigma=ddsdde*dstran 不可取,以我个人经验,收敛很慢并且敏感与步长。希望大家交流!发信人: uptonow (为什么受伤的总是我?), 信区: FEA衷心感谢 Mikejwg 大侠的该出手时,就出手! 希望 Mikejwg 大侠以后经常出手!造福于 UMAT 的万民! 【 在 Mikejwg (mikejwg) 的大作中提到: 】
  33. 33. : uptonow 一直叫我在水木清华上写一点东西,我一直忙于毕业论文,再说也是困难一?.: 出现,永远有解不完的问题,就本人体会,写一点东西:: 在 umat 中,: (我总结三点:: 1,求试算应力,stress=stress+De*dstran (其中:De 为弹性矩阵): 2,据应力势函数(屈服函数)求解满足条件的应力,应变,: 在此我们要注意试算应力与真实应力的关系:sigma_true=Sigma_tri-De*dpstran: d..: an 为塑性应变增量,据此满足屈服条件,F(Sigmaij)=0,求得真实的应力: 更新应力 stress=stress-De*dpstran: 3,(与 2 联合,弹塑性区域的转换)判断是否屈服,: 4,组集 ddsdde(与个人的本构有关): ...................发信人: wjytj (赖子), 信区: FEA精华区有一些帖子,很有帮助,大家感兴趣可以去看看【 在 Mikejwg 的大作中提到: 】: uptonow 一直叫我在水木清华上写一点东西,我一直忙于毕业论文,再说也是困难一?..: 出现,永远有解不完的问题,就本人体会,写一点东西:: 在 umat 中,: (我总结三点:: 1,求试算应力,stress=stress+De*dstran (其中:De 为弹性矩阵): 2,据应力势函数(屈服函数)求解满足条件的应力,应变,: 在此我们要注意试算应力与真实应力的关系:sigma_true=Sigma_tri-De*dpstran: d..: an 为塑性应变增量,据此满足屈服条件,F(Sigmaij)=0,求得真实的应力: 更新应力 stress=stress-De*dpstran: 3,(与 2 联合,弹塑性区域的转换)判断是否屈服,: ...................发信人: uptonow (为什么受伤的总是我?), 信区: FEA精华区的帖子太少了,还需要你补充呢!不要推辞了!:)推辞就是逃避责任呵呵,开玩笑的【 在 wjytj (赖子) 的大作中提到: 】: 精华区有一些帖子,很有帮助,大家感兴趣可以去看看发信人: edodo (大漠孤沙), 信区: FEA老哥可以挺身而出呀!哈哈!期待中!【 在 uptonow (为什么受伤的总是我?) 的大作中提到: 】: 精华区的帖子太少了,还需要你补充呢!不要推辞了!:): 推辞就是逃避责任呵呵,开玩笑的
  34. 34. 发信人: air1 (无影如风※勤奋 36 小时※永不言败), 信区: FEA我曾经犯的错误1,发现 456 方向的应变是工程应变2,全量法可以直接根据更新后的应变求应力,单独求 ddsdde 矩阵.3,ddsdde 何时更新对于收敛性很有影响.【 在 Mikejwg (mikejwg) 的大作中提到: 】: uptonow 一直叫我在水木清华上写一点东西,我一直忙于毕业论文,再说也是困难一?.: 出现,永远有解不完的问题,就本人体会,写一点东西:: 在 umat 中,: (我总结三点:: 1,求试算应力,stress=stress+De*dstran (其中:De 为弹性矩阵): 2,据应力势函数(屈服函数)求解满足条件的应力,应变,: 在此我们要注意试算应力与真实应力的关系:sigma_true=Sigma_tri-De*dpstran: d..: an 为塑性应变增量,据此满足屈服条件,F(Sigmaij)=0,求得真实的应力: 更新应力 stress=stress-De*dpstran: 3,(与 2 联合,弹塑性区域的转换)判断是否屈服,: 4,组集 ddsdde(与个人的本构有关): ...................发信人: wjytj (赖子), 信区: FEA: 1,发现 456 方向的应变是工程应变说白了,因为在 UMAT 中应变是以列向量的形式存储的,而初始刚度 DDSDDE 的形式为: λ+μ μ μ 0 0 0 μ λ+μ μ 0 0 0 μ μ λ+μ 0 0 0 000μ00 0000μ0 00000μ所以,应变是工程应变,而如果 DDSDDE 的形式为(直接用张量表示): λ+μ μ μ 0 0 0 μ λ+μ μ 0 0 0 μ μ λ+μ 0 0 0 0 0 0 2μ 0 0 0 0 0 0 2μ 0 0 0 0 0 0 2μ那么,应变就应该是应变张量中的应变了,也就是说,采用工程应变只是为了方便应用而
  35. 35. 已,比如,求弹性应变能,可以直接将应力列向量的转置乘以应变列向量,显然,这在编程中很容易实现。: 2,全量法可以直接根据更新后的应变求应力,单独求 ddsdde 矩阵.同感,应该可以减少不少工作量。: 3,ddsdde 何时更新对于收敛性很有影响.希望 air1 能够说得更详细些,比如在开始是可以采用初始刚度,在后来可以采用切线刚度,可是如何控制,编程如何实现呢?【 在 air1 的大作中提到: 】: 我曾经犯的错误: 1,发现 456 方向的应变是工程应变: 2,全量法可以直接根据更新后的应变求应力,单独求 ddsdde 矩阵.: 3,ddsdde 何时更新对于收敛性很有影响.: 【 在 Mikejwg (mikejwg) 的大作中提到: 】: : uptonow 一直叫我在水木清华上写一点东西,我一直忙于毕业论文,再说也是困难?..: : 出现,永远有解不完的问题,就本人体会,写一点东西:: : 在 umat 中,: : (我总结三点:: : 1,求试算应力,stress=stress+De*dstran (其中:De 为弹性矩阵): ...................发信人: wjytj (赖子), 信区: FEA: 2,全量法可以直接根据更新后的应变求应力,单独求 ddsdde 矩阵.在我的本构中,DDSDDE 的确定需要知道 STRESS 中的某些量,那么请问,按照你的意思和经验,在 UMAT 中是否可以先得到 STRESS(比如,利用全量法),然后再得到 DDSDDE?如果可以的话,就应该可以减少迭代求解的次数了。谢谢!!假定采用 mises 屈服准则。1 在调用 UMAT 之前,ABAQUS 传递给 UMAT 本次增量开始时的应力 sigma(0),总应变 E,应变增量 delta(E)。
  36. 36. 状态变量保存:弹性应变,塑性应变,等效塑性应变。(请问,状态变量保存的弹性应变+塑性应变是否等于 ABAQUS 传递给 UMAT 的总应变?????)2 ,然后在 UMAT 中利用上述的 ABAQUS 传递的量和状态变量得到 DDSDDE 矩阵,然后返回给ABAQUS,ABAQUS 根据 delta(sigma)=ddsdde*delta(E),并且得到本次增量结束时的应力sigma(1)=sigma(0)+delta(sigma)=sigma(0)+ddsdde*delta(E)3 然后更新本次增量结束时的状态变量:弹性应变,塑性应变,等效塑性应变以供下次调用 UMAT 请问手册上 UMAT 必须更新应力,可是根据上述我的理解好像是 ABAQUS 根据 UMAT提供的本次增量的 DDSDDE 在 ABAQUS 中更新,请问到底是怎么回事?谢谢!个人觉得,在 Abaqus 中更新应力是必须的,而且必须准确,这是你的本构的核心;DDSDDE则可以是不准确的,比如,你可以保持 DDSDDE 一直为初始刚度矩阵,当然,这样做的问题会是收敛速度较慢或者根本不收敛。在 Manual 中也说过,DDSDDE 不影响结果,前提是,只要能得到结果。与大家共同讨论。【 在 uptonow 的大作中提到: 】: 假定采用 mises 屈服准则。: 1 在调用 UMAT 之前,ABAQUS 传递给 UMAT 本次增量开始时的应力 sigma(0),总应变E,应..: 量 delta(E)。: 状态变量保存:弹性应变,塑性应变,等效塑性应变。
  37. 37. : (请问,状态变量保存的弹性应变+塑性应变是否等于 ABAQUS 传递给 UMAT 的总应变?.: ??): 2,然后在 UMAT 中利用上述的 ABAQUS 传递的量和状态变量得到 DDSDDE 矩阵,然后返回?.: ABAQUS,ABAQUS 根据 delta(sigma)=ddsdde*delta(E),并且得到本次增量结束时的应..: sigma(1)=sigma(0)+delta(sigma)=sigma(0)+ddsdde*delta(E): 3 然后更新本次增量结束时的状态变量:弹性应变,塑性应变,等效塑性应变以供下..: ...................--期盼了好久的 abaqus6.3 终于安装成功寄希望于此来成功 import 我的.igs 模型(unigraphics v18 生成的)但是,结果却不尽如人意,现将我的感受说一下:1. 6.3 在 import 进模型后,它的形状基本上与真实形状差不多,比 6.2 更像原始模型 但是,依然是 invalid geometry2. 经过 delete invalid geometry 后,它确实成了 imprecise geometry(意味着你以划分网格了),但是此时的形状已经面目全非了,删除了太多的东西了,得到的imprecise geometry 就毫无意义了3. 如果我用 automated repair,它还是 invalid geometry我现在急需把文件 import 进后来进行下一步工作,而老板出国前定的任务是 11 月底出结果我现在连模型都是个问题了急急急!!!请大侠帮忙!!!!!救救我吧!给个好的建议吧用 PATRAN 导入,生成网格后用 ABAQUS 计算试试 parasolid 的文件格式,iges 格式先天不足,尤其是表达曲面。对了俺不知道 abaqus 支持 parasolid 文件不?不过一般情况下比 igs 格式好点。State variables
  38. 38. Since the redefinition of field variables in USDFLD is local to the currentincrement (field variables are restored to the valuesinterpolated from the nodal values at the start of each increment),any history dependence required to update material properties byusing this subroutine must be introduced with user-defined state variables.The state variables can be updated in USDFLD and then passed into other usersubroutines that can be called at this material point,such as those listed above. The number of such state variables isspecified with the *DEPVAR option...要引入材料的非线性,需要 usdfld;而要引入历史相关,就得要靠 statev 帮忙了!(我的理解不全面,可以自己参考 manual 中的这一段.版主 g 上吧,我以后忘了看文摘区就行了感谢!现在弄明白了,原来我的文件里多了几行空行,没想到 abaqus 的 inp 文件不允许有空行的。感谢 wjytj 的帮助!刚开始用 abaqus,太弱了。【 在 wjytj 的大作中提到: 】: :*NGEN: :1,111,11: :11,121,11: **此时,12,22,23……110 节点并未生成,所以生成 12,22 以后的节点是没有意义?..: 看看这样行否?: *NODE: 1,0,10: 11,10,10: 111,0,0: 121,10,0: ...................: solution-dependent variable
  39. 39. 从字面上理解,即为“与解答有关的变量”,它的值与每一增量结束时的变量有关,常用于 UMAT 中,即 SDV,可以由*DEPDV 来定义其个数。: time-dependent variable从字面上理解,即为“与时间有关的变量”,常用于定义随时间变化的量如地震荷载等,,可以由*APPLITUDE 来定义。【 在 octopuszy 的大作中提到: 】: solution-dependent variable: time-dependent variable: 这两种变量有什么差别?: 谢谢!【 在 octopuszy 的大作中提到: 】: UFIELD 和 USDFLD 定义的场量有什么不同: 另外 solution-dependent variable: 和 time-dependent variable: 有什么不同?: 谢谢!标 题: 给大家几点关于 UMAT 的建议!今天 UMAT 调试通过,非常高兴!!就我的经验来说,给大家几点建议:1、UMAT 一般应该适合各种应力状态,也就是无论 NDI=2 或 3都应该适用;2、UMAT 中应力和应变列向量的存储方式(下标)是:11,22,33,12,13,23,而不是 11,22,33,12,23,31;3、ABAQUS 第一次计算中传递给 UMAT 的应变 STRAN 和应变增量DSTRAN 的值均为零(因为需要得到 DDSDDE),此时 UMAT 中的应力也应该为零,所以,UMAT 中分母有可能为零,这种情况应该注意!!(我就是这样陷在里面好几天)
  40. 40. 17.请问怎么实现双曲线 subroutine fric(lm,tau,ddtddg,ddtddp,dslip,sed,spd, 1 ddtddt,pnewdt,statev,dgam,taulm,press,dpress,ddpddh, 2 slip,kstep,kinc,time,dtime,noel,ciname,slname, 3 msname,npt,node,npatch,coords,rcoord,drot,temp, 4 predef,nfdir,mcrd,npred,nstatv,chrlngth,props,nprops)c include aba_param.incc character*80 ciname,slname,msname dimension tau(nfdir),ddtddg(nfdir,nfdir),ddtddp(nfdir), 1 dslip(nfdir),ddtddt(nfdir,2),statev(*), 2 dgam(nfdir),taulm(nfdir),slip(nfdir),time(2), 3 coords(mcrd),rcoord(mcrd),drot(2,2),temp(2), 4 predef(2,*),props(nprops)c parameter(zero=0.0D0,two=2.0D0)c if (lm .eq. 2) returnc a=props(1) b=props(2)c lm=0 tau(1)=dslip(1)/(a+b*dslip(1)) tau(2)=dslip(2)/(a+b*dslip(2)) ddtddg(1,1)=tau(1)/slip(1) ddtddg(2,2)=tau(2)/slip(2) ddtddg(1,2)=zero ddtddg(2,1)=zero dslip(1)=dgam(1) dslip(2)=dgam(2) return end
  41. 41. 18.取消坐标系等的显示CAE 进行后处理画的等值线图挺不错,只是如果通过 Print to File 得到的图形质量很差,远远不如屏幕截图的效果。但通过屏幕截图也有个问题,就是坐标系——特别是有关 ODB 中当前 step,increment 等不需要的信息也一起给截来了。请问如何关闭这些信息?Module Visualization-Canvas-Viewport Annotation Options19.如何在计算中修改材料特性If you like to use USDFLD, in the subroutine, you can get step number and just use a if todetermine the field variable value due to the step number. Say, step 1 is 1 and step 2 field variable become 2. In the material definition, just define material properties as a function of your field variables. Here I use elastic as example. Im not sure about the grammar since I do not have manual at hand. You need to check them. something like this:*elastic, dependencies2e5,0.3,,11e5,0.3,,2Here I assume your material does not have any temperature dependency and you need to makesure field variable is the 4th value. Then, in step 1, you have 2e5 as Youngs modulus and in stepyou have 1e5.yogayoga,我还是有问题,我修改材料特性后,计算不收敛。请您帮我看看。在 inp 文件中,按你讲的使用了下面语句定义材料特性:*elastic, dependencies=115e7,0.3,,12e10,0.2,,2然后采用 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)
  42. 42. C INCLUDE ABA_PARAM.INCC CHARACTER*80 CMNAME,ORNAME CHARACTER*3 FLGRAY(15) DIMENSION FIELD(NFIELD),STATEV(NSTATV),DIRECT(3,3), 1 T(3,3),TIME(2) DIMENSION ARRAY(15),JARRAY(15),JMAC(*),JMATYP(*),COORD(*)cc FIELD(1)=time(2)c print*,field(1)cc RETURN ENDFirst, if you want a sudden change, you can not use total time. Abaqus will linearly interpolateall the value. If thats what you want, OK. If you want a sudden change at step two, use kstep instead.Second, consider the real physical situation: you got equilibrium before you changed material properties. After you changed material properties, you naturally lose it. Stress need to be redistributed and changed to get force balance. This is the reason for non convergence.You have several way to deal with it: if you have static problem and rate effect is minimal, you can keep the bc and let the model balance itself. The other way is to decrease the incrementlength. You can also try damping (you can just apply stabilize directly) or adding someviscoplasticor plastic effect. Dynamic analysis will also help to do the trick. Basicly, the method normally you deal with unstable problem.改变材料的参数甚至模型,可以通过以下的办法:(1)在不同的分析之间传递结果细节请见:ABAQUS Analysis Users Manual /7.7.1 Transferring results between ABAQUSanalysis products: overview该方法的主要缺点就是建立模型时不能使用多个 parts 或 assembly。但在某些情况下非常方便,如想在第一步变形的基础上做后续分析。(2)使用场变量,然后定义材料时指明参数依赖于该变量如果场变量(不一定要有物理意义)很明确,比如目前讨论的问题,可以定义一个变量,在step1 的时候为 1.,step2 为 2.(可以随便定义了):*STEP,name=step1
  43. 43. *STATIC......*FIELD, VARIABLE=1NALL, 1.*END STEP*STEP,name=step2*STATIC......*FIELD, VARIABLE=1NALL, 2.*END STEPNALL 是包含所有节点的集合,可以根据需要改变成欲改变参数的节点集。然后再定义材料时,指明某个参数依赖于该场变量:*MATERIAL*ELASTIC, DEPENDENCIES=1200.E9, 0.3, , 1.180.E9, 0.3, , 2.这样计算到 step1 时,所有节点的场变量 1 为 1.0,abaqus 由此查表确定模量为 200.E9,到step2,因为场变量变为 2.,所以模量为 180.E9。如果场变量连续变化或依赖于其他计算结果,如温度,应变等,可以使用 USDFLD 子程序(25.2.38USDFLDUser subroutine to redefine field variables at a material point.)来连续改变该变量。在定义材料时同样只需要指定一个参数随该变量变化的表 ,ABAQUS 在计算时自动插值计算材料参数。对你的情况,不需要使用该子程序。If you like to use USDFLD, in the subroutine, you can get step number and just use a ifto determine the field variable value due to the step number. Say, step 1 is 1 and step2 field variable become 2. In the material definition, just define material propertiesas a function of your field variables. Here I use elastic as example. Im not sure about the grammar since I do not have manual at hand. You need to check them. something likethis:*elastic, dependencies2e5,0.3,,11e5,0.3,,2Here I assume your material does not have any temperature dependency and you need to makesure field variable is the 4th value. Then, in step 1, you have 2e5 as Youngs modulus
  44. 44. and in step you have 1e5.20.输出计算过程中的总质量和总刚度矩阵element matrix output,elset,file name=user defined,MASS=YES,OUTPUT FILE=USERDEFINED21.先张预应力:先张预应力:INITIAL CONDITIONS, TYPE=STRESS, REBAR22.用户子程序的使用假设你的输入文件为a.inpb.for那么在 ABAQUS command 中的命令应该是这样的:abaqus job=a user=b对于 abaqus64pr11,command 中输入:abq64pr11 job=a user=b就可以了。当然首先你要用 cd 命令进入 输入文件 所在的当前文件目录。强烈建议使用 command 来操作。子程序文件名后缀应为 .for,而不是 .f
  45. 45. 23.怎样设定用双 CPU 机器进行 ABAQUS 计算try ABAQUS j=your-job CPUS=2你是什么操作系统系统。我只试过 2000 和 xp。在上述系统下 abaqus 仅支持 domain 并行计算。CMD 为abaqus job=? parallel=domains domains=2 cpus=2直接用 CPUS=2 不行的说。不过 6.41 我没试过。如果直接用 abaqus job=?此时看任务管理器,应该 2 个 cpu 都是 50%在跑:explicite。我没试过 stantard 下会如何。如果在 xp 下,单击进程名 explicite,然后右键。可找到选项分配 cpu。可以指定进程在那一个下跑或同时在两个上跑。还可以指定优先级。如果同时算两道题,可选一个进城为低于标准。这样还能干别的事。如果只是上网、下载就用默认就行了。我是 2 X xp 1800+的机器。24.中途停止正在运算的 JOBIf you run Abaqus with interactive mode, you can use Ctrl+C to kill it.If you run in backgroud, you can use:abaqus suspend job=jobname to suspend your job;abaqus resume job=jobname to resume your suspended job;abaqus terminate job=jobname to terminate your job.
  46. 46. 25.自适应网格技术一个模板:*HEADING...*ELEMENT, TYPE=..., ELSET=ACOUSTICData lines to define acoustic elements*ELEMENT, TYPE=..., ELSET=SOLIDData lines to define structural elements*SURFACE, NAME=TIE_ACOUSTICData lines to define the acoustic surface interface with the structural mesh*SURFACE, NAME=TIE_SOLIDData lines to define the solid surface interface with the acoustic mesh*TIE, NAME=COUPLINGTIE_ACOUSTIC, TIE_SOLID...*STEP*STATIC*ADAPTIVE MESH, ELSET=ACOUSTIC, MESH SWEEP=10...*END STEP***STEP*STEADY STATE DYNAMICS, DIRECT...*END STEP26.abaqus 计算与内存求解器会估算内存使用量,ABAQUS 计算时估算的是物理内存加上硬盘共享内存,如果所需超出二者之和,就停止计算。 如果一次物理内存装不下,就先放在硬盘内存区上,然后逐步读入物理内存,这就是为啥物理内存扩大后,解算精度可以提高的原因了。 同时隐式不能超过 3G,显式不能超过 2G ,就像增量步不能超过 1000000 步一样。(硬软件决定的,不可能无限的)而且,显示、 隐式对 CPU 和内存的要求不同,这要看你算的问题的类型了。 对于同一个算题,隐式计算,CPU 的作用没有内存大,就是说 CPU 的数量和快慢没有内存的改变对计算时间的影响大。而显式则不同, CPU 的个数和速度对计算时间有很大的影响。
  47. 47. abaqus 内 存 调 整
  48. 48. 如 果 你 的 内 存 比 较 小 , 可 以 在 这 里 调 整 下1,edit job 对话框中点击 memory 然后把里面的内存值设为比你现有的内存稍大些,至于memory policy 可 以 选 moderate 或 者 maximum2,可以将虚拟内存调大或者直接固定虚拟内存大小, 还可以在 abaqus_v6.env 这个文件里面修改(ABAQUS6.5-1site)27.质量缩放 ABAQUS Analysis User’s Manual 11.7.1概要准静态分析或某些动态分析中,少数尺寸较小的单元控制稳态时间增量,为提高计算效率 ,ABAQUS/Explicit 常采用质量缩放的方法。质量缩放可用于:  缩放整个模型,单个单元或单元组的质量  多步分析中,缩放每个分析步中的质量  分析步起始或整个过程中进行质量缩放质量比例缩放可通过以下方式执行:  采用给定的常数因子对特定单元进行质量缩放  对所有指定的单元采用相同比例因子进行质量缩放,使单元组内任意单元的最小稳 态时间增量等于用户给定的时间增量  仅对单元组内稳态时间增量小于用户给定时间增量的单元进行质量缩放,使这些单 元的稳态时间增量等于用户给定的时间增量  缩放所有指定单元的质量,使每个单元的稳态时间增量等于用户给定的时间增量  对于金属成形分析,基于网格的几何形状和初始条件,自动进行质量缩放简介
  49. 49. 显示动态过程常用于解决以下两类问题:瞬时动态响应计算和含复杂非线性效应(最常见的是复杂的接触条件)的准静态模拟。由于求解动态方程时采用了显示中心差分法,平衡方程中离散的质量矩阵对计算效率和精度都起到了关键性的影响。如果恰当地运用质量缩放方法,可以在保证计算精度的情况下,大大提高计算效率。然而,最适合于准静态模拟的质量缩放技术与动态分析中必须采用的质量缩放方法存在很大差异。准静态分析对于应变率无关材料的准静态分析,自然时间并不重要。为节省计算时间,有效的办法是有两种:减少分析的时间步长或人为地增加模型的质量(质量缩放)。对于率无关材料,这两种方法产生的效果相同;但如果模型中含有率相关材料,首选质量缩放方法,因为该方法保留了自然时间。准静态分析的质量缩放方法通常用于整个模型上执行。然而,当模型各部分的刚度和质量不同时,常选中模型的某部分进行质量缩放或对每部分分别进行缩放。任何情况下,都没有必要减小模型质量的实际值,并且随意地增加质量通常都会影响到计算精度。对于大多数准静态问题,一定程度的质量缩放可以增加 ABAQUS/Explicit 时间增量,从而减小计算时间。然而,必须保证质量的改变和随之增加的惯性力对计算结果没有显著影响。诚然,修改材料密度也可以达到质量缩放的效果,但本节描述的方法灵活性更大,特别是在多步分析中。有关准静态过程中质量缩放的讨论,可参看 ” Rolling of thick plates,” Section 1.3.6 of theABAQUS Example Problems Manual动态分析动态分析中,自然时间度量非常重要,为了获得瞬态响应,必须精确地表示模型的实际质量和惯性。然而,许多复杂的动态模型包含了一些尺寸极小的单元,使显示动态分析采用很小的时间增量。这些小尺寸单元通常是在生成复杂网格时形成的。通过在分析步起始时对这些控制单元的质量进行缩放,可以显著地增加稳态时间增量,而对整个模型的动态行为的影响可以忽略不计。
  50. 50. 对真正的动态问题,只能对少数单元进行质量缩放,并且不允许明显地增加整个模型的质量,否则会降低动态结果的精度。有关动态分析中采用质量缩放的讨论,可参看“Impact of a copper rod,” Section 1.3.10 of theABAQUS Benchmarks Manual,稳态时间增量本节中,“单元稳态时间增量”是指单个单元的稳态时间增量;“单元-单元稳态时间增量”是指某个单元组内单元稳态时间增量的最小值;“稳态时间增量”是指整个模型的稳态时间增量。模型中引入质量缩放显示动态分析中有两种质量缩放方法:定比例质量缩放和变比例质量缩放。两种方法可以分开使用,也可以结合起来使用。质量缩放可用于整个模型,也可以用在单元组上。定比例质量缩放定比例缩放方法是对组装成全局节点质量阵的单元质量进行缩放,该方法在分析步起始时执行。缩放后的质量阵接着用于该分析步的每个增量步,除非同时采用了变比例缩放。如果接下来的分析步中没有重新定义质量缩放,定比例缩放方法将延续下去。定比例缩放的两种基本方法:直接定义质量缩放因子,或者用户定义最小的稳态时间增量 ,由显示动态分析过程来确定质量缩放因子。定比例缩放方法简单,在分析步起始时修改准静态模型的质量,或修改动态模型少数单元的质量,使它们不控制稳态时间增量的大小。由于只在分析步起始时执行一次质量缩放,因此该方法的计算效率很高。Input File Usage: *FIXED MASS SCALINGABAQUS/CAE Usage: Step module: Create Step: General, Dynamic, Explicit or Dynamic, Temp-disp, Explicit: Mass scaling: Use scaling definitions below: Create: Semi-automatic mass scaling, Scale: At beginning of step
  51. 51. 变比例质量缩放在分析步中变比例缩放方法同期性地缩放单元质量。当采用此类型的质量缩放方法时,需定义最小的稳态时间增量:质量缩放比例因子自动计算,并按要求施加到单元上。当分析步中控制稳态时间增量的刚度变化剧烈时,变比例缩放非常有用。准静态体积成形分析和单元压缩量很大的动态分析中常会出现这样的情形。Input File Usage: *VARIABLE MASS SCALINGABAQUS/CAE Usage: Step module: Create Step: General, Dynamic, Explicit or Dynamic, Temp-disp, Explicit: Mass scaling: Use scaling definitions below: Create: Semi-automatic mass scaling, Scale: Throughout step直接定义质量缩放因子对于动能必须保持很小的准静态分析中,直接定义质量缩放因子很有用。用户可以对指定单元组内的所有单元定义一个固定的质量缩放因子。这些单元的质量在分析步开始时被缩放将在整个分析步中保持不变,除非通过变比例质量因子进一步修改质量。Input File Usage: *FIXED MASS SCALING, FACTOR=scale_factor 例如,将单元组内的单元质量放大 10 倍 *FIXED MASS SCALING, FACTOR=10., ELSET=elsetABAQUS/CAE Usage: Step module: Create Step: General, Dynamic, Explicit or Dynamic, Temp-disp, Explicit: Mass scaling: Use scaling definitions below: Create: Semi-automatic mass scaling, Scale: At beginning of step, Scale by factor: scale_factor定义理想的单元-单元稳态时间增量对于定比例或变比例质量缩放方法,用户可以对单元组定义单元-单元稳定时间增量 。ABAQUS/Explicit 将确定必要的质量缩放因子。定义单元-单元稳态时间增量时,有三种互斥的质量缩放方法可供选择。下面对各种方法进行详细阐述。为了确定各增量步的稳态时间增量, ABAQUS/Explicit 首先以单元-单元为基础确定最小的稳态时间增量。然后,根据模型的最高频率用全局估计的算法确定稳态时间增量。选用两种估计值中较大者作为稳态时间增量。一般来说,全局估计器确定的稳态时间增量大于单元-单元估计器确定的值。当采用定比例或变比例质量缩放方法,并且对单元组指定单元-单元稳态时间增量时,直接影响到单元-单元稳态时间增量的估计值。如果模型中所有单元采
  52. 52. 用单一的质量缩放定义,则单元-单元估计值将等于单元-单元稳态时间增量给定值,除非采用了罚方法强加接触约束。罚接触会导致单元-单元估计值比单元-单元稳态时间增量值的给定值略小。由于使用了全局估计器,实际使用的稳态时间增量值可能大于单元-单元稳态时间增量给定值。如果仅对模型的一部分执行质量缩放,没有经过质量缩放的单元,它们的单元稳态时间增量可能小于单元-单元稳态时间增量的给定值,这些单元将控制单元-单元稳态时间增量的估计值。结果,仅对部分模型进行质量缩放时,时间增量通常都不等于单元-单元稳态时间增量。如果显示动态分析步的定比例时间增量尺度是以初始的单元-单元稳态极限为基础或者直接指定的,将按 6.6.3 节描述的规则计算使用的时间增量。均匀缩放质量对于要求模型的动能保持很小的准静态分析,均匀缩放质量很有用。这种方法与直接指定比例因子相似。两种情况下,所有单元的质量都统一地根据单一比例因子进行缩放。然而,用均匀质量缩放方法,质量缩放因子由 ABAQUS/Explicit 确定,而不是由用户指定。对所有单元施加均匀的、相同的质量缩放因子,使得这些单元中的最小稳态时间增量等于单元-单元时间增量的给定值,dt。Input File Usage: Use either of the following options: *FIXED MASS SCALING, TYPE=UNIFORM, DT=dt *VARIABLE MASS SCALING, TYPE=UNIFORM, DT=dtABAQUS/CAE Usage: Step module: Create Step: General, Dynamic, Explicit or Dynamic, Temp-disp, Explicit: Mass scaling: Use scaling definitions below: Create: Semi-automatic mass scaling, Scale: At beginning of step or Throughout step, Scale to target time increment of: dt, Scale element mass: Uniformly to satisfy target仅对单元稳态时间增量低于给定值的单元进行质量缩放仅缩放单元稳态时间增量低于给定值的单元,适用于准静态分析和动态分析。对于增加关键单元的稳态时间增量非常有用。分析步开始时网格包含了控制稳态时间增量的小单元时,采用定比例的方式缩放这些单元的质量,并且以理想的时间增量开始分析。只增加控制单元的质量意味着可显著提高稳态时间增量,但对整个模型的影响可以忽略不计。
  53. 53. 对于累积变形产生一定数量的小单元的分析过程,采用变比例的方式对这些单元进行质量缩放,从而限制稳态时间增量的下降。Input File Usage: Use either of the following options: *FIXED MASS SCALING, TYPE=BELOW MIN, DT=dt *VARIABLE MASS SCALING, TYPE=BELOW MIN, DT=dtABAQUS/CAE Usage: Step module: Create Step: General, Dynamic, Explicit or Dynamic, Temp-disp, Explicit: Mass scaling: Use scaling definitions below: Create: Semi-automatic mass scaling, Scale: At beginning of step or Throughout step, Scale to target time increment of: dt, Scale element mass: If below minimum target通过质量缩放使所有单元具有相等的单元稳态时间增量对所有单元进行质量缩放,致使它们具有相同的稳态时间增量,有效地影响到模型的特征频谱。由于会引起质量属性的剧烈变化,所以这种方法只适用于准静态分析。并且它意味着某些单元的比例缩放因子可能会小于 1。Input File Usage: Use either of the following options: *FIXED MASS SCALING, TYPE=SET EQUAL DT, DT=dt *VARIABLE MASS SCALING, TYPE=SET EQUAL DT, DT=dtABAQUS/CAE Usage: Step module: Create Step: General, Dynamic, Explicit or Dynamic, Temp-disp, Explicit: Mass scaling: Use scaling definitions below: Create: Semi-automatic mass scaling, Scale: At beginning of step or Throughout step, Scale to target time increment of: dt, Scale element mass: Nonuniformly to equal target全局质量缩放和局部质量缩放对单元组指定定比例或变比例的质量缩放,用于对模型的局部区域进行质量缩放。对于指定的单元组,重复定义质量缩放方法时,局部定义将覆盖全局定义。Input File Usage: Use either of the following options: *FIXED MASS SCALING, ELSET=elset *VARIABLE MASS SCALING, ELSET=elsetABAQUS/CAE Usage: Step module: Create Step: General, Dynamic, Explicit or Dynamic, Temp-disp, Explicit: Mass scaling: Use scaling definitions below: Create: Semi-automatic mass scaling, Scale: At beginning of step or Throughout step, Region: Set: elset分析步开始时进行质量缩放
  54. 54. 定比例质量缩放仅用在分析步开始时指定质量缩放比例,并且通常缩放原始单元的质量。直接定义缩放因子时,用给定的缩放因子进行质量缩放。如果指定单元-单元稳态时间增量dt,基于该值进行质量缩放。如果缩放因子和单元-单元稳态时间增量都指定,首先用质量缩放因子进行缩放,再依据单元-单元稳态时间增量和所选的定比例缩放类型,决定是否再进行缩放。局部的质量缩放针对特定的单元组定义。如果没有指定单元组,将对模型中所有单元采用定比例质量缩放。每个单元组只允许使用一个定比例质量缩放。多个定比例缩放包含的单元组不能有重叠部分。对指定单元组定义的局部质量缩放会覆盖全局质量缩放。Input File Usage: *FIXED MASS SCALING, FACTOR=factor, DT=dt, TYPE=type, ELSET=elsetABAQUS/CAE Usage: Step module: Create Step: General, Dynamic, Explicit or Dynamic, Temp-disp, Explicit: Mass scaling: Use scaling definitions below: Create: Semi-automatic mass scaling, Scale: At beginning of step, Scale by factor: factor, Scale to target time increment of: dt例:对某个准静态分析过程,对模型的所有单元,定义质量缩放因子为 50.0。而且,假定定义了该缩放因子后,少数极小的或形状极差的单元仍影响稳态时间增量,使之小于理想值。为了进一步加大稳态时间增量,用以下选项:*FIXED MASS SCALING, FACTOR=50., TYPE=BELOW MIN, DT=.5E-6指定的缩放因子使模型中所有单元的质量放大 50 倍。如果质量放大 50 倍之后,仍有单元的稳定时间增量小于 0.5*10E-6,这些单元的质量将进一步放在,使得单元的稳态时间增量等于 0.5*10E-6.分析步中进行质量缩放指定单元-单元稳态时间增量的变比例质量缩放方法,可用于分析步起始和整个分析步内。同时,必须指定频率或间隔数,用来定义质量缩放执行的频繁程度。不进行质量缩放的增量步中,使用的时间增量一般都不同于单元-单元稳态时间增量的给定值。可以对特定的单元组定义局部质量缩放,并且每组单元只能定义一次。如果没有定义单元组,
  55. 55. 将针对所有单元进行变比例缩放。多个变比例质量缩放所涵盖的单元组不能重叠。局部质量缩放覆盖全局质量缩放。Input File Usage: *VARIABLE MASS SCALING, DT=dt, TYPE=type, ELSET=elsetABAQUS/CAE Usage: Step module: Create Step: General, Dynamic, Explicit or Dynamic, Temp-disp, Explicit: Mass scaling: Use scaling definitions below: Create: Semi-automatic mass scaling, Scale: Throughout step, Scale to target time increment of: dt等增量步间隔进行质量缩放用户可以指定两次质量缩放之间的增量步数。例如,指定频率为 5,表示执行质量缩放的时刻分别为分析步开始、 5、 10、 15 个增量步。 第 第 第 值得注意的是,选择过小的频率会会增加计算时间。Input File Usage: *VARIABLE MASS SCALING, TYPE=type, DT=dt, FREQUENCY=nABAQUS/CAE Usage: Step module: Create Step: General, Dynamic, Explicit or Dynamic, Temp-disp, Explicit: Mass scaling: Use scaling definitions below: Create: Semi-automatic mass scaling, Scale: Throughout step, Scale to target time increment of: dt, Scale: Every n increments等时间间隔进行质量缩放另外,可以指定执行质量缩放的时间间隔。例如,对历时 1.0 秒的分析步指定时间间隔为5,表示执行质量缩放的时刻分别为分析步开始、0.2 秒、0.4 秒……、1.0 秒。Input File Usage: *VARIABLE MASS SCALING, TYPE=type, DT=dt, NUMBER INTERVAL=nABAQUS/CAE Usage: Step module: Create Step: General, Dynamic, Explicit or Dynamic, Temp-disp, Explicit: Mass scaling: Use scaling definitions below: Create: Semi-automatic mass scaling, Scale: Throughout step, Scale to target time increment of: dt, Scale: At n equal intervals分析步的开始和过程中采用不同的质量缩放对于有些情况,理想的做法是在分析步之初采用一种质量缩放方法,而分析过程中进行修改。
  56. 56. Input File Usage: 采用以下两个选项: *FIXED MASS SCALING, FACTOR=factor, TYPE=type, DT=dt_init *VARIABLE MASS SCALING, TYPE=type, DT=dt_min, FREQUENCY=n or NUMBER INTERVAL=nABAQUS/CAE Usage: Step module: Create Step: General, Dynamic, Explicit or Dynamic, Temp-disp, Explicit: Mass scaling: Use scaling definitions below: Create: Semi-automatic mass scaling, Scale: At beginning of step Semi-automatic mass scaling, Scale: Throughout step举例动态冲击分析中,网格中存在少数尺寸极小或形状极差的单元,这些单元控制了稳态时间增量。分析步之初,可对这些单元进行质量缩放。此外,冲击导致部分区域内的网格发生严重扭曲。稳态时间增量可能受冲击区内的单元控制。实质上,冲击区内的单元相对于刚性表面是稳态的,选择性地使用质量缩放方法可以保证整个动态响应不受影响。用指定的时间增量对这些单元进行质量缩放,可以有效地地减少计算时间。例如,采用定比例质量缩放,指定模型中所有单元的稳态时间增量下限值为 1.0E-6。此外,采用变比例质量缩放,指定冲击区单元(elset1)的稳态时间下限值为 0.5E-6。这样,分析步开始时,检查所有单元,如果单元的稳态时间增量小于 1.0E-6,分别对这些单元进行质量缩放,使之达到 1.0E-6。除单元组 elset1 之外,所有单元在随后的分析过程中保持该质量缩放。在分析步中,变比例缩放影响单元组 elset1,使其稳态时间增量不小于 0.5E-6。由于分析过程中只对单元组 elset1 进行了质量缩放,可能会出现整个模型的稳态时间增量小于 0.5E-6的情况。多分析步中的质量缩放从一个分析步转到另一个分析步,质量缩放可以保留,也可以删除,已经缩放过的单元质量也可以重新初始化。跨分析步应用质量缩放方法,应遵循以下规则:
  57. 57.  如果新分析步中没有重新定义变比例质量缩放方法,前一步定义的变比例质量缩放 自动保留。  如果新分析步中没有重新定义定比例质量缩放方法,前一步分析结束时,无论单元 的质量是否经过缩放,都将保留下来。多步分析中,除了第一步之外,分析步开始时由于使用了质量缩放,单元质量变化较大,可能会影响到质量的计算精度。当单元质量变化较大时,建议新分析步开始时,先用定比例缩放的方法把单元质量重新初始化(使之回到原始值),然后再定义必要的质量缩放方法。删除质量缩放在当前分析步中定义变比例缩放方法,将删除前一步中所有的变比例缩放。因此,为了将保留前一步中的变比例缩放,当前分析步中应重新对其进行定义。Input File Usage: *VARIABLE MASS SCALINGABAQUS/CAE Usage: Step module: Create Step: General, Dynamic, Explicit or Dynamic, Temp-disp, Explicit: Mass scaling: Use scaling definitions below: Create: Semi-automatic mass scaling, Scale: Throughout step举例假定在准静态分析的第一步,单元经历变形导致稳态时间增量急剧下降。此外,假定第二步的变形对稳态时间没有明显影响。*VARIABLE MASS SCALING, TYPE=BELOW MIN, DT=1.E-5, FREQUENCY=10*VARIABLE MASS SCALING第一步,定义每 10 个增量步对模型中所有单元进行一次质量缩放,单元-单元稳态时间增量为 1 × 10–5。第二步,没有进一步采用质量缩放,沿用第一步经过缩放后的单元质量。重新初始化对于第一个分析步之外的其他分析步,默认采用定比例缩放重新初始化单元质量,使之回到原始值。这样,定比例质量缩放可用于防止缩放后的质量用于新的分析步。这种方法适用于从准静态分析步(需要进行质量缩放)转到动态分析步(无需进行质量缩放)。当缩放新分析步中的质量时,可以指定合适的比例因子,或者指定合适的单元-单元稳态时间增量和缩放类型。当仅对部分单元进行质量缩放时,需定义单元组。
  58. 58. Input File Usage: Use the following option to reinitialize the mass of the entire model to its original value for a new step: *FIXED MASS SCALINGABAQUS/CAE Usage: Step module: Create Step: General, Dynamic, Explicit or Dynamic, Temp-disp, Explicit: Mass scaling: Use scaling definitions below: Create: Reinitialize mass举例假定某个分析过程依次包括准静态分析和动态分析两步。在准静态分析步中执行质量缩放,在动态分析步中关闭该功能。*FIXED MASS SCALING, TYPE=BELOW MIN, DT=1.E-5*FIXED MASS SCALING第一个分析步中,定义分析步开始时整个模型的单元-单元稳态时间增量为 1.0 × 10–5.第二步中采用定比例缩放的方法将质量矩阵重新初始化。质量缩放适用场合质量缩放不会影响下列项目:  热-力耦合中的热响应结果  重力载荷,粘滞压力载荷  绝热分析  材料的状态方程  流体单元和流体连接器单元  弹簧和阻尼器单元与以上项目相关的密度保持不变。质量元、旋转惯量元、无限体和刚性单元也可以进行质量缩放。然而,由于没有这些单元没有稳态时间增量,所以它们只能通过两种方式进行质量缩放,一种是用户指定比例缩放因子,另一种是施加非均匀的单元-单元稳态时间增量。如果采用后者,则至少有一个单元是有稳态时间增量的。壳和梁的旋转惯性元就是基于质量缩放。
  59. 59. 无限元可进行质量缩放,但是,与变形体相邻的单元密度必须进行相同比例的缩放,否则边界不安定。金属辊轧成形分析中的自动质量缩放金属辊轧成形通常是准静态过程,但常采用 ABAQUS/Explicit 进行模拟。为了使求解过程省时,常人为增加产品质量。然而,必须优选质量缩放因子,使质量变化和对应的惯性力的变化不明显改变计算结果。比例因子选择过高会产生非准静态解。选择过低的比例因子,会导致运行时间过长。“辊轧变比例质量缩放”这一选项可以自动优先该过程的比例因子。自动策略的基础是半自动方法,缩放所有的单元质量使它们具有相等的稳态时间增量。该方法从辊轧过程的几个参数自动计算合适的稳态时间增量目标值。该目标值, ,由以下几个参数确定:辊轧方向单元的平均长度 ,和送料速率 V,以及产品截面上节点的个数 n。送料速率是辊轧过程中稳态情况下的平均速度。分析过程中调整目标值 ,使它与实际的送料速率相匹配。因此,用户必须指定平均速度的估计值,辊轧方向上单元的平均长度和截面节点的个数。任何单元的质量都不得小于原始质量。这一点与等单元稳态时间增量的质量缩放方法有所不同。该强制条件意味着,把有惯性效果显著的辊轧问题当作准静态问题分析时,不自动调整单元质量。为了获得好的计算结果,建议:采用二维截面拉伸的方法进行网格划分辊轧方向上单元长度变化尽可能小初始的送料速率尽可能接近稳态送料速率横截面上的单元尺寸尽小于或等于辊轧方向的单元尺寸除了辊轧自动变比例质量缩放之外,没有其它的质量缩放方法Input File Usage: *VARIABLE MASS SCALING, ELSET=elset1, FREQUENCY=n, TYPE=ROLLING, FEED RATE=V, EXTRUDED LENGTH= , CROSS SECTION NODES=n
  60. 60. ABAQUS/CAE Usage: Step module: Create Step: General, Dynamic, Explicit or Dynamic, Temp-disp, Explicit: Mass scaling: Use scaling definitions below: Create: Automatic mass scaling, Feed rate: V, Extruded element length: , Nodes in cross section: n28.ABAQUS 多处理器进行并行计算的效果研究环境:ABAQUS6.3+8 IntelXeon 700MHz CPU+4G Ram+Win2k AdvServer SP3在命令行模式下,abaqus 命令的下面三个参数进行并行计算的控制:[cpus=number-of-cpus][parallel={loop | domain | supernode | tree}][domains=number-of-domains]ABAQUS/Explicit:parallel 参数可选 domain,loopdomain 进行拓扑域并行,loop 进行循环级并行(默认)但在 NT 系统下,不支持 loop 参数cpus 数要可以整除 domains 数,也就是一个 cpu 可以进行多个 domain 的计算以 Getting Started with ABAQUS/Explicit6.5 Example: circuit board drop testcircuit.inp 分析为例(standard_memory = "256 Mb")1cpu:abaqus job=circuit intcup 利用率 100%,运行时间 506s2cpu:
  61. 61. abaqus job=circuit parallel=domain domains=4 cpus=2 int每个 cup 利用率接近 100%,运行时间 402s4cpu:abaqus job=circuit parallel=domain domains=4 cpus=4 int每个 cup 利用率为 80%左右,运行时间 297s8cpu:abaqus job=circuit parallel=domain domains=8 cpus=8 int每个 cup 利用率为 40%左右,运行时间 364sABAQUS/Standard:parallel 参数可选 supernode,treesupernode(默认)对单波前进行并行处理,tree 对多波前同时进行并行处理domains 参数无效对于线性方程并有稀疏刚度矩阵的模型并行计算有效以 ABAQUS Release Notes2.7 Parallel sparse solvert1-std.inp 分析为例(standard_memory = "1000 Mb")1cpu:abaqus j=t1-std intcup 利用率为 70%左右,运行时间 390s4cpu (supernode):abaqus j=t1-std parallel=supernode cpus=4 int所有系统 cpu 均被使用,每个 cpu 利用率运行过程中不断大幅变化,运行时间 454s4cpu (tree):abaqus j=t1-std parallel=tree cpus=4 int所有系统 cpu 均被使用,每个 cpu 利用率运行过程中不断大幅变化,运行时间 352s8cpu (supernode):abaqus j=t1-std parallel=supernode cpus=8 int每个 cpu 利用率接近 100%,运行 40 多分钟后还无法结束8cpu (tree):abaqus j=t1-std parallel=tree cpus=8 int每个 cpu 利用率接近 90%,运行时间 545s结论:多 CPU 并行处理对 Explicit 效果显著,对 Standard 在很多情况下效果不明显,甚至可能使运算更慢,只使用 Standard 的同学基本可以不用考虑买多 cpu 的机器
  62. 62. 29.yahoo 讨论组摘录 --contact+overclosure8776 Urgent help: overclosure of contact problemsI have a contact problem which the mesh of the master Surface and the slave surface are of thesame size. Acturally the Master nodes and the slave nodes are sharing the same coordinates. Theyhave the same location but different node numbers. But when i run the abaqus. The warningmessage of " the Overclosure of the master surface and slave surface is too much Severe.".In abaqus manual, one way to slove it is to use " Adjust=0.0 " in the "contact pair" to establishcontact at the Initial configuration?Or to use " contact interference" ? How to manange contact when master surface and slaveSurface are the same location, but will seperate or penetrate when Loading??ReLiang, I had solved a similar problem by increasing the mesh density of the Slave surface by about2 times and increasing the distance between master and Slave surface so that there is a small gapbetween them. I am not sure if you Can do that in your problem but this is an option.These are the warnings you are seeing. What are the errormessages when it aborts as seen from the message file?What exactly asre you simulating? Usually your slavesurface (more deformable?) Must be more finely meshed thanthe master surface.5996 Exponential contact pressure-overclosure relationship & separationI am dealing with an interface where I have defined asoftened interface following an exponential relationship.It appears that this configuration does not allow theseparation of the two surfaces. Would you know how todisable this behavior? I have found in the doc how to notallow separation, but I have here the oposite case, I needthe separation.ReYou can just toggle off the box for "allow forseparation" :)Yes, just erase NO SEPARATION on the *CONTACT PAIRcard !! Softened contact DO allow separation, theparticularity is that you will have a contact pressureeven if the surfaces are opened.5176frction and contactI have a co-axial cylindrical shell structure in which apolymeric cylinder has been placed between two steelcylinders and then pressure is applied on the externalsurface of the structure. I am looking for the collapsepressure of the structure when de-bonding between

×